Network system, migration method, and program

The network system addresses the issue of request errors during database migration by using a hold mode transition mechanism to manage changes in the master-slave relationship, ensuring continuous service availability during migration.

WO2025177479A1PCT designated stage Publication Date: 2025-08-28RAKUTEN GROUP INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/006314
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-21
Publication Date
2025-08-28

AI Technical Summary

Technical Problem

Existing network systems require services to be stopped during database migration, leading to request errors when requests are accepted during the migration process.

Method used

A network system that includes a hold mode transition unit, a change determination unit, and a second mode transition unit to manage the transition between databases while avoiding request errors by determining changes in the master-slave relationship and transitioning to a hold mode when necessary.

Benefits of technology

Enables seamless database migration without request errors, maintaining service continuity and user convenience by handling requests in a hold mode until the transition is complete.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024006314_28082025_PF_FP_ABST
    Figure JP2024006314_28082025_PF_FP_ABST
Patent Text Reader

Abstract

A pending mode transition unit (GW101) of a network system (1) shifts from a first mode in which a first database is updated on the basis of a request received via a network to a pending mode in which requests are pending when transition from the first mode to a second mode is instructed, the second mode being a mode in which a second database storing copies of the content of the first database in the first mode is updated on the basis of the request. A change determination unit (GW102) determines whether or not the master-slave relationship between the first database and the second database has been changed when transition from the first mode to the pending mode is complete. A second mode transition unit (GW103) shifts from the pending mode to the second mode when it is determined that the master-slave relationship has been changed.
Need to check novelty before this filing date? Find Prior Art

Description

Network system, migration method, and program

[0001] The present disclosure relates to a network system, a migration method, and a program.

[0002] Conventionally, network systems are known that execute predetermined processes and update databases based on requests received via a network. In such network systems, migration from a first database to a second database is sometimes performed. For example, Patent Document 1 (JP-A-2005-102666) describes a data migration management system that migrates data from a first database to a second database based on a migration information table that indicates a database migration plan when data migration between multiple databases is performed.

[0003] Japanese Patent Application Laid-Open No. 2019-020793

[0004] However, the data migration management system described in Patent Document 1 requires that services using the database be stopped while migration work is being performed according to the migration plan. For example, if a request is accepted during migration work from the first database to the second database, the request will not be processed because the service is stopped, resulting in an error. For this reason, there is a need to migrate the database while avoiding request errors.

[0005] One of the objectives of the present disclosure is to migrate a database while avoiding request errors.

[0006] The network system according to the present disclosure includes: a hold mode transition unit that, when instructed to transition from a first mode in which a first database is updated based on a request received via a network to a second mode in which the second database, to which the contents of the first database are copied in the first mode, is updated based on the request, transitions from the first mode to a hold mode in which the request is put on hold; a change determination unit that, when transitioning from the first mode to the hold mode, determines whether a master-slave relationship between the first database and the second database has changed; and a second mode transition unit that, when it is determined that the master-slave relationship has changed, transitions from the hold mode to the second mode.

[0007] According to the present disclosure, databases can be migrated while avoiding request errors.

[0008] FIG. 1 is a diagram illustrating an example of the overall configuration of a network system. FIG. 1 is an example of hardware included in each configuration of the network system. FIG. 2 is a diagram illustrating an example of functions implemented in the network system. FIG. 3 is a diagram illustrating an example of a flow of transition from a first mode to a second mode. FIG. 4 is a diagram illustrating an example of a flow of transition from the first mode to the second mode. FIG. 5 is a diagram illustrating an example of a flow of transition from the first mode to the second mode. FIG. 6 is a diagram illustrating an example of a flow of transition from the first mode to the second mode. FIG. 7 is a diagram illustrating an example of a process executed in the network system. FIG. 8 is a diagram illustrating an example of a process executed in the network system. FIG. 9 is a diagram illustrating an example of a process executed in the network system. FIG. 10 is a diagram illustrating an example of a process executed in the network system. FIG. 11 is a diagram illustrating an example of functions implemented in a network system of a modified example.

[0009] [1. Overall Configuration of Network System] An example of an embodiment of a network system, a migration method, and a program according to the present disclosure will be described. In this embodiment, an example of a network system, a migration method, and a program will be described using an example of a scenario in which a service provider operating a predetermined service cooperates with a cloud provider operating a cloud service to provide a predetermined service to an end user. The scenarios to which the network system, the migration method, and the program are applied are not limited to the example of this embodiment. The network system, the migration method, and the program may be applied to any scenario in which a network is used.

[0010] The predetermined service is a service used by an end user. In this embodiment, a service provided by a service provider to an end user using a cloud service corresponds to the predetermined service. The predetermined service may be any service. For example, the predetermined service may be a payment service, an e-commerce service, a communication service, a financial service, a travel reservation service, an online flea market service, or any other service. In this embodiment, an example is given in which a payment service corresponds to the predetermined service. Therefore, the phrase "payment service" can be read as "predetermined service."

[0011] A cloud service is a service provided over a network such as the Internet, a public communication line, a LAN, or a VPN. In a cloud service, at least one of hardware and software is provided over the network. For example, the hardware provided by a cloud service may be a server computer, storage, communication equipment, or other hardware. The software provided by a cloud service may be an operating system, a program (application) other than an operating system, a virtual machine, or other software.

[0012] In this embodiment, an example is given in which the service provider is a different business from the cloud provider. Therefore, the service provider is a user of the cloud service operated by the cloud provider. An end user is also a user who indirectly uses the cloud service. Hereinafter, an end user will be simply referred to as a user. Note that the service provider may be the same business as the cloud provider. In other words, a single business may operate both a specified service and a cloud service.

[0013] 1 is a diagram illustrating an example of the overall configuration of a network system. For example, the network system 1 includes a content delivery network service CDN, a first processing system PS1, a first database system DS1, a second processing system PS2, a second database system DS2, a gateway GW, a migration control device CD, and a user terminal UT. Each of the content delivery network service CDN, the first processing system PS1, the first database system DS1, the second processing system PS2, the second database system DS2, the gateway GW, the migration control device CD, and the user terminal UT can be connected to a network such as the Internet, a public communication line, a LAN, or a VPN.

[0014] The content delivery network service CDN is a system managed by a cloud service provider. In other words, the content delivery network service CDN is a cloud service system. The content delivery network service CDN can include at least one of the hardware and software of the aforementioned cloud services and is composed of one or more cache servers. An example of a content delivery network CDN is Amazon CloudFront (registered trademark). For example, the content delivery network service CDN corresponds to a system that speeds up the delivery of content (e.g., HTML, images, or videos) to users. When content is requested, the content delivery network service CDN reduces latency by routing the request to an appropriate data center among data centers located around the world. Note that, although this embodiment illustrates an example in which the content delivery network CDN receives a request sent from a user, a network architecture that excludes the content delivery network CDN may also be used.

[0015] In this embodiment, an example is given in which hardware constituting a content delivery network service CDN is deployed in various locations around the world. In this embodiment, the term "content delivery network service CDN" encompasses hardware deployed around the world. However, if hardware deployed in individual locations is to be distinguished, a content delivery network service CDN exists for each individual location. In other words, multiple content delivery network service CDNs may exist in the network system 1. Note that the hardware constituting the content delivery network service CDN may not be deployed all over the world, but may be deployed only in a specific location. For example, the hardware constituting the content delivery network service CDN may be deployed only in locations where users targeted by a payment service are located, or only in locations where a service provider's data center is located.

[0016] The first processing system PS1 is a system managed by a cloud service provider. In other words, the first processing system PS1 is a cloud service system. The first processing system PS1 may include any hardware and / or software of the cloud service described above. The first processing system PS1 is capable of executing any program (application) on the cloud service. The first processing system PS1 can also be said to be a system that facilitates the deployment and management of programs on the cloud service. For example, a service provider can execute any program required for a payment service on the first processing system PS1. The service provider uploads a program they have created to the first processing system PS1. When a user uses the payment service, the program is executed. The first processing system PS1 may be capable of supporting programs developed in any programming language.

[0017] In this embodiment, the hardware constituting the first processing system PS1 is located in a first region. The first region is a region different from a second region, which will be described later. Each of the first region and the second region is a location on Earth. Each of the first region and the second region may be an area having a certain extent. Each of the first region and the second region may be a division that can identify a location on Earth. For example, each of the first region and the second region may be a country, a state, a city, a province, a prefecture, or other division. In this embodiment, the first region and the second region are assumed to be separated from each other by a certain distance (e.g., hundreds to thousands of kilometers or more).

[0018] For example, the communication devices that the first processing system PS1 uses to communicate with the content delivery network service CDN are located in the first region. The server computers that the first processing system PS1 uses to execute various processes based on requests received from the content delivery network service CDN are also located in the first region. If the first processing system PS1 includes other hardware besides the communication devices and the server computers, the other hardware is also located in the first region. The software stored on this hardware is also located in the first region.

[0019] The first database system DS1 is a system managed by a cloud service provider. In other words, the first database system DS1 is a cloud service system. The first processing system PS1 can include any hardware and / or software of the cloud service described above. The first database system DS1 can store any database on the cloud service. Hereinafter, the database stored in the first database system DS1 will be referred to as the first database. The first database may be in any format. For example, the first database may be a relational database, a NoSQL database, or an object-oriented database. The language used to operate the first database may also be any language.

[0020] In this embodiment, the hardware constituting the first database system DS1 is located in the first region. For example, the hardware of the first database system DS1 may be located in a first data center in the first region together with the hardware of the first processing system PS1. The hardware of the first database system DS1 may be located in the same first region as the hardware of the first processing system PS1, and does not have to be located in the same building or site. The first database system DS1 is located relatively close to the first processing system PS1 (for example, several meters to several tens of kilometers).

[0021] For example, a communication device that enables the first database system DS1 to communicate with the first processing system PS1 is located in the first region. A server computer that enables the first database system DS1 to update the first database based on instructions from the first processing system PS1 is also located in the first region. Storage that stores the first database is also located in the first region. If the first database system DS1 includes other hardware besides the communication device, server computer, and storage, the other hardware is also located in the first region. Software stored on this hardware is also located in the first region.

[0022] The second processing system PS2 differs from the first processing system PS1 in that it is located in the second region, but the role and hardware of the second processing system PS2 may be similar to those of the first processing system PS1. The second processing system PS2 is also similar to the first processing system PS1 in that it is managed by a cloud service provider. Therefore, in the description of the second processing system PS2, the number "1" in the description of the first processing system PS1 can be replaced with "2."

[0023] In this embodiment, the hardware and software of the second processing system PS2 are basically the same as those of the first processing system PS1, but the hardware and software of the second processing system PS2 may differ slightly from those of the first processing system PS1. In this embodiment, the same configuration as that of the first processing system PS1 is copied to the second processing system PS2. Therefore, the programs and data for the payment service created by the service provider are copied from the first processing system PS1 to the second processing system PS2. The first processing system PS1 and the second processing system PS2 can be said to be in the same environment.

[0024] The second database system DS2 differs from the first database system DS1 in that it is located in the second region, but the role and hardware of the second database system DS2 are similar to those of the first database system DS1. The second database system DS2 is also similar to the first database system DS1 in that it is managed by a cloud service provider. Therefore, in the description of the second database system DS2, the number "1" in the description of the first database system DS1 can be replaced with "2."

[0025] In this embodiment, the hardware and software of the second database system DS2 are basically the same as those of the first database system DS1, but the hardware and software of the second database system DS2 may differ slightly from those of the first database system DS1. Hereinafter, the database stored in the second database system DS2 will be referred to as the "second database." In this embodiment, the same configuration as that of the first database system DS1 is copied as the second database system DS2. Therefore, the program and data for the payment service created by the service provider are copied from the first database system DS1 to the second database system DS2. The first database system DS1 and the second database system DS2 can be considered to be in the same environment.

[0026] The gateway GW is a system managed by the cloud provider. In other words, the gateway GW is a cloud service system. The gateway GW may include any hardware and / or software of the cloud service described above. The general role and hardware of the gateway GW may be similar to those of the first processing system PS1 and the second processing system PS2. Therefore, the gateway GW may be similar to those of the first processing system PS1 and the second processing system PS2 in that it can execute any program on the cloud service. However, the details of the role of the gateway GW differ from those of the first processing system PS1 and the second processing system PS2.

[0027] In this embodiment, the gateway GW is a gateway for an API developed on the network system 1. For example, the gateway GW is independently developed by a service provider. The gateway GW is deployed on a cloud service, such as Amazon Elastic Beanstalk (registered trademark). The gateway GW may be deployed on a processing system on a cloud service different from the first processing system PS1 and the second processing system PS2. In the example of FIG. 1 , a request for a payment service is routed from a content delivery network service CDN to the first processing system PS1. In the state shown in FIG. 4 (described later), the gateway GW is installed between the content delivery network service CDN and the first and second processing systems PS1 and PS2. The gateway GW reserves and stores requests from the content delivery network service CDN, and appropriately routes the requests to either the first processing system PS1 or the second processing system PS2. The gateway GW includes the hardware and software required for these processes.

[0028] For example, the hardware constituting the gateway GW may be located in the first region, the second region, or another region (e.g., a region adjacent to the second region). The hardware constituting the gateway GW may be located in the same region as the hardware of the content delivery network service CDN. For example, if the hardware constituting the content delivery network service CDN is located at least in the second region, the hardware constituting the gateway GW may also be located in the second region. In this case, the user terminal UT and the service provider's data center (not shown in FIG. 1 ) may also be located in the second region. That is, of the components of the network system 1, only the first processing system PS1 and the first database system DB1 may be located in the first region.

[0029] The migration control device CD is a computer of the service provider. For example, the migration control device CD is a personal computer, a server computer, a tablet, or a smartphone. The service provider manages various hardware and software not shown in FIG. 1 . For example, the service provider has a data center that manages the hardware and software necessary for the payment service. In this embodiment, the service provider's data center is located in the second region. Since the first region and the second region are distant from each other, the service provider's data center is distant from the first processing system PS1 and the first database system DS1.

[0030] In this embodiment, an example is given in which an operator of a service provider operates the transition control device CD to perform the tasks necessary for transitioning between the modes described below. For example, the operator may operate the transition control device CD to upload programs and data necessary for the payment service to a cloud service. The operator may operate the transition control device CD to perform various settings on the cloud service necessary for the payment service. The operator may operate the transition control device CD to perform maintenance on the payment service. In this embodiment, the transition control device CD is assumed to be located in the second region, but the transition control device CD may be located in any region.

[0031] The user terminal UT is a user's computer. For example, the migration control device CD is a personal computer, a tablet, a smartphone, or a wearable terminal. In the example of FIG. 1, an arrow is shown directly from the user terminal UT to the content delivery network service CDN. However, in this embodiment, when a user uses a payment service, a request is sent from the user terminal UT to the content delivery network service CDN via the service provider's data center.

[0032] A direct request may also be sent from the user terminal UT to the content delivery network service CDN. In this embodiment, a user in the second region operates the user terminal UT in the second region to use the payment service. Furthermore, affiliates of the payment service (e.g., stores) can also be considered users of the payment service. Therefore, a terminal of an affiliate of the payment service (e.g., a POS terminal, self-checkout, or handheld terminal in a store) may correspond to the user terminal UT. A user is not limited to a person who makes a payment using the payment service, but may also be a person who receives payment using the payment service.

[0033] Hereinafter, when there is no need to distinguish between the content delivery network service CDN, the first processing system PS1, the first database system DS1, the second processing system PS2, the second database system DS2, the migration control device CD, the gateway GW, and the user terminal UT, they will be referred to as each component of the network system 1. Therefore, when referring to each component of the network system 1, it means any component of the content delivery network service CDN, the first processing system PS1, the first database system DS1, the second processing system PS2, the second database system DS2, the gateway GW, the migration control device CD, and the user terminal UT.

[0034] FIG. 2 shows an example of hardware included in each component of the network system 1. In this embodiment, it is assumed that the hardware shown in FIG. 2 is included in each component of the network system 1. FIG. 2 shows an example of a server computer included in each component of the network system 1. For example, each component of the network system 1 includes at least a control unit 11, a storage unit 12, a communication unit 13, an operation unit 14, a display unit 15, and an input / output unit 16. Each component of the network system 1 may include any hardware. Each component of the network system 1 may not include some of the hardware shown in FIG. 2, or may include hardware not shown in FIG. 2.

[0035] For example, the control unit 11 includes at least one processor. The storage unit 12 includes at least one of a volatile memory such as RAM and a non-volatile memory such as flash memory. The communication unit 13 includes at least one of a communication interface for wired communication and a communication interface for wireless communication. The operation unit 14 is an input device such as a touch panel or a mouse. The display unit 15 is a display such as a liquid crystal or organic EL. The input / output unit 16 is an interface for inputting and outputting data to and from an information storage medium or other components.

[0036] In this embodiment, when identifying each of the hardware components included in the network system 1 (e.g., the control unit 11, the storage unit 12, the communication unit 13, the operation unit 14, the display unit 15, and the input / output unit 16), the reference numeral of each component is added to the end of the reference numeral. For example, when identifying the hardware of the migration control device CD, the components are described as a control unit 11CD, a storage unit 12CD, a storage unit 13CD, an operation unit 14CD, a display unit 15CD, and an input / output unit 16CD. When identifying the hardware of the gateway GW, the components are described as a control unit 11GW, a storage unit 12GW, a storage unit 13GW, an operation unit 14GW, a display unit 15GW, and an input / output unit 16GW.

[0037] The programs stored in each component of the network system 1 may be supplied to each component via the network. For example, a program stored in an information storage medium may be supplied to each component of the network system 1 via the input / output unit 16. As another example, each component of the network system 1 may include a reading unit (e.g., a memory card slot) that reads a computer-readable information storage medium. The programs stored in the information storage medium may be supplied to each component of the network system 1 via the reading unit.

[0038] Furthermore, the network system 1 may include at least one of the components described in this embodiment. The components included in the network system 1 are not limited to the example of FIG. 1. For example, the network system 1 may include a gateway GW and a transition control device CD, and may not include other components. In this case, the other components exist outside the network system 1. The network system 1 may include only the gateway GW, and may not include other components such as the transition control device CD. In this case, the other components such as the transition control device CD exist outside the network system 1. The network system 1 may include only the transition control device CD, and may not include other components such as the gateway GW. In this case, the other components such as the gateway GW exist outside the network system 1. The network system 1 may include only the transition control device CD, and may not include other components such as the gateway GW. In this case, the other components such as the gateway GW exist outside the network system 1. The network system 1 may include a component not shown in FIG. 1.

[0039] [2. Overview of the Network System] For example, a user operates a user terminal UT to use a payment service. In this embodiment, an example of the flow when a user makes an electronic payment (cashless payment) is described. For example, the user uses the payment service by having a member store terminal of a member store that is a member of the payment service read a code (e.g., a barcode or two-dimensional code) displayed on the user terminal UT. The user may make a payment using a method other than the code. For example, the user may make a payment using an IC chip in the user terminal UT or a medium other than the user terminal UT (e.g., a credit card).

[0040] For example, the first database stores tokens in which information about the payment method used by the user in the payment service (e.g., a credit card number) is converted into an irregular symbol string. The first database may also store other data necessary for the payment service. When a user uses the payment service to pay a member store, the user terminal UT or the member store terminal requests payment from the service provider's data center. The service provider's data center generates a request for payment and sends the request to the content delivery network service CDN. If content delivery network service CDNs are located around the world, the service provider's data center sends the request to a content delivery network service CDN in the same region as or a nearby region where the service provider's data center is located. The nearby region may be the closest region.

[0041] In this embodiment, an example is taken of a case where the user terminal UT and the service provider's data center are located in the second region. The service provider's data center sends a request to a content delivery network service CDN in the second region, among content delivery network service CDNs located around the world. The routing mechanism used by the content delivery network service CDN to receive the request from the service provider's data center can be a routing mechanism used by known cloud services (e.g., Amazon (registered trademark) Web Services or other cloud services). The request routing mechanism described below can also be a routing mechanism used by known cloud services.

[0042] In the example of FIG. 1 , when the content delivery network service CDN receives a request from a service provider's data center, it routes the request to a first processing system PS1. In the example of FIG. 1 , the second processing system PS2 is not yet operational, so the request is not routed to the second processing system PS2. When the first processing system PS1 receives the request from the content delivery network service CDN, it performs the processing necessary for payment based on the request. For example, the request includes a token for the payment method designated by the user as the payment source. The first processing system PS1 communicates with a first database system DS1 and obtains information on the payment method associated with the token from the first database.

[0043] For example, the first processing system PS1 executes a payment based on information about the payment method. The first processing system PS1 communicates with the first database system DS1 and updates the first database based on the result of the payment execution. Data such as the payment amount, the payment date and time, and the payment location are added to the first database. The first processing system PS1 communicates with the first database system DS1 and may add other data to the first database, or update or delete data in the first database, as necessary.

[0044] For example, the first processing system PS1 sends execution result data indicating the result of the payment to the content delivery network service CDN. Upon receiving the execution result data, the content delivery network service CDN routes the execution result data to the service provider's data center. Note that the execution result data may also be sent directly from the first processing system PS1 to the content delivery network service CDN. Upon receiving the execution result data from the content delivery network service CDN, the service provider's data center executes the processing necessary to complete the payment. For example, the service provider's data center notifies each of the user terminal UT and the affiliated store terminal that the payment has been completed. A screen indicating that the payment has been completed is displayed on each of the user terminal UT and the affiliated store terminal. The payment is completed through the above process.

[0045] In this embodiment, the first region and the second region have a master-slave relationship. In the example of FIG. 1, the first region is the master and the second region is the slave. Under this master-slave relationship, the first database and the second database are synchronized with each other. That is, in the example of FIG. 1, the first database is the master and the second database is the slave. For example, the second database may be used as a backup for the first database. The synchronization of the first database and the second database may be achieved using a known method such as binary log replication.

[0046] For example, when a payment is made and the first database is updated, the contents of the first database are reflected in the second database. Since the contents of the first database are treated as correct, the second database is updated to match the latest contents of the first database. The first and second databases may be synchronized periodically, or may be synchronized every time a payment is made (every time the primary database is updated).

[0047] For example, if the communication required for payment is completed within the first region, the communication is completed only within the components that are close in distance, and delays are unlikely to occur. On the other hand, if the communication required for payment spans the first region and the second region, communication occurs between components that are far from each other, and delays may occur. In this embodiment, the user terminal UT and the service provider's data center are located in the second region, while the first processing system PS1 and the first database system DS1 are located in the first region, and delays may occur.

[0048] More specifically, suppose the first region is a specific city or state in the United States. Furthermore, suppose the second region is a specific city or region in Japan. In this case, in order for a user in Japan to use a payment service provided by a service provider with a data center in Japan, the network system 1 must communicate across Japan and the United States. Therefore, distance constraints can cause delays. For example, the user may have to wait until the payment is completed, or the payment may time out and not be completed.

[0049] Therefore, in this embodiment, the master-slave relationship between the first region and the second region is transitioned so that communication spanning the first and second regions does not occur. Hereinafter, the state in which the first region is master and the second region is slave is referred to as the first mode. The state in which the second region is master and the first region is slave is referred to as the second mode. The example in FIG. 1 is the first mode. When transitioning from the first mode to the second mode occurs, communication required for payment is completed within the second region, so the network system 1 can suppress delays.

[0050] For example, suppose a service provider places the payment service into maintenance mode and temporarily suspends the payment service in order to transition from the first mode to the second mode. Even if a user attempts to make a payment during the maintenance, the request will result in an error, and the payment will not be executed. This reduces user convenience. From the perspective of the service provider, this also leads to lost opportunities. Therefore, in this embodiment, the network system 1 has a function that enables transition from the first mode to the second mode while avoiding request errors. The network system 1 will be described in detail below.

[0051] 3 is a diagram showing an example of functions realized in the network system 1. Fig. 3 shows functions realized in each of the gateway GW and transition control device CD among the components of the network system 1. In the explanation of each function of the gateway GW and transition control device CD, functions of other components will also be explained.

[0052] For example, the transition control device CD includes a data storage unit CD100, a setting unit CD101, and a release unit CD102. The data storage unit CD100 is realized by a storage unit 12CD of the transition control device CD. The setting unit CD101 and the release unit CD102 are realized by a control unit 11CD of the transition control device CD.

[0053] For example, the gateway GW includes a data storage unit GW100, a hold mode transition unit GW101, a change determination unit GW102, and a second mode transition unit GW103. The data storage unit GW100 is realized by the storage unit 12 of the gateway GW. The hold mode transition unit GW101, the change determination unit GW102, and the second mode transition unit GW103 are each realized by the control unit 11 of the gateway GW.

[0054] 4 to 8 are diagrams showing an example of the flow of transition from the first mode to the second mode. The functions of each component of the network system 1 described below are functions related to the transition from the first mode to the second mode. The functions of each component of the network system 1 will be described mainly with reference to FIGS. 4 to 8.

[0055] The data storage unit CD100 stores data necessary for transitioning from the first mode to the second mode. For example, the data storage unit CD100 stores a browser for an operator of a service provider to use a cloud service. The operator logs in to the cloud service from the browser and performs tasks such as uploading various programs required for the payment service, uploading various data required for the payment service, and performing various settings required for the payment service, or a combination of these tasks. The operator may perform each task from an application dedicated to the cloud service instead of the browser. In this case, the data storage unit CD100 stores the application dedicated to the cloud service.

[0056] For example, the data storage unit CD100 may store programs and data to be uploaded to a cloud service. An operator operates the migration control device CD to upload various programs required for the payment service to at least one of the first processing system PS1 and the second processing system PS2. For example, the programs include program code that indicates a process for executing a payment based on information about a payment method associated with a token. The programs may also include program code that indicates other processes required for the payment service.

[0057] Hereinafter, when the content delivery network service CDN, the first processing system PS1, the first database system DS1, the second processing system PS2, the second database system DS2, and the gateway GW are not distinguished from one another, they are referred to as the respective components of the cloud service. Therefore, the term "each component of the cloud service" refers to any component among the content delivery network service CDN, the first processing system PS1, the first database system DS1, the second processing system PS2, the second database system DS2, and the gateway GW. The operator may upload programs required for the payment service to components of the cloud service other than the first processing system PS1 and the second processing system PS2.

[0058] For example, the operator operates the migration control device CD to upload various data required for the payment service to at least one of the first database system DS1 and the second database system DS2. For example, the data may be at least one of the first database and the second database, or may be a record constituting at least one of the first database and the second database. Furthermore, the data may be data different from the first database and the second database. The operator may upload the data required for the payment service to components of the cloud service other than the first database system DS1 and the second database system DS2.

[0059] For example, the operator operates the migration control device CD to configure various settings required for the payment service for at least one of the content delivery network service CDN and the gateway GW. Some of the settings that the operator can specify may be similar to settings adopted in known cloud services. For example, the operator configures settings related to the routing of payment service requests. In the first mode shown in FIG. 1 , payment service requests are routed to the first processing system PS1, so the operator configures the content delivery network service CDN so that routing setting data indicating the routing destination of payment service requests indicates the first processing system PS1.

[0060] The routing configuration data may be stored in a content delivery network (CDN) or in another component of the cloud service. In this case, an operator configures the routing configuration data in the other component of the cloud service. The format of the routing configuration data may be similar to that adopted by known cloud services. For example, the routing configuration data may indicate the URL, name, IP address, program name, API name, or other information of the routing destination.

[0061] For example, the routing configuration data may be DNS data indicating the relationship between domain names and IP addresses in the DNS (Domain Name System). In this case, the routing configuration data is stored in a DNS server. In the first mode shown in FIG. 1 , the routing configuration data may associate the first processing system PS1 with a domain name included in a request for executing a payment. The routing configuration data may indicate an endpoint in an API of the payment service. The endpoint is the final touchpoint in communication using the API. For example, the routing configuration data may be data indicating an endpoint in a type of DNS called Route 53.

[0062] The data stored in the data storage unit CD100 is not limited to the above example. The data storage unit CD100 may store any data necessary for transitioning from the first mode to the second mode. For example, the data storage unit CD100 may store a maintenance tool for an operator to perform maintenance on the payment service. The data storage unit CD100 may store network configuration data indicating the network configuration in the network system 1. The network configuration data indicates information such as the IP addresses of each component of the network system 1.

[0063] The data storage unit GW100 stores data necessary for transitioning from the first mode to the second mode. For example, the data storage unit GW100 stores current mode data, which will be described later. The data storage unit GW100 may store routing destination data indicating the routing destination in each of the first mode and the second mode. The routing destination data associates the current mode being the first mode with the first processing system PS1 being the routing destination. The routing destination data associates the current mode being the second mode with the second processing system PS2 being the routing destination.

[0064] The data stored in the data storage unit GW100 is not limited to the above example. The data storage unit GW100 can store data necessary for transitioning from the first mode to the second mode. For example, the data storage unit GW100 may store request data indicating requests accumulated in a hold mode, which will be described later. The request data indicates the specific content of the request, the date and time the request was accumulated, or other information. The data storage unit GW100 may store a program for detecting the completion of a change in the master-slave relationship. The data storage unit GW100 may store a program for changing each mode. The data storage unit GW100 may store a program indicating a procedure for routing a request.

[0065] The setting unit CD101 performs various settings related to at least one of the payment service and the cloud service. In this embodiment, among the settings performed by the setting unit CD101, settings related to request routing will be described. For example, when the network system 1 is operating in the first mode (the state in FIG. 1 ), the setting unit CD101 performs settings related to endpoints so that the endpoint related to the request is set to the gateway GW related to the API. The endpoint is indicated in the routing setting data.

[0066] For example, the setting unit CD101 sends a request to a component that manages routing setting data (e.g., a content delivery network service CDN or other component) among the components of the cloud service to set the endpoint of requests in the payment service to the gateway GW. Upon receiving the request from the setting unit CD101, the component that manages routing setting data updates the routing setting data so that the endpoint of requests in the payment service becomes the gateway GW. Even if it takes time to set the endpoint, requests are routed using the current settings, so there is no problem in operating the payment service.

[0067] In the example of FIG. 4 , the setting unit CD101 performs setting so that the endpoint is set to a gateway GW located behind a content delivery network service CDN that accepts various requests including payment service requests (e.g., requests for services other than payment services, or requests for personal use unrelated to a specific service). Other devices may exist between the content delivery network service CDN and the gateway GW. The content delivery network service CDN may route requests directly or indirectly to the gateway GW. Direct routing means that no other device is interposed between the routing source device and the routing destination device. Indirect routing means that another device is interposed between the routing source device and the routing destination device.

[0068] For example, if the endpoint of a payment service request is changed to the gateway GW, the content delivery network service CDN routes the payment service request to the gateway GW instead of the first processing system PS1, as shown in Figure 4. The content delivery network service CDN simply routes the request to the gateway GW based on the updated routing setting data. As described above, communication until the gateway GW receives the request is completed in the second region (e.g., a specific city or region in Japan) or nearby (e.g., within Japan).

[0069] In the example of Fig. 4, the gateway GW routes a request to the first processing system PS1. The gateway GW stores routing destination data indicating the routing destination of a request received by the gateway GW as an endpoint. In the example of Fig. 4, the routing destination data indicates the first processing system PS1. The gateway GW routes a request received from a content delivery network service CDN to the first processing system PS1.

[0070] As described above, since the first processing system PS1 is located in the first region (e.g., a specific city or region in the United States), communication for the gateway GW to route a request to the first processing system PS1 occurs across the first and second regions. In the example of FIG. 4, the flow of subsequent request processing is similar to that of FIG. 1. Execution result data indicating the execution result of the payment may be transmitted from the first processing system PS1 to a data center of the payment service via the gateway GW and a content delivery network service (CDN). The process of updating the contents of the first database in the second database may also be similar to that of FIG. 1.

[0071] Note that the settings made by the setting unit CD101 are not limited to changing the endpoint. For example, when transitioning from the first mode to the second mode, the setting unit CD101 makes settings for transitioning to a hold mode in which requests are put on hold. The hold mode is a mode in which requests are not routed. In other words, the hold mode is a mode in which requests are accumulated. For example, the setting unit CD101 requests a configuration of the cloud service that puts requests on hold to transition to the hold mode. The transition to the hold mode can also be considered as the end of the first mode. The transition to the hold mode can also be considered as the start of a transition from the first mode to the second mode.

[0072] In this embodiment, as shown in FIG. 5 , the setting unit CD101 requests the gateway GW to transition to hold mode. The instruction to transition to hold mode is given by transmitting data in a predetermined format indicating the transition to hold mode. For example, the setting unit CD101 determines whether or not an operator has instructed the transition to hold mode. The instruction to transition to hold mode may be given by any operation from the operation unit 14CD. The transition to hold mode may be scheduled in advance and initiated automatically, rather than being instructed by the operator. In this case, the setting unit CD101 may determine whether or not a predetermined date and time has arrived. If it is determined that the date and time has arrived, the setting unit CD101 may request the transition to hold mode.

[0073] The transition to the hold mode may be scheduled within the gateway GW. In this case, when the relevant date and time arrives, the gateway GW transitions to the hold mode without a request from the transition control device CD to the gateway GW. For example, the data storage unit GW100 of the gateway GW may store current mode data indicating the current mode. The current mode data indicates either the first mode, the hold mode, or the second mode.

[0074] When instructed to transition from a first mode in which a first database is updated based on a request accepted via a network to a second mode in which a second database to which the contents of the first database are copied in the first mode is updated based on the request, the hold mode transition unit GW101 transitions from the first mode to a hold mode in which the request is put on hold. For example, the hold mode transition unit GW101 updates the current mode data so that the current mode data indicates the hold mode from the first mode.

[0075] In this embodiment, in the first mode, the first processing system PS1 located in the first region receives a request and updates the first database managed in the first region. The first processing system PS1 stores a program that indicates processing based on the request. Upon receiving a request, the first processing system PS1 executes the program based on the data included in the request and updates the first database. For example, the first processing system PS1 obtains data necessary for payment from the first database based on the token included in the request and executes the payment. The first processing system PS1 updates the first database based on the results of the payment execution. For example, the first processing system PS1 stores data indicating the payment amount, payment location, and payment date and time in the first database.

[0076] For example, in the first mode, the gateway GW routes the request so that the first database is updated. Therefore, when the current mode data indicates the first mode, the gateway GW routes the request from the content delivery network service CDN to the first processing system PS1, as shown in FIG. 4 . In the first mode, the second processing system located in the second region does not receive the request. In the first mode, the contents of the first database are copied to the second database managed in the second region. This series of processes is as described above. For example, the gateway GW routes the request based on the routing destination data stored in its own data storage unit GW100.

[0077] In this embodiment, in the hold mode, requests are accumulated by the gateway GW. For example, when the current mode data indicates the hold mode, as shown in FIG. 5, the gateway GW does not route requests from the content delivery network service CDN. The gateway GW accumulates requests. The accumulation of requests is a state in which the gateway GW does not route the requests externally and does not process the requests as errors. The accumulation of requests can also be referred to as the reservation of requests. The gateway GW records data of requests received in the hold mode in the data storage unit GW100. Since the sessions of individual requests are maintained during the hold mode, the gateway GW stores data indicating the sessions of the accumulated requests in the data storage unit GW100.

[0078] When the mode is shifted from the first mode to the hold mode, the change determination unit GW102 determines whether the master-slave relationship between the first database and the second database has changed. In this embodiment, a case where a change in the master-slave relationship is detected by the gateway GW is taken as an example. For example, the change determination unit GW102 determines that the master-slave relationship has changed when the change in the master-slave relationship is detected by the gateway GW. The gateway GW detects the change in the master-slave relationship by receiving a change completion notification indicating completion of the change in the master-slave relationship from at least one of the first database system DS1 and the second database system DS2. The change determination unit GW102 may determine whether the change in the master-slave relationship has been detected by the gateway GW by determining whether the gateway GW has received the change completion notification.

[0079] It is assumed that master-slave relationship data indicating the master-slave relationship is stored in the first database system DS1 and the second database system DS2. In the first mode, the master-slave relationship data indicates that the first database is the master and the second database is the slave. When the first database system DS1 determines that it is the master based on the master-slave relationship data, it executes a process with the second database system DS2 to reflect the contents of the first database in the second database. In other words, the first database system DS1 synchronizes the first database and the second database with the second database system DS2 so that the contents of the second database match the first database. As described above, the synchronization method may be a known method.

[0080] For example, when the first database system DS1 and the second database system DS2 detect that the network system 1 has transitioned to the hold mode, they change the master-slave relationship data. The first database system DS1 and the second database system DS2 receive a notification from the gateway GW, the transition control device CD, or other components indicating that the network system 1 has transitioned to the hold mode. As shown in FIG. 6, when the first database system DS1 and the second database system DS2 receive the notification, they each stop the synchronization process.

[0081] For example, each of the first database system DS1 and the second database system DS2 updates the master-slave relationship data stored therein to indicate that the first database is the slave and the second database is the master. If a change in the master-slave relationship requires a change to other data, the other data may be changed. Once the master-slave relationship data is updated, synchronization of the first and second databases is resumed. When the second database system DS2 determines that it is the master based on the master-slave relationship data, it executes a process with the first database system DS1 to reflect the contents of the second database in the first database. In other words, the second database system DS2 synchronizes the first and second databases with the first database system DS1 so that the contents of the second database match those of the first database. As described above, the synchronization method may be a known method.

[0082] The second mode transition unit GW103 transitions from the hold mode to the second mode when the change determination unit GW102 determines that the master-slave relationship has changed. For example, the second mode transition unit GW103 transitions from the hold mode to the second mode by updating the current mode data so that the current mode data indicates the second mode. When the change determination unit GW102 does not determine that the master-slave relationship has changed, the second mode transition unit GW103 maintains the hold mode without transitioning from the hold mode to the second mode. In other words, a change in the master-slave relationship becomes a condition (trigger) for transitioning from the hold mode to the second mode.

[0083] In this embodiment, in the second mode, the second processing system PS2 receives a request and updates the second database managed in the second region. The second processing system PS2 stores a program that indicates processing based on the request. Upon receiving a request, the second processing system PS2 executes the program based on the data included in the request and updates the second database. For example, the second processing system PS2 obtains data necessary for payment from the second database based on the token included in the request and executes the payment. The second processing system PS2 updates the second database based on the results of the payment execution. For example, the second processing system PS2 stores data indicating the payment amount, payment location, and payment date and time in the second database.

[0084] For example, in the second mode, the gateway GW routes requests so that the second database is updated. Therefore, when the current mode data indicates the second mode, as shown in FIG. 7, the gateway GW routes requests from the content delivery network service CDN to the second processing system PS2. In the second mode, the first processing system does not receive requests. In the second mode, the contents of the second database are copied to the first database. For example, the gateway GW routes requests based on routing destination data stored in its own data storage unit GW100. Although the transition to the second mode may be completed by the above processing, since the gateway GW is no longer needed after the transition to the second mode, in this embodiment, the gateway GW is removed by the processing described below.

[0085] The release unit CD102 releases the settings related to the endpoint when the transition from the hold mode to the second mode is completed. Among the components of the cloud service, a component that manages routing setting data (e.g., a content delivery network service CDN or other component) sends a request to release the setting that sets the endpoint of the request as the gateway GW. Upon receiving the request from the setting unit CD101, the component that manages routing setting data updates the routing setting data to release the setting that sets the endpoint of the request as the gateway GW. The endpoint returns to the state before the gateway GW was placed in the first mode (e.g., the program originally designated as the endpoint). Furthermore, the component that manages routing setting data updates the routing setting data so that the request is routed to the second processing system PS2. Even if it takes time to release the endpoint setting, requests are routed using the current settings, so this does not affect the operation of the payment service.

[0086] When the setting is released by the release unit CD102, as shown in FIG. 8 , the gateway GW is removed and the content delivery network service CDN routes the request to the second processing system PS2. The process by which the second processing system PS2 updates the second database based on the request may be similar to the process by which the first processing system PS1 updates the first database based on the request. Since the system has transitioned to the second mode, the contents of the second database are reflected in the first database. The process of synchronizing the first and second databases is as described above. For example, the first database may function as a backup for the second database. The above process completes the transition from the first mode to the second mode.

[0087] 9 to 13 are diagrams illustrating an example of a process executed in the network system 1. The process of FIG. 9 is executed by the control unit 11 of each component of the network system 1 executing a program stored in the storage unit 12. The processes of each step in FIGS. 9 to 13 are examples of steps included in the transition method according to the present disclosure. FIGS. 9 to 13 illustrate an example in which an operator of a service provider manually instructs a transition from the first mode to the second mode via the transition control device CD.

[0088] At the start of the processing in Fig. 9, the network system 1 is operating in the first mode. The processing in S1 to S6 shown in Fig. 9 is the processing in the flow in Fig. 1. As shown in Fig. 9, in the first mode, the user terminal UT sends a request to the content delivery network service CDN via the data center of the payment service (S1). In S1, the request is routed to the content delivery network service CDN in the same region as the data center by processing of a device (e.g., a DNS server) located between the user terminal UT and the content delivery network service CDN.

[0089] When the content delivery network service CDN receives a request (S2), it routes the request to the first processing system PS1 based on the routing setting data (S3). If the current mode is the first mode, the routing setting data indicates that the request is to be routed to the first processing system PS1. In S3, the content delivery network service CDN transmits the request to the first processing system PS1 indicated by the routing setting data. Note that the routing setting data may not be referenced by the content delivery network service CDN, but may be referenced by the user terminal UT or a data center. In this case, when the content delivery network service CDN receives the request, the request indicates that the request is to be routed to the first processing system PS1. The content delivery network service CDN simply routes the request to the first processing system PS1, which is the routing destination indicated in the received request.

[0090] When the first processing system PS1 receives a request from the content delivery network service CDN (S4), it executes processing in response to the request with the first database system DS1 to update the first database (S5). In S5, the first processing system PS1 references the first database based on the request, obtains information necessary for payment, and executes payment. The first processing system PS1 updates the first database based on the results of the payment execution. The first processing system PS1 transmits execution result data to the user terminal UT or the data center via the content delivery network service CDN. The first database system DS1 then executes processing with the second database system DS2 to reflect the contents of the first database in the second database (S6). In S6, the first database system DS1 transmits data indicating the updated contents of the first database to the second database system DS2. The second database system DS2 updates the second database based on the data. This synchronizes the first and second databases.

[0091] The processes of S7 to S15 shown in FIG. 10 are the processes in the flow of FIG. 4. As shown in FIG. 10, when an operator performs an operation to install a gateway GW, the migration control device CD installs the gateway GW by performing a process to set the endpoint related to requests to the gateway GW between the configuration that manages routing setting data in the cloud service (S7). When the process of S7 is executed, the gateway GW is placed between the content delivery network service CDN and the first processing system PS1, as shown in FIG. 4. Until the process of S7 is performed, a specific program of the payment service (e.g., a program in the first processing system PS1) is set as the endpoint. However, the process of S7 changes the endpoint to the gateway GW. This enables the gateway GW to receive requests from the content delivery network service CDN. At the time of S7, the network system 1 is still operating in the first mode.

[0092] The user terminal UT sends a request to the content delivery network service CDN via the payment service data center (S8). Upon receiving the request (S9), the content delivery network service CDN routes the request to the gateway GW (S10). The processes of S8 and S9 are the same as those of S1 and S2, respectively. Because the endpoint was changed in the process of S7, the process of S10 differs from the process of S3 in that the request is routed to the gateway GW. Upon receiving the request from the content delivery network service CDN (S11), the gateway GW routes the request to the first processing system PS1 (S12). In S12, the gateway GW identifies that the current mode is the first mode based on the current mode data, and routes the request to the first processing system PS1, which is the routing destination according to the first mode, based on the routing destination data.

[0093] When the first processing system PS1 receives a request from the gateway GW (S13), it executes processing according to the request with the first database system DS1 to update the first database (S14). The first database system DS1 executes processing with the second database system DS2 to reflect the contents of the first database in the second database (S15). The processing of S14 and S15 may be the same as S5 and S6, respectively.

[0094] The processing of S16 to S23 shown in Figure 11 is the processing in the flow of Figure 5. As shown in Figure 11, when the operator instructs the transition from the first mode to the second mode, the transition control device CD requests the gateway GW to transition to the hold mode (S16). The request in S16 may be data in a predetermined format indicating a transition to the hold mode. Upon receiving the request (S17), the gateway GW transitions from the first mode to the hold mode (S18). In S18, the gateway GW updates the current mode data so that the current mode indicates the hold mode. This prevents the gateway GW from routing the request to the first processing system PS1.

[0095] The user terminal UT sends a request to the content delivery network service CDN via the payment service data center (S19). Upon receiving the request (S20), the content delivery network service CDN routes the request to the gateway GW (S21). The processes of S19 to S21 are the same as those of S8 to S10, respectively. Upon receiving the request from the content delivery network service CDN (S22), the gateway GW stores the request (S23). In S23, since the current mode data indicates a hold mode, the gateway GW stores the request from the content delivery network service CDN in the storage unit 12GW without routing it externally. The gateway GW also maintains sessions corresponding to individual requests. The routing destination data may indicate that the gateway GW should store the request in the hold mode. In this case, the gateway GW determines that the request should be stored based on the routing destination data.

[0096] The processes of S24 to S30 shown in FIG. 12 are processes in the flow of FIG. 6 and FIG. 7. As shown in FIG. 12, the first database system DS1 executes a process to change the master-slave relationship with the second database system DS2 (S24). In S24, at least one of the first database system DS1 and the second database system DS2 receives a notification from the gateway GW, the migration control device CD, or another component indicating that the current mode has transitioned to the hold mode. Upon receiving the notification, the at least one of the first database system DS1 and the second database system DS2 executes a process to change the master-slave relationship with the other. In S24, the master-slave relationship data stored in each of the first database system DS1 and the second database system DS2 is updated. That is, before the process of S24 is executed, the master-slave relationship data indicates that the first database is the master and the second database is the slave. However, as a result of the process of S24, the master-slave relationship data indicates that the second database is the master and the first database is the slave.

[0097] The gateway GW determines whether the change in the master-slave relationship has been completed (S25). In S25, upon completion of the processing of S24, at least one of the first database system DS1 and the second database system DS2 sends a notification to the gateway GW indicating that the change in the master-slave relationship has been completed. The gateway GW detects the completion of the change in the master-slave relationship by receiving the notification. Instead of sending a notification, the gateway GW may determine whether the change in the master-slave relationship has been completed by checking the status of at least one of the first database system DS1 and the second database system DS2. In this case, it is assumed that data indicating that the change in the master-slave relationship has been completed is stored in at least one of the database systems.

[0098] If it is determined in S25 that the change in the master-slave relationship is not complete (S25: N), the process returns to S25. If a new request occurs during this time, the processes of S19 to S23 in FIG. 11 are executed, and the gateway GW accumulates further requests. If it is determined in S25 that the change in the master-slave relationship is complete (S25: Y), the gateway GW transitions from the hold mode to the second mode (S26). In S26, the gateway GW updates the current mode data so that the current mode indicates the second mode. This causes the gateway GW to send the accumulated requests to the second processing system PS2.

[0099] The gateway GW routes the accumulated request to the second processing system PS2 (S27). Upon receiving the request from the gateway GW (S28), the second processing system PS2 executes processing in response to the request with the second database system DS2 to update the second database (S29). In S29, the second processing system PS2 references the second database based on the request, obtains information necessary for payment, and executes payment. The second processing system PS2 updates the second database based on the results of the payment execution. The second processing system PS2 transmits execution result data to the user terminal UT or the data center via the content delivery network service CDN and the gateway GW. Thereafter, the second database system DS2 executes processing with the first database system DS1 to reflect the contents of the second database in the first database (S30). In S30, the second database system DS2 transmits data indicating the updated contents of the second database to the first database system DS1. The first database system DS1 updates the first database based on the data. This synchronizes the first and second databases.

[0100] The processes of S31 to S37 shown in FIG. 13 are the processes in the flow of FIG. 8 . When the operator performs an operation to remove the gateway GW, the transition control device CD performs a process to remove the gateway GW by canceling the endpoint setting related to the request between the configuration that manages routing setting data in the cloud service (S31). When the process of S31 is executed, the gateway GW is removed from between the content delivery network service CDN and the first processing system PS1, as shown in FIG. 8 . Until the process of S31 is performed, the gateway GW is set as the endpoint, but the process of S31 changes the endpoint to a specific program of the payment service (e.g., a program in the first processing system PS1). In other words, the endpoint returns to its original state. This completely completes the transition to the second mode. Although the state of FIG. 7 also indicates a transition to the second mode, in this embodiment, the state of FIG. 7 is a provisional completion state of the second mode, and the state of FIG. 8 is a completely completed state of the second mode. If it is necessary to change the routing setting data for routing a request received by the content delivery network service CDN to the second processing system PS2, this is executed in the process of S31 or before or after the process. This change may be executed by instruction from the migration control device CD or by another component of the network system 1.

[0101] The subsequent processes of S32 and S33 are the same as those of S1 and S2, respectively. The content delivery network service CDN routes the request received in S33 to the second processing system PS2 based on the routing setting data (S34). If the current mode is the second mode, the routing setting data indicates that the request is to be routed to the second processing system PS2. In S34, the content delivery network service CDN transmits the request to the second processing system PS2 indicated by the routing setting data. Note that the routing setting data may be referenced by the user terminal UT or the data center, rather than by the content delivery network service CDN. In this case, when the content delivery network service CDN receives the request, the request indicates that the request is to be routed to the second processing system PS2. The content delivery network service CDN simply routes the request to the second processing system PS2, which is the routing destination indicated in the received request. The second processing system PS2 receives the request from the content delivery network service CDN (S35). The subsequent processes of S36 and S37 are the same as the processes of S29 and S30, respectively. With the above, the transition to the second mode is completely completed.

[0102] [5. Summary of the Embodiment] In this embodiment, the network system 1 transitions from the first mode to the hold mode when an instruction to transition from the first mode to the second mode is received. The network system 1 determines whether the master-slave relationship between the first database and the second database has changed. If it is determined that the master-slave relationship has changed, the network system 1 transitions from the hold mode to the second mode. This allows the network system 1 to transition from the first mode to the second mode while avoiding request errors. For example, the network system 1 can prevent errors when a user uses a payment service, thereby improving user convenience. From the perspective of the service provider, opportunity losses due to suspension of the payment service can also be avoided. The network system 1 can back up the first database after transitioning to the second mode. For example, if the time the network system 1 transitions to the hold mode is shorter than the time it takes for a request to time out in the payment service, the network system 1 can basically eliminate request errors. For example, if this time is approximately 10 seconds, the user may feel that the payment is taking a little longer, but this is well within the acceptable range for the payment service. Therefore, the network system 1 can also improve convenience for users.

[0103] In the first mode, the first processing system PS1 located in the first region receives a request and updates the first database managed in the first region. The second processing system PS2 located in the second region does not receive a request. The contents of the first database are copied to the second database managed in the second region. In the second mode, the second processing system PS2 receives a request and updates the second database managed in the second region. The first processing system PS1 does not receive a request. The contents of the second database are copied to the first database. This allows the network system 1 to transition from the first mode, in which the first region is the primary mode, to the second mode, in which the second region is the primary mode, while avoiding request errors. The network system 1 can achieve this transition to avoid delays due to the distance between regions without interrupting the payment service. Furthermore, the network system 1 can save a backup of the second database in the first database immediately after transitioning to the second mode.

[0104] Furthermore, the network system 1 performs endpoint settings so that the endpoint related to the request is set in the gateway GW related to the API. In the first mode, the gateway GW routes the request so that the first database is updated. In the hold mode, the gateway accumulates the request. In the second mode, the gateway GW routes the request so that the second database is updated. The network system 1 cancels the setting when the transition from the hold mode to the second mode is completed. As a result, the network system 1 can achieve transition from the first mode to the second mode while avoiding request errors by simply changing the endpoint settings, thereby eliminating the need to significantly change the mechanism of existing cloud services. The network system 1 can transition from the first mode to the second mode by utilizing the mechanism of existing cloud services.

[0105] Furthermore, the network system 1 performs settings related to the endpoint so that the endpoint is set in a gateway GW located after a content delivery network service CDN that accepts various requests including requests for payment services. This allows the network system 1 to transition from the first mode to the second mode while avoiding request errors without changing the configuration before the content delivery network service CDN.

[0106] Furthermore, when a change in the master-slave relationship is detected by the gateway GW, the network system 1 determines that the master-slave relationship has changed. This eliminates the need for an operator to determine the change in the master-slave relationship and manually instruct a transition to the second mode, allowing the network system 1 to more quickly transition from the first mode to the second mode.

[0107] [6. Modifications] The present disclosure is not limited to the above-described embodiments. The present disclosure can be modified as appropriate without departing from the spirit of the present disclosure.

[0108] 14 is a diagram showing an example of functions realized in a modified network system 1. The modified network system 1 includes a recovery unit GW104, an accumulation number determination unit GW105, a request processing unit GW106, an error condition determination unit GW107, and an error processing unit GW108. Each of the recovery unit GW104, the accumulation number determination unit GW105, the request processing unit GW106, the error condition determination unit GW107, and the error processing unit GW108 is realized by a control unit 11GW of the gateway GW.

[0109] [6-1. Modification 1] For example, some abnormality may occur after the network system 1 transitions from the first mode to the second mode. In this case, the network system 1 may return from the second mode to the first mode. The hold mode transition unit GW101 of Modification 1 transitions to the hold mode when a restoration from the second mode to the first mode is instructed after transitioning to the second mode. Modification 1 differs from the embodiment in that the hold mode does not occur during transition from the first mode to the second mode, but occurs during restoration from the second mode to the first mode. However, the method of transitioning to the hold mode itself may be the same as that of the embodiment. The hold mode transition unit GW101 simply updates the current mode data so that the current mode indicates the hold mode.

[0110] For example, the setting unit CD101 determines whether an operator has instructed a transition to the hold mode. The hold mode instruction in the first modification is not an instruction for the hold mode that occurs during a transition from the first mode to the second mode as in the embodiment, but an instruction for the hold mode that occurs during a recovery from the second mode to the first mode. The instruction for the transition to the hold mode may be made by any operation from the operation unit 14CD. The transition to the hold mode may be initiated automatically when a predetermined recovery condition is satisfied, rather than by an instruction from the operator. The recovery condition is a criterion for whether or not to recover from the second mode to the first mode. The recovery condition can also be said to be a trigger for recovery from the second mode to the first mode.

[0111] For example, the recovery condition may be a condition related to an abnormality in the network system 1 after transitioning to the second mode. The recovery condition may be that the number of request errors exceeds a threshold, that the network load exceeds a threshold, that a specified alert is detected, or other conditions. The setting unit CD101 acquires, from each configuration of the network system 1, an indicator required for determining the recovery condition (e.g., the number of request errors, the network load, or alert information), and determines whether the recovery condition is satisfied based on the indicator. If it is determined that the recovery condition is satisfied, the setting unit CD101 transitions to the hold mode.

[0112] The transition from the second mode to the hold mode may be performed in the same procedure as the transition from the first mode to the hold mode described in the embodiment. That is, when it is determined that the recovery condition is satisfied, the setting unit CD101 sets the endpoint so that a gateway GW is introduced after the content delivery network service CDN. The hold mode transition unit GW101 instructs the gateway GW to transition to the hold mode. When the transition to the hold mode is instructed, the gateway GW updates the current mode data so that the current mode data indicates the hold mode. The gateway GW accumulates requests from the content delivery network service CDN.

[0113] The change determination unit GW102 in Modification 1 determines whether the master-slave relationship has been restored when the mode is shifted from the second mode to the hold mode. In Modification 1, as in the present embodiment, an example is given in which a change in the master-slave relationship is detected by the gateway GW. For example, the change determination unit GW102 determines that the master-slave relationship has been changed when the change in the master-slave relationship is detected by the gateway GW. This determination method may be the same as in the embodiment. That is, the change determination unit GW102 may determine whether the gateway GW has received a change completion notification.

[0114] The master-slave relationship between the first database and the second database can be restored by performing the reverse process of the embodiment. For example, when the first database system DS1 and the second database system DS2 detect that the network system 1 has transitioned to the hold mode, they change the master-slave relationship data. The first database system DS1 and the second database system DS2 receive a notification indicating that the network system 1 has transitioned to the hold mode from the gateway GW, the transition control device CD, or other components. Upon receiving the notification, each of the first database system DS1 and the second database system DS2 stops the synchronization process.

[0115] For example, each of the first database system DS1 and the second database system DS2 updates the master-slave relationship data stored therein to indicate that the first database is the master and the second database is the slave. If a change in the master-slave relationship requires a change to other data, the other data may be changed. Once the master-slave relationship data is updated, synchronization of the first and second databases is resumed. When the first database system DS1 identifies itself as the master based on the master-slave relationship data, it executes a process with the second database system DS2 to reflect the contents of the first database in the second database. In other words, the first database system DS1 synchronizes the first and second databases with the second database system DS2 so that the contents of the first database match those of the second database. As described above, the synchronization method may be a known method.

[0116] The network system 1 of the first modification includes a recovery unit GW104. When it is determined that the master-slave relationship has been restored, the recovery unit GW104 recovers the hold mode to the first mode. For example, the recovery unit GW104 transitions from the hold mode to the first mode by updating the current mode data so that the current mode data indicates the first mode. When the change determination unit GW102 does not determine that the master-slave relationship has changed, the recovery unit GW104 maintains the hold mode without transitioning from the hold mode to the first mode. In other words, a change in the master-slave relationship becomes a condition (trigger) for transitioning from the hold mode to the first mode.

[0117] For example, when the gateway GW recovers to the first mode, it routes the requests that were accumulated in the hold mode to the first processing system PS1. This state is the same as that shown in FIG. 4. After that, the release unit CD102 of the first modified example releases the settings related to the endpoints when the transition from the hold mode to the first mode is completed. The release of the settings may be performed in the same manner as in the embodiment. When the settings related to the endpoints are released, the gateway GW is removed, and the state returns to that shown in FIG. 1. This completes the recovery.

[0118] The network system 1 of Variation 1 transitions to the hold mode when an instruction to restore from the second mode to the first mode is received after transitioning to the second mode. When transitioning from the second mode to the hold mode, the network system 1 determines whether the master-slave relationship has been restored. When it is determined that the master-slave relationship has been restored, the network system 1 restores from the hold mode to the first mode. This allows the network system 1 to quickly return to the original state if an abnormality occurs after transitioning to the second mode. As a result, the period during which the user cannot use the payment service is shortened, thereby improving user convenience.

[0119] [6-2. Modification 2] For example, when the network system 1 transitions from the first mode to the hold mode, the number of requests accumulated by the gateway GW may increase. There may be a limit to the number of sessions that a single gateway GW can maintain while accumulating requests. For this reason, a new gateway GW may be introduced when the number of accumulated requests increases. The network system 1 may introduce new gateway GWs one after another each time the number of accumulated requests exceeds a threshold.

[0120] The network system 1 of the second modification includes an accumulation number determination unit GW105. The accumulation number determination unit GW105 determines whether the accumulated number of requests accumulated in the hold mode has reached or exceeded a threshold. The threshold is assumed to be predetermined. For example, the data storage unit GW100 stores threshold data indicating the threshold. The threshold may change depending on the date and time, etc. The accumulation number determination unit GW105 refers to the requests accumulated in the data storage unit GW100 and obtains the accumulated number. The accumulation number determination unit GW105 may obtain the number of sessions being maintained as the accumulated number of requests.

[0121] The setting unit CD101 of the second modification performs new setting so that the endpoint related to the request is set to a new gateway GW when it is determined that the accumulated number of requests has reached or exceeded a threshold. For example, when it is determined that the accumulated number of requests accumulated by the first gateway GW introduced in the procedure described in the embodiment has reached or exceeded a threshold, the setting unit CD101 sets the second gateway GW as the endpoint. The setting method for the second gateway GW may be the same as that for the first gateway GW.

[0122] For example, the setting unit CD101 transmits a request to a configuration that manages routing setting data (e.g., a content delivery network service CDN or other configuration) among the configurations of the cloud service to set the endpoint of requests in the payment service to the second gateway GW. Upon receiving the request from the setting unit CD101, the configuration that manages routing setting data updates the routing setting data so that the endpoint of requests in the payment service becomes the second gateway GW. The setting unit CD101 may introduce a third or subsequent gateway GW when the accumulated number of the second gateway GW becomes equal to or greater than a threshold.

[0123] The network system 1 of the second modification determines whether the number of requests accumulated in the hold mode has reached or exceeded a threshold. If the network system 1 determines that the number of accumulated requests has reached or exceeded the threshold, the network system 1 performs a new setting so that the endpoint is set to a new gateway GW. This allows the network system 1 to accumulate and process requests using a new gateway GW even if a gateway GW is no longer able to accumulate requests. The network system 1 can more reliably prevent request errors.

[0124] [6-3. Modification 3] For example, in Modification 2, the setting unit CD101 performs a setting so that an endpoint is set to a gateway GW located behind a content delivery network service CDN that accepts various requests including payment service requests. This setting may be the same as the setting described in the embodiment. When it is determined that the accumulated number has reached or exceeded a threshold, the setting unit CD101 performs a new setting so that an endpoint is set to a new gateway GW located behind the content delivery network service CDN. This setting may be the same as the setting described in Modification 2.

[0125] In variant example 3, requests are routed by a load balancer located between the content delivery network service CDN and the gateway GW and new gateway GW. Since the content delivery network service CDN may not be able to identify to which of the gateway GW and the new gateway GW the request should be routed, the content delivery network service CDN routes the request to the load balancer. The load balancer routes the request received from the content delivery network service CDN to either the gateway GW or the new gateway GW. When a new gateway GW is introduced, the load balancer routes the request to the new gateway GW.

[0126] The load balancer is a system managed by the cloud provider. The load balancer is a system of the cloud service. The load balancer may include any hardware and / or software of the cloud service described above. The load balancer of variant 3 is provided for the purpose of routing requests rather than load balancing. The load balancer stores routing destination data indicating the routing destination of a request. In the hold mode, the routing destination data is defined so that the request is distributed to a new gateway GW. The routing destination data may be DNS data indicating the relationship between a domain name and an IP address. The routing destination data may be stored in another configuration (e.g., a DNS server) instead of the load balancer.

[0127] When it is determined that the number of accumulated requests has reached or exceeded a threshold, the network system 1 of Variation 3 performs new configuration so that an endpoint is set to a new gateway GW located behind the content delivery network service CDN. In the network system 1, requests are routed by a load balancer located between the content delivery network service CDN and the gateway GW and the new gateway GW. This allows the network system to introduce a new gateway GW by utilizing the mechanisms of existing cloud services and route requests to the new gateway GW instead of the existing gateway GW using the load balancer.

[0128] [6-4. Variation 4] For example, after the network system 1 transitions from the first mode to the second mode, the first processing system PS1 may be able to operate the second database of the second database system DS2 via the network. Therefore, in the second mode, not only the second processing system PS2 but also the first processing system PS1 may update the second database. In this case, the content delivery network service CDN may route requests to the first processing system PS1 in the second mode, or the gateway GW installed after the content delivery network service CDN may route requests to the first processing system PS1 in the second mode without removing it. In the second mode, the content delivery network service CDN or the gateway GW routes requests to either the first processing system PS1 or the second processing system PS2.

[0129] In the fourth modification, as described in the embodiment, in the first mode, the first database is updated by the first processing system PS1. The second mode differs from the embodiment. In the second mode, the second database can be updated by each of the first processing system PS1 and the second processing system PS2. For example, in the second mode, when the first processing system PS1 receives a request from a content delivery network service CDN or a gateway GW, it updates the second database instead of the first database system DS1. The first processing system PS1 requests the second database system DS2 to update the second database. The second database system DS2 updates the second database based on the request from the first processing system PS1. Communication between the first processing system PS1 and the second database system DS2 may be performed via a gateway GW, a content delivery network service CDN, or another configuration. The first processing system PS1 and the second database system DS2 may be connected via a VPN, a LAN, or the like.

[0130] In the second mode of the fourth modification, the second database can be updated by each of the first processing system PS1 and the second processing system PS2. This allows the network system 1 to increase its flexibility in the second mode. For example, when the load on the second processing system PS2 becomes high in the second mode, the network system 1 can achieve load balancing between the first processing system PS1 and the second processing system PS2 by routing the request to the first processing system PS1 for processing. Because the first processing system PS1 updates the second database rather than the first database, it is possible to prevent the first database and the second database from becoming inconsistent.

[0131] [6-5. Modification 5] For example, the gateway GW may gradually send requests accumulated in hold mode to the second processing system PS2 rather than sending them all at once. The network system 1 of modification 5 includes a request processing unit GW106. When transitioning from hold mode to the second mode, the request processing unit GW106 gradually processes the requests accumulated in hold mode. "Processing requests gradually" means that the number of requests processed per unit time (e.g., one second) does not exceed an upper limit. The unit time may be any predetermined time.

[0132] The data storage unit GW100 of the fifth modification stores processing count data indicating the number of requests processed per unit time. For example, the processing count data indicates an upper limit, such as 100 requests per second. The upper limit may be any value. The request processing unit GW106 routes the accumulated requests in hold mode to the second processing system PS2 so as not to exceed the upper limit indicated in the processing count data. The request processing unit GW106 may route the accumulated requests in a predetermined order. For example, the request processing unit GW106 may route the accumulated requests in chronological order, or in order according to the content of the requests (e.g., highest payment amount).

[0133] When the network system 1 of Variation 5 transitions from the hold mode to the second mode, it gradually processes requests accumulated in the hold mode. This allows the network system 1 to prevent a sudden increase in load immediately after transitioning to the second mode. For example, the network system 1 can reduce the communication load between the gateway GW and the second processing system PS2. The network system 1 can reduce the processing load of the second processing system PS2. As a result, the network system 1 can prevent an error in processing in response to a request due to an increase in the processing load.

[0134] [6-6. Modification 6] For example, in the hold mode, the network system 1 may not store all requests, but may cause some requests to fail and store the remaining requests. The network system 1 of modification 6 includes an error condition determination unit GW107 and an error processing unit GW108. The error condition determination unit GW107 determines whether a request accepted in the hold mode satisfies a predetermined error condition. The error condition may be any predetermined condition. It is assumed that error condition data indicating the error condition is stored in advance in the data storage unit GW100.

[0135] In the sixth modification, it is assumed that the predetermined condition is that one request out of a predetermined number of requests results in an error. The error condition determination unit GW107 counts up the accumulated number of requests each time a request is accepted. The error condition determination unit GW107 determines that the error condition is met each time the accumulated number is equal to or greater than a threshold. For example, if the error condition is that one in five requests results in an error, the error condition determination unit GW107 determines that the error condition is met each time five requests are accepted. The error condition is not limited to the example of the sixth modification. For example, the error condition may be that a request that results in an error is randomly selected.

[0136] When the error processing unit GW108 determines that a request accepted in the hold mode satisfies an error condition, it processes the request as an error without storing the request. A request error may be handled by a method adopted in known cloud services. For example, the error processing unit GW108 may process the request as an error by sending data indicating an error to a content delivery network service (CDN). When the error processing unit GW108 does not determine that a request accepted in the hold mode satisfies an error condition, it stores the request.

[0137] The network system 1 of the sixth modification example determines whether a request accepted in the hold mode satisfies a predetermined error condition. If the network system 1 determines that a request accepted in the hold mode satisfies the error condition, the network system 1 does not store the request and processes it as an error. This prevents the gateway GW from storing too many requests in the hold mode. For example, it can prevent the gateway GW from becoming overwhelmed by the number of sessions and being unable to process the requests that are being stored.

[0138] [6-7. Modification 7] For example, the predetermined condition in Modification 6 may be a request for an attack against the network system 1. The error condition determination unit GW107 in Modification 7 determines whether a request accepted in the hold mode is a request related to an attack against the network system 1, thereby determining whether the request satisfies the predetermined condition. The error condition determination unit GW107 may determine whether the request is an attack request based on the content of the request or accompanying information.

[0139] For example, the error condition determination unit GW107 may determine that a request is an attack request if the IP address from which the request is sent is a predetermined address. The error condition determination unit GW107 may determine that a request is an attack request if the location of the user terminal UT or the like from which the request is sent is a predetermined location. The error condition determination unit GW107 may determine that a request is an attack request if the content of the payment amount or the like indicated by the request is predetermined content. The error condition determination unit GW107 may estimate whether a request is an attack request using a machine learning model based on multiple items related to the request.

[0140] When a request accepted in the hold mode is determined to be an attack request, the error processing unit GW108 of the seventh modification does not store the request but processes it as an error. When a request accepted in the hold mode is determined to be not an attack request, the error processing unit GW108 stores the request.

[0141] The network system 1 of the seventh modification determines whether a request accepted in the hold mode is a request related to an attack on the network system, thereby determining whether the request satisfies a predetermined condition. This allows the network system 1 to process a request suspected of being an attack as an error, thereby improving security. The network system 1 can prevent the gateway GW from being unable to process a request due to a request suspected of being an attack.

[0142] [6-8. Variation 8] For example, when the number of accumulated requests in the hold mode becomes large, the network system 1 may be unable to process all the requests using only the second processing system PS2, even after switching to the second mode. Therefore, the network system 1 may have a third processing system, different from the first processing system PS1 and the second processing system PS2, process the requests. The third processing system is capable of updating a third database managed by the third database system. The third processing system may have a configuration similar to that of the first processing system PS1 and the second processing system PS2. The third database may have a configuration similar to that of the first database and the second database. The third database is configured to synchronize data with at least one of the first database and the second database in real time.

[0143] The network system 1 of Modification 8 includes a storage number determination unit GW105. The storage number determination unit GW105 is as described in Modification 2. When it is determined that the storage number is equal to or greater than the threshold, the second mode transition unit GW103 of Modification 8 transitions the second database and the third database to a second mode in which they can each be updated based on a request. For example, the gateway GW routes some of the requests to the second processing system PS2 and the remaining requests to the third processing system. The third processing system processes the requests using a process similar to that of the first processing system PS1 and the second processing system PS2. In the second mode, the third database is synchronized with the second database in real time. The third database may be independent of the second database, with data not synchronized with the second database.

[0144] The network system 1 of the eighth modification example determines whether the number of accumulated requests in the hold mode has reached a threshold value or more. If the network system 1 determines that the accumulated number has reached the threshold value, the network system 1 transitions to the second mode in which the second database and the third database can each be updated based on requests. This prevents the network system 1 from being unable to process all the requests after transitioning to the second mode due to too many requests accumulating during the hold mode.

[0145] [6-9. Other Modifications] For example, the above modifications may be combined.

[0146] For example, in the embodiments and Modifications 1 to 8, a transition from a first region to a second region is described as an example. However, the network system 1 may also be applied to a transition that does not involve a transition across regions. For example, the network system 1 may also be applied to a transition from a first database in a region to a second database in the region. For example, the same business operator may provide both payment services and cloud services to users. For example, the first database and the second database may be updated under the control of the same computer. For example, a change in the master-slave relationship between the first database and the second database may be determined by an operator, and the operator may manually input the change in the master-slave relationship into the network system 1.

[0147] For example, in the embodiment, a case has been described in which the main processing is executed by the gateway GW, but the processing described as being executed by the gateway GW may be executed by another configuration of the network system 1. The processing described as being executed by the gateway GW may be shared among multiple computers. The processing described as being executed by the transition control device CD may be executed by another configuration of the network system 1. The processing described as being executed by the transition control device CD may be shared among multiple computers.

[0148] [7. Supplementary Note] For example, the network system may also have the following configuration: (1) A network system including: a hold mode transition unit that, when instructed to transition from a first mode in which a first database is updated based on a request accepted via a network to a second mode in which a second database, to which the contents of the first database are copied in the first mode, is updated based on the request, transitions from the first mode to a hold mode in which the request is put on hold, a change determination unit that, when transitioning from the first mode to the hold mode, determines whether a master-slave relationship between the first database and the second database has changed, and a second mode transition unit that, when it is determined that the master-slave relationship has changed, transitions from the hold mode to the second mode. (2) The network system according to (1), wherein in the first mode, a first processing system located in a first region receives the request and updates the first database managed in the first region, a second processing system located in a second region does not receive the request, and the contents of the first database are copied to the second database managed in the second region, and in the second mode, the second processing system receives the request and updates the second database managed in the second region, and the first processing system does not receive the request, and the contents of the second database are copied to the first database. (3) The network system according to (1) or (2), wherein the hold mode transition unit transitions to the hold mode when an instruction to restore from the second mode to the first mode is received after transition to the second mode, the change determination unit determines whether the master-slave relationship has been restored when transitioning from the second mode to the hold mode, and the network system further includes a recovery unit that restores from the hold mode to the first mode when it is determined that the master-slave relationship has been restored.(4) The network system according to any of (1) to (3), further including a setting unit that sets the endpoint related to the request so that the endpoint related to the request is set to a gateway related to an API, wherein in the first mode, the gateway routes the request so that the first database is updated by the gateway, in the hold mode, the gateway accumulates the request, and in the second mode, the gateway routes the request so that the second database is updated by the gateway, and further including a canceling unit that cancels the setting when transition from the hold mode to the second mode is completed. (5) The network system according to (4), wherein the setting unit sets the setting so that the endpoint is set to the gateway located behind a cloudfront that accepts various requests including the request. (6) The network system according to (4) or (5), further including an accumulated number determination unit that determines whether the accumulated number of the requests accumulated in the hold mode has reached a threshold or more, and when it is determined that the accumulated number has reached the threshold or more, the setting unit performs new setting so that the endpoint is set to a new gateway. (7) The network system according to any of (4) to (7), wherein the setting unit performs the setting so that the endpoint is set to the gateway located behind a cloud front that accepts various requests including the request, and when it is determined that the accumulated number is equal to or greater than the threshold, performs the new setting so that the endpoint is set to the new gateway located behind the cloud front, and the request is routed by a load balancer located between the cloud front and the gateway and the new gateway. (8) The network system according to any of (4) to (7), wherein the change determination unit determines that the master-slave relationship has changed when a change in the master-slave relationship is detected by the gateway.(9) The network system according to (2), wherein in the first mode, the first database is updated by a first processing system, and in the second mode, the second database can be updated by each of the first processing system and the second processing system. (10) The network system according to any of (1) to (9), wherein, when the network system transitions from the hold mode to the second mode, the network system further includes a request processing unit that gradually processes the requests accumulated in the hold mode. (11) The network system according to any of (1) to (10), wherein the network system further includes: an error condition determination unit that determines whether the request accepted in the hold mode satisfies a predetermined error condition; and an error processing unit that, when it is determined that the request accepted in the hold mode satisfies the error condition, does not accumulate the request but processes it as an error. (12) The network system according to (11), wherein the error condition determination unit determines whether the request accepted in the hold mode is a request related to an attack on the network system, thereby determining whether the request satisfies the predetermined condition. (13) The network system according to any one of (1) to (12), further including an accumulation number determination unit that determines whether the accumulated number of the requests accumulated in the hold mode has reached a threshold or more, and when it is determined that the accumulated number has reached the threshold or more, the second mode transition unit transitions to the second mode in which each of the second database and the third database can be updated based on the request.

Claims

1. A network system comprising: a hold mode transition unit that, when instructed to transition from a first mode in which a first database is updated based on a request received via a network, to a second mode in which a second database, to which the contents of the first database are copied in the first mode, is updated based on the request, transitions from the first mode to a hold mode in which the request is put on hold; a change determination unit that, when transitioning from the first mode to the hold mode, determines whether a master-slave relationship between the first database and the second database has changed; and a second mode transition unit that, when it is determined that the master-slave relationship has changed, transitions from the hold mode to the second mode.

2. The network system of claim 1, wherein in the first mode, a first processing system located in a first region receives the request and updates the first database managed in the first region, and a second processing system located in a second region does not receive the request, and the contents of the first database are copied to the second database managed in the second region, and in the second mode, the second processing system receives the request and updates the second database managed in the second region, and the first processing system does not receive the request, and the contents of the second database are copied to the first database.

3. The network system according to claim 1 or 2, wherein the hold mode transition unit transitions to the hold mode when an instruction to restore from the second mode to the first mode is given after transition to the second mode, the change determination unit determines whether the master-slave relationship has been restored when transitioning from the second mode to the hold mode, and the network system further includes a recovery unit that restores from the hold mode to the first mode when it is determined that the master-slave relationship has been restored.

4. The network system according to claim 1 or 2, further comprising: a setting unit that sets the endpoint for the request so that the endpoint for the request is set in a gateway for an API; in the first mode, the gateway routes the request so that the first database is updated; in the hold mode, the gateway accumulates the request; and in the second mode, the gateway routes the request so that the second database is updated; and the network system further comprises a release unit that releases the setting when transition from the hold mode to the second mode is completed.

5. The network system according to claim 4, wherein the setting unit performs the setting so that the endpoint is set in the gateway located behind a cloud front that accepts various requests including the request.

6. The network system according to claim 4, further comprising an accumulation number determination unit that determines whether the accumulated number of requests accumulated in the hold mode has reached a threshold value or more, and the setting unit performs new settings so that the endpoint is set to a new gateway when it is determined that the accumulated number has reached the threshold value or more.

7. The network system described in claim 6, wherein the setting unit performs the setting so that the endpoint is set to the gateway located behind the cloud front that accepts various requests including the request, and when it is determined that the accumulated number has reached or exceeded the threshold, performs the new setting so that the endpoint is set to the new gateway located behind the cloud front, and the request is routed by a load balancer located between the cloud front and the gateway and the new gateway.

8. The network system according to claim 4, wherein said change determination unit determines that said master-slave relationship has been changed when a change in said master-slave relationship is detected by said gateway.

9. The network system of claim 2, wherein in the first mode, the first database is updated by the first processing system, and in the second mode, the second database can be updated by each of the first processing system and the second processing system.

10. The network system according to claim 1 or 2, further comprising a request processing unit that, when the network system transitions from the hold mode to the second mode, gradually processes the requests that have been accumulated in the hold mode.

11. The network system according to claim 1 or 2, further comprising: an error condition determination unit that determines whether the request accepted in the hold mode satisfies a predetermined error condition; and an error processing unit that, when it is determined that the request accepted in the hold mode satisfies the error condition, processes the request as an error without storing it.

12. The network system described in claim 11, wherein the error condition determination unit determines whether the request accepted in the hold mode is a request related to an attack on the network system, thereby determining whether the request satisfies the specified condition.

13. The network system according to claim 1 or 2, further comprising an accumulation number determination unit that determines whether the accumulated number of the requests accumulated in the hold mode has reached a threshold value or more, and when it is determined that the accumulated number has reached the threshold value, the second mode transition unit transitions to the second mode in which each of the second database and the third database can be updated based on the requests.

14. A transition method comprising: a hold mode transition step, when instructed to transition from a first mode in which a first database is updated based on a request accepted via a network, to a second mode in which a second database, to which the contents of the first database are copied in the first mode, is updated based on the request, transitioning from the first mode to a hold mode in which the request is put on hold; a change determination step, when transitioning from the first mode to the hold mode, determining whether or not a master-slave relationship between the first database and the second database has changed; and a second mode transition step, when it is determined that the master-slave relationship has changed, transitioning from the hold mode to the second mode.

15. A program for causing a computer to function as: a hold mode transition unit that, when instructed to transition from a first mode in which a first database is updated based on a request received via a network, to a second mode in which a second database, to which the contents of the first database are copied in the first mode, is updated based on the request; a change determination unit that, when transitioning from the first mode to the hold mode, determines whether the master-slave relationship between the first database and the second database has changed; and a second mode transition unit that, when it is determined that the master-slave relationship has changed, transitions from the hold mode to the second mode.

Citation Information

Patent Citations

  • Database shifting device, database shifting method and database shifting program

    JP2005182286A

  • Database management apparatus and database management method

    JP2013246676A