Code processing system and code processing method
The code processing system addresses the risk of duplicate identification codes by generating unique codes and switching systems based on error information, enhancing reliability and availability in code-based payment services.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- RAKUTEN GROUP INC
- Filing Date
- 2024-01-18
- Publication Date
- 2026-05-26
Smart Images

Figure 0007866147000001 
Figure 0007866147000002 
Figure 0007866147000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to a code processing system and a code processing method.
Background Art
[0002] In recent years, electronic payment services such as code-based payments have been widely provided. When a failure occurs in an information system that provides an electronic payment service, it has a great impact on social life and also reduces the reliability of the service. As a countermeasure to reduce the impact of such failures in information systems, in addition to the operating system servers that operate during normal times, a cluster system equipped with standby system servers that replace the role of the operating system servers in case of a failure of the operating system servers is used.
[0003] For example, Patent Document 1 discloses a method for switching a server that collects signs of hardware failures or software failures and performs switching to a standby system server as needed.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] In code-based payment services, identification information for both the buyer and the seller is issued as a user code, such as a barcode or QR code (registered trademark). For example, when a buyer displays the user code on their mobile device and a seller reads the user code using a store terminal, the store terminal transmits the read user code and the seller's identification code (store code) to the payment system. The payment system identifies the buyer and seller based on the received user code and store code and executes the payment process between them. Identification codes like user codes are not limited to electronic payments; they can also be used for distributing coupons or for entry management as electronic tickets.
[0006] When multiple systems, such as active and standby systems, generate identification codes for the same purpose, there is a risk that multiple systems may generate the same identification code depending on the system switching status. If multiple identification codes, which should be unique, are in circulation, problems may arise in payment processing.
[0007] This disclosure aims to provide a code processing system and a code processing method that can appropriately process codes even when multiple systems that generate identification codes are switched between. [Means for solving the problem]
[0008] A code processing system according to one aspect of the present disclosure comprises an active system and a standby system, each of which is configured to generate a multi-digit identification code when it receives a code request from a user terminal, the identification code includes a system code specific to the system generating the identification code in a predetermined number of digits, the identification code generated by the active system is the active system code, the identification code generated by the standby system is the standby system code, and the code processing system is configured to transmit either the active system code or the standby system code to the user terminal based on error information in the active system.
[0009] A code processing system according to one aspect of the present disclosure comprises an active system, one or more standby systems, and a database, wherein each of the active system and the one or more standby systems is configured to generate a multi-digit identification code when it receives a code request from a user terminal, the identification code includes a system code unique to each of the active system and the one or more standby systems that generates the identification code in a specified number of digits, the database is configured to store the transmission history of the identification code generated by each of the active system and the one or more standby systems, and the code processing system is configured to handle the active system Based on the information, the system is configured to transmit the identification code generated by either the active system or one of the one or more standby systems to the user terminal, and when it receives a code processing request that includes the identification code, it is configured to transmit the code processing request to the system among the active system and one or more standby systems that corresponds to the system code included in the identification code, and each of the active system and one or more standby systems is configured to perform a comparison process between the identification code included in the code processing request and the identification code stored in the database when it receives the code processing request.
[0010] A method according to one aspect of the present disclosure is a code processing method in a code processing system comprising an active system and one or more standby systems, wherein each of the active system and the one or more standby systems is configured to generate an identification code which is a multi-digit identification code which includes a system code unique to each of the active system and the one or more standby systems in a specified number of digits, and the method includes collecting error information in the active system, receiving a code request from a user terminal, and transmitting the identification code generated by any one of the active system and the one or more standby systems to the user terminal based on the error information. [Brief explanation of the drawing]
[0011] [Figure 1] Figure 1 is a schematic diagram showing the configuration of a code processing system according to an embodiment. [Figure 2] Figure 2 is a flowchart illustrating the code processing method performed by the code processing system shown in Figure 1. [Figure 3] Figure 3 illustrates the error information. [Figure 4] Figure 4 is a flowchart illustrating how the system switches over based on error information. [Modes for carrying out the invention]
[0012] Examples of the code processing system 100 and code processing method will be described below with reference to Figures 1 to 4. The present invention is not limited to these examples, and is intended to include all modifications in the sense and scope equivalent to the claims, in addition to the content set forth in the claims.
[0013] [Overview of Electronic Payment Services] The code processing system 100 shown in Figure 1 is configured to generate an identification code as part of the code processing associated with electronic payment (hereinafter also simply referred to as "code payment"). A shopper, as an example of a user, can receive electronic payment services using the user terminal 11. The user terminal 11 may have a payment application installed for making electronic payments. The user terminal 11 may be, but is not limited to, a mobile device such as a smartphone or tablet with a built-in computer and camera.
[0014] The payment application includes a computer program that causes the user terminal 11 to perform various operations. When the user activates the payment application, a code display screen 15 is displayed on the user terminal 11. One or more identification codes 12, 13, and 14 are displayed on the code display screen 15. The identification codes 12, 13, and 14 displayed on the code display screen 15 are also called user codes. User codes 12, 13, and 14 may be generated each time the payment application is launched, or they may be regenerated by reloading the identification codes (operating the reload button) or reloading the code display screen 15, and they may have a certain validity period (for example, 5 minutes).
[0015] Of the user codes 12, 13, and 14, identification code 12 is a multi-digit string code containing at least one number, letter, or symbol. The number of digits in the string can be set arbitrarily. Identification codes 13 and 14 are two-dimensional codes. Two-dimensional codes 13 and 14 may be barcodes 13 or QR codes 14, but are not limited to these. Two-dimensional codes 13 and 14 are two-dimensional representations of identification code 12. Therefore, when the code display screen 15 is scanned, even if what is actually scanned is a two-dimensional code 13 or 14, it is said that "user code 12 is being read."
[0016] The merchant terminal 20 used by the merchant may have a code scanner 21 for scanning the two-dimensional codes 13 and 14, or it may have a camera for taking pictures and an application for reading the codes. The merchant terminal 20 is pre-assigned a store code 23, which is an identification code for identifying the merchant. The store code 23 may be a two-dimensional code. The two-dimensional code may be a barcode or a QR code, but is not limited to these. The user terminal 11 and the merchant terminal 20 are examples of user terminals.
[0017] The seller terminal 20 may be installed in a store or mounted on a moving object such as a taxi or a mobile sales vehicle. Each seller terminal 20 may be a POS (Point of sales) register or a portable device such as a PC or a tablet installed with a payment application.
[0018] Code settlement can be performed by a store scan method in which the seller terminal 20 scans the two-dimensional codes 13, 14 displayed on the code display screen 15, or by a user scan method in which the user terminal 11 scans the store code 23 presented by the seller. In the store scan method, settlement processing (also referred to as "first settlement processing") is performed in response to a settlement request transmitted from the seller terminal 20 that receives payment by electronic payment. In the user scan method, settlement processing (also referred to as "second settlement processing") is performed in response to a settlement request transmitted from the user terminal 11 that makes payment by electronic payment.
[0019] Here, an outline of the code settlement in the store scan method performed via the user terminal 11 and the seller terminal 20 will be described. Prior to settlement, a payment screen 25 is displayed on the display 24 of the seller terminal 20. The payment amount is displayed on the payment screen 25. After both the seller and the user confirm the payment amount, the seller terminal 20 reads the user code 12. Then, the seller terminal 20 that has performed the reading executes payment processing.
[0020] When the payment processing is executed, the seller terminal 20 transmits a settlement request including settlement information to the code processing system 100 through the network 29. The settlement information includes the user code 12, the store code 23, and the settlement amount. The settlement information may further include transaction information related to the settlement, for example, information related to the purchased goods. The payment application of the user terminal 11 may display a settlement completion screen (not shown) on the user terminal 11 after the settlement is completed. The settlement completion screen may include information about the seller, the payment date and time, and the settlement amount.
[0021] The network 29 includes, for example, the Internet, a WAN (Wide Area Network), a LAN (Local Area Network), a provider terminal, a wireless communication network, a wireless base station, a dedicated line, and the like. It is not necessary for all combinations of the devices shown in FIG. 1 to be able to communicate with each other, and the network 29 may include a partially local network.
[0022] In the case of the user scan method, when the user reads the store code 23 with the user terminal 11, a payment screen (not shown) is displayed on the user terminal 11. When the user inputs the payment amount on the payment screen and executes the payment process, the user terminal 11 transmits a payment request including payment information to the code processing system 100 through the network 29. The payment information includes the user code 12, the store code 23, and the payment amount.
[0023] [Outline of the Code Processing System] As shown in FIG. 1, the code processing system 100 is a cluster system including an active system 30 that operates normally and a standby system 40 that operates when the active system 30 fails. The code processing system 100 may include a second standby system 50 that operates when both systems 30 and 40 fail, in addition to the first standby system 40.
[0024] Each of the systems 30, 40, and 50 is configured to execute generation (first code processing) of an identification code and verification (second code processing) of the identification code as code processing for code settlement. The first code processing includes a transmission process of the generated identification code. The second code processing may include processing related to a service using the identification code (for example, payment processing). Each of the systems 30, 40, and 50 in this example is configured to generate and transmit an identification code (user code 12) when receiving a code request that is a first code processing request. Also, each of the systems 30, 40, and 50 is configured to execute identification code verification and payment processing when receiving a payment request that is a second code processing request.
[0025] Systems 30, 40, and 50 may be able to provide the same services, or their services may differ from each other. Below, we will describe an example in which standby systems 40 and 50 are configured to provide some of the services that can be provided by the active system 30. For example, the active system 30 can perform code payments using the user scan method and the store scan method (first payment processing and second payment processing), as well as code payments where the seller terminal 20 is a vending machine or a self-checkout machine. In contrast, standby systems 40 and 50 can perform code payments using the store scan method (first payment processing), but do not support code payments using the user scan method or vending machines or self-checkout machines.
[0026] Regardless of the type of code payment, systems 30, 40, and 50 generate a user code 12 in response to a code request sent from the user terminal 11 and send it to the user terminal 11. The payment application is configured to generate two-dimensional codes 13 and 14 from the user code 12. The user code 12 is, for example, a 16-digit sequence of positive integers. Of the 16-digit sequence, the code for a specified digit (the 7th digit in this example, the 7th number from the left in Figure 1) (a number greater than or equal to 1, one number in this example) differs depending on the system 30, 40, or 50 that generates the code. The 7th digit code unique to system 30, 40, or 50 is called the system code.
[0027] In this example, the system code for identifying the active system 30 is "8" or "9", the system code for identifying the first standby system 40 is "7", and the system code for identifying the second standby system 50 is "6". That is, the seventh digit of the user code 12 generated by the active system 30 is "8" or "9", the seventh digit of the user code 12 generated by the first standby system 40 is "7", and the seventh digit of the user code 12 generated by the second standby system 50 is "6". The system code is not limited to numbers; it may also be a letter or a symbol.
[0028] The user code 12 generated by the operational system 30 is called the "operational system code" or "normal system code." The user code 12 generated by the first standby system 40 is called the "first standby system code" or "first emergency code." The user code 12 generated by the second standby system 50 is called the "second standby system code" or "second emergency code." The "first standby system code" and the "second standby system code" are collectively referred to as the "standby system code," and the "first emergency code" and the "second emergency code" are collectively referred to as the "emergency code."
[0029] System 100 may include a switcher 101 configured to switch between systems 30, 40, and 50. Alternatively, system 100 may include a first switcher for switching system 30 to system 40, and a second switcher for switching system 40 to system 50. The state in which the active system 30 is operating is called "normal mode," and the state in which the standby systems 40 and 50 are operating is called "emergency mode."
[0030] System 100 may include a user router 102 and a seller router 103. When the user router 102 receives a code request sent from the user terminal 11, it is configured to send the code request to one of systems 30, 40, or 50. The switch 101 determines which of systems 30, 40, or 50 the user router 102 sends the code request to.
[0031] When the user router 102 receives a payment request containing a user code 12 from the user terminal 11, it sends the payment request to systems 30, 40, and 50 corresponding to the system codes contained in the user code 12. Specifically, if the user code 12 is a normal code, the user router 102 sends the payment request to system 30; if the user code 12 is a first emergency code, it sends the payment request to system 40; and if the user code 12 is a second emergency code, it sends the payment request to system 50.
[0032] When the seller router 103 receives a payment request containing a user code 12 from the seller terminal 20, it sends the payment request to systems 30, 40, and 50 corresponding to the system code contained in the user code 12. That is, similar to the user router 102, the seller router 103 sends the payment request to system 30 if the user code 12 is a normal code, to system 40 if the user code 12 is a first emergency code, and to system 50 if the user code 12 is a second emergency code.
[0033] System 100 may include an error information collector 104 for collecting error information for each of systems 30, 40, and 50. Alternatively, system 100 may include a first error information collector, a second error information collector, and a third error information collector for collecting error information for systems 30, 40, and 50, respectively. The error information collector 104 may be a chatbot configured to receive error information transmitted from devices within system 100.
[0034] While each system 30, 40, and 50 is running, the error information collector 104 collects error information for the corresponding system 30, 40, and 50. The error information includes the number of errors in various processes performed in each system 30, 40, and 50, the content of the errors, and the date and time the errors occurred.
[0035] The switch 101 is configured to control the switching of systems 30, 40, and 50 based on error information collected by the error information collector 104. The switching of systems 30, 40, and 50 is performed by the switch 101 changing the destination of the code request received by the user router 102 from the user terminal 11. For example, if an error that meets a specified switching condition occurs in the active system 30, the switch 101 instructs the user router 102 to change the destination of the code request from the active system 30 to the first standby system 40. System 100 may include a history database 105 that stores the switching history of systems 30, 40, and 50.
[0036] [Overview of the Electronic Payment System] The code processing system 100 in this example is configured to provide electronic payment services and is therefore also referred to as an electronic payment system. The configurations of systems 30, 40, and 50 that implement various functions of the electronic payment system 100 will be described below.
[0037] Systems 30, 40, and 50 may each include databases 34, 44, and 54, respectively. The first standby system 40 may include a first data synchronization device 45 for synchronizing the active database 34 with the first standby database 44. The first data synchronization device 45 may synchronize the active database 34 with the first standby database 44 when there is a switchover between systems 30 and 40. The second standby system 50 may include a second data synchronization device 55 for synchronizing the first standby database 44 with the second standby database 54. The second data synchronization device 55 may synchronize the first standby database 44 with the second standby database 54 when there is a switchover between systems 40 and 50.
[0038] Databases 34, 44, and 54 may each include a user database, a seller database, a code database, and a payment database. The user database stores information (hereinafter referred to as "user data") of multiple users (buyers) registered with the payment service. The seller database stores various data related to multiple sellers or stores participating in the electronic payment service. The code database stores the transmission history of user codes 12 generated by each of systems 30, 40, and 50. The payment database stores the history of multiple payment processes.
[0039] Each user data may include the corresponding user's name, user identifier, address, one or more payment information entries, payment method settings, and usage history of electronic payment services. One or more payment information entries may include, for example, a credit card number, a bank account for direct debit, or electronic money registration information. Payment method settings may include information related to the payment method used by default for code payments, pre-configured by the user (e.g., credit card number). Examples of payment methods include, but are not limited to, credit cards, bank accounts, electronic money, or points. Each user data may also include information about the user terminal 11 used by that user.
[0040] Information about the seller includes, but is not limited to, the seller's name, seller identification information (including store identification information), address, business description, product / service categories, and information about the seller terminal 20. The seller database may also include payment history. Payment history includes, for example, the name of the store where the payment was made, the purchaser, the date and time of payment, the items traded, and the payment amount.
[0041] The transmission history of user code 12 includes the recipient of each user code 12 (information of the user or user terminal 11) and the date and time of transmission. The payment processing history may include, for example, user identification information, seller identification information (store identification information), user code 12 used for payment, store information, payment date and time, payment location, payment amount, payment method, transaction details, and the status of withdrawal after payment processing.
[0042] Each of the active system 30 and the standby systems 40 and 50 is configured to perform a comparison process between the user code 12 included in the second code processing request and the transmitted user code 12 stored in the code database as a second code processing step when it receives a second code processing request (settlement request) that includes a user code 12.
[0043] The operational system 30 includes an authenticator 36, a setting device 37, a code generator 38, and a payment processing device 39. The authenticator 36 is configured to authenticate the user who sent the code request by referring to the user database when it receives a code request from the user terminal 11. The setting device 37 is configured to retrieve the payment method set by the user by referring to the operational system database 34 for users who have been authenticated.
[0044] The code generation device 38 is configured to generate a user code 12 for the corresponding user based on a code request. The payment processing device 39 is configured to perform payment processing when it receives a payment request from the user terminal 11 or the seller terminal 20.
[0045] The first standby system 40, like the active system 30, includes an authentication device 46, a setting device 47, a code generation device 48, and a payment processing device 49. The functions of the authentication device 46, setting device 47, code generation device 48, and payment processing device 49 are the same as those of the setting device 37, code generation device 38, and payment processing device 39, respectively. However, the payment processing device 49 performs payment processing when it receives a payment request from the seller terminal 20, but does not support payment requests from the user terminal 11 (second payment processing).
[0046] The second standby system 50, like the active system 30, is equipped with an authentication device 56, a setting device 57, a code generation device 58, and a payment processing device 59. The functions of the authentication device 56, setting device 57, code generation device 58, and payment processing device 59 are the same as those of the setting device 37, code generation device 38, and payment processing device 39, respectively. However, the payment processing device 59 performs payment processing when it receives a payment request from the seller terminal 20, but does not support payment requests from the user terminal 11 (second payment processing).
[0047] [Code Payment Methods] Referring to Figure 2, the code payment methods in systems 30, 40, and 50 will be explained using an example of code payment using the store scan method by the operational system 30. Below, the processing of the user terminal 11 is shown in steps S11 to S13, the processing of the seller terminal 20 is shown in steps S21 to S23, and the processing of system 100 is shown in steps S31 to S39.
[0048] First, in step S11, the user operates the user terminal 11 to activate the payment application. This causes the payment application to send a code request containing user data to the system 100. Then, in step S31, the user router 102 receives the code request from the user terminal 11. In this example, the user router 102 sends the code request to the authentication device 36 of the operational system 30.
[0049] In step S32, the authentication device 36 performs user authentication by comparing the user data included in the code request (first code processing request) with the user data (registered data) stored in the user database. If the user data matches the registered data, the authentication device 36 completes user authentication. If the user data does not match the registered data, or if the authentication request is inappropriate and authentication is not possible, the authentication device 36 sends error information. If an error occurs, the authentication device 36 may retry the authentication process.
[0050] In step S33, the setting device 37 refers to the database 34 to obtain the payment method set by the corresponding user. If the payment method cannot be obtained, or if the request for payment information is inappropriate and the payment method cannot be obtained, the setting device 37 sends error information. If an error occurs, the setting device 37 may retry the payment method acquisition process.
[0051] In step S34, the code generation device 38 generates a user code 12 (first code processing). Then, in step S35, the operating system 30 sends the generated user code 12 to the user terminal 11. If the code generation process cannot be completed in step S34, the code generation device 38 sends error information. If an error occurs, the code generation device 38 may restart the generation process.
[0052] In step S12, when the user terminal 11 receives the user code 12, the payment application generates two-dimensional codes 13 and 14, and then displays a code display screen 15 containing the user codes 12, 13, and 14 on the user terminal 11.
[0053] Subsequently, the seller enters the payment amount into the seller terminal 20. Then, in step S21, the seller terminal 20 reads the user code 12 from the code display screen 15. In the following step S22, the seller performs the payment process. As a result, the seller terminal 20 sends a payment request (second code processing request) to the system 100. The payment request includes payment information. The payment information includes at least the user code 12 obtained from the user terminal 11, the store code 23, and the payment amount. Note that the store code 23 scanned by the user terminal 11 in user-scan payment and the store code 23 included in the payment information in store-scan payment may be different codes.
[0054] In step S36, the seller router 103 receives the payment request. Since the user code 12 in this example is a normal code, the seller router 103 sends the payment request to the authentication device 36 of the operational system 30.
[0055] In step S37, the authentication device 36 compares the user code 12 included in the payment request with the transmitted user code 12 stored in the code database. Thus, the operational system 30 is configured to refer to the database 34 and perform the user code 12 comparison process when it receives a second code processing request that includes the user code 12. If the comparison results in both user codes 12 matching, the authentication device 36 completes the comparison process. If the two user codes 12 do not match, the authentication device 36 sends error information. If an error occurs, the authentication device 36 may retry the comparison process.
[0056] In step S38, the payment processing device 39 performs payment processing based on the payment information. If payment processing cannot be performed in step S38, the payment processing device 39 sends error information. If an error occurs, the payment processing device 39 may retry the payment processing.
[0057] Once the payment process is complete, in step S39, the operational system 30 sends the payment completion information to the user terminal 11 and the seller terminal 20. Then, in step S13, the payment application displays a payment completion screen containing the payment completion information on the user terminal 11. Also, in step S23, the payment completion screen containing the payment completion information is displayed on the display 24 of the seller terminal 20.
[0058] In the case of user-scan code payment, similar to the store-scan method described above, when the payment application on the user terminal 11 is activated in step S11, a code request is sent to the system 30. Upon receiving the code request (step S31), the system 30 performs authentication processing (step S32), payment method acquisition processing (step S33), and code generation processing (step S34). Subsequently, the generated user code 12 is sent to the user terminal 11 (step S35). As a result, the code display screen 15 is displayed on the user terminal 11 in step S12.
[0059] Subsequently, in the user scan method, instead of step S21, the user terminal 11 reads the store code 23. Then, instead of step S22, the user terminal 11 sends a payment request to the system 30. The subsequent processing (steps S36-S39, S13, S23) is executed in the same way as in the store scan method.
[0060] At least some of the error information transmitted within systems 30, 40, and 50 may be, for example, HTTP (Hypertext Transfer Protocol) status codes. For example, status codes in the 400 range indicate errors caused by client-side operations or malfunctions and are denoted as "4XX". Status codes in the 500 range indicate errors caused by server-side failures and are denoted as "5XX". For example, "500" indicates an error that occurred within the server, and "503" indicates an error where the server cannot be accessed. This error information is collected by the error information collector 104.
[0061] [System transition conditions] The switch 101 may switch systems based on error information of the running system (normally the active system 30). The error information may include the number of errors that occur during various processes. For example, the error information may include at least one of the following: the number of generation errors that occur during the code generation process for generating the user code 12, the number of authentication errors that occur during the authentication process (including the verification process), or the number of payment errors that occur during the payment process. Payment errors can be caused by problems on the user's side making the payment, or by problems on the seller's side receiving the payment.
[0062] The number of errors may be recorded by the error information collector 104. System switching conditions based on error information may be stored in at least one of the databases 34, 44, 54 or the history database 105.
[0063] The switching conditions may include multiple thresholds related to the number of errors that have occurred. In this case, the code processing system 100 may be configured to send either an active system code or a standby system code to the user terminal 11 based on the multiple thresholds related to the number of errors that have occurred. The multiple thresholds may include a warning threshold (first threshold) and a switching threshold (second threshold). The warning threshold is a condition for determining that a failure has begun to occur in the corresponding systems 30, 40, and the switching threshold is a condition for actually performing a system switchover.
[0064] The switch 101 may be configured to automatically switch the system if an error occurs that exceeds the switching threshold. Alternatively, the error information collector 104 may be configured to notify the system administrator of 100 if an error occurs that exceeds the warning threshold and the switching threshold. In this case, the administrator may manually switch the system.
[0065] Figure 3 illustrates the system's warning threshold and failover threshold. In Figure 3, error codes are shown as HTTP status codes. For example, in the code generation process, 100 errors / 2 minutes may be the warning threshold, and 500 errors / 2 minutes may be the failover threshold.
[0066] Multiple thresholds may be set for different time periods. For example, different warning thresholds or switching thresholds may be set depending on the time of day. In the example in Figure 3, the authentication process uses a warning threshold of 100 errors / 2 minutes during late night hours when code payment usage is low, and a warning threshold of 500 errors / 2 minutes during the daytime when code payment usage is high. In this case, the switching threshold may also differ depending on the time of day, but as shown in Figure 3, a common switching threshold such as 1000 errors / 2 minutes may be set in the authentication process.
[0067] Different warning thresholds or toggle thresholds can be set depending on the likelihood of errors. For example, if the payment method retrieval process is more prone to errors than the code generation and authentication processes, the payment method retrieval process may be allowed to tolerate more errors than the code generation and authentication processes. For example, 800 errors / 2 minutes could be set as the warning threshold and 2000 errors / 2 minutes as the toggle threshold.
[0068] Multiple thresholds may include one or more administrative thresholds. An administrative threshold may be the number of errors that occur in a series of processes associated with a request from the administrator terminal 11. An example of an administrative threshold is the number of consecutive failures in code generation (including the transmission of user codes) or settlement processing in response to a code processing request sent from the administrator terminal 11. In this case, the user database includes multiple administrators (administrators of system 100) as part of multiple users, and includes multiple administrator terminals 11 used by administrators as part of multiple user terminals 11.
[0069] In this example, when the administrator activates the payment application on the administrator terminal 11, which is pre-registered in the database 34, the user authentication in step S32 identifies that the administrator terminal 11 is the one that sent the code request. Then, for this administrator terminal 11, a management switching condition based on a management threshold, which is different from the general threshold (for example, the threshold shown in Figure 3) that is applied to other general user terminals 11, is applied.
[0070] The administrator may periodically or irregularly test the operational system 30 for abnormalities by sending code requests using the administrator terminal 11. Such tests can also be performed, for example, by having a robot operate the administrator terminal 11 (e.g., by pressing the reload button for user code 12 a specified number of times). Performing such tests in an environment with stable communication conditions makes it possible to more appropriately detect errors within the system 30.
[0071] The management threshold may be set to a stricter condition than the general threshold. For example, the management threshold may be set to 10, 5, or 3 consecutive failures of code payments, regardless of which step in the series of processes the error occurred in. If the management threshold is set to 3 consecutive failures, the system may be configured to switch over immediately if code payments fail 3 times in a row.
[0072] Some of the multiple administrators may be registered in the user database as designated administrators. In addition to this, or instead, some of the multiple administrator terminals 11 may be registered in the user database as designated terminals 11. Furthermore, even while the operational system 30 is running without failure, system 100 may exceptionally send an emergency code to a designated administrator or designated terminal 11 if that terminal is identified. In this case, whether or not the person who sent the code request is an administrator may be identified by the user router 102 or by another authentication device.
[0073] [How to switch systems] Referring to Figure 4, the switching method for systems 30, 40, and 50 based on error information will be explained. Below, the switching from the active system 30 to the first standby system 40 is shown as an example, but the switching from the first standby system 40 to the second standby system 50 can be performed in the same manner. The switch 101 may repeatedly execute steps S41 to S44 described below at a predetermined cycle.
[0074] Prior to step S41, the error information collector 104 continuously collects error information from the operating system 30. Then, in step S41, the switch 101 acquires the error information collected by the error information collector 104. Next, in step S42, the switch 101 acquires switching conditions according to the error information. For example, if a code generation error has occurred, the switch 101 acquires a switching threshold for code generation; if an error has occurred in response to the code processing request from the administrator terminal 11, it acquires a management threshold; and if an authentication error has occurred, it acquires a switching threshold for the current time period.
[0075] In the following step S43, the switch 101 determines whether the number of errors included in the error information exceeds the corresponding switching threshold. If the number of errors exceeds the switching threshold, the process proceeds to step S44, where the system switches from the active system 30 to the first standby system 40. More specifically, the switch 101 changes the destination of the code request received by the user router 102 from the active system 30 to the first standby system 40. If the number of errors does not exceed the switching threshold, the switch 101 terminates the process without switching the system.
[0076] [Effects of this disclosure] When error information in the first standby system 40 satisfies the specified switching conditions, it indicates that the first standby system 40 is experiencing a malfunction that causes recurring errors. Therefore, the switch 101 switches the system that performs the first code processing (generation and transmission of user code 12) from the active system 30 to the first standby system 40. Similarly, when error information in the first standby system 40 satisfies the specified switching conditions, the switch 101 switches the system that performs the first code processing from the first standby system 40 to the second standby system 50. As a result, the code processing system 100 is configured to transmit either the active system (normal) code or the standby system (emergency) code to the user terminal 11 based on the error information in the active system 30.
[0077] Here, user code 12 includes a system code unique to each of systems 30, 40, and 50 in a specified number of digits. Therefore, in the case of the store scan method, when the seller router 103 receives a payment request sent from the seller terminal 20, it can send the payment request to the system that generated user code 12 based on the system code of user code 12 included in the payment request.
[0078] In other words, when the code processing system 100 receives a second code processing request (settlement request) that includes a normal code, it transmits the second code processing request to the active system 30 to perform second code processing (code verification and settlement processing). When it receives a second code processing request that includes an emergency code, it transmits the second code processing request to the first standby system 40 to perform code processing.
[0079] For example, the seller router 103 sends a payment request to the active system 30 if the user code 12 is the active system code, to the first standby system 40 if the user code 12 is the first standby system code, and to the second standby system 50 if the user code 12 is the second standby system code. Each of the systems 30, 40, and 50 is configured to perform user code 12 verification and payment processing upon receiving a payment request.
[0080] In this way, if the active system 30 fails, the standby systems 40 and 50 take over. By making the code processing system 100 redundant with multiple systems 30, 40, and 50, the downtime of the code processing system 100 can be minimized even if a failure occurs in any of the systems 30, 40, or 50. This makes it possible to improve the availability of services using identification codes.
[0081] [Effects of this disclosure] According to this disclosure, the following effects can be achieved. (1) The code processing system 100 transmits either the active system code or the standby system code to the user terminal 11 based on the error information in the active system 30, so that code processing can be performed appropriately even when multiple systems 30 and 40 are switched between each other.
[0082] (2) The user code 12 includes a system code unique to each of the systems 30, 40, and 50 that generate the user code 12, in a specified number of digits. Therefore, the seller router 103 can identify the system that generated the user code 12 based on the system code. This allows the seller router 103 to send a settlement request to the currently operating system.
[0083] (3) When each of systems 30, 40, and 50 receives a second code processing request (settlement request), it performs a comparison process between the user code 12 included in the settlement request and the transmitted user code 12 stored in the code database. This allows the system 30, 40, and 50 that generated the user code 12 to perform settlement processing using the user code 12. Therefore, by switching the system that issues the user code 12, the system that performs the second code processing can be switched.
[0084] (4) If multiple errors occur during the code generation process, there is a possibility that the system executing the process is malfunctioning. Therefore, the number of code generation errors can be used as a trigger condition.
[0085] (5) If multiple errors occur during the user authentication process, there is a possibility that the system performing the process is experiencing a failure. Therefore, the number of authentication errors can be used as a trigger condition.
[0086] (6) If multiple errors occur during payment processing, there is a possibility that the system performing the processing is malfunctioning. Therefore, the number of payment errors can be used as a trigger condition.
[0087] (7) Since the number of processing requests to system 100 differs depending on the time of day, the impact, urgency, or importance of errors will also differ depending on the time of day. In addition, the network may become congested at certain times, leading to frequent errors, but this congestion may be temporary. Therefore, the optimal threshold for the number of errors that warrant switching systems 30, 40, and 50 will differ depending on the time of day. Accordingly, by setting different thresholds depending on the time of day, system 100 can be operated more appropriately.
[0088] (8) When switching between systems 30 and 40 based on error information, the operating system 30 will be allowed to have errors below a threshold. Therefore, by setting a management threshold for errors that occur in response to code processing requests from the administrator terminal 11, the system 30 and 40 can be switched over quickly without allowing errors until the general threshold is reached.
[0089] (9) Providing redundancy for system 100 by equipping it with one or more standby systems 40, 50 improves the availability of system 100, but also increases costs. Therefore, the increase in costs can be suppressed by having the standby systems 40, 50 provide only a portion of the services provided by the active system 30 (first payment processing and the second payment processing) that are of high importance or frequency of use (first payment processing, for example, store scan type code payment).
[0090] (10) Even while the operational system 30 is operating without failure, the system 100 can send an emergency code to the designated administrator (designated terminal 11), allowing the designated administrator to use the emergency code to verify the operation of the standby systems 40 and 50. Alternatively, when introducing a new standby system, the designated administrator can use an exceptionally generated emergency code to verify the operation of the new standby system.
[0091] (11) The switch 101 determines whether an error satisfying the switching conditions has occurred, based on the switching conditions and the error information collected by the error information collector 104. Here, the switching conditions are stored in databases 34, 44, 54 or the history database 105, and the error information is recorded by the error information collector 104. By storing the switching conditions and error information in a distributed manner in this way, a single point of failure that could lead to the shutdown of the entire system 100 can be eliminated.
[0092] (12) The switch 101 determines which of systems 30, 40, or 50 the user router 102 will send the code request to. In this way, the switch 101 selectively determines the destination of the code request, thus preventing the duplicate issuance of user codes 12.
[0093] (13) The code processing system 100 provides electronic payment services. Therefore, it can properly perform code processing in code payments. This embodiment can be implemented with the following modifications. This embodiment and the following modifications can be combined with each other to the extent that they do not contradict each other technically.
[0094] [Example of change 1] The above embodiment illustrates an active / standby configuration in which one of the three systems 30, 40, and 50 is designated as the active system 30, and processing is handed over to the standby systems 40 and 50 in the event of a failure of the active system 30. The system and method of this disclosure may also employ an active / active configuration in which all systems 30, 40, and 50 are operated at all times.
[0095] [Example of change 2] The code processing system 100 does not need to have a second standby system 50, or it may have three or more standby systems.
[0096] [Example of change 3] The code processing system 100 may be used not only for code payments but also for other services that utilize identification codes. For example, an e-commerce site may issue coupons with identification codes and allow users to receive coupon benefits based on those identification codes. Alternatively, an electronic ticket with an identification code may be issued, and entry management may be performed using that identification code.
[0097] [Example of change 4] The switch 101 may also perform switching of the destination for payment requests to both the user router 102 and the seller router 103, in addition to switching the destination for code requests to the user router 102. In this case, the standby systems 40 and 50, which are switched over from the operational systems 30 and 40 respectively, are configured to execute the received code processing (payment processing) regardless of the system code. This configuration is particularly advantageous when there is a long time between the first code processing (transmission of user code 12) and the second code processing (code verification).
[0098] [Aspect] The following lists the aspects that can be understood from the above embodiments and modified examples. [1] Operating systems and Standby system and, A code processing system comprising, Each of the aforementioned active system and standby system is configured to generate a multi-digit identification code upon receiving a code request from a user terminal, and the identification code includes a system code specific to the system generating the identification code in a predetermined number of digits. The identification code generated by the aforementioned operating system is an operating system code. The identification code generated by the aforementioned standby system is a standby system code. The code processing system is configured to transmit either the operational system code or the standby system code to the user terminal based on error information in the operational system. Code processing system.
[0099] [2] The code processing system is configured to perform code processing associated with electronic payments made via the user terminal and the seller terminal. The seller terminal is configured to transmit a payment request including the identification code obtained from the user terminal to the code processing system. The code processing system includes a seller router configured to receive the payment request transmitted from the seller terminal, The seller router is configured to transmit the payment request to the active system if the identification code is the active system code, and to transmit the payment request to the standby system if the identification code is the standby system code. The code processing system described in [1] above.
[0100] [3] The database is configured to store the transmission history of the aforementioned identification code, The code processing system is configured to, upon receiving a code processing request including the identification code, transmit the code processing request to the operational system if the identification code is the operational system code, and transmit the code processing request to the standby system if the identification code is the standby system code. Each of the operational system and the standby system is configured to perform a comparison process between the identification code included in the code processing request and the transmitted identification code stored in the database when it receives the code processing request. The code processing system described in [1] or [2] above.
[0101] [4] The error information includes the number of generation errors that occur during the code generation process for generating the identification code. A code processing system as described in any of the above [1] to [3].
[0102] [5] The system includes a database configured to store information about users who use the user terminal, Each of the operational system and the standby system is configured to, upon receiving a code request from the user terminal, refer to the database to perform user authentication processing, and generate the identification code upon completion of the authentication processing. The error information includes the number of authentication errors that occur during the authentication process. A code processing system as described in any of the above [1] to [4].
[0103] [6] Each of the aforementioned operational system and the aforementioned standby system is configured to perform payment processing when it receives a payment request including the identification code. The error information includes the number of payment errors that occur during the payment processing. A code processing system as described in any of the above [1] to [5].
[0104] [7] The aforementioned error information includes the number of times the error occurred. The code processing system is configured to transmit either the active code or the standby code to the user terminal based on a plurality of thresholds relating to the number of times the error has occurred. The aforementioned multiple thresholds are set for different time periods. A code processing system as described in any of the above [1] to [6].
[0105] [8] It has a database that stores information from multiple user terminals, The plurality of user terminals include one or more administrator terminals used by the administrator of the code processing system. The aforementioned error information includes the number of times the error occurred. The code processing system is configured to transmit either the active code or the standby code to the user terminal based on a plurality of thresholds relating to the number of times the error has occurred. The plurality of thresholds include one or more management thresholds, and the management threshold is the number of errors that occurred in a series of processes in response to a request from the administrator terminal. A code processing system as described in any of the above [1] to [7].
[0106] [9] The code processing system is configured to perform code processing associated with electronic payments. The first payment process is the payment processing performed in response to a payment request transmitted from the seller's terminal that receives payment via the aforementioned electronic payment method. The second payment process is the payment processing performed in response to a payment request transmitted from the user terminal that makes the payment using the aforementioned electronic payment method. Each of the aforementioned active system and standby system is configured to perform settlement processing when it receives the settlement request. The operational system is capable of executing the first settlement process and the second settlement process. The standby system is capable of executing the first settlement process but is not capable of executing the second settlement process. A code processing system as described in any of the above [1] to [8].
[0107]
[10] It has a database configured to store information for multiple users, The aforementioned users include the administrator of the code processing system, The code processing system is configured to send the standby code to the user terminal used by the administrator when it receives a code request from the administrator while the operational system is running. A code processing system as described in any of the above [1] to [9].
[0108]
[11] A switch configured to switch between the operational system and the standby system, A database configured to store the switching conditions for performing the aforementioned switching, An error information collector configured to collect the aforementioned error information, Equipped with, The switch is configured to switch the active system to the standby system if an error satisfying the switching condition occurs, based on the switching condition and the error information collected by the error information collector. A code processing system as described in any of the above [1] to
[10] .
[0109]
[12] A switch configured to switch between the operational system and the standby system, A user router configured to receive the code request from the user terminal and transmit the received code request to either the active system or the standby system, The switch is configured to determine whether the user router sends the code request to the active system or the standby system. A code processing system as described in any of the above [1] to
[11] .
[0110]
[13] The code processing system is configured to provide electronic payment services. Each of the aforementioned operational system and the one or more of the aforementioned standby systems is: An authentication device configured to perform authentication processing for users using the aforementioned user terminal, A setting device configured to obtain the payment method set by the user, A code generation device configured to generate the identification code in response to the code request, A payment processing device configured to perform payment processing when a payment request is received, Equipped with, The aforementioned payment method includes at least one of the following: credit card, bank account, and electronic money. A code processing system as described in any of the above [1] to
[12] .
[0111]
[14] Operating systems and One or more standby systems, database and A code processing system comprising, Each of the aforementioned operational system and the one or more of the aforementioned standby systems is configured to generate a multi-digit identification code when it receives a code request from a user terminal. The identification code includes a system code unique to each of the active system and the one or more standby systems that generate the identification code, in a specified number of digits. The database is configured to store the transmission history of the identification code generated by each of the active system and the one or more standby systems. The code processing system is, Based on error information in the operational system, the system is configured to transmit the identification code generated by either the operational system or one of the one or more standby systems to the user terminal, When a code processing request including the aforementioned identification code is received, the system is configured to transmit the code processing request to the system among the active system and the one or more standby systems that corresponds to the system code included in the identification code. Each of the operational system and the one or more standby systems is configured to perform a comparison process between the identification code included in the code processing request and the identification code stored in the database when it receives the code processing request. Code processing system.
[0112]
[15] A code processing method in a code processing system comprising an active system and one or more standby systems, Each of the operational system and the one or more standby systems is configured to generate an identification code that is a multi-digit identification code, the system code unique to each of the operational system and the one or more standby systems being included in a specified number of digits. The aforementioned method, To collect error information in the aforementioned operating system, Receiving a code request from the user terminal, Based on the error information, the identification code generated by the operational system and one or more of the standby systems is transmitted to the user terminal. including, Code processing method.
Claims
1. Operating systems and Standby system and, A code processing system comprising, Each of the aforementioned active system and standby system is configured to generate a multi-digit identification code upon receiving a code request from a user terminal, and the identification code includes a system code specific to the system generating the identification code in a predetermined number of digits. The identification code generated by the aforementioned operating system is an operating system code. The identification code generated by the aforementioned standby system is a standby system code. The code processing system is configured to transmit either the operational system code or the standby system code to the user terminal based on error information in the operational system. Code processing system.
2. The code processing system is configured to perform code processing associated with electronic payments made via the user terminal and the seller terminal. The seller terminal is configured to transmit a payment request including the identification code obtained from the user terminal to the code processing system. The code processing system includes a seller router configured to receive the payment request transmitted from the seller terminal, The seller router is configured to transmit the payment request to the active system if the identification code is the active system code, and to transmit the payment request to the standby system if the identification code is the standby system code. The code processing system according to claim 1.
3. The database is configured to store the transmission history of the aforementioned identification code, The code processing system is configured to, upon receiving a code processing request including the identification code, transmit the code processing request to the operational system if the identification code is the operational system code, and transmit the code processing request to the standby system if the identification code is the standby system code. Each of the operational system and the standby system is configured to perform a comparison process between the identification code included in the code processing request and the transmitted identification code stored in the database when it receives the code processing request. The code processing system according to claim 1.
4. The error information includes information on generation errors that occur during the code generation process for generating the identification code. The code processing system according to claim 1.
5. The system includes a database configured to store information about users who use the user terminal, Each of the operational system and the standby system is configured to, upon receiving a code request from the user terminal, refer to the database to perform user authentication processing, and generate the identification code upon completion of the authentication processing. The aforementioned error information includes information on authentication errors that occur during the authentication process. The code processing system according to claim 1.
6. Each of the aforementioned operational system and the aforementioned standby system is configured to perform payment processing when it receives a payment request including the identification code. The aforementioned error information includes information on payment errors that occur during the payment processing. The code processing system according to claim 1.
7. The aforementioned error information includes the number of times the error occurred. The code processing system is configured to transmit either the active system code or the standby system code to the user terminal based on a plurality of thresholds relating to the number of times the error has occurred. The aforementioned multiple thresholds are set for different time periods. The code processing system according to claim 1.
8. It has a database that stores information from multiple user terminals, The plurality of user terminals include one or more administrator terminals used by the administrator of the code processing system. The aforementioned error information includes the number of times the error occurred. The code processing system is configured to transmit either the active system code or the standby system code to the user terminal based on a plurality of thresholds relating to the number of times the error has occurred. The plurality of thresholds include one or more management thresholds, and the management threshold is the number of errors that occurred in a series of processes in response to a request from the administrator terminal. The code processing system according to claim 1.
9. The code processing system is configured to perform code processing associated with electronic payments. The first payment process is the payment processing performed in response to a payment request transmitted from the seller's terminal that receives payment via the aforementioned electronic payment method. The second payment process is the payment processing performed in response to a payment request transmitted from the user terminal that makes the payment using the aforementioned electronic payment method. Each of the aforementioned active system and standby system is configured to perform settlement processing when it receives the settlement request. The operating system is capable of executing the first settlement process and the second settlement process. The standby system is capable of executing the first settlement process but is not capable of executing the second settlement process. A code processing system according to any one of claims 1 to 8.
10. It has a database configured to store information for multiple users, The aforementioned users include the administrator of the code processing system, The code processing system is configured to send the standby code to the user terminal used by the administrator when it receives a code request from the administrator while the operational system is running. A code processing system according to any one of claims 1 to 8.
11. A switch configured to switch between the operational system and the standby system, A database configured to store the switching conditions for performing the aforementioned switching, An error information collector configured to collect the aforementioned error information, Equipped with, The switch is configured to switch the active system to the standby system if an error satisfying the switching condition occurs, based on the switching condition and the error information collected by the error information collector. A code processing system according to any one of claims 1 to 8.
12. A switch configured to switch between the operational system and the standby system, A user router configured to receive the code request from the user terminal and transmit the received code request to either the active system or the standby system, The switch is configured to determine whether the user router sends the code request to the active system or the standby system. A code processing system according to any one of claims 1 to 8.
13. The code processing system is configured to provide electronic payment services. Each of the aforementioned operational system and the aforementioned standby system is: An authentication device configured to perform authentication processing for users using the aforementioned user terminal, A setting device configured to obtain the payment method set by the user, A code generation device configured to generate the identification code in response to the code request, A payment processing device configured to perform payment processing when a payment request is received, Equipped with, The aforementioned payment method includes at least one of the following: credit card, bank account, and electronic money. A code processing system according to any one of claims 1 to 8.
14. Operating systems and One or more standby systems, database and A code processing system comprising, Each of the aforementioned operational system and the one or more standby systems is configured to generate a multi-digit identification code when it receives a code request from a user terminal. The identification code includes a system code unique to each of the operational system and the one or more standby systems that generate the identification code, in a specified number of digits. The database is the operational system and the one or more standby systems. The system is configured to store the transmission history of the identification code generated by each of the systems. The code processing system is, The system is configured to transmit the identification code generated by either the operational system or one of the one or more standby systems to the user terminal based on error information in the operational system, When a code processing request including the identification code is received, the system is configured to transmit the code processing request to the system among the active system and the one or more standby systems that corresponds to the system code included in the identification code. Each of the operational system and the one or more standby systems is configured to perform a comparison process between the identification code included in the code processing request and the identification code stored in the database when it receives the code processing request. Code processing system.
15. A code processing method in a code processing system comprising an active system and one or more standby systems, Each of the operational system and the one or more standby systems is configured to generate an identification code that is a multi-digit identification code, the system code unique to each of the operational system and the one or more standby systems being included in a specified number of digits. The aforementioned method, To collect error information in the aforementioned operating system, Receiving a code request from the user terminal, Based on the error information, the identification code generated by either the operational system or one of the one or more standby systems is transmitted to the user terminal. including, Code processing method.