Network systems, migration methods, and programs
Patent Information
- Application Number
- JP2025508533
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-02-21
- Publication Date
- 2026-09-03
- Estimated Expiration
- 2044-02-21
AI Technical Summary
【0007】 本開示によれば、リクエストのエラーを回避しつつ、データベースを移行できる。
Smart Images

Figure 0007915373000001 
Figure 0007915373000002 
Figure 0007915373000003
Abstract
Description
[[Technical Field]]
[0001] The present disclosure relates to a network system, a migration method, and a program. [[Background Art]]
[0002] Conventionally, there has been known a network system that executes predetermined processing and updates a database based on a request received via a network. In such a network system, migration from a first database to a second database may be performed. For example, Patent Document 1 describes a data migration management system that migrates data from a first database to a second database based on a migration information table indicating a database migration plan when data migration work is performed between a plurality of databases. [[Prior Art Literature]] [[Patent Literature]]
[0003] [[Patent Document 1]] Japanese Patent Laid-Open No. 2019-020793 [[Summary of the Invention]] [[Problem to be Solved by the Invention]]
[0004] However, in the data migration management system of Patent Document 1, it is necessary to stop the service using the database while the migration work according to the migration plan is being performed. For example, if a request is received during the migration work from the first database to the second database, the service is stopped, so the request is not processed and results in an error. For this reason, there is a demand for migrating the database while avoiding request errors.
[0005] One object of the present disclosure is to migrate a database while avoiding request errors. [[Means for Solving the Problem]]
[0006] The network system relating to this disclosure includes: a hold mode transition unit that transitions from a first mode in which a first database is updated based on a request received via the network to a hold mode in which the request is put on hold when instructed to transition from a first mode in which a first database is updated based on a request to a second mode in which the contents of a second database, which is copied in the first mode in the first mode, is updated based on the request; a change determination unit that determines whether the master-slave relationship between the first database and the second database has been changed when transitioning from the first mode to the hold mode; and a second mode transition unit that transitions from the hold mode to the second mode when it is determined that the master-slave relationship has been changed. [Effects of the Invention]
[0007] According to this disclosure, it is possible to migrate the database while avoiding request errors. [Brief explanation of the drawing]
[0008] [Figure 1] This figure shows an example of the overall configuration of a network system. [Figure 2] This is an example of the hardware included in each component of a network system. [Figure 3] This figure shows an example of a function implemented in a network system. [Figure 4] This diagram shows an example of the transition process from Mode 1 to Mode 2. [Figure 5] This diagram shows an example of the transition process from Mode 1 to Mode 2. [Figure 6] This diagram shows an example of the transition process from Mode 1 to Mode 2. [Figure 7] This diagram shows an example of the transition process from Mode 1 to Mode 2. [Figure 8] This diagram shows an example of the transition process from Mode 1 to Mode 2. [Figure 9]This figure shows an example of a process performed in a network system. [Figure 10] This figure shows an example of a process performed in a network system. [Figure 11] This figure shows an example of a process performed in a network system. [Figure 12] This figure shows an example of a process performed in a network system. [Figure 13] This figure shows an example of a process performed in a network system. [Figure 14] This figure shows an example of the functionality implemented in the modified network system. [Modes for carrying out the invention]
[0009] [1. Overall configuration of the network system] This document describes an example of an embodiment of the network system, migration method, and program relating to this disclosure. In this embodiment, an example of the network system, migration method, and program is described using a scenario in which a service provider operating a predetermined service collaborates with a cloud provider operating a cloud service to provide a predetermined service to an end user. The scenario to which the network system, migration method, and program are applied is not limited to the example of this embodiment. The network system, migration method, and program may be applied to any scenario in which a network is used.
[0010] The specified service is a service used by the end user. In this embodiment, the service provided by the service provider to the end user using the cloud service corresponds to the specified service. The specified service may be any service. For example, the specified service may be a payment service, e-commerce service, communication service, financial service, travel booking service, online flea market service, or other service. In this embodiment, the case where a payment service corresponds to the specified service is given as an example. Therefore, where it says "payment service", it can be read as "specified service".
[0011] Cloud services are services provided over a network such as the internet, public communication lines, LANs, or VPNs. In cloud services, at least one of hardware or software is provided over the network. For example, hardware provided in cloud services may include server computers, storage, communication equipment, or other hardware. Software provided in cloud services may include operating systems, other programs (applications) besides operating systems, virtual machines, or other software.
[0012] In this embodiment, we take an example where the service provider is a different entity from the cloud provider. Therefore, the service provider is a user of the cloud service operated by the cloud provider. The end user is also a user who indirectly uses the cloud service. Hereafter, the end user will simply be referred to as the user. Note that the service provider may be the same entity as the cloud provider. That is, one entity may operate both the specified service and the cloud service.
[0013] FIG. 1 is a diagram illustrating an example of the overall configuration of a network system. For example, a 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, first processing system PS1, first database system DS1, second processing system PS2, second database system DS2, gateway GW, migration control device CD, and user terminal UT is connectable 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 provider. That is, the content delivery network service CDN is a cloud service system. The content delivery network service CDN may include at least one of any hardware and software of the aforementioned cloud service, and is configured of one or more cache servers. An example of the content delivery network CDN is Amazon CloudFront (registered trademark). For example, the content delivery network service CDN corresponds to a system that speeds up delivery of content (e.g., HTML, images, or videos) to users. When content is requested, the content delivery network service CDN reduces delay by routing the request to an appropriate data center among data centers located around the world. Note that, although the present embodiment exemplifies an aspect where the content delivery network CDN receives a request transmitted from a user, the network architecture may omit the content delivery network CDN.
[0015] In the present embodiment, a case where the hardware constituting a content delivery network service (CDN) is disposed around the world is taken as an example. In the present embodiment, the hardware disposed around the world is collectively referred to as the content delivery network service (CDN); however, when distinguishing between hardware disposed at individual locations, a content delivery network service (CDN) exists for each individual location. That is, a plurality of content delivery network services (CDNs) may exist in the network system 1. Note that the hardware constituting the content delivery network service (CDN) does not have to be disposed around the world, and may be disposed only in a specific location. For example, the hardware constituting the content delivery network service (CDN) may be disposed only in locations where users targeted by the payment service exist, or may be disposed only in locations where data centers of the service provider exist.
[0016] The first processing system PS1 is a system managed by a cloud operator. That is, the first processing system PS1 is a cloud service system. The first processing system PS1 can include at least one of any of the hardware and software of the aforementioned cloud service. The first processing system PS1 can execute any program (application) on the cloud service. The first processing system PS1 can also be described as a system that facilitates 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 created by the service provider itself 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 the first region. The first region is a different region from the second region described later. Each of the first and second regions is a location on Earth. Each of the first and second regions may be an area of a certain size. Each of the first and second regions may be any geographically identifiable division on Earth. For example, each of the first and second regions may be a country, state, city, region, prefecture, or other division. In this embodiment, the first and second regions are assumed to be a certain distance apart from each other (for example, several hundred to several thousand kilometers or more).
[0018] For example, the communication equipment that the first processing system PS1 uses to communicate with the Content Delivery Network Service (CDN) is located in the first region. The server computer that the first processing system PS1 uses to perform various processes based on requests received from the Content Delivery Network Service (CDN) is also located in the first region. If the first processing system PS1 includes hardware other than the communication equipment and server computer, that other hardware is also located in the first region. The software stored on this hardware will also reside in the first region.
[0019] The first database system DS1 is a system managed by the cloud provider. In other words, the first database system DS1 is a cloud service system. The first processing system PS1 may include at least one of the hardware and software of the aforementioned cloud service. The first database system DS1 can store any database on the cloud service. Hereafter, the database stored by the first database system DS1 will be referred to as the first database. The first database may be of 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 the 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 only needs to be located in the same first region as the hardware of the first processing system PS1, and does not need to be located in the same building or on the same premises. The first database system DS1 is assumed to be geographically close to the first processing system PS1 (for example, a few meters to tens of kilometers).
[0021] For example, communication equipment for the first database system DS1 to communicate with the first processing system PS1 is located in the first region. The server computer for 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. The storage that stores the first database is also located in the first region. If the first database system DS1 includes hardware other than communication equipment, the server computer, and storage, that other hardware is also located in the first region. The software stored on this hardware will also reside 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 the same as those of the first processing system PS1. The fact that the second processing system PS2 is managed by a cloud provider is also the same as that of the first processing system PS1. Therefore, the description of the second processing system PS2 can be read by replacing "1" with "2" in the description of the first processing system PS1.
[0023] In this embodiment, we will take the example where the hardware and software of the second processing system PS2 are basically the same as those of the first processing system PS1. However, the hardware and software of the second processing system PS2 may differ to some extent from those of the first processing system PS1. In this embodiment, the same configuration as the first processing system PS1 is copied as the second processing system PS2. Therefore, the payment service program and data 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 its role and hardware are the same as those of the first database system DS1. The fact that the second database system DS2 is managed by a cloud provider is also the same as that of the first database system DS1. Therefore, the description of the second database system DS2 can be understood by simply replacing "1" with "2" in the description of the first database system DS1.
[0025] In this embodiment, we will assume that the hardware and software of the second database system DS2 are basically the same as those of the first database system DS1. However, the hardware and software of the second database system DS2 may differ to some extent from those of the first database system DS1. Hereafter, the database stored by the second database system DS2 will be referred to as the second database. In this embodiment, the same configuration as the first database system DS1 will be copied as the second database system DS2. Therefore, the payment service program and data created by the service provider will be 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 said 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 system of the cloud service. The gateway GW may include at least one of the hardware and software of the aforementioned cloud service. The general role and hardware of the gateway GW may be the same as that of the first processing system PS1 and the second processing system PS2. Therefore, the ability of the gateway GW to execute any program on the cloud service may be the same as that of the first processing system PS1 and the second processing system PS2. 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 to APIs developed on 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®. The gateway GW may be deployed on a processing system on a different cloud service than the first processing system PS1 and the second processing system PS2. In the example in Figure 1, requests in the payment service are routed from the content delivery network service CDN to the first processing system PS1. In the state shown in Figure 4 below, the gateway GW is introduced between the content delivery network service CDN and the first processing system PS1 and the second processing system PS2. The gateway GW holds and stores requests from the content delivery network service CDN and appropriately routes them to either the first processing system PS1 or the second processing system PS2. The gateway GW includes the hardware and software necessary for these processes.
[0028] For example, the hardware constituting the gateway GW is located in the first region, the second region, or another region (for example, 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 in at least 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 data center of the service provider (not shown in Figure 1) may also be located in the second region. That is, of the various components of 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 the service provider's computer. For example, the migration control device CD is a personal computer, server computer, tablet, or smartphone. The service provider manages various hardware and software not shown in Figure 1. For example, the service provider has a data center that manages the hardware and software necessary for payment services. In this embodiment, the service provider's data center is located in the second region. Since the first and second regions are geographically separated, the service provider's data center is geographically separated from the first processing system PS1 and the first database system DS1.
[0030] In this embodiment, we take as an example the case in which a service provider's operator operates the migration control device CD to perform the tasks necessary for transitioning to each mode described later. For example, the operator may operate the migration control device CD to upload the programs and data necessary for the payment service to the cloud service. The operator may operate the migration control device CD to perform various settings on the cloud service necessary for the payment service. The operator may operate the migration control device CD to perform maintenance on the payment service. In this embodiment, the migration control device CD is assumed to be located in the second region, but the migration control device CD may be located in any region.
[0031] The user terminal (UT) is the user's computer. For example, the migration control device (CD) is a personal computer, tablet, smartphone, or wearable device. In the example in Figure 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] Furthermore, requests may be sent directly 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. In addition, a member of the payment service (e.g., a store) can also be considered a user of the payment service. For this reason, the terminal of a member of the payment service (e.g., a store's POS terminal, self-checkout, or handheld terminal) may correspond to the user terminal UT. A user is not limited to someone making a payment through the payment service, but may also be someone receiving a payment through the payment service.
[0033] Hereafter, 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), the Migration Control Device (CD), the Gateway (GW), and the User Terminal (UT) are not distinguished, they will be referred to as "each configuration of Network System 1." Therefore, where it is written as "each configuration of Network System 1," it means any configuration 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), the Gateway (GW), the Migration Control Device (CD), and the User Terminal (UT).
[0034] Figure 2 shows an example of hardware included in each configuration of the network system 1. In this embodiment, it is assumed that the hardware shown in Figure 2 is included in each configuration of the network system 1. Figure 2 shows an example of a server computer included in each configuration of the network system 1. For example, each configuration of the network system 1 includes at least a part of the control unit 11, storage unit 12, communication unit 13, operation unit 14, display unit 15, and input / output unit 16. Each configuration of the network system 1 can include any hardware. Each configuration of the network system 1 may not include some of the hardware shown in Figure 2, or it may include hardware not shown in Figure 2.
[0035] For example, the control unit 11 includes at least one processor. The storage unit 12 includes at least one of volatile memory such as RAM and 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 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 an information storage medium or other configuration.
[0036] In this embodiment, when identifying each of the hardware components included in each configuration of the network system 1 (for example, the control unit 11, storage unit 12, communication unit 13, operation unit 14, display unit 15, and input / output unit 16), the code of each component is added to the end of their respective codes. For example, when identifying the hardware of the migration control device CD, it is written as control unit 11CD, storage unit 12CD, storage unit 13CD, operation unit 14CD, display unit 15CD, and input / output unit 16CD. When identifying the hardware of the gateway GW, it is written as control unit 11GW, storage unit 12GW, storage unit 13GW, operation unit 14GW, display unit 15GW, and input / output unit 16GW.
[0037] Furthermore, programs stored in each component of the network system 1 may be supplied to each component via the network. For example, a program stored on an information storage medium may be supplied to each component of the network system 1 via the input / output unit 16. Alternatively, each component of the network system 1 may include a read unit (e.g., a memory card slot) for reading a computer-readable information storage medium. A program stored on the information storage medium may be supplied to each component of the network system 1 via the read unit.
[0038] Furthermore, the network system 1 may include at least one of the configurations described in this embodiment. The configurations included in the network system 1 are not limited to the example in Figure 1. For example, the network system 1 may include a gateway GW and a migration control device CD, but may not include other configurations. In this case, the other configurations exist outside the network system 1. The network system 1 may include only a gateway GW, but may not include other configurations, including the migration control device CD. In this case, the other configurations, including the migration control device CD, exist outside the network system 1. The network system 1 may include only a migration control device CD, but may not include other configurations, including the gateway GW. In this case, the other configurations, including the gateway GW, exist outside the network system 1. The network system 1 may also include configurations not shown in Figure 1.
[0039] [2. Overview of the Network System] For example, a user uses a payment service by operating a user terminal UT. This embodiment describes an example of the process when a user makes an electronic payment (cashless payment). For example, a user uses a payment service by having a merchant terminal of a merchant participating in the payment service read a code (e.g., a barcode or a two-dimensional code) displayed on the user terminal UT. A user may also make a payment using a method other than a code. For example, a user may make a payment using the IC chip of the user terminal UT, or using another medium other than the user terminal UT (e.g., a credit card).
[0040] For example, the first database manages tokens in which information about the payment method used by the user in the payment service (e.g., credit card number) is converted into a random sequence of symbols. The first database may also manage other data necessary for the payment service. When a user uses the payment service to make a payment to a merchant, the user terminal (UT) or merchant 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 the Content Delivery Network Service (CDN) is located around the world, the service provider's data center sends the request to the Content Delivery Network Service (CDN) in the same region as its own or a neighboring region. A neighboring region may be the closest region.
[0041] In this embodiment, we take the example 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 the Content Delivery Network Service CDN in the second region, out of the Content Delivery Network Service CDNs located around the world. The routing mechanism from the Content Delivery Network Service CDN to receiving the request from the service provider's data center can utilize the routing mechanism employed by well-known cloud services (e.g., Amazon® Web Services or other cloud services). The request routing mechanism described below can also utilize the routing mechanism employed by well-known cloud services.
[0042] In the example in Figure 1, when the Content Delivery Network Service (CDN) receives a request from the service provider's data center, it routes the request to the first processing system (PS1). In the example in Figure 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 a request from the Content Delivery Network Service (CDN), it performs the necessary processing for payment based on the request. For example, the request includes a token for the payment method specified by the user as the payer. The first processing system (PS1) communicates with the first database system (DS1) and retrieves information about the payment method associated with the token from the first database.
[0043] For example, the first processing system PS1 executes a payment based on the payment method information. The first processing system PS1 communicates with the first database system DS1 and updates the first database based on the payment execution result. Data such as the payment amount, payment date and time, and 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 needed.
[0044] For example, the first processing system PS1 sends execution result data indicating the payment execution result to the Content Delivery Network Service (CDN). Upon receiving the execution result data, the CDN routes the execution result data to the service provider's data center. Alternatively, the execution result data may be sent directly from the first processing system PS1 to the CDN. Upon receiving the execution result data from the CDN, the service provider's data center executes the processing necessary to complete the payment. For example, the service provider's data center notifies both the user terminal (UT) and the merchant terminal that the payment has been completed. A screen indicating that the payment has been completed is displayed on both the user terminal (UT) and the merchant terminal. The payment is completed through this process.
[0045] In this embodiment, the first region and the second region have a master-slave relationship. In the example in Figure 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 in Figure 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 and second databases can be achieved using known methods such as Binary Log Replication.
[0046] For example, when a payment is executed 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 they may be synchronized each time a payment is made (each time the primary database is updated).
[0047] For example, if the communication required for payment is completed within the first region, then communication is completed only within geographically close configurations, making delays less likely. On the other hand, if the communication required for payment spans both the first and second regions, then communication occurs between geographically distant configurations, potentially causing delays. 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, which may cause delays.
[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, for a user in Japan to use the payment service of a service provider with a data center in Japan, network system 1 needs to communicate across Japan and the United States. Therefore, delays may occur due to geographical constraints. For example, the user may have to wait for the payment to be completed, or the payment may time out and not be completed.
[0049] Therefore, in this embodiment, the master-slave relationship between the first and second regions is transitioned so that communication spanning both regions does not occur. Hereafter, the state in which the first region is the master and the second region is the slave is called the first mode. The state in which the second region is the master and the first region is the slave is called the second mode. The example in Figure 1 is the first mode. When the transition from the first mode to the second mode occurs, the communication necessary for settlement is completed only within the second region, so the network system 1 can suppress the occurrence of delays.
[0050] For example, suppose a service provider puts the payment service into maintenance mode and temporarily suspends it in order to transition from mode 1 to mode 2. If a user tries to make a payment during maintenance, the request will result in an error, and the payment will not be executed. In this case, user convenience is reduced. From the service provider's perspective, this leads to lost opportunities. Therefore, in this embodiment, network system 1 has a function that enables the transition from mode 1 to mode 2 while avoiding request errors. The details of network system 1 will be described below.
[0051] [3. Functions implemented by the network system] Figure 3 shows an example of the functions implemented in Network System 1. Figure 3 illustrates the functions implemented in each component of Network System 1: the Gateway GW and the Transition Control Device CD. The functions of the other components will be explained within the descriptions of the functions of the Gateway GW and the Transition Control Device CD.
[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 implemented by the storage unit 12CD of the transition control device CD. The setting unit CD101 and the release unit CD102 are implemented by the 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 implemented by the storage unit 12 of the gateway GW. Each of the hold mode transition unit GW101, the change determination unit GW102, and the second mode transition unit GW103 is implemented by the control unit 11 of the gateway GW.
[0054] Figures 4 to 8 illustrate an example of the transition from the first mode to the second mode. The functions of each component of network system 1 described below are related to the transition from the first mode to the second mode. The functions of each component of network system 1 will be explained mainly with reference to Figures 4 to 8.
[0055] The data storage unit CD100 stores the data necessary for transitioning from the first mode to the second mode. For example, the data storage unit CD100 stores the browser used by the service provider's operator to access the cloud service. The operator logs into the cloud service through the browser and performs tasks such as uploading various programs necessary for the payment service, uploading various data necessary for the payment service, performing various configuration tasks necessary for the payment service, or a combination of these tasks. The operator may also perform these tasks using a dedicated application for the cloud service instead of a browser. In this case, the data storage unit CD100 stores the dedicated application for the cloud service.
[0056] For example, the data storage unit CD100 may store programs and data to be uploaded to the cloud service. The operator operates the migration control device CD to upload various programs necessary for the payment service to at least one of the first processing system PS1 and the second processing system PS2. For example, such programs include program code that indicates the process of executing a payment based on information of the payment method associated with the token. Such programs may also include program code that indicates other processes necessary for the payment service.
[0057] Hereafter, 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, they will be referred to as "each configuration of the cloud service." Therefore, where it is written as "each configuration of the cloud service," it means any configuration 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 the programs necessary for the payment service to any configuration 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 necessary 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 and second databases, or it may be a record that constitutes at least one of them. Furthermore, the data may be different from the data in the first and second databases. The operator may also upload the data necessary for the payment service to other configurations 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 necessary 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 the same as those used in well-known cloud services. For example, the operator configures the routing of payment service requests. In the first mode shown in Figure 1, payment service requests are routed to the first processing system PS1, so the operator configures the content delivery network service CDN so that the routing configuration data indicating the routing destination for payment service requests points to the first processing system PS1.
[0060] The routing configuration data may be stored in the Content Delivery Network Service (CDN) or in other configurations of the cloud service. In this case, the operator configures the routing configuration data in the other configurations of the cloud service. The format of the routing configuration data may be the same as that used by well-known cloud services. For example, the routing configuration data may show the destination URL, name, IP address, program name, API name, or other information.
[0061] For example, routing configuration data may be DNS data that shows the relationship between a domain name and an IP address in the DNS (Domain Name System). In this case, the routing configuration data is stored in the DNS server. In the first mode shown in Figure 1, the routing configuration data may associate the first processing system PS1 with the domain name included in the request for payment execution. The routing configuration data may also indicate an endpoint in the payment service API. An endpoint is the final touchpoint in communication using the API. For example, the routing configuration data may be data that indicates an endpoint in a type of DNS called Route53.
[0062] Note that the data stored by the data storage unit CD100 is not limited to the examples above. The data storage unit CD100 only needs to store the data necessary for transitioning from the first mode to the second mode. For example, the data storage unit CD100 may store maintenance tools for operators to perform maintenance on the payment service. The data storage unit CD100 may also store network configuration data that shows the network configuration of the network system 1. The network configuration data is assumed to include information such as IP addresses for each component of the network system 1.
[0063] The data storage unit GW100 stores the data necessary for transitioning from the first mode to the second mode. For example, the data storage unit GW100 stores the current mode data, which will be described later. The data storage unit GW100 may also store routing destination data indicating the routing destination in each of the first and second modes. The routing destination data associates the fact that the current mode is the first mode with the fact that the first processing system PS1 is the routing destination. The routing destination data associates the fact that the current mode is the second mode with the fact that the second processing system PS2 is the routing destination.
[0064] The data stored by the data storage unit GW100 is not limited to the examples above. 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 the pending mode described later. The request data may include 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 the procedure for routing requests.
[0065] The configuration unit CD101 performs various settings related to at least one of the payment service and the cloud service. In this embodiment, the settings related to request routing among the settings performed by the configuration unit CD101 will be described. For example, when the network system 1 is operating in the first mode (state shown in Figure 1), the configuration unit CD101 performs endpoint settings so that the endpoint related to the request is set to the gateway GW related to the API. The endpoint is shown in the routing configuration data.
[0066] For example, the configuration unit CD101 sends a request to the configuration that manages routing configuration data (e.g., the Content Delivery Network Service CDN or another configuration) among the cloud service configurations, to set the endpoint for requests in the payment service to the gateway GW. When the configuration that manages routing configuration data receives the request from the configuration unit CD101, it updates its routing configuration data so that the endpoint for requests in the payment service becomes the gateway GW. Even if it takes time to configure the endpoint, requests will be routed with the current settings, so there is no problem in the operation of the payment service.
[0067] In the example shown in Figure 4, the configuration unit CD101 configures the gateway GW located after the Content Delivery Network Service CDN, which accepts various requests including payment service requests (for example, requests for services other than payment services, or personal use requests unrelated to a specific service), so that an endpoint is set there. Other devices may exist between the Content Delivery Network Service CDN and the gateway GW. The Content Delivery Network Service CDN can route requests to the gateway GW directly or indirectly. Direct routing means that no other devices are involved between the routing source device and the routing destination device. Indirect routing means that other devices are involved between the routing source device and the routing destination device.
[0068] For example, if the endpoint for a payment service request is changed to the gateway GW, as shown in Figure 4, the Content Delivery Network Service (CDN) will route the payment service request to the gateway GW instead of the first processing system (PS1). The Content Delivery Network Service (CDN) only needs to route the request to the gateway GW based on the updated routing configuration data. As mentioned earlier, communication until the gateway GW receives the request is completed within the second region (for example, a specific city or region in Japan) or its vicinity (for example, within Japan).
[0069] In the example in Figure 4, the gateway GW routes the request to the first processing system PS1. The gateway GW stores routing destination data that indicates the destination of the request it receives as an endpoint. In the example in Figure 4, the routing destination data shows the first processing system PS1. The gateway GW routes the request received from the Content Delivery Network Service (CDN) to the first processing system PS1.
[0070] As mentioned earlier, since the first processing system PS1 is located in the first region (for example, a specific city or region in the United States), the communication for the gateway GW to route requests to the first processing system PS1 spans both the first and second regions. In the example in Figure 4, the subsequent processing flow of the request is the same as in Figure 1. The execution result data showing the result of the settlement may be sent from the first processing system PS1 to the settlement service data center via the gateway GW and the Content Delivery Network Service (CDN). The process by which the contents of the first database are reflected in the second database may also be the same as in Figure 1.
[0071] Note that the settings performed by the configuration unit CD101 are not limited to endpoint changes. For example, when a transition occurs from the first mode to the second mode, the configuration unit CD101 configures the transition to a pending mode in which requests are held. Pending mode is a mode in which requests are not routed. In other words, pending mode is a mode in which requests are accumulated. For example, the configuration unit CD101 requests a transition to pending mode for each configuration of the cloud service that holds requests. The transition to pending mode can also be considered the end of the first mode. The transition to pending mode can also be considered the start of the transition from the first mode to the second mode.
[0072] In this embodiment, as shown in Figure 5, the setting unit CD101 requests the gateway GW to transition to hold mode. The instruction to transition to hold mode is made by transmitting data in a predetermined format indicating the transition to hold mode. For example, the setting unit CD101 determines whether or not the operator has instructed the transition to hold mode. The instruction to transition to hold mode may be made by any operation from the operation unit 14CD. The transition to hold mode may be initiated automatically by prior scheduling, rather than by an instruction from the operator. In this case, the setting unit CD101 only needs to determine whether or not a predetermined date and time has arrived. If the setting unit CD101 determines that the date and time has arrived, it may request the transition to hold mode.
[0073] The transition to hold mode may be scheduled within the gateway GW. In this case, when the scheduled date and time arrives, the gateway GW will transition to hold mode without any request being made 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, hold mode, or the second mode.
[0074] The hold mode transition unit GW101 transitions from the first mode, where the first database is updated based on requests received via the network, to the hold mode, where requests are held, when instructed to transition from the first mode, where the first database is updated based on requests, to the second mode, where the second database, which is copied in the first mode, is updated based on requests. 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 the processing to be performed based on the request. When the first processing system PS1 receives a request, it executes the program based on the data contained in the request and updates the first database. For example, the first processing system PS1 retrieves the data necessary for settlement from the first database based on the token contained in the request and performs the settlement. The first processing system PS1 updates the first database based on the settlement execution result. For example, the first processing system PS1 stores data indicating the settlement amount, settlement location, and settlement date and time in the first database.
[0076] For example, in the first mode, the gateway GW routes requests so that the first database is updated. Therefore, if 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 Figure 4. In the first mode, the second processing system located in the second region does not receive requests. In the first mode, the contents of the first database are copied to the second database managed in the second region. These processes are as described above. For example, the gateway GW routes requests based on the routing destination data stored in its data storage unit GW100.
[0077] In this embodiment, in hold mode, requests are accumulated by the gateway GW. For example, if the current mode data indicates hold mode, the gateway GW does not route requests from the Content Delivery Network Service (CDN), as shown in Figure 5. The gateway GW accumulates requests. Request accumulation is a state in which the gateway GW does not route requests externally and does not process requests as errors. Request accumulation can also be described as request hold. The gateway GW records the data of requests received during hold mode in the data storage unit GW100. Since the session of each request is maintained during hold mode, the gateway GW keeps data indicating the session of the accumulated requests in the data storage unit GW100.
[0078] The change determination unit GW102 determines whether the master-slave relationship between the first database and the second database has been changed when the system transitions from the first mode to the hold mode. In this embodiment, we take the case where the change in the master-slave relationship is detected by the gateway GW as an example. 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. The gateway GW detects the change in the master-slave relationship by receiving a change completion notification indicating the completion of the change from at least one of the first database system DS1 and the second database system DS2. The change determination unit GW102 can 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] The master-slave relationship data, which indicates 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 performs a process with the second database system DS2 to reflect the contents of the first database in the second database. That is, 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 those of the first database. As mentioned above, the method for synchronization may be a known method.
[0080] For example, when the first database system DS1 and the second database system DS2 detect that network system 1 has entered hold mode, they modify 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 configuration indicating that network system 1 has entered hold mode. As shown in Figure 6, when each of the first database system DS1 and the second database system DS2 receives such a notification, they 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 it stores to indicate that the first database is the subordinate and the second database is the principal. If the change in the master-slave relationship requires changes to other data, those other data may be changed. Once the master-slave relationship data is updated, synchronization between the first and second databases is resumed. When the second database system DS2 determines that it is the principal based on the master-slave relationship data, it performs a process with the first database system DS1 to reflect the contents of the second database in the first database. That is, 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 mentioned above, the method for synchronization 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 been 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. If the change determination unit GW102 does not determine that the master-slave relationship has been changed, the second mode transition unit GW103 does not transition from the hold mode to the second mode and maintains the hold mode. In other words, a change in the master-slave relationship is the 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 the processing to be performed based on the request. When the second processing system PS2 receives a request, it executes the program based on the data contained in the request and updates the second database. For example, the second processing system PS2 retrieves the data necessary for settlement from the second database based on the token contained in the request and performs the settlement. The second processing system PS2 updates the second database based on the settlement execution result. For example, the second processing system PS2 stores data indicating the settlement amount, settlement location, and settlement 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, if the current mode data indicates the second mode, the gateway GW routes requests from the Content Delivery Network Service (CDN) to the second processing system PS2, as shown in Figure 7. 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 the routing destination data stored in its own data storage unit GW100. The transition to the second mode may be completed with the above processing, but 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 endpoint settings when the transition from pending mode to second mode is complete. It sends a request to the configuration that manages routing configuration data (e.g., the Content Delivery Network Service CDN or other configurations) among the cloud service configurations to release the setting that the request endpoint will be the gateway GW. When the configuration that manages routing configuration data receives the request from the configuration unit CD101, it updates the routing configuration data to release the setting that the request endpoint will be the gateway GW. The endpoint returns to the state before the gateway GW was deployed in first mode (e.g., the program that was originally designated as the endpoint). Furthermore, the configuration that manages routing configuration data updates the routing configuration data so that the request is routed to the second processing system PS2. Even if it takes time to release the endpoint settings, the request will be routed with the current settings, so there is no problem in the operation of the payment service.
[0086] When the setting is released by the release unit CD102, as shown in Figure 8, the gateway GW is disconnected, 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 the same as 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 of the second database. With the above process, the transition from the first mode to the second mode is completed.
[0087] [4. Processes executed by the network system] Figures 9 to 13 illustrate an example of processing performed in the network system 1. The processing in Figure 9 is executed when the control unit 11 of each component of the network system 1 executes a program stored in the storage unit 12. The processing in each step of Figures 9 to 13 is an example of steps included in the transition method according to this disclosure. Figures 9 to 13 illustrate an example in which a service provider's operator manually instructs a transition from the first mode to the second mode from the transition control device CD.
[0088] At the start of the process shown in Figure 9, network system 1 is operating in first mode. The processes S1 to S6 shown in Figure 9 correspond to the processes in the flow shown in Figure 1. As shown in Figure 9, in first mode, the user terminal UT sends a request to the content delivery network service CDN via the payment service data center (S1). In S1, the request is routed to the content delivery network service CDN located in the same region as the data center by 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 configuration data (S3). If the current mode is mode 1, the routing configuration data indicates that the request is routed to the first processing system (PS1). In S3, the Content Delivery Network Service (CDN) sends the request to the first processing system (PS1) indicated by the routing configuration data. Alternatively, the routing configuration data may be referenced at the user terminal (UT) or data center instead of the Content Delivery Network Service (CDN). In this case, the request indicates that the request is routed to the first processing system (PS1) when the Content Delivery Network Service (CDN) receives it. The Content Delivery Network Service (CDN) simply needs to route 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 performs processing in accordance with the request with the first database system DS1 and updates the first database (S5). In S5, the first processing system PS1, based on the request, refers to the first database to obtain the information necessary for settlement and performs the settlement. The first processing system PS1 updates the first database based on the settlement execution result. The first processing system PS1 transmits the execution result data to the user terminal UT or data center via the Content Delivery Network Service (CDN). Subsequently, the first database system DS1 performs processing in accordance 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 updates to the first database to the second database system DS2. The second database system DS2 updates the second database based on this data. This synchronizes the first and second databases.
[0091] The processes S7-S15 shown in Figure 10 correspond to the processes in the flow shown in Figure 4. As shown in Figure 10, when the operator performs the operation to deploy the gateway GW, the migration control device CD deploys the gateway GW by performing the process of setting the endpoint for requests to the gateway GW in the configuration that manages routing configuration data in the cloud service (S7). Once the process in S7 is executed, the gateway GW is placed between the content delivery network service CDN and the first processing system PS1, as shown in Figure 4. Until the process in S7 is performed, a specific program of the payment service (for example, a program in the first processing system PS1) is set as the endpoint, but the process in S7 changes the endpoint to the gateway GW. As a result, the gateway GW becomes capable of receiving requests from the content delivery network service CDN. At the time of S7, the network system 1 is still operating in first mode.
[0092] The user terminal UT sends a request to the Content Delivery Network Service CDN via the payment service data center (S8). When the Content Delivery Network Service CDN receives the request (S9), it routes the request to the gateway GW (S10). The processing in S8 and S9 is the same as the processing in S1 and S2, respectively. Because the endpoint has been changed in the processing of S7, in the processing of S10, unlike the processing of S3, the request is routed to the gateway GW. When the gateway GW receives the request from the Content Delivery Network Service CDN (S11), it 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 corresponding 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 performs processing in accordance with the request with the first database system DS1 to update the first database (S14). The first database system DS1 performs processing in accordance with the second database system DS2 to reflect the contents of the first database in the second database (S15). The processing in S14 and S15 may be the same as that in S5 and S6, respectively.
[0094] The processes S16 to S23 shown in Figure 11 correspond to the processes in the flow shown in 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 can be any data in a predetermined format that indicates a transition to the hold mode. When the gateway GW receives the request (S17), it 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. As a result, the gateway GW no longer routes requests 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). When the Content Delivery Network Service CDN receives the request (S20), it routes the request to the gateway GW (S21). The processes in S19-S21 are the same as those in S8-S10. When the gateway GW receives a request from the Content Delivery Network Service CDN (S22), it stores the request (S23). In S23, the gateway GW does not route the request from the Content Delivery Network Service CDN to an external source because the current mode data indicates pending mode, but instead holds it in the storage unit 12GW. The gateway GW also maintains the session corresponding to each individual request. The routing destination data may indicate that the gateway GW should store the request in pending mode. In this case, the gateway GW determines that it should store the request based on the routing destination data.
[0096] The processes S24 to S30 shown in Figure 12 correspond to the processes in the flow shown in Figures 6 and 7. As shown in Figure 12, the first database system DS1 performs 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 transition control device CD, or other configuration indicating that the current mode has transitioned to pending mode. Upon receiving this notification, at least one of them performs 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 in S24 is executed, the master-slave relationship data indicates that the first database is the master and the second database is the slave, but after the process in 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, 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 once the processing in S24 is complete. The gateway GW detects the completion of the change in the master-slave relationship upon receiving this notification. Alternatively, 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 the completion of the change in the master-slave relationship is stored in at least one of them.
[0098] If it is determined in S25 that the change in master-slave relationship is not complete (S25:N), the process returns to S25. If a new request is generated during this time, the processes S19 to S23 in Figure 11 are executed, and the gateway GW accumulates more requests. If it is determined in S25 that the change in master-slave relationship is complete (S25:Y), the gateway GW transitions from pending mode to second mode (S26). In S26, the gateway GW updates the current mode data so that the current mode indicates second mode. As a result, the gateway GW sends the accumulated requests to the second processing system PS2.
[0099] The gateway GW routes the accumulated requests to the second processing system PS2 (S27). When the second processing system PS2 receives a request from the gateway GW (S28), it performs processing in accordance with the request in relation to the second database system DS2 and updates the second database (S29). In S29, the second processing system PS2, based on the request, refers to the second database to obtain the information necessary for settlement and performs the settlement. The second processing system PS2 updates the second database based on the settlement execution result. The second processing system PS2 transmits the execution result data to the user terminal UT or data center via the Content Delivery Network Service CDN and the gateway GW. Subsequently, the second database system DS2 performs processing in relation to 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 update content of the second database to the first database system DS1. The first database system DS1 updates the first database based on this data. This synchronizes the first and second databases.
[0100] The processes S31 to S37 shown in Figure 13 correspond to the processes in the flow shown in Figure 8. When the operator performs an operation to remove the gateway GW, the transition control device CD removes the gateway GW by unsetting the endpoint for the request between the configuration that manages routing configuration data in the cloud service (S31). Once the process in 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 Figure 8. Until the process in S31 is performed, the gateway GW is set as the endpoint, but the process in S31 changes the endpoint to a specific program of the payment service (for example, a program in the first processing system PS1). In other words, the endpoint returns to its original state. This completes the transition to the second mode. The state in Figure 7 also indicates a transition to the second mode, but in this embodiment, the state in Figure 7 is a provisional completion state of the second mode, while the state in Figure 8 is the complete completion state of the second mode. If it is necessary to modify the routing configuration data for routing requests received by the Content Delivery Network Service (CDN) to the second processing system (PS2), this modification shall be performed during or before / after the processing of S31. This modification may be performed by instructions from the transition control device (CD) or by other configurations of the network system 1.
[0101] The subsequent processing in S32 and S33 is the same as the processing in 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 configuration data (S34). If the current mode is second mode, the routing configuration data indicates that the request is routed to the second processing system PS2. In S34, the Content Delivery Network Service (CDN) sends the request to the second processing system PS2 indicated by the routing configuration data. Note that the routing configuration data may be referenced at the user terminal UT or data center instead of the Content Delivery Network Service (CDN) referencing it. In this case, when the Content Delivery Network Service (CDN) receives the request, the request indicates that the request is routed to the second processing system PS2. The Content Delivery Network Service (CDN) simply needs to route 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 S36 and S37 are the same as those in S29 and S30, respectively. With this, the transition to the second mode is completely finished.
[0102] [5. Summary of Embodiments] In this embodiment, the network system 1 transitions from the first mode to the second mode when instructed to do so. The network system 1 determines whether the master-slave relationship between the first and second databases has changed. If it determines 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 the payment service, thereby improving user convenience. From the service provider's perspective, it can avoid lost opportunities due to the suspension of the payment service. After transitioning to the second mode, the network system 1 can back up the first database. For example, if the time the network system 1 is in hold mode is shorter than the time the payment service requests time out, the network system 1 can essentially eliminate request errors. For example, if this time is around 10 seconds, the user may feel that the payment is taking a little longer, but this is well within acceptable limits for the payment service. Therefore, the network system 1 can also improve user convenience.
[0103] Furthermore, in the first mode, the first processing system PS1 located in the first region receives requests and updates the first database managed in the first region. The second processing system PS2 located in the second region does not receive requests. 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 requests and updates the second database managed in the second region. The first processing system PS1 does not receive requests. The contents of the second database are copied to the first database. This allows network system 1 to transition from the first mode, where the first region is dominant, to the second mode, where the second region is dominant, while avoiding request errors. Network system 1 can perform the transition to avoid delays caused by the distance between regions without interrupting payment services. In addition, network system 1 can immediately save a backup of the second database to the first database after transitioning to the second mode.
[0104] Furthermore, Network System 1 configures the endpoint so that the endpoint for requests is set to the gateway GW for the API. In the first mode, the gateway GW routes requests so that the first database is updated. In the pending mode, requests are accumulated by the gateway. In the second mode, the gateway GW routes requests so that the second database is updated. Network System 1 cancels the configuration when the transition from pending mode to the second mode is complete. As a result, Network System 1 can transition from the first mode to the second mode while avoiding request errors simply by changing the endpoint settings, thus eliminating the need to significantly alter the existing cloud service mechanism. Network System 1 can transition from the first mode to the second mode using the existing cloud service mechanism.
[0105] Furthermore, network system 1 configures the endpoint so that it is set to a gateway GW located after the Content Delivery Network Service CDN, which accepts various requests, including payment service requests. This allows network system 1 to transition from mode 1 to mode 2 without changing the configuration prior to the Content Delivery Network Service CDN, while avoiding request errors.
[0106] Furthermore, network system 1 determines that the master-slave relationship has changed when the gateway GW detects the change. This eliminates the need for the operator to manually determine the change in the master-slave relationship and instruct the transition to the second mode, allowing network system 1 to transition from the first mode to the second mode more quickly.
[0107] [6. Variant] This disclosure is not limited to the embodiments described above. This disclosure may be modified as appropriate without departing from the spirit of this disclosure.
[0108] Figure 14 shows an example of the functions implemented in the modified network system 1. The modified network system 1 includes a recovery unit GW104, a storage count 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, storage count determination unit GW105, request processing unit GW106, error condition determination unit GW107, and error processing unit GW108 is implemented by the control unit 11GW of the gateway GW.
[0109] [6-1. Variation 1] For example, after network system 1 transitions from the first mode to the second mode, some kind of abnormality may occur. In this case, network system 1 may return from the second mode to the first mode. The hold mode transition unit GW101 in Modification 1 transitions to hold mode when, after transitioning to the second mode, a recovery from the second mode to the first mode is instructed. Modification 1 differs from the embodiment in that the hold mode occurs during the recovery from the second mode to the first mode, rather than during the transition from the first mode to the second mode, but the method of transitioning to hold mode itself may be the same as in the embodiment. The hold mode transition unit GW101 only needs to update the current mode data so that the current mode indicates hold mode.
[0110] For example, the setting unit CD101 determines whether or not the operator has instructed the system to transition to hold mode. In Modification 1, the instruction to transition to hold mode is not an instruction to transition to hold mode during the transition from the first mode to the second mode as in the embodiment, but rather an instruction to transition to hold mode during the recovery from the second mode to the first mode. The instruction to transition to hold mode may be made by any operation from the operation unit 14CD. The transition to hold mode may not be initiated by an operator, but may be started automatically when predetermined recovery conditions are met. The recovery conditions are the criteria for whether or not to recover from the second mode to the first mode. The recovery conditions can also be called the trigger for recovery from the second mode to the first mode.
[0111] For example, the recovery conditions may be conditions relating to abnormalities in network system 1 after transitioning to the second mode. The recovery conditions may be that the number of request errors exceeds a threshold, the network load exceeds a threshold, a predetermined alert is detected, or other conditions. The configuration unit CD101 obtains indicators necessary for determining the recovery conditions (e.g., the number of request errors, network load, or alert information) from each configuration of network system 1, and determines whether the recovery conditions are met based on these indicators. If the configuration unit CD101 determines that the recovery conditions are met, it transitions to hold mode.
[0112] The transition from the second mode to the hold mode may be performed using the same procedure as the transition from the first mode to the hold mode described in the embodiment. That is, the configuration unit CD101 configures the endpoint so that the gateway GW is introduced after the content delivery network service CDN when it is determined that the recovery conditions have been met. The hold mode transition unit GW101 instructs the gateway GW to transition to hold mode. When instructed to transition to hold mode, the gateway GW updates the current mode data so that the current mode data indicates hold mode. The gateway GW stores requests from the content delivery network service CDN.
[0113] In Modification 1, the change determination unit GW102 determines whether the master-slave relationship has been restored when transitioning from the second mode to the hold mode. In Modification 1, as in this embodiment, we take the example of a case where the 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 and second databases can be restored to its original state by 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 entered hold mode, they modify 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 configuration indicating that the network system 1 has entered hold mode. Upon receiving such a 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 it stores to indicate that the first database is the master and the second database is the slave. If the change in the master-slave relationship requires changes to other data, those other data may be changed. Once the master-slave relationship data is updated, synchronization between the first and second databases is resumed. When the first database system DS1 determines that it is the master based on the master-slave relationship data, it performs the process of reflecting the contents of the first database in the second database with the second database system DS2. That is, 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 mentioned above, the method for synchronization may be a known method.
[0116] The network system 1 in Modification 1 includes a recovery unit GW104. The recovery unit GW104 restores the system from the hold mode to the first mode when it determines that the master-slave relationship has been restored. 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. If the change determination unit GW102 does not determine that the master-slave relationship has been 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 is 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 pending mode to the first processing system PS1. This state is the same as in Figure 4. Subsequently, the release unit CD102 of Modification 1 releases the endpoint settings when the transition from the pending mode to the first mode is complete. This release of settings may be performed in the same manner as in the embodiment. Once the endpoint settings are released, the gateway GW is disconnected, and the system returns to the same state as in Figure 1. This completes the recovery process.
[0118] In Modified Example 1, the network system 1 transitions to a hold mode if, after transitioning to the second mode, it is instructed to return from the second mode to the first mode. When the network system 1 transitions from the second mode to the hold mode, it determines whether the master-slave relationship has been restored. If it determines that the master-slave relationship has been restored, the network system 1 returns from the hold mode to the first mode. This allows the network system 1 to immediately return to its original state if an abnormality occurs after transitioning to the second mode. As a result, the period during which users are unable to use payment services is shortened, thus improving user convenience.
[0119] [6-2. Variation 2] For example, when network system 1 transitions from mode 1 to pending mode, the number of requests accumulated by the gateway GW may increase. There may also 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 becomes large. 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 in modified example 2 includes a storage count determination unit GW105. The storage count determination unit GW105 determines whether the number of requests stored in pending mode has exceeded a threshold. The threshold is 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 storage count determination unit GW105 refers to the requests stored in the data storage unit GW100 and obtains the storage count. The storage count determination unit GW105 may also obtain the number of ongoing sessions as the number of requests stored.
[0121] In the modified example 2, the setting unit CD101 makes new settings so that when it is determined that the number of accumulated requests exceeds a threshold, the endpoint for the request is set to a new gateway GW. For example, when the setting unit CD101 determines that the number of accumulated requests accumulated by the first gateway GW introduced in the procedure described in the embodiment exceeds a threshold, it 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 configuration unit CD101 sends a request to the configuration that manages routing configuration data (e.g., the Content Delivery Network Service CDN or other configurations) among the cloud service configurations, to set the request endpoint for the payment service to the second gateway GW. When the configuration that manages routing configuration data receives the request from the configuration unit CD101, it updates its routing configuration data so that the request endpoint for the payment service becomes the second gateway GW. The configuration unit CD101 may introduce a third or subsequent gateway GW if the number of accumulated second gateway GWs exceeds a threshold.
[0123] In the modified version 2, network system 1 determines whether the number of requests accumulated in pending mode exceeds a threshold. If network system 1 determines that the number of accumulated requests exceeds the threshold, it makes a new configuration so that the endpoint is set to a new gateway GW. As a result, even if a certain gateway GW becomes unable to accumulate any more requests, network system 1 can accumulate and process requests using a new gateway GW. Network system 1 can more reliably prevent request errors.
[0124] [6-3. Modification 3] For example, in Modification 2, the configuration unit CD101 configures the endpoint to be set on a gateway GW located after the Content Delivery Network Service CDN, which accepts various requests, including payment service requests. This configuration may be the same as the configuration described in the embodiment. When the configuration unit CD101 determines that the number of accumulated items has exceeded a threshold, it configures a new configuration to set the endpoint on a new gateway GW located after the Content Delivery Network Service CDN. This configuration may be the same as the configuration described in Modification 2.
[0125] In Modification 3, requests are routed by a load balancer placed between the Content Delivery Network Service (CDN), the Gateway GW, and the New Gateway GW. Since the Content Delivery Network Service (CDN) may not be able to determine whether to route the request to the Gateway GW or the New Gateway GW, 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. If a New Gateway GW is introduced, the load balancer routes the request to the New Gateway GW.
[0126] A load balancer is a system managed by a cloud provider. A load balancer is a system of the cloud service. A load balancer can include at least one of any hardware and software of the aforementioned cloud service. The load balancer in Modification 3 is set up for the purpose of routing requests rather than load balancing. The load balancer stores routing destination data that indicates where requests should be routed. In pending mode, the routing destination data is defined to distribute requests to a new gateway GW. The routing destination data may also be DNS data that shows the relationship between domain names and IP addresses. The routing destination data may be stored in another configuration (e.g., a DNS server) rather than in the load balancer.
[0127] In Modification 3, Network System 1 makes a new configuration so that when it is determined that the number of accumulated requests exceeds a threshold, the endpoint is set to a new gateway GW located after the Content Delivery Network Service (CDN). Network System 1 routes requests using a load balancer placed between the Content Delivery Network Service (CDN), the gateway GW, and the new gateway GW. This allows the network system to introduce a new gateway GW using the existing cloud service mechanism and route requests to the new gateway GW instead of the existing gateway GW via the load balancer.
[0128] [6-4. Modification 4] For example, after network system 1 transitions from first mode to second mode, first processing system PS1 may be able to operate the second database of second database system DS2 via the network. For this reason, in second mode, not only second processing system PS2 but also first processing system PS1 may update the second database. In this case, content delivery network service CDN may route requests to first processing system PS1 in second mode, or gateway GW may route requests to first processing system PS1 in second mode without removing gateway GW introduced after content delivery network service CDN. In second mode, content delivery network service CDN or gateway GW routes requests to either first processing system PS1 or second processing system PS2.
[0129] In Modification 4, 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 both 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 conducted via a gateway GW, a Content Delivery Network Service (CDN), or other configurations. The first processing system PS1 and the second database system DS2 may be connected by a VPN or LAN, etc.
[0130] In the second mode of variation 4, the second database can be updated by both 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, if the load on the second processing system PS2 becomes high in the second mode, the network system 1 can route requests to the first processing system PS1 for processing, thereby achieving load balancing between the first processing system PS1 and the second processing system PS2. Since the first processing system PS1 updates the second database rather than the first database, it is possible to prevent inconsistencies between the first and second databases.
[0131] [6-5. Variation 5] For example, the gateway GW may not send all the requests accumulated in hold mode to the second processing system PS2 at once, but rather gradually. The network system 1 in Modification 5 includes a request processing unit GW 106. When the request processing unit GW 106 transitions from hold mode to the second mode, it gradually processes the requests that were accumulated in hold mode. Gradually processing requests means that the number of requests processed per unit time (for example, 1 second) does not exceed the upper limit. The unit time can be any predetermined time.
[0132] In the modified example 5, the data storage unit GW100 stores processing count data indicating the number of requests processed per unit time. For example, the processing count data may indicate an upper limit, such as 100 requests per second. The upper limit may be any value. The request processing unit GW106 routes the requests accumulated 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 only needs to 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 (for example, in descending order of settlement amount).
[0133] In the modified example 5, the network system 1 gradually processes requests that were accumulated in the pending mode when it transitions from the pending mode to the second mode. This prevents the network system 1 from experiencing 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 also reduce the processing load on the second processing system PS2. As a result, the network system 1 can prevent errors in processing requests due to increased processing load.
[0134] [6-6. Variation 6] For example, in hold mode, network system 1 may not store all requests, but may mark some requests as errors and store the remaining requests. The network system 1 in modified example 6 includes an error condition determination unit GW107 and an error processing unit GW108. The error condition determination unit GW107 determines whether a request received in hold mode satisfies predetermined error conditions. The error conditions can be any predetermined conditions. Error condition data indicating the error conditions is pre-stored in the data storage unit GW100.
[0135] In Modification 6, it is assumed that a predetermined condition is set that one out of a predetermined number of requests will result in an error. The error condition determination unit GW107 increments the accumulated number of requests each time a request is received. The error condition determination unit GW107 determines that the error condition has been met each time the accumulated number exceeds a threshold. For example, if the error condition is set that one out of five requests will result in an error, the error condition determination unit GW107 determines that the error condition has been met each time five requests are received. The error condition is not limited to the example in Modification 6. For example, the error condition may be that the request that becomes an error is randomly selected.
[0136] The error processing GW108 processes a request received in hold mode as an error without accumulating it if it determines that the request meets the error conditions. The error of a request may be handled in a manner adopted by publicly known cloud services. For example, the error processing GW108 may process a request as an error by sending data indicating that it is an error to the Content Delivery Network Service (CDN). If the error processing GW108 does not determine that a request received in hold mode meets the error conditions, it accumulates the request.
[0137] In the modified example 6, the network system 1 determines whether a request received in hold mode satisfies predetermined error conditions. If the network system 1 determines that a request received in hold mode satisfies the error conditions, it processes the request as an error without accumulating it. This prevents the gateway GW from accumulating too many requests in hold mode. For example, it prevents the gateway GW from becoming overwhelmed with the number of sessions and being unable to process the accumulated requests.
[0138] [6-7. Variation 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 that has been received in hold mode is a request for an attack against the network system 1, thereby determining whether the request satisfies the predetermined condition. The error condition determination unit GW107 can determine whether or not it is a request for an attack based on the content of the request or the 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 originates is a predetermined address. The error condition determination unit GW107 may also determine that a request is an attack request if the location of the user terminal UT or other location from which the request originates is a predetermined location. The error condition determination unit GW107 may also determine that a request is an attack request if the content of the request, such as the settlement amount, is predetermined. The error condition determination unit GW107 may use a machine learning model to estimate whether a request is an attack request based on multiple items related to the request.
[0140] In Modification 7, the error processing GW108 processes a request received in hold mode as an error without accumulating it if it is determined to be an attack request. The error processing GW108 accumulates a request received in hold mode if it is determined not to be an attack request.
[0141] In the modified example 7, the network system 1 determines whether a request received in pending mode is a request related to an attack against the network system, thereby determining whether the request meets predetermined conditions. This allows the network system 1 to process requests suspected to be attacks as errors, thereby enhancing security. The network system 1 can prevent the gateway GW from being unable to process requests due to requests suspected to be attacks.
[0142] [6-8. Variation 8] For example, if the number of requests accumulated in the pending mode becomes large, network system 1 may not be able to process all the requests even if it switches to the second mode, as the second processing system PS2 alone may not be able to handle them. Therefore, 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 the third database managed by the third database system. The third processing system may have the same configuration as the first processing system PS1 and the second processing system PS2. The third database may have the same configuration as the first database and the second database. The data in the third database is consistent in real time with at least one of the first database and the second database.
[0143] The network system 1 in Modification 8 includes a storage count determination unit GW105. The storage count determination unit GW105 is as described in Modification 2. The second mode transition unit GW103 of Modification 8, when it determines that the storage count has exceeded a threshold, transitions both the second and third databases to a second mode in which they can be updated based on requests. 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 in the same way as 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 exist independently of the second database, and its data may not be synchronized with the second database.
[0144] In the modified example 8, the network system 1 determines whether the number of requests accumulated in pending mode exceeds a threshold. If the network system 1 determines that the number of accumulated requests exceeds the threshold, it transitions to a second mode in which both the second and third databases can be updated based on the requests. This prevents the network system 1 from becoming unable to process all the requests after transitioning to the second mode due to an excessive accumulation of requests during the pending mode.
[0145] [6-9. Other variations] For example, the above variations may be combined.
[0146] For example, while embodiments and variations 1 to 8 illustrate a migration scenario from a first region to a second region, the network system 1 may also be applied to scenarios that do not involve migrations across regions. For example, the network system 1 may be applied to a migration scenario from a first database within a certain region to a second database within the same region. For example, the same business operator may provide both payment services and cloud services to users. For example, the first and second databases may be updated under the control of the same computer. For example, a change in the master-slave relationship between the first and second databases may be determined by an operator, and the operator may manually input that the master-slave relationship has been changed to the network system 1.
[0147] For example, although the embodiment describes a case where the main processing is performed on the gateway GW, the processing described as being performed on the gateway GW may also be performed in other configurations of the network system 1. The processing described as being performed on the gateway GW may also be shared among multiple computers. The processing described as being performed on the migration control device CD may also be performed in other configurations of the network system 1. The processing described as being performed on the migration control device CD may also be shared among multiple computers.
[0148] [7. Addendum] For example, a network system can also be configured as follows: (1) A hold mode transition unit that, when instructed to transition from a first mode in which the first database is updated based on a request received via the network to a second mode in which the contents of the first database are copied in the first mode and the second database 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 determines whether the master-slave relationship between the first database and the second database has been changed when transitioning from the first mode to the hold mode, A second mode transition unit that, when it is determined that the master-slave relationship has been changed, transitions from the hold mode to the second mode, A network system including this. (2) In the first mode, The first processing system located in the first region receives the request and updates the first database managed in the first region. The second processing system located in the second region did not receive the aforementioned 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 receives the request and updates the second database managed in the second region. The first processing system does not receive the request, The contents of the second database are copied to the first database. (1) The network system described above. (3) The hold mode transition unit, after transitioning to the second mode, will transition to the hold mode if an instruction is given to return from the second mode to the first mode. The change determination unit determines whether the master-slave relationship has been restored to its original state when transitioning from the second mode to the hold mode. The network system further includes a recovery unit that restores the system from the hold mode to the first mode when it is determined that the master-slave relationship has been restored. The network system described in (1) or (2). (4) The network system further includes a configuration unit that configures the endpoint such that the endpoint for the request is set as the gateway for the API, In the first mode, the gateway routes the request so that the first database is updated. In the pending mode, the gateway stores the requests. In the second mode, the gateway routes the request so that the second database is updated. The network system further includes a release unit that releases the setting when the transition from the hold mode to the second mode is completed. A network system as described in any of (1) to (3). (5) The configuration unit performs the configuration such that the endpoint is set on the gateway located after the cloudfront that accepts various requests, including the aforementioned request. (4) The network system described above. (6) The network system further includes an accumulation count determination unit that determines whether the number of requests accumulated in the pending mode has exceeded a threshold, When the configuration unit determines that the number of accumulated items has reached or exceeded the threshold, it performs a new configuration so that the endpoint is set as a new gateway. (4) or (5) The network system described above. (7) The setting unit is, The settings are made such that the endpoint is configured on the gateway located after the CloudFront, which accepts various requests including the aforementioned request. When it is determined that the number of accumulated items exceeds the threshold, the new settings are made so that the endpoint is set on the new gateway located after the CloudFront. The request routing is performed by a load balancer placed between the aforementioned cloudfront, the aforementioned gateway, and the aforementioned new gateway. (6) The network system described above. (8) The change determination unit determines that the master-slave relationship has been changed when the change in the master-slave relationship is detected by the gateway. A network system as described in any of (4) to (7). (9) In the first mode, the first processing system updates the first database. In the second mode, the second database can be updated by the first processing system and the second processing system, (2) The network system described above. (10) The network system further includes a request processing unit that, when transitioning from the hold mode to the second mode, gradually processes the requests that were accumulated in the hold mode. A network system as described in any of (1) to (9). (11) The aforementioned network system is An error condition determination unit that determines whether the request received in the pending mode satisfies predetermined error conditions, An error processing unit that, when it is determined that the request received in the pending mode satisfies the error conditions, processes the request as an error without accumulating it, A network system as described in any of (1) to (10), further including the above. (12) The error condition determination unit determines whether the request received in the pending mode is a request relating to an attack on the network system, and thereby determines whether the request satisfies the predetermined conditions. (11) The network system described above. (13) The network system further includes an accumulation count determination unit that determines whether the number of requests accumulated in the pending mode has exceeded a threshold, If the second mode transition unit determines that the number of stored items has reached or exceeded the threshold, it will transition each of the second and third databases to the second mode in which they can be updated based on the request. A network system as described in any of (1) to (12).
Claims
1. A hold mode transition unit is provided to transition the first database and the second database from the first mode to a hold mode in which the request is held, when a transition is instructed from a first mode in which the first database is updated based on a request received via the network to a second mode in which the contents of the first database are copied in the first mode and the second database is updated based on the request, A change determination unit determines whether the master-slave relationship between the first database and the second database has been changed when transitioning from the first mode to the hold mode, A second mode transition unit, which, when it is determined that the master-slave relationship has been changed, transitions the first database and the second database from the hold mode to the second mode, A network system including computers.
2. In the first mode, A first processing system located in a first region, which is outside the computer, receives the request and updates the first database managed in the first region. A second processing system located in the second region, which is outside the computer, does not receive the 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 receives the request and updates the second database managed in the second region. The first processing system does not receive the request. The contents of the second database are copied to the first database. The network system according to claim 1.
3. The hold mode transition unit, after transitioning to the second mode, will, when instructed to return from the second mode to the first mode, transition the first database and the second database to the hold mode. The change determination unit determines whether the master-slave relationship has been restored to its original state when transitioning from the second mode to the hold mode. The computer further includes a recovery unit that, when it is determined that the master-slave relationship has been restored, restores the first database and the second database from the hold mode to the first mode. The network system according to claim 1 or 2.
4. The computer further includes a configuration unit that configures the endpoint such that the endpoint for the request is set as the gateway for the API, In the first mode, the gateway routes the request so that the first database is updated. In the pending mode, the gateway stores the requests. In the second mode, the gateway routes the request so that the second database is updated. The network system further includes a release unit that releases the setting when the transition from the hold mode to the second mode is completed. The network system according to claim 1 or 2.
5. The configuration unit performs the configuration such that the endpoint is set on the gateway located after the cloudfront that accepts various requests, including the aforementioned request. The network system according to claim 4.
6. The computer further includes an accumulation count determination unit that determines whether the number of requests accumulated in the pending mode has exceeded a threshold, When the configuration unit determines that the number of accumulated items has reached or exceeded the threshold, it performs a new configuration so that the endpoint is set as a new gateway. The network system according to claim 4.
7. The setting unit is, The settings are made such that the endpoint is configured on the gateway located after the CloudFront, which accepts various requests including the aforementioned request. When it is determined that the number of accumulated items exceeds the threshold, the new settings are made so that the endpoint is set on the new gateway located after the CloudFront. The request routing is performed by a load balancer placed between the aforementioned cloudfront, the aforementioned gateway, and the aforementioned new gateway. The network system according to claim 6.
8. The change determination unit determines that the master-slave relationship has been changed when the change in the master-slave relationship is detected by the gateway. The network system according to claim 4.
9. In the first mode, the first processing system updates the first database. In the second mode, the second database can be updated by each of the first processing system and the second processing system. The network system according to claim 2.
10. The computer further includes a request processing unit that, when transitioning from the hold mode to the second mode, gradually processes the requests that were accumulated in the hold mode. The network system according to claim 1 or 2.
11. The aforementioned computer, An error condition determination unit that determines whether the request received in the pending mode satisfies predetermined error conditions, An error processing unit that, when it is determined that the request received in the pending mode satisfies the error conditions, processes the request as an error without accumulating it, The network system according to claim 1 or 2, further comprising:
12. The error condition determination unit determines whether the request received in the pending mode is a request relating to an attack on the network system, thereby determining whether the request satisfies the error condition. The network system according to claim 11.
13. The computer further includes an accumulation count determination unit that determines whether the number of requests accumulated in the pending mode has exceeded a threshold, If the second mode transition unit determines that the number of stored items has reached or exceeded the threshold, it will transition each of the second and third databases to the second mode in which they can be updated based on the request. The network system according to claim 1 or 2.
14. A computer, A hold mode transition step is provided to transition the first database and the second database from the first mode to a hold mode in which the request is held, when a transition is instructed from a first mode in which the first database is updated based on a request received over the network to a second mode in which the contents of the first database are copied in the first mode and the second database is updated based on the request, A change determination step is performed to determine whether the master-slave relationship between the first database and the second database has been changed when transitioning from the first mode to the hold mode. If it is determined that the master-slave relationship has been changed, a second mode transition step is performed to transition the first database and the second database from the hold mode to the second mode, A migration method to perform this.
15. When a transition is instructed from a first mode in which the first database is updated based on a request received via the network, to a second mode in which the contents of the first database are copied in the first mode and the second database is updated based on the request, a hold mode transition unit moves the first database and the second database from the first mode to a hold mode in which the request is held. A change determination unit determines whether the master-slave relationship between the first database and the second database has been changed when transitioning from the first mode to the hold mode. If it is determined that the master-slave relationship has been changed, a second mode transition unit transitions the first database and the second database from the hold mode to the second mode. A program that makes a computer function.
Citation Information
Patent Citations
Database control method and system, switching method, electronic equipment and storage medium
CN112199440A
Database shifting device, database shifting method and database shifting program
JP2005182286A
Database update controller, database management system, and database update control program
JP2013037450A
Database management apparatus and database management method
JP2013246676A
Provisioning and managing replicated data instances
JP2013508882A