JP2019096112A - Request to execute processing with improved resistance to failures, and method, program, and system for responding to results of the same - Google Patents

Request to execute processing with improved resistance to failures, and method, program, and system for responding to results of the same Download PDF

Info

Publication number
JP2019096112A
JP2019096112A JP2017225692A JP2017225692A JP2019096112A JP 2019096112 A JP2019096112 A JP 2019096112A JP 2017225692 A JP2017225692 A JP 2017225692A JP 2017225692 A JP2017225692 A JP 2017225692A JP 2019096112 A JP2019096112 A JP 2019096112A
Authority
JP
Japan
Prior art keywords
request
result
processing
execution
reservation
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
JP2017225692A
Other languages
Japanese (ja)
Other versions
JP6802777B2 (en
Inventor
寛基 土肥
Hiroki Doi
寛基 土肥
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.)
KAKAKU COM KK
Kakaku com Inc
Original Assignee
KAKAKU COM KK
Kakaku com Inc
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 KAKAKU COM KK, Kakaku com Inc filed Critical KAKAKU COM KK
Priority to JP2017225692A priority Critical patent/JP6802777B2/en
Publication of JP2019096112A publication Critical patent/JP2019096112A/en
Application granted granted Critical
Publication of JP6802777B2 publication Critical patent/JP6802777B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

To issue a request to execute processing with an improved resistance to failures and make a response to results of the processing.SOLUTION: The present invention includes the steps in which: a first system sends a request to execute processing to a second system; the first system waits for a response to the request which shows the reception of the execution; and the first system sends a request for results of the processing from the second system.SELECTED DRAWING: Figure 4A

Description

本発明は、クライアント・サーバ型システムに関する。より詳細には、障害耐性の向上した、処理の実行要求及びその結果応答を実施するクライアント・サーバ型システムに関する。   The present invention relates to a client server system. More particularly, the present invention relates to a client-server system that implements processing requests for execution and the resultant responses with improved fault tolerance.

飲食店(例えば、レストラン)等についてのクライアント・サーバ型予約システムが存在する。   There is a client server type reservation system for a restaurant (for example, a restaurant) or the like.

図6は、従来技術に係る予約システムの全体的な処理の流れ600を表す図である。610及び620はそれぞれクライアント及びサーバを示しており、図示しないネットワークを介して接続されている。クライアント610は、サーバ620に対して、予約に係る処理(例えば、ある飲食店等についての予約(登録)、予約変更及び予約キャンセル)の実行要求を送信する。サーバ620は、予約に係る処理を実際に実行し、受信した処理の実行要求に対して、当該処理の結果を示す応答を返信する。   FIG. 6 is a diagram showing an overall process flow 600 of a reservation system according to the prior art. Reference numerals 610 and 620 denote clients and servers, respectively, which are connected via a network (not shown). The client 610 transmits, to the server 620, an execution request for processing related to reservation (for example, reservation (registration) for a certain restaurant or the like, reservation change and reservation cancellation). The server 620 actually executes the process relating to the reservation, and sends a response indicating the result of the process to the received request for the process execution.

上記のような予約システムによれば、ネットワークに起因する障害が発生し、予約に係る処理の実行要求又はその応答の伝達に失敗した場合に、次のような問題が生じることになる。   According to the reservation system as described above, when a failure caused by the network occurs and transmission of a request for execution of a process related to reservation or transmission of its response fails, the following problem occurs.

サーバ620において実際に実行される予約に係る処理は、その完了まで比較的時間がかかり、且つ、当該時間が変動する処理である。そのため、クライアント610は、処理の実行要求の送信後、基本的には応答を待ち続けることになる。しかしながら、応答が返ってこない場合、クライアント610は、半永久的に又は既定のタイムアウト時間(例えば、20秒)だけ応答を待ち続けることになり、従って、クライアント610における要求から応答までに係る処理の滞留を招くことになる。このような滞留は、二次的に、クライアント610において障害を引き起こす可能性がある。   The process related to the reservation actually executed in the server 620 is a process that takes a relatively long time to complete and fluctuates in time. Therefore, the client 610 basically keeps waiting for a response after transmitting the process execution request. However, if a response does not come back, the client 610 will continue to wait for a response semipermanently or for a predetermined timeout period (for example, 20 seconds), and therefore, processing of the client 610 may be delayed from request to response. Will lead to Such stagnation can secondarily cause failures at the client 610.

また、送信した処理の実行要求に対して応答が返ってこない場合、クライアント610の側では、予約に係る処理の実行が成功したのか失敗したのか(例えば、予約登録が成功したのか失敗したのか)を判断することができない。そのため、クライアント610は、次のアクション(予約したユーザへのお知らせ等)を取ることができない。   Also, if no response is returned to the process execution request that has been sent, on the side of the client 610, whether execution of the process related to the reservation has succeeded or failed (for example, has the reservation registration succeeded or has failed)? Can not judge. Therefore, the client 610 can not take the next action (such as notification to the user who made the reservation).

更に、予約に係る処理の実行要求又はその応答の伝達に失敗した場合、飲食店等とユーザとの間で、予約に係る処理に関し認識のずれが生じてしまうという問題がある。例えば、応答は返ってこないもののサーバ620において予約に係る処理が成功していた(例えば、予約登録が成功していた)場合には、予約をしたユーザはそのことを知ることができないために、飲食店等において、予約は入っているにも関わらず来客がないという状況となる。また、応答は返ってこないもののサーバ620において予約のキャンセルが成功していた場合には、キャンセルを希望したユーザは、応答が返ってこないためキャンセルできなかったと考えて飲食店等に来店するが、飲食店等側では、キャンセルができているという状況となる。   Furthermore, when transmission of an execution request for a process relating to a reservation or a response thereof fails, there is a problem that a recognition deviation is generated between the restaurant and the user and the user regarding the process relating to the reservation. For example, if the processing related to the reservation is successful (for example, the reservation registration has been successful) in the server 620 although no response is returned, the user who made the reservation can not know that. In a restaurant, etc., there is a situation where there is no visitor despite reservation being made. In addition, although the response is not returned, if the cancellation of the reservation in the server 620 is successful, the user who wants to cancel visits the restaurant etc. thinking that the response can not be canceled because the response is not returned. On the restaurant side, cancellation is possible.

本発明は、以上に鑑みてなされたものであり、本発明の課題は、障害耐性の向上した処理の実行要求及びその結果応答を実施することである。   The present invention has been made in view of the above, and it is an object of the present invention to carry out a request for execution of processing with improved fault tolerance and a result response.

本発明の実施の第1態様は、第1のシステムが、第2のシステムに、処理の実行要求を送信するステップと、第1のシステムが、処理の実行受付を示す、処理の実行要求に対する応答を待ち受けるステップと、第1のシステムが、第2のシステムに、処理の結果要求を送信するステップとを含む方法である。   According to a first aspect of the present invention, a first system transmits a process execution request to a second system, and the first system indicates a process execution acceptance for the process execution request. The method comprises the steps of: waiting for a response; and transmitting a request for processing result to the second system.

当該方法は、第1のシステムが、処理の実行受付を示す、処理の実行要求に対する応答を受信した場合に、第2のシステムに処理の結果要求を繰り返し送信するように自身を設定するステップを更に含んでいてよい。   In the method, the first system sets itself to repeatedly transmit the processing result request to the second system when the first system receives a response to the processing execution request indicating acceptance of the processing execution. It may further be included.

当該方法は、第1のシステムが、識別情報を記憶するステップを更に含んでいてよい。このとき、処理の実行要求及び処理の結果要求は、記憶した前記識別情報を含むことが好ましい。   The method may further include the step of the first system storing the identification information. At this time, it is preferable that the process execution request and the process result request include the stored identification information.

本発明の実施の第2態様は、システムが、処理の実行要求を受信した場合に、処理の実行の完了を待たずに、処理の実行受付を示す応答を返信するステップと、システムが、処理の結果要求を受信した場合に、処理の結果を返信するために、処理の結果の取得を試行するステップとを含む方法である。   In the second aspect of the present invention, the system returns a response indicating acceptance of the process execution without waiting for the completion of the process execution when the system receives the process execution request, and the system performs the process Attempting to obtain the result of the process in order to return the result of the process when the request for the result of the process is received.

前記処理の実行要求及び前記処理の結果要求は、識別情報を含むことが好ましい。このとき、当該方法は、システムが、実行要求を受信した処理の結果を、実行要求に含まれる識別情報に関連付けて記憶するステップを更に含むことができる。また、処理の結果の取得を試行するステップは、結果要求を受信した処理の結果の取得を、結果要求に含まれる識別情報に基づき試行するステップを含むことができる。   It is preferable that the process execution request and the process result request include identification information. At this time, the method may further include the step of the system storing the result of the process of receiving the execution request in association with the identification information included in the execution request. Also, attempting to obtain the result of the process may include attempting to obtain the result of the process that received the result request based on the identification information included in the result request.

本発明の実施の第3態様は、1以上のコンピュータに、全体として、上記方法を実行させるプログラムである。   A third aspect of the present invention is a program that causes one or more computers to execute the above method as a whole.

本発明の実施の第4態様は、上記方法を実行するシステムである。   A fourth aspect of the present invention is a system for performing the above method.

本発明の実施形態によれば、ネットワークに起因する障害のほか、システムにおける障害に対する耐性をも向上させた、処理の実行要求及びその結果応答を実施することができる。   According to the embodiment of the present invention, it is possible to implement a process execution request and a response as a result with improved tolerance to a failure in a system as well as a failure caused by a network.

例示の予約システム100の構成Configuration of exemplary reservation system 100 クライアント110が実行する例示の処理200のフローチャートFlowchart of Exemplary Process 200 Performed by Client 110 クライアント110が実行する例示の処理250のフローチャートFlowchart of Exemplary Process 250 Performed by Client 110 サーバ120が実行する例示の処理300のフローチャートFlowchart of Exemplary Process 300 Performed by Server 120 サーバ120が実行する例示の処理330のフローチャートFlowchart of Exemplary Process 330 Performed by Server 120 サーバ120が実行する例示の処理360のフローチャートFlowchart of Exemplary Process 360 Performed by Server 120 予約システム100の全体的な例示の処理の流れ400を表す図A diagram depicting the overall exemplary process flow 400 of the reservation system 100 予約システム100の全体的な例示の処理の流れ420を表す図A diagram depicting a general illustrative process flow 420 of reservation system 100 予約システム100の全体的な例示の処理の流れ440を表す図A diagram depicting a general illustrative process flow 440 of the reservation system 100 予約システム100の全体的な例示の処理の流れ460を表す図A diagram depicting a general illustrative process flow 460 of the reservation system 100 例示のコンピュータ500の構成Configuration of Example Computer 500 従来技術に係る予約システムの全体的な処理の流れ600を表す図A diagram representing the overall process flow 600 of a prior art reservation system

1 本発明の一実施形態
以下、図面を参照して、本発明の一実施形態について説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 1. One Embodiment of the Present Invention Hereinafter, one embodiment of the present invention will be described with reference to the drawings.

1−1 一実施形態に係る予約システム
図1は、本発明の一実施形態に係る例示の予約システム100の構成を表している。
1-1 Reservation System According to an Embodiment FIG. 1 shows a configuration of an exemplary reservation system 100 according to an embodiment of the present invention.

110は、飲食店等の予約を行うユーザが利用するシステム(サブ・システム。予約に係る処理の流れの観点からはクライアントとして機能するため、以下、「クライアント」という。)を示している。クライアント110は、1以上のコンピュータから構成されたものであり、飲食店等の情報が記載され、ユーザから飲食店等についての予約の指示の入力を受け、当該予約の指示をクライアント110に送信するためのウェブ・ページを提供するウェブ・サーバとしての機能も有している。なお、「コンピュータ」については、「2 コンピュータ」の節も参照されたい。   Reference numeral 110 denotes a system (sub system used by a user who makes a reservation for a restaurant etc .; hereinafter, since it functions as a client from the viewpoint of the flow of processing relating to reservation, it is called "client"). The client 110 is composed of one or more computers, describes information of a restaurant and the like, receives an instruction of reservation for a restaurant and the like from the user, and transmits the instruction of the reservation to the client 110 It also has a function as a web server that provides a web page for Please also refer to the section "2 computer" for "computer".

115は、ユーザの手元にあり、クライアント110からウェブ・ページを取得して表示し、ユーザからの予約の指示の入力を受け、当該予約の指示をクライアント110に送信するコンピュータ(以下、「ユーザ端末」という。)を示している。図1ではユーザ端末115は1つのみ描かれているが、実際には複数のユーザが使用する複数のユーザ端末が存在する。   115 is a computer that is at the user's hand, acquires a web page from the client 110 and displays it, receives an input of a reservation instruction from the user, and transmits the reservation instruction to the client 110 (hereinafter referred to as “user terminal "Is indicated. Although only one user terminal 115 is depicted in FIG. 1, there are actually a plurality of user terminals used by a plurality of users.

120は、飲食店等の予約を管理するシステム(サブ・システム。予約に係る処理の流れの観点からはサーバとして機能するため、以下、「サーバ」という。)を示している。サーバ120は、1以上のコンピュータから構成されたものであり、飲食店等の予約処理に係る要求を受けるためのウェブ・サーバとしての機能も有している。   Reference numeral 120 denotes a system (sub system for managing reservations of restaurants and the like; hereinafter, since it functions as a server from the viewpoint of the flow of processing relating to reservations, it is referred to as a "server"). The server 120 is composed of one or more computers, and also has a function as a web server for receiving a request for reservation processing of a restaurant or the like.

130は、1以上のネットワーク(サブネットワーク)から構成されるネットワークを示している。ネットワーク130は、ローカル・エリア・ネットワーク(LAN)及びインターネット等のワイド・エリア・ネットワーク(WAN)の一方又は双方を含んでいてよい。少なくとも、クライアント110とサーバ120及びクライアント110とユーザ端末115は、ネットワーク130を介して通信可能である。   Reference numeral 130 denotes a network composed of one or more networks (subnetworks). Network 130 may include one or both of a Local Area Network (LAN) and a Wide Area Network (WAN) such as the Internet. At least the client 110 and the server 120, and the client 110 and the user terminal 115 can communicate via the network 130.

1−2 クライアント110の概要
以下、図2A及びBを参照して、クライアント110が実行する例示の一連の処理について説明する。なお、上述した通り、クライアント110は1以上のコンピュータから構成されたものであるため、一連の処理は、当該1以上のコンピュータが全体として実行するものである。なお、一連の処理が含む各ステップは、クライアント110を構成する1以上のコンピュータのうちの何れか1つが実行するものであるが、ステップごとに実行するコンピュータが異なっていてもよい。以下に説明するコンピュータが実行する処理(以下、「例示処理」という。)は、プログラムがコンピュータに、より詳細には、当該コンピュータのプロセッサに実行させるものであってよい。また、そのようなプログラムは、公知のコンピュータ可読記憶媒体、より詳細には、例えば非一時的コンピュータ可読記憶媒体に記憶することができる。更に、例示処理が含むステップは、一部を省略することができ、その実行順序を変更することができ、例示処理には、更なるステップを追加することができる。
1-2 Overview of Client 110 Hereinafter, an exemplary series of processes executed by the client 110 will be described with reference to FIGS. 2A and 2B. As described above, since the client 110 is configured of one or more computers, the series of processing is executed by the one or more computers as a whole. Although each step included in the series of processes is executed by any one of one or more computers constituting the client 110, the computer executed may be different for each step. A process to be executed by a computer described below (hereinafter, referred to as “exemplary process”) may cause a program to be executed by a computer, more specifically, by a processor of the computer. Also, such a program can be stored in a known computer readable storage medium, more specifically, for example, a non-transitory computer readable storage medium. Furthermore, some of the steps included in the example process can be omitted, the order of execution can be changed, and further steps can be added to the example process.

図2Aは、クライアント110がユーザ端末115から予約の指示を受信したときに呼び出される例示の処理200のフローチャートである。予約の指示の例は、ある飲食店等についての予約(予約の登録)、予約の変更及び予約のキャンセルである。   FIG. 2A is a flowchart of an exemplary process 200 invoked when the client 110 receives a reservation indication from the user terminal 115. Examples of reservation instructions are reservation for a certain restaurant etc (registration of reservation), change of reservation and cancellation of reservation.

202は、ユーザ端末115から受信した予約の指示に基づく処理の実行要求を識別するための情報(以下、「トランザクションID」という。)を、以後のステップのために記憶するステップを示している。この記憶は一時的なものであってもよいが、少なくとも、クライアント110における予約システム100に係るプログラムが異常終了し、再起動した後であっても取得できるような態様で記憶されることが好ましい。なお、トランザクションIDは、クライアント110が任意の手法により生成することができる。   Reference numeral 202 denotes a step of storing information (hereinafter referred to as “transaction ID”) for identifying a process execution request based on a reservation instruction received from the user terminal 115 for the subsequent steps. Although this storage may be temporary, it is preferable that at least the program related to the reservation system 100 in the client 110 is abnormally terminated and stored in such a manner that it can be acquired even after being restarted. . The transaction ID can be generated by the client 110 by any method.

204は、サーバ120に、記憶されたトランザクションIDを用いて当該処理の実行要求を送信するステップを示している。具体的には、サーバ120は、処理の種類ごとに、処理の実行要求を受けるためのURLをウェブAPIとして有することができ、従って、サーバ120は、予約登録用API、予約変更用API及び予約キャンセル用API等を有することができる。また、ある処理の実行要求は、当該処理に対応したURLに、トランザクションIDを含む当該処理に必要な情報(予約すべき飲食店等予約内容を特定する情報や、既にした予約を特定する情報等)をパラメータとして付加したものを宛先としたHTTPリクエストであることができる。   The step 204 indicates the step of transmitting the execution request of the process to the server 120 using the stored transaction ID. Specifically, the server 120 can have, as a web API, a URL for receiving a processing execution request for each type of processing, and accordingly, the server 120 can be a reservation registration API, a reservation change API, and a reservation. It can have an API for cancellation, etc. In addition, the execution request for a certain process includes information necessary for the process including the transaction ID in the URL corresponding to the process (information specifying the reservation content such as a restaurant to be reserved, information specifying the already-reserved, etc. ) Can be an HTTP request with the destination added as a parameter.

206は、処理の実行要求に対する応答を受信したかを判定するステップを示している。具体的には、処理の実行要求に対する応答は、HTTPリクエストに対するHTTPレスポンスであることができる。処理の実行要求に対する応答を受信している場合には後述のステップ214に進み、そうでない場合にはステップ208に進む。   206 shows the step of determining whether a response to the process execution request has been received. Specifically, the response to the process execution request can be an HTTP response to an HTTP request. If a response to the process execution request has been received, the process proceeds to step 214 described later, and if not, the process proceeds to step 208.

208は、処理の実行要求を最後に送信してから第1の時間経過したかを判定するステップを示している。第1の時間は任意であるが、例えば2秒である。処理の実行要求を最後に送信してから第1の時間経過している場合には後述するステップ210に進み、そうでない場合にはステップ206に戻る。   Reference numeral 208 denotes a step of determining whether or not a first time has elapsed since the last execution request for processing. The first time is optional, for example, 2 seconds. If the first time has elapsed since the last request for processing execution, the process proceeds to step 210 described later, and otherwise returns to step 206.

ステップ210は、第1の条件を満たすかを判定するステップを示している。第1の条件は任意であるが、本実施例では、同じトランザクションIDを用いた処理の実行要求の送信リトライを既に3回しているという条件である。第1の条件を満たしている場合には後述するステップ212に進み、そうでない場合にはステップ204に戻る。ステップ210の結果として、処理の実行要求の所定回数の送信リトライが実現できることになる。   Step 210 shows the step of determining whether the first condition is met. The first condition is arbitrary, but in the present embodiment, the condition is that the transmission retry of the execution request of the process using the same transaction ID has already been made three times. If the first condition is satisfied, the process proceeds to step 212 described later, and if not, the process returns to step 204. As a result of step 210, a predetermined number of transmission retries of the process execution request can be realized.

212は、所定の処理を行うステップを示している。ステップ212に達したことは、処理の実行要求の送信リトライを所定回数繰り返したにもかかわらず、その応答が返ってこなかったことを意味する。従って、この所定の処理は、対応するエラー処理であってよいが、エラー処理に限定されるわけではない。なお、エラー処理としては、具体的には、エラーログを記憶する、予約システム100の保守担当者が保持する携帯電話に発報する、ユーザ端末115にエラーが生じたことを通知する等が考えられるが、これらに限定されるわけではない。   Reference numeral 212 denotes a step of performing a predetermined process. Having reached step 212 means that the response has not been returned although the transmission retry of the process execution request is repeated a predetermined number of times. Thus, the predetermined process may be the corresponding error process, but is not limited to the error process. As the error processing, specifically, it is considered to store an error log, issue an alert to a mobile phone held by a person in charge of maintenance of the reservation system 100, or notify the user terminal 115 that an error has occurred. Although it is not limited to these.

214は、処理の実行要求に対する応答が処理の実行受付を示すかを判定するステップを示している。応答は、処理の実行受付失敗を示すことがある。処理の実行要求に対する応答が処理の実行受付を示している場合には後述するステップ216に進み、そうでない場合にはステップ220に進む。   Reference numeral 214 denotes the step of determining whether the response to the process execution request indicates that the process execution is accepted. The response may indicate failure to accept execution of the process. If the response to the process execution request indicates that the process execution is accepted, the process proceeds to step 216 described later, and if not, the process proceeds to step 220.

なお、ステップ206、208及び214は、全体として、処理の実行受付を示す、処理の実行要求に対する応答を待ち受けるステップを構成するステップの例である。   Steps 206, 208, and 214 are an example of steps constituting a step of waiting for a response to a process execution request, which indicates the acceptance of the process execution as a whole.

216は、ユーザ端末115に処理の実行が開始されることを通知するステップを示している。このステップの結果、ユーザ端末115には処理が実行中である旨の表示をすることができる。   216 shows the step of notifying the user terminal 115 that the execution of the process is to be started. As a result of this step, it is possible to display on the user terminal 115 that the process is being executed.

218は、所定時間間隔でサーバ120に処理の結果要求を送信するようにクライアント110を設定するステップを示している。所定時間は任意であるが、例えば3秒である。このステップの結果、所定時間間隔で、後述する処理250が呼び出されるようになる。   218 shows the steps of configuring the client 110 to send processing result requests to the server 120 at predetermined time intervals. Although predetermined time is arbitrary, it is 3 seconds, for example. As a result of this step, a process 250 to be described later is called at predetermined time intervals.

なお、ステップ218は、サーバ120に処理の結果要求を繰り返し送信するようにクライアント110を設定するステップの一例である。送信と送信との間の時間は、変動してもよい。   Step 218 is an example of setting the client 110 to repeatedly transmit the processing result request to the server 120. The time between transmissions may vary.

220は、所定の処理を行うステップを示している。ステップ220に達したことは、処理の実行受付に失敗したことを意味する。従って、ステップ220における所定の処理は、対応するエラー処理であってよいが、エラー処理に限定されるわけではない。また、ステップ220における所定の処理は、ステップ212における所定の処理と同様の処理であってよいが、異なる処理であってもよい。   220 shows the step of performing a predetermined process. Having reached step 220 means that the process execution acceptance has failed. Thus, the predetermined processing in step 220 may be the corresponding error processing, but is not limited to error processing. Further, the predetermined process in step 220 may be the same process as the predetermined process in step 212, but may be a different process.

図2Bは、ステップ218の結果として所定時間間隔で呼び出される例示の処理250のフローチャートである。なお、処理250は、クライアント110において、予約システム100に係るプログラムが異常終了した後、再起動したとき等の他のタイミングで呼び出されることもある。   FIG. 2B is a flowchart of an exemplary process 250 invoked at predetermined time intervals as a result of step 218. The process 250 may be called at another timing such as when the client 110 restarts after the program related to the reservation system 100 ends abnormally.

252は、サーバ120に、ステップ202において記憶されたトランザクションIDを用いて処理の結果要求を送信するステップを示している。具体的には、サーバ120は、処理の結果要求を受けるためのURLをウェブAPIとして有することができ、従って、サーバ120は、予約結果確認用APIを有することができる。また、処理の結果要求は、対応したURLに、トランザクションIDを含む必要な情報をパラメータとして付加したものを宛先としたHTTPリクエストであることができる。   252 shows the step of transmitting the processing result request to the server 120 using the transaction ID stored in step 202. Specifically, the server 120 can have a URL for receiving a request as a result of processing as a web API, and thus the server 120 can have an API for confirming a reservation result. Also, the processing result request can be an HTTP request with the corresponding URL added with necessary information including the transaction ID as a parameter as a destination.

254は、処理の結果要求に対する応答を受信したかを判定するステップを示している。具体的には、処理の結果要求に対する応答は、HTTPリクエストに対するHTTPレスポンスであることができる。処理の結果要求に対する応答を受信している場合には後述のステップ262に進み、そうでない場合にはステップ256に進む。   254 shows the step of determining whether a response to the processing result request has been received. Specifically, the response to the processing result request can be an HTTP response to an HTTP request. As a result of processing, if a response to the request has been received, the process proceeds to step 262 described later, and if not, the process proceeds to step 256.

256は、処理の結果要求を最後に送信してから第2の時間経過したかを判定するステップを示している。第2の時間は任意であるが、例えば2秒である。処理の結果要求を最後に送信してから第2の時間経過している場合には後述するステップ258に進み、そうでない場合にはステップ254に戻る。   256 shows the step of determining whether a second time has elapsed since the last transmission of the processing result request. The second time is optional, for example, 2 seconds. As a result of processing, if the second time has elapsed since the last request was sent, the process proceeds to step 258 described later, and otherwise returns to step 254.

ステップ258は、第2の条件を満たすかを判定するステップを示している。第2の条件は任意であるが、本実施例では、対応するトランザクションIDが生成されてから既に1分が経過しているという条件である。第2の条件を満たしている場合には後述するステップ260に進み、そうでない場合には処理250は終了する。   Step 258 shows the step of determining whether the second condition is met. The second condition is arbitrary, but in the present embodiment, one minute has already passed since the corresponding transaction ID was generated. If the second condition is satisfied, the process proceeds to step 260 described later, and if not, the process 250 ends.

なお、ステップ258並びに後述するステップ266及び270の結果として、一定時間が経過するまでの処理の結果要求の所定時間間隔での送信リトライが実現できることになる。   Note that, as a result of step 258 and steps 266 and 270 described later, transmission retry of the request at a predetermined time interval can be realized as a result of the processing until the predetermined time elapses.

260は、所定の処理を行うステップを示している。ステップ260に達したことは、処理の結果要求の送信リトライを一定時間繰り返したにもかかわらず、その応答が返ってこなかったことを意味する。従って、ステップ260における所定の処理は、対応するエラー処理であってよいが、エラー処理に限定されるわけではない。また、ステップ260における所定の処理は、ステップ212における所定の処理と同様の処理であってよいが、異なる処理であってもよい。   260 shows the step of performing a predetermined process. The fact that step 260 has been reached means that the response has not been returned despite repeated processing of transmission of the request as a result of processing. Thus, the predetermined processing in step 260 may be the corresponding error processing, but is not limited to error processing. Further, the predetermined process in step 260 may be the same process as the predetermined process in step 212, but may be a different process.

262は、処理の結果要求に対する応答が処理の結果を示すかを判定するステップを示している。応答は、処理の結果ではなく、処理が実行中であることを示すことがある。処理の結果要求に対する応答が処理の結果を示している場合には後述するステップ264に進み、そうでない場合にはステップ266に進む。   262 shows the step of determining whether the response to the processing result request indicates the processing result. The response may not indicate the result of the process, but may indicate that the process is being performed. Processing Result If the response to the request indicates the processing result, the process proceeds to step 264 described later, otherwise proceeds to step 266.

264は、処理結果に応じた処理を行うステップを示している。処理結果に応じた処理の例は、ユーザ端末115に処理結果を通知することであるが、これに限定されるわけではない。   H.264 shows steps for performing processing according to the processing result. Although the example of the process according to a process result is notifying a user terminal 115 of a process result, it is not necessarily limited to this.

266は、第3の条件を満たすかを判定するステップを示している。第3の条件は任意であるが、本実施例では第2の条件と同一である。第3の条件を満たしている場合には後述するステップ268に進み、そうでない場合には処理250は終了する。   266 shows the step of determining whether the third condition is met. Although the third condition is optional, it is the same as the second condition in the present embodiment. If the third condition is satisfied, the process proceeds to step 268 described later, and if not, the process 250 ends.

268は、所定の処理を行うステップを示している。ステップ268に達したことは、処理の結果要求の送信リトライを一定時間繰り返したにもかかわらず、処理結果を示す応答が返ってこなかった即ち処理の実行が失敗している可能性があることを意味する。従って、ステップ268における所定の処理は、対応するエラー処理であってよいが、エラー処理に限定されるわけではない。また、ステップ268における所定の処理は、ステップ212における所定の処理と同様の処理であってよいが、異なる処理であってもよい。   268 indicates steps for performing predetermined processing. The fact that step 268 has been reached indicates that there is a possibility that the response indicating the processing result has not been returned, that is, the execution of the processing has failed, although the transmission retry of the request of the processing is repeated for a certain period of time. means. Thus, the predetermined processing at step 268 may be the corresponding error processing, but is not limited to error processing. Further, the predetermined process in step 268 may be the same process as the predetermined process in step 212, but may be a different process.

270は、ステップ218においてなされた所定間隔での処理の結果要求の送信設定を解除するステップを示している。このステップの結果、処理250は、以後、所定間隔では呼び出されないようになる。   A step 270 shows the step of canceling the transmission setting of the request as a result of the processing at the predetermined interval made in the step 218. As a result of this step, process 250 will no longer be called at predetermined intervals.

1−3 サーバ120の概要
以下、図3A〜Cを参照して、サーバ120が実行する例示の一連の処理について説明する。なお、上述した通り、サーバ120は1以上のコンピュータから構成されたものであるため、一連の処理は、当該1以上のコンピュータが全体として実行するものである。なお、一連の処理が含む各ステップは、サーバ120を構成する1以上のコンピュータのうちの何れか1つが実行するものであるが、ステップごとに実行するコンピュータが異なる場合があることに留意されたい。
1-3 Overview of Server 120 Hereinafter, an exemplary series of processes executed by the server 120 will be described with reference to FIGS. 3A to 3C. As described above, since the server 120 is configured by one or more computers, the series of processing is executed by the one or more computers as a whole. It should be noted that although each step included in the series of processes is executed by any one of one or more computers configuring the server 120, the computer executed by each step may be different. .

図3Aは、サーバ120が実行する例示の処理300のフローチャートである。   FIG. 3A is a flowchart of an exemplary process 300 performed by server 120.

302は、処理の実行要求を受信したかを判定するステップを示している。処理の実行要求を受信している場合には後述するステップ304に、そうでない場合にはステップ302を繰り返す。   Reference numeral 302 denotes a step of determining whether a process execution request has been received. If a process execution request has been received, the process is repeated at step 304 described later, otherwise step 302 is repeated.

304は、受信した処理の実行要求に含まれるトランザクションIDの一時的な記憶を試行するステップを示している。具体的には、トランザクションIDを、揮発性の情報を一時的に記憶しておくストレージ(キャッシュ)に記憶することができる。また、このステップにおいて、処理の実行要求の受信日時等、その他の情報を記憶してもよい。   Reference numeral 304 denotes a step of attempting temporary storage of the transaction ID included in the received processing execution request. Specifically, the transaction ID can be stored in a storage (cache) for temporarily storing volatile information. Further, in this step, other information such as the reception date and time of the process execution request may be stored.

306は、ステップ304における試行が成功したかを判定するステップを示している。何らかのエラーが生じた場合には、試行が成功していないと判定されることになる。試行が成功した場合には後述するステップ308に進み、そうでない場合にはステップ310に進む。   306 illustrates the step of determining if the attempt in step 304 is successful. If any error occurs, it will be determined that the trial is not successful. If the attempt is successful, the process proceeds to step 308 described later, otherwise proceeds to step 310.

308及び310は、それぞれ、受信した処理の実行要求に対する応答として、処理の実行受付を示す応答を生成するステップ及び処理の実行受付失敗を示す応答を生成するステップを示している。   Reference numerals 308 and 310 respectively denote a step of generating a response indicating acceptance of processing execution and a step of generating a response indicating failure of acceptance of processing execution as a response to the received request for processing execution.

312は、処理の実行を実際に開始するステップを示している。なお、本実施例においては、サーバ120における処理の実行要求を受信するインスタンスと、当該処理を実際に実行するインスタンスとは異なっており、ステップ312は、前者のインスタンスから後者のインスタンスへ当該処理の実行要求を送信するステップ(図示せず)を含む。ここで、1つのインスタンスの例は、1つの物理的なコンピュータ、物理的なコンピュータ又は仮想マシンにおいて実行されている1つの仮想マシン、及び、物理的なコンピュータ又は仮想マシンにおいて実行されている1つのプロセスである。なお、前者のインスタンスと後者のインスタンスとは同一であってもよい。   312 shows the step of actually starting the execution of the process. Note that, in the present embodiment, an instance that receives an execution request for processing in the server 120 and an instance that actually executes the processing are different, and step 312 is the processing from the former instance to the latter instance. Sending an execution request (not shown). Here, an example of one instance is one physical computer, one virtual machine running on a physical computer or virtual machine, and one virtual machine running on a physical computer or virtual machine It is a process. The former instance and the latter instance may be identical.

314は、受信した処理の実行要求に対する応答を返信するステップを示している。なお、ステップ314は、ステップ312とは非同期に実行されてよい。即ち、ステップ314は、実行が開始された処理の完了を待つことなく実行することができる。   314 shows the step of returning a response to the received request for processing execution. Note that step 314 may be performed asynchronously with step 312. That is, step 314 can be performed without waiting for the completion of the process whose execution has been started.

図3Bは、ステップ312の実行の結果呼び出される例示の処理330のフローチャートである。   FIG. 3B is a flowchart of an exemplary process 330 invoked as a result of performing step 312.

332は、所定時間経過後に、ステップ304において一時的に記憶されたトランザクションIDが自動的に削除されるようにサーバ120を設定するステップを示している。この所定時間は任意であるが、例えば120秒である。   332 shows the step of setting the server 120 so that the transaction ID temporarily stored in step 304 is automatically deleted after a predetermined time has elapsed. Although this predetermined time is arbitrary, it is 120 seconds, for example.

334は、処理を実際に実行するステップを示している。   334 shows the step of actually executing the process.

336は、処理の結果を、対応するトランザクションIDに関連付けて記憶するステップを示している。なお、ステップ334において何らかのエラーが生じて処理が完了しなかった即ち処理の結果が得られなかった場合、ステップ336は実行されず、従って、処理の結果は記憶されないことに留意されたい。   336 shows the step of storing the result of processing in association with the corresponding transaction ID. It should be noted that if an error occurs in step 334 and the process is not completed, ie, the result of the process is not obtained, step 336 is not executed and therefore the result of the process is not stored.

338は、ステップ304において一時的に記憶されたトランザクションIDを削除するステップを示している。このステップは、ステップ332において設定されたトランザクションIDの自動削除とは独立したものである。即ち、本実施例では、一時的に記憶されたトランザクションIDは、所定時間が経過するか又は処理が完了した場合に削除されることになる。   338 shows the step of deleting the transaction ID temporarily stored in step 304. This step is independent of the automatic deletion of the transaction ID set in step 332. That is, in this embodiment, the transaction ID temporarily stored is deleted when a predetermined time has elapsed or the processing is completed.

図3Cは、サーバ120が実行する例示の処理360のフローチャートである。   FIG. 3C is a flowchart of an exemplary process 360 performed by server 120.

362は、処理の結果要求を受信したかを判定するステップを示している。処理の結果要求を受信している場合には後述するステップ364に、そうでない場合にはステップ362を繰り返す。   362 shows the step of determining whether the processing result request has been received. If a process result request has been received, the process is repeated at step 364 described later, and otherwise step 362 is repeated.

364は、受信した処理の結果要求が含むトランザクションIDに基づき、記憶された処理の結果の取得を試行するステップを示している。   364 indicates a step of attempting to acquire the stored processing result based on the transaction ID included in the received processing result request.

366は、ステップ364における試行が成功したかを判定するステップを示している。実行要求を受信した処理の実行が完了していない場合には、この試行に失敗することになる。なお、本実施例において、処理の実行が完了した場合にはトランザクションIDの一時的な記憶が削除されることから、ステップ366は、トランザクションIDが一時的に記憶されているかを判定するステップ(図示せず)を含む。試行が成功した場合には後述するステップ368に進み、そうでない場合にはステップ370に進む。   366 shows the step of determining if the attempt in step 364 is successful. If the process receiving the execution request has not been executed, this attempt will fail. In the present embodiment, since the temporary storage of the transaction ID is deleted when the execution of the process is completed, the step 366 determines whether the transaction ID is temporarily stored (see FIG. Not shown). If the attempt is successful, the process proceeds to step 368 described later, otherwise proceeds to step 370.

368及び370は、それぞれ、受信した処理の結果要求に対する応答として、処理の結果を示す応答を生成するステップ及び処理が実行中であることを示す応答を生成するステップを示している。   Reference numerals 368 and 370 respectively indicate steps of generating a response indicating the result of the process and generating a response indicating that the process is being executed as a response to the request of the result of the received process.

372は、処理の結果を取得したことを、トランザクションIDに関連付けて記憶するステップを示している。このステップの結果、サーバ120は、トランザクションIDに基づき、処理の結果を取得したことが記憶されているかを判定することによって、記憶されていれば、処理の結果がクライアント110に送信され、ひいてはユーザ端末115に通知されているであろうことを、記憶されていなければ未だユーザ端末115には通知されていないであろうことを認識することができるようになる。   372 shows the step of storing the result of processing in association with the transaction ID. As a result of this step, based on the transaction ID, the server 120 determines, based on the transaction ID, whether or not the acquisition of the result of the process is stored, and if it is stored, the result of the process is transmitted to the client 110 and thus the user It will be possible to recognize that the terminal 115 will be notified, and if it is not stored, the user terminal 115 will not be notified yet.

374は、受信した処理の結果要求に対する応答を返信するステップを示している。   374 shows the step of returning a response to the received request for processing result.

1−4 予約システム100の全体的な処理の流れ
以下、図4A〜Dを参照して、様々な状況下における、予約システム100の全体的な例示の処理の流れについて説明する。なお、これら図において、ユーザ端末115及びネットワーク130は省略されている。
1-4 Overall Process Flow of Reservation System 100 The following is a description of the overall example process flow of reservation system 100 under various circumstances, with reference to FIGS. 4A-D. In these figures, the user terminal 115 and the network 130 are omitted.

図4Aは、特段の障害が発生することなく一連の処理が行われた場合の、予約システム100の全体的な例示の処理の流れ400を表す図である。   FIG. 4A is a diagram illustrating the overall exemplary process flow 400 of the reservation system 100 when a series of processes are performed without the occurrence of a particular failure.

401は、ユーザ端末115からクライアント110に予約の指示が送信されたことを示している。   401 indicates that the user terminal 115 has transmitted a reservation instruction to the client 110.

402は、クライアント110からサーバ120に、予約に係る処理の実行要求が送信されたことを示している。   Reference numeral 402 indicates that the client 110 has sent the server 120 an execution request for processing relating to reservation.

403は、サーバ120において処理の実行を実際に開始するために、処理の実行要求を受信するインスタンスから処理の実行を実際に行うインスタンスに処理の実行要求が送信されたことを示している。   403 indicates that, in order to actually start the execution of the process in the server 120, the instance for receiving the process execution request has sent the process execution request to the instance for actually performing the process execution.

404は、サーバ120が処理の実行受付を示す応答を返信したことを示している。   404 indicates that the server 120 has returned a response indicating acceptance of execution of the process.

405は、クライアント110がユーザ端末に、処理の実行開始を通知したことを示している。   405 indicates that the client 110 has notified the user terminal of the start of processing execution.

406は、サーバ120において実行要求を受けた処理が完了したことを示している。   Reference numeral 406 denotes that the process for which the execution request has been received in the server 120 is completed.

407は、クライアント110からサーバ120に、処理の結果要求が送信されたことを示している。この図において、407の発生は406の発生よりも後であるから、処理360において、サーバ120は処理結果を取得可能である。   Numeral 407 indicates that the client 110 has sent a request as a result of processing to the server 120. In this figure, since the occurrence of 407 is after the occurrence of 406, in process 360, the server 120 can obtain the processing result.

408は、サーバ120が処理結果を示す応答を返信したことを示している。   Reference numeral 408 indicates that the server 120 has sent back a response indicating the processing result.

409は、クライアント110が、処理結果に応じた処理として、ユーザ端末115に処理結果を通知したことを示している。   Reference numeral 409 denotes that the client 110 has notified the user terminal 115 of the processing result as processing according to the processing result.

このように、予約システム100によれば、ユーザ端末115からの予約の指示に従い、当該指示に基づく予約に係る処理を行い、その処理結果をユーザ端末115に通知することが可能である。また、予約システム100によれば、クライアント110は、処理の実行要求に対しては、単に処理の実行受付を示す応答を待ち受けるため、その待ち受けのタイムアウト時間を小さいものとすることができ、よって、仮に応答が返ってこなかった場合であっても予約に係る処理の実行要求からその応答までに係る処理の滞留は短いものとなる。   As described above, according to the reservation system 100, it is possible to perform the process related to the reservation based on the instruction according to the instruction of the reservation from the user terminal 115 and to notify the user terminal 115 of the processing result. Further, according to the reservation system 100, the client 110 can wait for a response indicating that the process execution is accepted in response to the process execution request, so that the waiting time-out time can be made small. Even if a response is not received, the retention of the processing from the request for execution of the processing related to the reservation to the response becomes short.

図4Bは、ネットワーク130に起因する障害が発生した場合の、予約システム100の全体的な例示の処理の流れ420を表す図である。   FIG. 4B is a diagram illustrating the overall exemplary process flow 420 of the reservation system 100 when a failure due to the network 130 occurs.

421は、401と同様のことを示している。   421 shows the same thing as 401.

422は、クライアント110が、処理の実行要求を送信したものの、サーバ120に届かなかったことを示している。   422 indicates that the client 110 has sent a process execution request but did not reach the server 120.

423は、クライアント110からサーバ120に、処理の実行要求が再度送信されたことを示している。   Reference numeral 423 denotes that the process execution request has been transmitted from the client 110 to the server 120 again.

424〜427は、それぞれ、403〜406と同様のことを示している。   424-427 show the same thing as 403-406, respectively.

428は、クライアント110が処理の結果要求を送信したものの、サーバ120に届かなかったことを示している。   428 indicates that the client 110 has sent a request as a result of processing but did not reach the server 120.

429は、クライアント110からサーバ120に、処理の結果要求が再度送信されたことを示している。   429 indicates that the request has been sent again from the client 110 to the server 120 as a result of the process.

430及び431は、それぞれ、408及び409と同様のことを示している。   430 and 431 indicate the same as 408 and 409, respectively.

このように、予約システム100によれば、ネットワーク130を介した通信が不安定な場合であっても、予約に係る一連の処理が途中で途切れる可能性が低くなる。特に、予約システム100によれば、処理の結果要求を複数回送信することができることから、サーバ120において実行要求を受信した処理が完了したときに、その事実をクライアント110が取得できず、ひいてはユーザ端末115のユーザに予約の成否を通知できないといった可能性が低くなる。このことは、例えば、飲食店等において予約が入っているにもかかわらず来客がないといった事故の発生する確率が下がることを意味する。   As described above, according to the reservation system 100, even if communication via the network 130 is unstable, the possibility that the series of processes related to the reservation may be interrupted is reduced. In particular, according to the reservation system 100, since the request for processing can be transmitted a plurality of times, when the processing for receiving the execution request in the server 120 is completed, the fact can not be acquired by the client 110, and thus the user It is less likely that the user of the terminal 115 can not be notified of the success or failure of the reservation. This means that, for example, the probability of occurrence of an accident that there is no visitor even though reservations are made in a restaurant or the like is reduced.

図4Cは、クライアント110において障害が発生した場合の、予約システム100の全体的な例示の処理の流れ440を表す図である。   FIG. 4C is a diagram representing the overall exemplary process flow 440 of the reservation system 100 when a failure occurs at the client 110.

441〜446は、401〜406と同様のことを示している。   441-446 have shown the same thing as 401-406.

447は、クライアント110において、予約システム100に係るプログラムの異常終了が生じたことを示している。   447 indicates that the abnormal termination of the program related to the reservation system 100 has occurred at the client 110.

448は、当該プログラムが再起動した後に、記憶されている識別情報を用いて、クライアント110からサーバ120に処理の結果要求が送信されたことを示している。   448 indicates that, after the program is restarted, a request for processing result is transmitted from the client 110 to the server 120 using the stored identification information.

449及び450は、それぞれ、408及び409と同様のことを示している。   449 and 450 indicate the same as 408 and 409, respectively.

このように、予約システム100によれば、クライアント110において一時的な障害が発生したとしても、障害発生前に記憶した識別情報を用いて障害発生前に実行要求を送信した処理の結果要求を送信することができ、ひいてはユーザ端末115のユーザに予約の成否を通知できないといった可能性が低くなる。   As described above, according to the reservation system 100, even if a temporary failure occurs in the client 110, the request result of the process of transmitting the execution request before the failure occurrence is transmitted using the identification information stored before the failure occurrence. As a result, it is less likely that the user of the user terminal 115 can not be notified of the success or failure of the reservation.

図4Dは、サーバ120において実行要求を受信した処理の実行に時間がかかった場合の、予約システム100の全体的な例示の処理の流れ460を表す図である。   FIG. 4D is a diagram illustrating a general example process flow 460 of the reservation system 100 when it takes time to execute the process of receiving the execution request in the server 120.

461〜467は、それぞれ、401〜407と同様のことを示している。但し、この図において、467の発生は466の発生よりも前であるから、467が示す処理の結果要求を受信したときには、サーバ120は処理結果を取得できない。   461 to 467 indicate the same as 401 to 407, respectively. However, in this figure, since the occurrence of 467 precedes the occurrence of 466, the server 120 can not acquire the processing result when the request as a result of the processing indicated by 467 is received.

468は、サーバ120が処理結果を取得できなかったことにより、処理が実行中であることを示す応答を返信したことを示している。   468 indicates that the server 120 returned a response indicating that the process is being executed because the server 120 could not obtain the process result.

469は、クライアント110からサーバ120に、処理の結果要求が再度送信されたことを示している。この図において、469の発生は466の発生よりも後であるから、469が示す処理の結果要求を受信したときに、サーバ120は処理結果を取得可能である。   469 indicates that the request has been sent again from the client 110 to the server 120 as a result of the process. In this figure, since the occurrence of 469 is later than the occurrence of 466, the server 120 can obtain the processing result when the request as a result of the processing indicated by 469 is received.

470は、再度送信された処理の結果要求に対して、サーバ120が処理結果を示す応答を返信したことを示している。   Reference numeral 470 denotes that the server 120 has sent back a response indicating the processing result in response to the processing result request sent again.

471は、409と同様のことを示している。   471 shows the same thing as 409.

このように、予約システム100によれば、サーバ120において実行要求を受信した処理の実行に時間がかかったとしても、当該実行要求に対する応答はその実行の完了を待つことなくなされることから、クライアント110における、予約に係る処理の実行要求から応答までに係る処理の時間はより短いものとなる。   As described above, according to the reservation system 100, even if it takes time to execute the process for which the server 120 receives the execution request, the response to the execution request is made without waiting for the completion of the execution. The processing time from request for execution of processing related to reservation to response at 110 becomes shorter.

2 コンピュータ
図5は、コンピュータのハードウェア構成の一例を表している。同図に示すように、コンピュータ500は、主に、プロセッサ510と、主記憶装置520と、補助記憶装置530と、ユーザ・インターフェース540と、通信インターフェース550とを備えており、これらはアドレスバス、データバス、コントロールバス等を含むバスライン560を介して相互に接続されている。なお、バスライン560と各ハードウェア資源との間には適宜インターフェース回路(図示せず)が介在している場合もある。
2 Computer FIG. 5 shows an example of a hardware configuration of a computer. As shown, the computer 500 mainly includes a processor 510, a main storage 520, an auxiliary storage 530, a user interface 540, and a communication interface 550, which include an address bus, They are mutually connected via a bus line 560 including a data bus, a control bus and the like. An interface circuit (not shown) may be appropriately interposed between the bus line 560 and each hardware resource.

プロセッサ510は、コンピュータの全体の制御を行う。プロセッサ510は、各々がコンピュータの一部又は全体の制御を行なう、複数のプロセッサにより構成されていてもよい。   The processor 510 controls the entire computer. The processor 510 may be configured by a plurality of processors each performing control of part or all of a computer.

主記憶装置520は、プロセッサ510に対して作業領域を提供し、例えばSRAM、DRAM等の揮発性メモリである。   The main storage device 520 provides a work area to the processor 510, and is a volatile memory such as SRAM or DRAM.

補助記憶装置530は、ソフトウェアであるプログラム(コンピュータ実行可能命令を含む)等や各種データ等を格納する、例えば、ハードディスクドライブ、フラッシュメモリ等の不揮発性メモリである。プログラムは、任意の時点で補助記憶装置530からバスライン560を介して主記憶装置520へとロードされ、プロセッサ510に各種処理、方法又はステップを実行させる。   The auxiliary storage device 530 is a non-volatile memory, such as a hard disk drive or a flash memory, which stores software programs (including computer executable instructions) and various data. The program is loaded from the auxiliary storage unit 530 to the main storage unit 520 via the bus line 560 at any time to cause the processor 510 to execute various processing, methods or steps.

なお、主記憶装置520及び補助記憶装置530を、両者を区別することなく集合的に「メモリ」として参照する場合があることに留意されたい。   It should be noted that the main storage device 520 and the auxiliary storage device 530 may be collectively referred to as "memory" without distinguishing between the two.

ユーザ・インターフェース540は、ユーザに情報を提示すること及びユーザから情報の入力を受けることの一方又は双方を行う、ハードウェア資源としてのユーザ・インターフェースであり、例えば、キーボード、マウス、トラックパッド、トラックポインタ、ディスプレイ、タッチパネル・ディスプレイ、マイク、スピーカ、加速度センサ等である。   The user interface 540 is a user interface as a hardware resource that presents information to the user and / or receives input of information from the user, for example, a keyboard, a mouse, a track pad, and a track. It is a pointer, a display, a touch panel display, a microphone, a speaker, an acceleration sensor, and the like.

通信インターフェース550は、ネットワーク130と接続されるものであり、ネットワーク130を介してデータを送受する。通信インターフェース550とネットワーク130とは、有線又は無線で接続されうる。通信インターフェース550は、ネットワークに係る情報、例えば、Wifiのアクセスポイントに係る情報、通信キャリアの基地局に関する情報等も取得することがある。   The communication interface 550 is connected to the network 130, and sends and receives data via the network 130. The communication interface 550 and the network 130 can be connected by wire or wirelessly. The communication interface 550 may also acquire information related to a network, for example, information related to an access point of Wifi, information related to a base station of a communication carrier, and the like.

3 むすび
以上、本発明の実施形態を説明したが、他の類似する形態の採用や、適宜形態の変更又は追加を行うことができることに留意されたい。
3 Conclusion Although the embodiments of the present invention have been described, it should be noted that other similar forms may be adopted, and forms may be modified or added as appropriate.

Claims (7)

第1のシステムが、第2のシステムに、処理の実行要求を送信するステップと、
前記第1のシステムが、前記処理の実行受付を示す、前記処理の実行要求に対する応答を待ち受けるステップと、
前記第1のシステムが、前記第2のシステムに、前記処理の結果要求を送信するステップと
を含む方法。
The first system transmitting to the second system an execution request for processing;
Waiting for a response to a request for execution of the process, the first system indicating acceptance of execution of the process;
Sending the request resulting from the process to the second system.
請求項1に記載の方法であって、
前記第1のシステムが、前記処理の実行受付を示す、前記処理の実行要求に対する応答を受信した場合に、前記第2のシステムに前記処理の結果要求を繰り返し送信するように自身を設定するステップ
を更に含む方法。
The method according to claim 1, wherein
Setting the self system to repeatedly transmit the result request of the process to the second system when the first system receives a response to the process execution request indicating acceptance of the process execution; A method further comprising
請求項1又は2に記載の方法であって、
前記第1のシステムが、識別情報を記憶するステップ
を更に含み、前記処理の実行要求及び前記処理の結果要求は、記憶した前記識別情報を含む、方法。
The method according to claim 1 or 2, wherein
The method further includes the step of the first system storing identification information, wherein the processing execution request and the processing result request include the stored identification information.
システムが、処理の実行要求を受信した場合に、前記処理の実行の完了を待たずに、前記処理の実行受付を示す応答を返信するステップと、
前記システムが、前記処理の結果要求を受信した場合に、前記処理の結果を返信するために、前記処理の結果の取得を試行するステップと
を含む方法。
A step of returning a response indicating acceptance of the execution of the process without waiting for the completion of the execution of the process when the system receives the process execution request;
Attempting to obtain the result of the process in order to return the result of the process if the system receives a request for the result of the process.
請求項4に記載の方法であって、前記処理の実行要求及び前記処理の結果要求は、識別情報を含み、前記方法は、
前記システムが、実行要求を受信した前記処理の結果を、前記実行要求に含まれる前記識別情報に関連付けて記憶するステップ
を更に含み、前記処理の結果の取得を試行する前記ステップは、
結果要求を受信した前記処理の結果の取得を、前記結果要求に含まれる前記識別情報に基づき試行するステップ
を含む、方法。
5. The method according to claim 4, wherein the processing execution request and the processing result request include identification information;
The system further includes the step of storing the result of the process having received the execution request in association with the identification information included in the execution request, and the step of attempting to acquire the result of the process is:
Attempting to obtain a result of the process that received the result request based on the identification information included in the result request.
1以上のコンピュータに、全体として、請求項1から5のうちの何れか一項に記載の方法を実行させるプログラム。   A program that causes one or more computers to execute the method according to any one of claims 1 to 5 as a whole. 請求項1から5のうちの何れか一項に記載の方法を実行するシステム。   A system for performing the method according to any one of claims 1 to 5.
JP2017225692A 2017-11-24 2017-11-24 Methods, programs and systems for requesting execution of processing with improved fault tolerance and responding as a result. Active JP6802777B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017225692A JP6802777B2 (en) 2017-11-24 2017-11-24 Methods, programs and systems for requesting execution of processing with improved fault tolerance and responding as a result.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017225692A JP6802777B2 (en) 2017-11-24 2017-11-24 Methods, programs and systems for requesting execution of processing with improved fault tolerance and responding as a result.

Publications (2)

Publication Number Publication Date
JP2019096112A true JP2019096112A (en) 2019-06-20
JP6802777B2 JP6802777B2 (en) 2020-12-23

Family

ID=66971725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017225692A Active JP6802777B2 (en) 2017-11-24 2017-11-24 Methods, programs and systems for requesting execution of processing with improved fault tolerance and responding as a result.

Country Status (1)

Country Link
JP (1) JP6802777B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07253912A (en) * 1994-03-16 1995-10-03 Toshiba Corp Process monitor device
JP2003016041A (en) * 2001-07-05 2003-01-17 Sony Corp Communication system, server apparatus, client apparatus, cellular phone, communication method, providing method for coordination processing, method for coordination processing, method for representative charge, validating method for contents, program and recording medium
WO2004102396A1 (en) * 2003-05-14 2004-11-25 Fujitsu Limited Delay storage device and delaying method
JP2009252150A (en) * 2008-04-10 2009-10-29 Sony Computer Entertainment Inc Information processing system
JP2015049745A (en) * 2013-09-02 2015-03-16 株式会社オービックビジネスコンサルタント Server device, information processing method, and program
JP2016066167A (en) * 2014-09-24 2016-04-28 富士ゼロックス株式会社 Information processor, system, and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07253912A (en) * 1994-03-16 1995-10-03 Toshiba Corp Process monitor device
JP2003016041A (en) * 2001-07-05 2003-01-17 Sony Corp Communication system, server apparatus, client apparatus, cellular phone, communication method, providing method for coordination processing, method for coordination processing, method for representative charge, validating method for contents, program and recording medium
WO2004102396A1 (en) * 2003-05-14 2004-11-25 Fujitsu Limited Delay storage device and delaying method
JP2009252150A (en) * 2008-04-10 2009-10-29 Sony Computer Entertainment Inc Information processing system
JP2015049745A (en) * 2013-09-02 2015-03-16 株式会社オービックビジネスコンサルタント Server device, information processing method, and program
JP2016066167A (en) * 2014-09-24 2016-04-28 富士ゼロックス株式会社 Information processor, system, and program

Also Published As

Publication number Publication date
JP6802777B2 (en) 2020-12-23

Similar Documents

Publication Publication Date Title
US9961129B2 (en) Business transaction correlation with client request monitoring data
US9239715B1 (en) Cancel and rollback update stack requests
CN108681777B (en) Method and device for running machine learning program based on distributed system
CN108123851B (en) Survival detection method and device for master-slave node synchronous link in distributed system
CN115004673A (en) Message pushing method and device, electronic equipment and computer readable medium
JP2013097548A (en) Information processing system, information processing device, client terminal, information processing method and program
US10802896B2 (en) Rest gateway for messaging
CN108200132A (en) Resource acquiring method, device, equipment and computer readable storage medium
CN107018159B (en) Service request processing method and device, and service request method and device
CN111064802B (en) Network request processing method and device, electronic equipment and storage medium
CN111506388B (en) Container performance detection method, container management platform and computer storage medium
US8055991B2 (en) Error detection and recovery using an asynchronous transaction journal
JP2017167763A (en) Information processor, test execution method and program
US11720089B2 (en) Decoupled load generation architecture
CN111211925B (en) Alarm information synchronization method and device, computer equipment and storage medium
JP6802777B2 (en) Methods, programs and systems for requesting execution of processing with improved fault tolerance and responding as a result.
CN109669642B (en) Node joining method, system and device of storage system and readable storage medium
CN111488373A (en) Method and system for processing request
CN112583879A (en) Request processing method, device and system, storage medium and electronic equipment
CN107800754B (en) Data transmission task processing method and device, and data transmission task monitoring method and device
US11500857B2 (en) Asynchronous remote calls with undo data structures
US11012537B2 (en) Method for handling long-running client-server processes
CN112994974A (en) Cluster node detection method, device, cluster, equipment and medium
CN107835225B (en) Method, device and equipment for acquiring data information
CN109495560B (en) Link establishment method, device, equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200115

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200115

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200626

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: 20201116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201127

R150 Certificate of patent or registration of utility model

Ref document number: 6802777

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250