Code processing system and code processing method

JPWO2025154235A5Active Publication Date: 2025-12-16RAKUTEN GROUP INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025512647
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-27
Publication Date
2025-12-16
Estimated Expiration
2044-01-18

AI Technical Summary

Technical Problem

In code-based payment systems, the generation of identical identification codes by multiple systems during switching can lead to payment process issues due to the lack of unique identification of the system generating the code.

Method used

A code processing system that includes an operating system and standby systems, generating multi-digit identification codes with unique system codes, and switches between them based on error information to ensure appropriate code processing.

Benefits of technology

Ensures seamless code processing by identifying the generating system through unique system codes, minimizing downtime and improving availability by redundant systems, even during failures.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

A code processing system (100) comprises an active system (30) and a standby system (40). Each of the active system (30) and the standby system (40) is configured to generate a multi-digit user code (12) upon receiving a user request from a user terminal 11. The user code (12) contains, in a prescribed digit, a system code unique to the system 30, 40 that generates said user code (12). The user code (12) that the active system (30) generates is an active code, and the user code (12) that the standby system (40) generates is a standby code. The code processing system (100) is configured to transmit one of either the active code or the standby code to the user terminal 11 on the basis of error information in the active system 30.
Need to check novelty before this filing date? Find Prior Art

Description

Code processing system and code processing method

[0001] The present disclosure relates to a code processing system and a code processing method.

[0002] In recent years, electronic payment services such as code payments have become widely available to the public. If an information system that provides such electronic payment services fails, it can have a significant impact on social life and reduce the reliability of the service. As a measure to mitigate the impact of such information system failures, cluster systems are used, which have an active server that operates normally and a standby server that can take over the active server's role in the event of a failure.

[0003] For example, Patent Document 1 discloses a server switching method that collects signs of hardware or software failures and switches to a standby server as needed.

[0004] JP 2016-224490 A

[0005] In code payment services, identification information for identifying each of the purchaser and seller is issued as a user code such as a barcode or QR code (registered trademark). For example, when a purchaser displays a user code on their mobile device and the 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 a payment system. The payment system identifies the purchaser and seller based on the received user code and store code and executes a payment process between them. Identification codes such as user codes are not limited to electronic payments and may also be used for distributing coupons or as electronic tickets for admission management.

[0006] When multiple systems, such as an active system and a standby system, generate identification codes for the same purpose, there is a risk that the multiple systems will generate the same identification code depending on the system switching situation. If multiple identification codes that should be unique are circulated, problems may arise in the payment process.

[0007] An object of the present disclosure is to provide a code processing system and a code processing method that can perform appropriate code processing even when multiple systems that generate identification codes are switched between.

[0008] A code processing system according to one aspect of the present disclosure comprises an operating 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 including a system code specific to the system generating the identification code in a specified digit, the identification code generated by the operating system being an operating system code, and the identification code generated by the standby system being a standby system code, and the code processing system is configured to send either the operating system code or the standby system code to the user terminal based on error information in the operating system.

[0009] A code processing system according to one aspect of the present disclosure includes an active system, one or more standby systems, and a database, wherein the active system and each of the one or more standby systems are configured to generate a multi-digit identification code when receiving a code request from a user terminal, the identification code including a system code unique to each of the active system and the one or more standby systems that generate the identification code in a predetermined digit, the database is configured to store a 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 store an error code in the active system. The system is configured to transmit the identification code generated by one of the active system and the one or more standby systems to the user terminal based on error information, and when a code processing request including the identification code is received, to a system among the active system and the one or more standby systems that corresponds to the system code included in the identification code, and when the active system and the one or more standby systems receive the code processing request, each of the active 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.

[0010] A method according to one aspect of the present disclosure is a code processing method in a code processing system having 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 a multi-digit identification code, the identification code including a system code unique to each of the active system and the one or more standby systems in a specified digit, 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.

[0011] Fig. 1 is a schematic diagram showing the configuration of a code processing system according to an embodiment. Fig. 2 is a flow diagram illustrating a code processing method executed by the code processing system of Fig. 1. Fig. 3 illustrates example error information. Fig. 4 is a flow diagram illustrating a system switching method based on error information.

[0012] Examples of a code processing system 100 and a 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 within the meaning and scope of the claims, in addition to the content defined by the claims.

[0013] [Overview of Electronic Payment Service] The code processing system 100 shown in Fig. 1 is configured to generate an identification code as code processing associated with electronic payment (hereinafter also simply referred to as "code payment"). A shopper, an example of a user, can receive electronic payment services using a user terminal 11. A payment application for making electronic payment may be installed on the user terminal 11. The user terminal 11 may be, for example, a mobile terminal such as a smartphone or tablet with a built-in computer and camera, but is not limited to these.

[0014] The payment application includes a computer program for causing the user terminal 11 to execute various operations. When a 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 referred to as user codes. The user codes 12, 13, and 14 may be generated each time the payment application is launched, or may be regenerated by reloading the identification code (by operating the reload button) or by reloading the code display screen 15, and may have a fixed validity period (e.g., five minutes).

[0015] Of the user codes 12, 13, and 14, the identification code 12 is a multi-digit character string code that includes at least one of numbers, letters, and symbols. The number of digits in the character string can be set as desired. The identification codes 13 and 14 are two-dimensional codes. The two-dimensional codes 13 and 14 may be, but are not limited to, a barcode 13 or a QR code 14. The two-dimensional codes 13 and 14 are two-dimensional versions of the identification code 12. Therefore, when the code display screen 15 is scanned, it is said that the user code 12 is "read," even if what is actually scanned is the two-dimensional code 13 or 14.

[0016] The seller terminal 20 used by a merchant may have a code scanner 21 to scan the two-dimensional codes 13 and 14, or may have a camera for taking pictures and a code reading application. A store code 23, which is an identification code for identifying the seller, is assigned to the seller terminal 20 in advance. The store code 23 may be a two-dimensional code. The two-dimensional code may be, but is not limited to, a barcode or a QR code. The user terminal 11 and the seller terminal 20 are examples of user terminals.

[0017] The seller terminal 20 may be installed in a store or may be mounted on a mobile object such as a taxi or a mobile sales vehicle. Each seller terminal 20 may be a point-of-sale (POS) register or a mobile device such as a PC or tablet on which a payment application is installed.

[0018] Code payment 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, payment processing (also referred to as "first payment processing") is performed in response to a payment request sent from the seller terminal 20 that receives payment by electronic payment. In the user scan method, payment processing (also referred to as "second payment processing") is performed in response to a payment request sent from the user terminal 11 that makes payment by electronic payment.

[0019] Here, we will explain an overview of code payment using the store scan method, which is performed via the user terminal 11 and seller terminal 20. Prior to payment, 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. The seller terminal 20 that read the user code then executes the payment process.

[0020] When the payment process is executed, the seller terminal 20 transmits a payment request including payment information to the code processing system 100 via the network 29. The payment information includes the user code 12, the store code 23, and the payment amount. The payment information may also include transaction information related to the payment, such as information related to the purchased product. After the payment is completed, the payment application of the user terminal 11 may display a payment completion screen (not shown) on the user terminal 11. The payment completion screen may include information about the seller, the payment date and time, and the payment amount.

[0021] The network 29 includes, for example, the Internet, a wide area network (WAN), a local area network (LAN), a provider terminal, a wireless communication network, a wireless base station, a dedicated line, etc. It is not necessary for all combinations of devices shown in Fig. 1 to be able to communicate with each other, and the network 29 may include a local network as part thereof.

[0022] In 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 enters 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 via the network 29. The payment information includes the user code 12, the store code 23, and the payment amount.

[0023] 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 in the event of a failure of the active system 30. In addition to the first standby system 40, the code processing system 100 may also include a second standby system 50 that operates in the event of a failure of both systems 30, 40.

[0024] Systems 30, 40, and 50 are all configured to perform code processing for code payment, including generating an identification code (first code processing) and verifying the identification code (second code processing). The first code processing includes transmitting the generated identification code. The second code processing may include processing related to a service using the identification code (e.g., payment processing). Each of systems 30, 40, and 50 in this example is configured to generate and transmit an identification code (user code 12) when a code request, which is a first code processing request, is received. Furthermore, each of systems 30, 40, and 50 is configured to verify the identification code and perform payment processing when a payment request, which is a second code processing request, is received.

[0025] The systems 30, 40, and 50 may be capable of providing the same service, or the service contents may differ from one another. Below, a case will be described in which the 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 process and second payment process), as well as code payments where the seller terminal 20 is a vending machine or a self-service payment machine. In contrast, the standby systems 40 and 50 can perform code payments using the store scan method (first payment process), but do not support code payments using the user scan method or vending machines or self-service payment machines.

[0026] In either code payment method, the system 30, 40, or 50 generates a user code 12 in response to a code request sent from the user terminal 11 and sends 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 positive integer sequence. Of the 16-digit sequence, the code (one or more numbers, one number in this example) of a specified digit (the seventh digit in this example, the seventh digit from the left in Figure 1) varies depending on the system 30, 40, or 50 that generates the code. The seventh-digit code, which is unique to the system 30, 40, or 50, is called a 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, and may be letters or symbols.

[0028] The user code 12 generated by the operating system 30 is referred to as the "operating code" or "normal code." The user code 12 generated by the first standby system 40 is referred to as the "first standby code" or "first emergency code." The user code 12 generated by the second standby system 50 is referred to as the "second standby code" or "second emergency code." The "first standby code" and the "second standby code" are also collectively referred to as the "standby code," and the "first emergency code" and the "second emergency code" are also collectively referred to as the "emergency code."

[0029] The system 100 may include a switcher 101 configured to switch between the systems 30, 40, and 50. Alternatively, the system 100 may include a first switcher that switches the system 30 to the system 40 and a second switcher that switches the system 40 to the system 50. The state in which the active system 30 is operating is referred to as a "normal mode," and the state in which the standby systems 40 and 50 are operating is referred to as an "emergency mode."

[0030] System 100 may include a user router 102 and a seller router 103. User router 102 is configured to receive a code request sent from user terminal 11 and then transmit the code request to one of systems 30, 40, or 50. A switch 101 determines to which system 30, 40, or 50 user router 102 sends the code request.

[0031] When the user router 102 receives a payment request including the user code 12 transmitted from the user terminal 11, it transmits the payment request to the system 30, 40, 50 corresponding to the system code included in the user code 12. That is, if the user code 12 is a normal code, the user router 102 transmits the payment request to the system 30, if the user code 12 is a first emergency code, the user router 102 transmits the payment request to the system 40, and if the user code 12 is a second emergency code, the user router 102 transmits the payment request to the system 50.

[0032] When the seller router 103 receives a payment request including the user code 12 transmitted from the seller terminal 20, it transmits the payment request to the system 30, 40, or 50 corresponding to the system code included in the user code 12. That is, like the user router 102, the seller router 103 transmits the payment request to the system 30 if the user code 12 is a normal code, transmits the payment request to the system 40 if the user code 12 is a first emergency code, and transmits the payment request to the system 50 if the user code 12 is a second emergency code.

[0033] The system 100 may include an error information collector 104 for collecting error information for each of the systems 30, 40, and 50. Alternatively, the 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 the systems 30, 40, and 50, respectively. The error information collector 104 may be a chatbot configured to receive error information sent from devices in the system 100.

[0034] While each system 30, 40, 50 is running, the error information collector 104 collects error information for the corresponding system 30, 40, 50. The error information includes the number of errors that occurred in various processes executed in each system 30, 40, 50, the type of error, and the date and time when the error occurred.

[0035] The switch 101 is configured to control switching among the systems 30, 40, and 50 based on the error information collected by the error information collector 104. Switching among the systems 30, 40, and 50 is performed by the switch 101 changing the destination of a code request received by the user router 102 from the user terminal 11. For example, if an error that satisfies a specified switching condition occurs in the active system 30, the switch 101 causes the user router 102 to change the destination of the code request from the active system 30 to the first standby system 40. The system 100 may also include a history database 105 that stores a switching history of the systems 30, 40, and 50.

[0036] [Outline of the Electronic Payment System] The code processing system 100 of this example is configured to provide an electronic payment service, and is therefore also referred to as an electronic payment system. Below, the configurations of systems 30, 40, and 50 that realize the various functions of the electronic payment system 100 will be described.

[0037] The systems 30, 40, and 50 may include databases 34, 44, and 54, respectively. The first standby system 40 may include a first data synchronizer 45 for synchronizing the active database 34 and the first standby database 44. The first data synchronizer 45 may synchronize the active database 34 and the first standby database 44 when a switchover occurs between the systems 30 and 40. The second standby system 50 may include a second data synchronizer 55 for synchronizing the first standby database 44 and the second standby database 54. The second data synchronizer 55 may synchronize the first standby database 44 and the second standby database 54 when a switchover occurs between the systems 40 and 50.

[0038] Each of the databases 34, 44, and 54 may include a user database, a merchant database, a code database, and a payment database. The user database stores information (hereinafter referred to as "user data") on multiple users (purchasers) registered with the payment service. The merchant database stores various data related to multiple merchants or stores affiliated with the electronic payment service. The code database stores the transmission history of user codes 12 generated by each of the 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 pieces of payment information, payment method settings, and electronic payment service usage history. The one or more pieces of payment information may include, for example, a credit card number, a debit bank account, and electronic money registration information. The payment method settings include information related to the payment method (e.g., a credit card number) that is pre-set by the user and used by default for code payments. Examples of payment methods include, but are not limited to, a credit card, a bank account, electronic money, or points. Each user data may also include information about the user terminal 11 used by the user.

[0040] The information about the seller includes, but is not limited to, the seller's name, seller identification information (including store identification information), location, business details, product / service categories, and seller terminal 20 information. The seller database may also include payment history. The payment history includes, for example, the name of the store where the payment was made, the purchaser, the date and time of the payment, the item(s) transacted, and the payment amount.

[0041] The transmission history of the user code 12 includes the transmission target (information on the user or user terminal 11) and transmission date and time of each user code 12. The payment processing history may include, for example, the user identification information, seller identification information (store identification information), the user code 12 used for payment, store information, payment date and time, payment location, payment amount, payment method, transaction details, and withdrawal status after payment processing for each payment processing.

[0042] When the active system 30 and the standby systems 40, 50 receive a second code processing request (payment request) including a user code 12, they are configured to perform a second code processing step of comparing the user code 12 included in the second code processing request with the transmitted user code 12 stored in the code database.

[0043] The active system 30 includes an authentication device 36, a setting device 37, a code generator 38, and a payment processing device 39. When the authentication device 36 receives a code request from the user terminal 11, it refers to the user database and performs user authentication of the user who sent the code request. For the authenticated user, the setting device 37 refers to the active database 34 and acquires the payment method set by the user.

[0044] The code generating device 38 is configured to generate a user code 12 for a corresponding user based on the code request. The payment processing device 39 is configured to perform payment processing when a payment request is received from the user terminal 11 or the seller terminal 20.

[0045] Like the active system 30, the first standby system 40 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, the setting device 47, the code generation device 48, and the payment processing device 49 are similar to those of the setting device 37, the code generation device 38, and the 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 handle payment requests (second payment processing) from the user terminal 11.

[0046] Like the active system 30, the second standby system 50 also includes 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, the setting device 57, the code generation device 58, and the payment processing device 59 are similar to those of the setting device 37, the code generation device 38, and the 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 handle payment requests (second payment processing) from the user terminal 11.

[0047] 2, the code payment method in systems 30, 40, and 50 will be described using an example of code payment using the store scan method by the operating 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 the 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 including 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 active system 30.

[0049] In step S32, the authentication device 36 performs user authentication processing by comparing the user data included in the code request (first code processing request) with user data (enrollment data) stored in a user database. If the user data matches the enrollment data, the authentication device 36 completes user authentication. If the user data does not match the enrollment data, or if the authentication request is inappropriate and authentication is not possible, the authentication device 36 transmits error information. If an error occurs, the authentication device 36 may retry the authentication processing.

[0050] In step S33, the setting device 37 refers to the database 34 to acquire the payment method set by the corresponding user. If the payment method cannot be acquired, or if the payment information request is inappropriate and the payment method cannot be acquired, the setting device 37 transmits error information. If an error occurs, the setting device 37 may redo the payment method acquisition process.

[0051] In step S34, the code generation device 38 generates the user code 12 (first code processing). Then, in step S35, the operating system 30 transmits the generated user code 12 to the user terminal 11. If the code generation processing cannot be performed in step S34, the code generation device 38 transmits error information. If an error occurs, the code generation device 38 may retry the generation processing.

[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 causes the user terminal 11 to display a code display screen 15 including the user codes 12, 13, and 14.

[0053] The seller then inputs the payment amount into the seller terminal 20. Then, in step S21, the seller terminal 20 reads the user code 12 on the code display screen 15. In the following step S22, the seller performs payment processing. 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 acquired 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 a user scan payment and the store code 23 included in the payment information in a store scan payment may be different codes.

[0054] In step S36, seller router 103 receives the payment request. Since user code 12 in this example is a normal code, seller router 103 transmits the payment request to authentication device 36 of operating system 30.

[0055] In step S37, the authentication device 36 compares the user code 12 included in the payment request with the previously transmitted user code 12 stored in the code database. In this way, when the operating system 30 receives a second code processing request including the user code 12, it is configured to refer to the database 34 and execute a comparison process for the user code 12. If the comparison shows that the two user codes 12 match, the authentication device 36 completes the comparison process. If the two user codes 12 do not match, the authentication device 36 transmits error information. If an error occurs, the authentication device 36 may repeat 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 transmits error information. If an error occurs, the payment processing device 39 may perform the payment processing again.

[0057] When the payment process is completed, in step S39, the operating system 30 transmits the result of the payment process as 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 including the payment completion information on the user terminal 11. Also, in step S23, the payment completion screen including the payment completion information is displayed on the display 24 of the seller terminal 20.

[0058] In the case of user scan code payment, as with the store scan method, 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). The generated user code 12 is then 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] Thereafter, in the user scan method, instead of step S21, the user terminal 11 reads the store code 23. Then, instead of step S22, a payment request is sent from the user terminal 11 to the system 30. The subsequent processes (steps S36 to S39, S13, S23) are executed in the same manner as in the store scan method.

[0060] At least a portion of the error information transmitted within the systems 30, 40, and 50 may be, for example, a Hypertext Transfer Protocol (HTTP) status code. For example, a status code in the 400s indicates an error caused by an operation or defect on the client side and is represented as "4XX." A status code in the 500s indicates an error caused by a failure on the server side and is represented as "5XX." For example, "500" indicates an error that occurred within the server, and "503" indicates an error that the server cannot be accessed. Such error information is collected by the error information collector 104.

[0061] [System Switching Conditions] The switch 101 may switch systems based on error information from the operating 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 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 matching process), or the number of payment errors that occur during the payment process. Payment errors may occur due to a problem on the part of the user making the payment or due to a problem on the part of the seller receiving the payment.

[0062] The number of errors may be recorded by the error information collector 104. The conditions for switching the system based on the error information may be stored in at least one of the databases 34, 44, 54 and the history database 105.

[0063] The switching condition may include multiple thresholds related to the number of times an error occurs. In this case, the code processing system 100 may be configured to send either the active system code or the standby system code to the user terminal 11 based on the multiple thresholds related to the number of times an error occurs. 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 is beginning to occur in the corresponding system 30, 40, and the switching threshold is a condition for actually executing system switching.

[0064] The switch 101 may be configured to automatically switch the system when an error exceeding a switching threshold occurs. Alternatively, the error information collector 104 may be configured to notify an administrator of the system 100 when an error exceeding a warning threshold and a switching threshold occurs. In this case, the administrator may manually switch the system.

[0065] Figure 3 shows an example of the warning threshold and switching threshold of the system. In Figure 3, error codes are shown as HTTP status codes. For example, in the code generation process, 100 errors per 2 minutes may be the warning threshold, and 500 errors per 2 minutes may be the switching 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 period. In the example of Figure 3, in the authentication process, the warning threshold is set to 100 errors per 2 minutes late at night when code payment is less frequently used, and 500 errors per 2 minutes during the daytime when code payment is more frequently used. In this case, the switching threshold may also be set to differ depending on the time period, but as shown in Figure 3, a common switching threshold may be set for the authentication process, such as 1000 errors per 2 minutes.

[0067] Different warning or switching thresholds can be set depending on the likelihood of errors. For example, if the payment method acquisition process is more error-prone than the code generation and authentication processes, a greater number of errors can be tolerated in the payment method acquisition process than in the code generation and authentication processes. For example, a warning threshold of 800 errors per 2 minutes and a switching threshold of 2000 errors per 2 minutes can be used.

[0068] The multiple thresholds may include one or more administrative thresholds. The 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 transmission of a user code) or payment 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 the system 100) as some of the multiple users, and multiple administrator terminals 11 used by the administrators as some of the multiple user terminals 11.

[0069] In this example, when the administrator runs the payment application on an administrator terminal 11 that has been registered in advance 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, an administrative switching condition based on an administrative threshold, which is different from the general threshold (e.g., the threshold shown in FIG. 3) that is applied to other general user terminals 11, is applied to this administrator terminal 11.

[0070] The administrator may periodically or irregularly test whether there are any abnormalities in the operating system 30 by sending a code request using the administrator terminal 11. Such a test may be performed, for example, by having a robot operate the administrator terminal 11 (for example, by pressing the reload button of the user code 12 a specified number of times). By performing such a test in an environment with stable communication conditions, it becomes possible to more appropriately detect errors within the system 30.

[0071] The management threshold may be set to stricter conditions than the general threshold. For example, the management threshold may be set to 10, 5, or 3 consecutive code payment failures, regardless of which step in the process the error occurred in. If the management threshold is set to 3 consecutive failures, the system may be quickly switched if code payment fails three times in a row.

[0072] Some of the multiple managers may be registered in the user database as designated managers. Additionally, or instead, some of the multiple manager terminals 11 may be registered in the user database as designated terminals 11. Even while the active system 30 is operating without any problems, if the system 100 identifies a designated manager or designated terminal 11, it may exceptionally transmit an emergency code to that designated terminal 11. In this case, the user router 102 or another authentication device may identify whether the person who sent the code request is a manager.

[0073] [System Switching Method] A method for switching the systems 30, 40, and 50 based on error information will be described with reference to Figure 4. Although the following illustrates an example of switching from the active system 30 to the first standby system 40, switching from the first standby system 40 to the second standby system 50 can also be performed in a similar manner. The switch 101 may repeatedly execute steps S41 to S44, which will be described below, at a specified 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 a switching condition 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 a code processing request from the administrator terminal 11, the switch 101 acquires a management threshold; and if an authentication error has occurred, the switch 101 acquires a switching threshold for the current time period.

[0075] In the next 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 switch 101 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 user terminal 11 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 ends the process without switching the systems.

[0076] [Operation of the Present Disclosure] When error information in the first standby system 40 satisfies a specified switching condition, a fault that causes repeated errors has occurred in the first standby system 40. Therefore, the switch 101 switches the system that performs the first code processing (generation and transmission of the 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 a specified switching condition, 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 an active system (normal) code or a standby system (emergency) code to the user terminal 11 based on the error information in the active system 30.

[0077] Here, the user code 12 includes a system code in a specified number of digits that is unique to each of the systems 30, 40, and 50. Therefore, in the case of the store scan method, the seller router 103, upon receiving a payment request sent from the seller terminal 20, can send the payment request to the system that generated the user code 12 based on the system code of the user code 12 included in the payment request.

[0078] In other words, when the code processing system 100 receives a second code processing request (payment request) including a normal code, it sends the second code processing request to the operating system 30 and performs second code processing (code matching and payment processing), and when it receives a second code processing request including an emergency code, it sends the second code processing request to the first standby system 40 and performs code processing.

[0079] For example, if the user code 12 is an active system code, the seller router 103 sends a payment request to the active system 30, if the user code 12 is a first standby system code, the seller router 103 sends a payment request to the first standby system 40, and if the user code 12 is a second standby system code, the seller router 103 sends a payment request to the second standby system 50. Each of the systems 30, 40, and 50 is configured to verify the user code 12 and perform payment processing when it receives a payment request.

[0080] In this way, if a failure occurs in the active system 30, the standby systems 40, 50 will operate in its place. By making the code processing system 100 redundant by using multiple systems 30, 40, 50, it is possible to minimize the downtime of the code processing system 100 even if a failure occurs in one of the systems 30, 40, 50. This makes it possible to improve the availability of services that use identification codes.

[0081] [Effects of the Present Disclosure] The present disclosure can achieve the following effects: (1) The code processing system 100 transmits either the active system code or the standby system code to the user terminal 11 based on error information in the active system 30, so that code processing can be performed appropriately even when multiple systems 30, 40 are switched between each other.

[0082] (2) The user code 12 includes a system code in a specified number of digits that is unique to each of the systems 30, 40, and 50 that generate the user code 12. 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 payment request to the currently operating system.

[0083] (3) When each of the systems 30, 40, and 50 receives a second code processing request (payment request), it performs a comparison process between the user code 12 included in the payment request and the transmitted user code 12 stored in the code database. This allows the system 30, 40, or 50 that generated the user code 12 to perform payment processing using the user code 12. Therefore, when the system that issues the user code 12 is switched, the system that executes the second code processing can be switched.

[0084] (4) If an error occurs multiple times during code generation processing, there is a possibility that a fault has occurred in the system executing that processing. Therefore, the number of code generation errors can be used as a switching condition.

[0085] (5) If multiple errors occur during user authentication processing, there is a possibility that a problem has occurred in the system executing the processing. Therefore, the number of authentication errors can be used as a switching condition.

[0086] (6) If an error occurs multiple times during a payment process, there is a possibility that a problem has occurred in the system that is executing that process. Therefore, the number of payment errors that have occurred can be used as a switching condition.

[0087] (7) Because the number of processing requests to the system 100 varies depending on the time of day, the impact, urgency, or importance of an error occurrence varies depending on the time of day. Furthermore, while network congestion may occur during certain time periods, resulting in frequent errors, the congestion may be temporary. Therefore, the optimal threshold for the number of errors at which the systems 30, 40, and 50 should be switched varies depending on the time of day. Therefore, by setting different thresholds depending on the time of day, the system 100 can be operated more appropriately.

[0088] (8) When switching between the systems 30 and 40 based on error information, errors below a threshold are tolerated in the operating system 30. Therefore, by setting a management threshold for errors that occur in response to a code processing request from the administrator terminal 11, it is possible to quickly switch between the systems 30 and 40 without allowing errors until the general threshold is reached.

[0089] (9) Providing one or more standby systems 40, 50 to make the system 100 redundant improves the availability of the system 100, but also increases costs. Therefore, by having the standby systems 40, 50 provide only a portion of the services provided by the active system 30 (the first payment process and the second payment process) that is of high importance or high frequency of use (the first payment process, for example, store-scan code payment), it is possible to suppress increases in costs.

[0090] (10) Even while the active system 30 is operating without any problems, the system 100 transmits an emergency code to the designated manager (designated terminal 11), so that the designated manager can use the emergency code to check the operation of the standby systems 40 and 50. Alternatively, when a new standby system is introduced, the designated manager can use an emergency code that is generated on an exceptional basis to check the operation of the new standby system.

[0091] (11) The switch 101 determines whether an error that satisfies the switching condition has occurred based on the switching condition and the error information collected by the error information collector 104. Here, the switching condition is stored in the databases 34, 44, 54 or the history database 105, and the error information is recorded by the error information collector 104. In this way, by storing the switching condition and the error information in a distributed manner, it is possible to eliminate a single point of failure that could lead to the entire system 100 stopping.

[0092] (12) The switch 101 determines to which of the systems 30, 40, and 50 the user router 102 should send the code request. In this way, the switch 101 selectively determines the destination of the code request, thereby preventing duplicate issuance of the user code 12.

[0093] (13) The code processing system 100 provides an electronic payment service. Therefore, code processing for code payments can be performed appropriately. This embodiment can be implemented with the following modifications. This embodiment and the following modifications can be implemented in combination with each other within the scope of technical compatibility.

[0094] [Modification 1] The above embodiment illustrates an active / standby configuration in which one of the three systems 30, 40, 50 is the active system 30, and in the event of a failure in the active system 30, the standby systems 40, 50 take over processing. The system and method disclosed herein may also employ an active / active configuration in which all of the systems 30, 40, 50 are in constant operation.

[0095] [Modification 2] The code processing system 100 may not include the second standby system 50, or may include three or more standby systems.

[0096] [Modification 3] The code processing system 100 may be used for other services that use identification codes, not just code payments. For example, an e-commerce site may issue a coupon with an identification code attached, and coupon benefits may be received based on the identification code. Alternatively, an electronic ticket with an identification code attached may be issued, and admission may be managed using the identification code.

[0097] [Modification 4] In addition to switching the destination of the code request to the user router 102, the switch 101 may also switch the destination of the payment request to the user router 102 and the seller router 103. In this case, the standby systems 40, 50 switched from the active systems 30, 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 (sending the user code 12) and the second code processing (code verification).

[0098] [Aspects] Aspects that can be understood from the above-described embodiment and modified examples are listed below: [1] A code processing system comprising: an active system; and a standby system, wherein each of the active system and the standby system is configured to generate a multi-digit identification code when receiving a code request from a user terminal, the identification code including a system code unique to the system that generates the identification code in a specified digit, the identification code generated by the active system is an active code, and the identification code generated by the standby system is a standby code, and the code processing system is configured to transmit either the active code or the standby code to the user terminal based on error information in the active system.

[0099] [2] The code processing system described in [1] above, wherein the code processing system is configured to perform code processing associated with electronic payments made via the user terminal and seller terminal, the seller terminal is configured to send a payment request including the identification code obtained from the user terminal to the code processing system, the code processing system comprises a seller router configured to receive the payment request sent from the seller terminal, and the seller router is configured to send the payment request to the operating system if the identification code is the operating system code, and to send the payment request to the standby system if the identification code is the standby system code.

[0100] [3] A code processing system according to [1] or [2] above, comprising a database configured to store a transmission history of the identification code, wherein the code processing system is configured, when receiving a code processing request including the identification code, to send the code processing request to the operating system if the identification code is the operating system code, and to send the code processing request to the standby system if the identification code is the standby system code, and each of the operating system and the standby system is configured, when receiving the code processing request, to perform a comparison process between the identification code included in the code processing request and the transmitted identification code stored in the database.

[0101] [4] The code processing system according to any one of [1] to [3] above, wherein the error information includes the number of generation errors that occur during the code generation process for generating the identification code.

[0102] [5] A code processing system according to any of [1] to [4] above, comprising a database configured to store information about users who use the user terminal, wherein each of the active system and the standby system is configured, when receiving a code request from the user terminal, to refer to the database to perform authentication processing for the user, and when the authentication processing is completed, to generate the identification code, and the error information includes the number of authentication errors that occur during the authentication processing.

[0103] [6] The code processing system according to any one of [1] to [5] above, wherein each of the active system and the standby system is configured to perform a payment process when a payment request including the identification code is received, and the error information includes the number of payment errors that occur during the payment process.

[0104] [7] A code processing system according to any one of [1] to [6] above, wherein the error information includes the number of times an error has occurred, and the code processing system is configured to transmit one of the active system code and the standby system code to the user terminal based on a plurality of thresholds related to the number of times the error has occurred, and the plurality of thresholds are set for different time periods.

[0105] [8] A code processing system according to any of the above [1] to [7], comprising a database storing information on a plurality of user terminals, wherein the plurality of user terminals include one or more administrator terminals used by an administrator of the code processing system, wherein the error information includes the number of times an error has occurred, and wherein the code processing system is configured to send one of the active system code and the standby system code to the user terminal based on a plurality of thresholds related to the number of times an error has occurred, wherein the plurality of thresholds include one or more management thresholds, and the management threshold is the number of times an error has occurred in a series of processes in response to a request from the administrator terminal.

[0106] [9] The code processing system is configured to perform code processing associated with electronic payment, wherein the payment processing performed in response to a payment request sent from a seller terminal that receives payment by electronic payment is a first payment processing, and the payment processing performed in response to a payment request sent from the user terminal that makes payment by electronic payment is a second payment processing, and each of the active system and the standby system is configured to perform a payment processing when the payment request is received, and the active system is capable of executing the first payment processing and the second payment processing, and the standby system is capable of executing the first payment processing but is incapable of executing the second payment processing. The code processing system described in any of [1] to [8] above.

[0107]

[10] A code processing system according to any of the above [1] to [9], comprising a database configured to store information of a plurality of users, the plurality of users including an administrator of the code processing system, and the code processing system configured to transmit the standby code to a user terminal used by the administrator when a code request is received from the administrator while the active system is running.

[0108]

[11] A code processing system according to any of [1] to

[10] above, comprising: a switch configured to switch between the active system and the standby system; a database configured to store switching conditions for the switching; and an error information collector configured to collect the error information, wherein the switch is configured to switch the active system to the standby system when an error that satisfies the switching condition occurs based on the switching condition and the error information collected by the error information collector.

[0109]

[12] A code processing system according to any of [1] to

[11] above, comprising: a switch configured to switch between the active system and the standby system; and 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, wherein the switch is configured to specify to which of the active system or the standby system the user router will transmit the code request.

[0110]

[13] The code processing system is configured to provide an electronic payment service, and each of the active system and the one or more standby systems comprises: an authentication device configured to perform authentication processing for a user who uses the user terminal; a setting device configured to obtain a payment method set by the user; a code generation device configured to generate the identification code in response to the code request; and a payment processing device configured to perform payment processing when a payment request is received, and the payment method includes at least one of a credit card, a bank account, and electronic money. The code processing system described in any of [1] to

[12] above.

[0111]

[14] A code processing system comprising 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 receiving a code request from a user terminal, the identification code including a system code unique to each of the active system and the one or more standby systems that generated the identification code in a specified digit, the database is configured to store a 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 configured to transmit the identification code generated by any one of the active system and the one or more standby systems to the user terminal based on error information in the active system, and is configured, when receiving a code processing request including the identification code, to a system among the active system and the one or more standby systems that corresponds to the system code included in the identification code, a code processing system, wherein each of the active system and the one or more standby systems is configured, when receiving the code processing request, to perform a comparison process between an identification code included in the code processing request and an identification code stored in the database;

[0112]

[15] A code processing method in a code processing system having 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 a multi-digit identification code, the identification code including a system code unique to each of the active system and the one or more standby systems in a specified digit, the method comprising: 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.

Claims

1. The operating system and A standby system, A code processing system comprising: each of the active system and the standby system is configured to generate a multi-digit identification code when receiving a code request from a user terminal, the identification code including a system code unique to the system generating the identification code in a predetermined digit; the identification code generated by the operating system is an operating system code, the identification code generated by the standby system is a standby system code, the code processing system is configured to send one of the active system code and the standby system code to the user terminal based on error information in the active system; Code processing system.

2. the code processing system is configured to process codes associated with electronic payments made via the user terminal and the merchant terminal; The merchant terminal is configured to send a payment request including the identification code obtained from the user terminal to the code processing system; the code processing system comprises a merchant router configured to receive the payment request sent from the merchant terminal; the merchant router is configured to transmit the payment request to the working system if the identification code is the working 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. a database configured to store a transmission history of the identification code; the code processing system is configured, when receiving a code processing request including the identification code, to transmit the code processing request to the working system if the identification code is the working system code, and to transmit the code processing request to the standby system if the identification code is the standby system code; each of the active system and the standby system is configured to, when receiving the code processing request, perform a comparison process between the identification code included in the code processing request and the transmitted identification code stored in the database; The code processing system according to claim 1 .

4. the error information includes information about a generation error that occurs during a code generation process for generating the identification code; The code processing system according to claim 1 .

5. a database configured to store information of a user who uses the user terminal; each of the active system and the standby system is configured to, when receiving a code request from the user terminal, perform authentication processing of the user by referring to the database, and generate the identification code when the authentication processing is completed; the error information includes information about an authentication error that occurs during the authentication process. The code processing system according to claim 1 .

6. each of the active system and the standby system is configured to perform a payment process when receiving a payment request including the identification code; The error information includes information about a payment error that occurs during the payment process. The code processing system according to claim 1 .

7. the error information includes the number of times an error has occurred; the code processing system is configured to transmit one of the active code and the standby code to the user terminal based on a plurality of thresholds related to the number of occurrences of the error; The plurality of thresholds are set for different time periods, The code processing system according to claim 1 .

8. A database is provided that stores information on a plurality of user terminals, the plurality of user terminals include one or more administrator terminals used by an administrator of the code processing system; the error information includes the number of times an error has occurred; the code processing system is configured to transmit one of the active code and the standby code to the user terminal based on a plurality of thresholds related to the number of occurrences of the error; the plurality of thresholds include one or more management thresholds, and the management thresholds are the number of errors that have occurred in a series of processes associated with a request from the administrator terminal; The code processing system according to claim 1 .

9. the code processing system is configured to process codes associated with electronic payments; a first payment process is a payment process performed in response to a payment request transmitted from a seller terminal that receives payment by electronic payment; a second payment process is a payment process performed in response to a payment request transmitted from the user terminal making the payment by electronic payment; each of the active system and the standby system is configured to perform a payment process when the payment request is received; the operating system is capable of executing the first payment processing and the second payment processing, the standby system is capable of executing the first payment processing but is incapable of executing the second payment processing; A code processing system according to any one of claims 1 to 8.

10. a database configured to store information of a plurality of users; the plurality of users includes an administrator of the code processing system; the code processing system is configured to transmit the standby system code to a user terminal used by the administrator when a code request is received from the administrator while the active system is running. A code processing system according to any one of claims 1 to 8.

11. a switch configured to switch between the active system and the standby system; a database configured to store switching conditions for performing said switching; an error information collector configured to collect the error information; Equipped with the switcher is configured to switch the active system to the standby system when an error that satisfies 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 active 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 working 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 active system and the standby system comprises: an authentication device configured to perform authentication processing for a user who uses the user terminal; a setting device configured to obtain a payment method set by the user; a code generator 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 payment method includes at least one of a credit card, a bank account, and electronic money. A code processing system according to any one of claims 1 to 8.

14. The operating system and one or more standby systems; A database, A code processing system comprising: each of the active system and the one or more standby systems is configured to generate a multi-digit identification code upon receiving a code request from a user terminal; the identification code includes, in a specified digit, a system code unique to each of the active system and the one or more standby systems that generate the identification code; The database includes the active system and the one or more standby systems. each of the systems is configured to store a transmission history of the identification codes it has generated; The code processing system comprises: The identification code generated by any one of the active system and the one or more standby systems is transmitted to the user terminal based on error information in the active system; and when a code processing request including the identification code is received, the code processing request is transmitted to a system corresponding to the system code included in the identification code, among the active system and the one or more standby systems; each of the active system and the one or more standby systems is configured to, when receiving the code processing request, perform a comparison process between the identification code included in the code processing request and the identification code stored in the database; Code processing system.

15. A code processing method in a code processing system including an active system and one or more standby systems, comprising: each of the active system and the one or more standby systems is configured to generate a multi-digit identification code, the identification code including a system code unique to each of the active system and the one or more standby systems in a specified digit; The method comprises: collecting error information in the operational system; receiving a code request from a user terminal; 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; Including, Code processing method.