Program, information processing method and cluster system

By comparing response times of local and remote storage devices and switching access to the faster device, the system optimizes data access, enhancing performance and availability in cloud systems.

JP2025174661APending Publication Date: 2025-11-28FUJITSU LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024081154
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-17
Publication Date
2025-11-28

AI Technical Summary

Technical Problem

In large-scale systems like cloud systems, data access performance from the operating node to its local storage device can be degraded due to excessive access load, leading to decreased system availability and performance.

Method used

A computer system compares the response times of local and remote storage devices and switches data access to the storage device with the shorter response time, optimizing data access by reading from the standby node when the local node's performance degrades.

Benefits of technology

This approach speeds up data access by dynamically selecting the storage device with the shortest response time, thereby improving system availability and performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025174661000001_ABST
    Figure 2025174661000001_ABST
Patent Text Reader

Abstract

To provide a program, an information processing method, and a cluster system that speed up data access.SOLUTION: An operation node compares a first response time of a first storage device included in a first subsystem to which the operation node belongs to a request from the operation node with a second response time of a second storage device included in a second subsystem to which a standby node belongs, the second subsystem being connected to the first subsystem via a network, to the request from the operation node. The operation node, when the second response time is shorter than the first response time, reads data from the second storage device.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a program, an information processing method, and a cluster system. [Background technology]

[0002] In recent years, instead of users owning their own information processing environments for running application programs, users are increasingly using information processing environments provided by service providers via a network. Information processing systems that allow users to use information processing environments via a network are sometimes called cloud systems. Cloud systems lend unit computing resources such as physical machines and virtual machines to users, and run application programs on those unit computing resources. The processing entities realized by physical machines and virtual machines are sometimes called nodes.

[0003] Here, an access control system has been proposed that controls access from a CPU to a storage device in a multi-node system in which multiple information processing devices, each equipped with a CPU (Central Processing Unit) and a storage device such as memory, are cluster-connected.When access from a CPU to a storage device is remote access using a computer network, the access control system converts the remote access into local access so that the access is performed via an interconnect network.

[0004] Also proposed is a computer system that predicts when a particular storage device of a plurality of storage devices will exhibit unplanned behavior, including relatively long response latency or relatively low throughput. Based on the prediction, the computer system schedules proactive operations to reduce the likelihood of the unplanned behavior occurring. The proactive operations include one or more of a cache flush operation, a secure erase operation, a trim operation, a sleep operation, a hibernate operation, a power on and off operation, and a reset operation. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] International Publication No. 2017 / 188036 [Patent Document 2] Japanese Patent Application Laid-Open No. 2016-131037 Summary of the Invention [Problem to be solved by the invention]

[0006] To improve the availability of a system that executes an application program, a cluster system that includes an operational node and a standby node is sometimes used. In a cluster system, the application program is normally executed on the operational node, and data in the local storage devices of the operational node and the standby node is synchronized. In the case that the operational node goes down, the cluster system can have the standby node take over the processing of the application program.

[0007] In large-scale systems such as cloud systems, the operation node and the standby node may exist in facilities such as geographically separated data centers, and the two may perform alive monitoring, data synchronization, etc. via a network connecting the facilities. In this case, in consideration of access performance, data reading by the operation node during normal operation is generally performed from a local storage device on the operation node side, rather than from a storage device on the standby node side via the network.

[0008] However, reading data from a local storage device by the operating node does not always guarantee good access performance. For example, the access load to the storage device on the operating node side may become excessive, which may result in a decrease in the performance of the operating node's access to the storage device.

[0009] In one aspect, the present invention aims to speed up data access. [Means for solving the problem]

[0010] In one aspect, a program is provided that causes a computer used as an operating node in a cluster system including an operating node and a standby node to execute the following process: The computer compares a first response time of a first storage device included in a first subsystem to which the operating node belongs, to a request from the operating node, with a second response time of a second storage device included in a second subsystem to which the standby node belongs, the second subsystem being connected to the first subsystem via a network, to a request from the operating node. If the second response time is shorter than the first response time, the computer causes the operating node to read data from the second storage device.

[0011] In one aspect, a computer-implemented information processing method is provided.In another aspect, a cluster system having an operating node and a standby node is provided. In one aspect, a program is provided that causes a computer used as an operating node in a cluster system including an operating node and a standby node to execute the following process: The computer compares a first response time of a first storage device included in a first subsystem to which the operating node belongs, to a request from the operating node, with a second response time of a second storage device included in a second subsystem to which the standby node belongs, the second subsystem being connected to the first subsystem via a network, to a request from the operating node. Based on the comparison of the first response time and the second response time, the computer selects whether to read data from the first storage device or the second storage device. [Effects of the Invention]

[0012] On the one hand, data access can be speeded up. [Brief explanation of the drawings]

[0013] [Figure 1]FIG. 1 illustrates a cluster system according to a first embodiment. [Figure 2] 10 is a flowchart illustrating an example of data access control of an operational node. [Figure 3] 10 is a flowchart showing an example of a switching process (1). [Figure 4] 10 is a flowchart showing an example of a switching process (2). [Figure 5] FIG. 10 illustrates an example of a cloud system according to a second embodiment. [Figure 6] FIG. 2 illustrates an example of hardware of a physical machine. [Figure 7] FIG. 10 is a diagram illustrating an example of AZ. [Figure 8] FIG. 1 illustrates an example of a cluster system. [Figure 9] FIG. 2 illustrates an example of the functions of an operating node and a standby node. [Figure 10] FIG. 10 is a diagram illustrating an example of an information table. [Figure 11] FIG. 10 illustrates an example of switching of data access destinations by an operational node. [Figure 12] 10 is a flowchart illustrating an example of data access control of an operational node. [Figure 13] 10 is a flowchart showing an example of a switching process (A). [Figure 14] 10 is a flowchart showing an example of a switching process (B). DETAILED DESCRIPTION OF THE INVENTION

[0014] The present embodiment will be described below with reference to the drawings. [First embodiment] A first embodiment will be described.

[0015] FIG. 1 is a diagram illustrating a cluster system according to a first embodiment. The cluster system 1 has an operating node 10 and a standby node 20. The operating node 10 and the standby node 20 are realized by physical computers (physical machines) or virtual computers (virtual machines) that run on the physical machines. For example, the physical machine allocates its computing resources, such as a CPU and RAM (Random Access Memory), to the virtual machines, and runs the virtual machines using the computing resources.

[0016] The operation node 10 is a node used to execute an application. The standby node 20 is a node that stands by for the operation node 10. The standby node 20 is provided to execute the application in place of the operation node 10 in the event of an abnormality in the operation node 10.

[0017] The operating node 10 has a storage unit 11 and a processing unit 12. The standby node 20 has a storage unit 21 and a processing unit 22. The storage units 11 and 21 may be volatile semiconductor memory such as RAM, or non-volatile storage such as a hard disk drive (HDD) or flash memory. The processing units 12 and 22 are processors such as a CPU, a graphics processing unit (GPU), or a digital signal processor (DSP). However, the processing units 12 and 22 may also include application-specific electronic circuits such as an application-specific integrated circuit (ASIC) or a field programmable gate array (FPGA). The processor executes a program stored in a memory such as RAM (which may be the storage unit 11). A set of multiple processors is sometimes called a "multiprocessor" or simply a "processor."

[0018] The operating node 10 is connected to a first storage device 30. The standby node 20 is connected to a second storage device 40. The first storage device 30 and the second storage device 40 store data used in the processing of the operating node 10 and the standby node 20. The first storage device 30 and the second storage device 40 are realized by, for example, an HDD or a flash memory.

[0019] Here, the operation node 10 and the first storage device 30 belong to the first subsystem 1a. For example, the operation node 10 and the first storage device 30 are connected via an internal network of the first subsystem 1a. Furthermore, the standby node 20 and the second storage device 40 belong to the second subsystem 1b. For example, the standby node 20 and the second storage device 40 are connected via an internal network of the second subsystem 1b.

[0020] The first subsystem 1a and the second subsystem 1b may or may not be part of the cluster system 1. The first subsystem 1a and the second subsystem 1b may be part of a cloud system, for example, or may be facilities such as geographically separated data centers, or may be groups of information devices within the facilities. A data center is a facility that houses and operates a large number of information devices such as physical machines, network devices, and storage devices. The first subsystem 1a and the second subsystem 1b may each be a zone, which is a management unit for multiple data centers. The zone may also be called an availability zone (AZ).

[0021] The first storage device 30 belongs to the same subsystem as the operation node 10. The first storage device 30 is a local storage device of the operation node 10. The second storage device 40 belongs to the same subsystem as the standby node 20. The second storage device 40 is a local storage device of the standby node 20.

[0022] The first subsystem 1a and the second subsystem 1b are connected by networks N1 and N2. For example, the internal network of the first subsystem 1a and the internal network of the second subsystem 1b are connected to the networks N1 and N2 that connect the subsystems. The operating node 10 and the standby node 20 communicate with each other via the network N1 to monitor whether they are alive or not.

[0023] The operation node 10 can also access the second storage device 40 via the network N2. The operation node 10 synchronizes the data stored in the first storage device 30 and the second storage device 40 via the network N2. That is, when the operation node 10 writes data to the first storage device 30, it also writes a copy of that data to the second storage device 40. This causes the same data to be stored in the first storage device 30 and the second storage device 40. The technology for storing the same data in multiple storage devices is called mirroring or disk mirroring.

[0024] For example, the standby node 20 detects that the operation node 10 has gone down by detecting that communication for health monitoring with the operation node 10 has been interrupted. Then, the standby node 20 takes over from the operation node 10 and starts the application that was running on the operation node 10. In this case, the standby node 20 can access the second storage device 40 to take over the data that was being used by the application before the operation node 10 went down.

[0025] In such a cluster system 1, the operational node 10 performs the following data access control. FIG. 2 is a flowchart illustrating an example of data access control of an operational node.

[0026] (S10) The processing unit 12 executes I / O (Input / Output) in response to an access request for writing or reading data from an application executed on the operation node 10. For example, when the processing unit 12 receives an access request for writing data, it writes (WRITE) the data to the first storage device 30 and also writes (WRITE) a copy of the data to the second storage device 40 via the network N2. In this case, the size of the data written to the first storage device 30 and the second storage device 40 is the same.

[0027] Furthermore, when the processing unit 12 receives an access request to read data, it reads (READs) the data from the first storage device 30 or the second storage device 40. The storage device from which the data is read (the storage device to which the data is read) is selected in advance in step S12 or step S13 described below. The initial setting of the storage device to which the data is read by the operation node 10 is the storage device on the operation side, i.e., the first storage device 30.

[0028] The processing unit 12 responds to the application with the I / O execution result. For example, when the processing unit 12 writes data, it responds to the application with the write result. When the processing unit 12 reads data, it responds to the application with the read data.

[0029] (S11) The processing unit 12 determines whether the current READ destination storage device is the operating storage device (first storage device 30). If the READ destination is the operating storage device, the process proceeds to step S12. If the READ destination is not the operating storage device, that is, if the READ destination is the standby storage device, the process proceeds to step S13.

[0030] (S12) The processing unit 12 executes a switching process (1) when the read destination is the operating storage device. The details of the switching process (1) will be described later. Then, the data access control ends.

[0031] (S13) The processing unit 12 executes a switching process (2) when the READ destination is the standby storage device (second storage device 40). The details of the switching process (2) will be described later. Then, the data access control ends.

[0032] FIG. 3 is a flowchart showing an example of the switching process (1). The switching process (1) corresponds to step S12. (S20) The processing unit 12 determines whether or not data writing (WRITE) was performed in the I / O of step S10 that was executed this time. If WRITE was performed, the process proceeds to step S21. If READ was performed instead of WRITE, the process proceeds to step S22.

[0033] (S21) The processing unit 12 acquires the response time for the WRITE in step S10 that was executed this time. Specifically, the processing unit 12 acquires the response time for writing data to the first storage device 30 and the response time for writing a copy of that data to the second storage device 40. The write response time is, for example, the time from when the processing unit 12 requests writing to the storage device in question to when it receives a response from the storage device that the writing is complete. Then, the process proceeds to step S25.

[0034] (S22) The processing unit 12 acquires the response time for the READ executed this time in step S10. Specifically, the processing unit 12 acquires the response time for reading data from the first storage device 30. The read response time is, for example, the time from when the processing unit 12 requests a read from the storage device to when it receives a response for the data to be read from the storage device.

[0035] (S23) The processing unit 12 determines whether the performance of the operating storage device (first storage device 30) during READ has decreased compared to the previous time. If the performance of the first storage device 30 during READ has decreased compared to the previous time, the process proceeds to step S24. If the performance of the first storage device 30 during READ has not decreased compared to the previous time, the switching process (1) ends. If the performance of the first storage device 30 during READ has not decreased compared to the previous time, the first storage device 30 will also be the storage device that is the next READ destination.

[0036] For example, the processing unit 12 can make the determination in step S23 by storing the response time of the previous READ of the first storage device 30 in the storage unit 11 and comparing it with the response time acquired this time. That is, if the current response time is longer than the previous response time, the processing unit 12 determines that the performance during READ has deteriorated compared to the previous time. On the other hand, if the current response time is equal to or shorter than the previous response time, the processing unit 12 determines that the performance during READ has not deteriorated compared to the previous time.

[0037] (S24) The processing unit 12 issues a READ request for performance measurement to both the operating and standby storage devices (the first storage device 30 and the second storage device 40) and acquires the read response time for each of the first storage device 30 and the second storage device 40. The READ request for performance measurement requests the reading of data of a predetermined size. In step S24, the first storage device 30 and the second storage device 40 are requested to read data of the same size.

[0038] (S25) The processing unit 12 compares the response time of the first storage device 30 acquired in step S21 or step S24 with the response time of the second storage device 40, and determines whether the standby storage device (second storage device 40) has a shorter response time. If the standby storage device has a shorter response time, the process proceeds to step S26. If the response time of the standby storage device is equal to or greater than the response time of the operating storage device, the switching process (1) ends. If the response time of the standby storage device is equal to or greater than the response time of the operating storage device, the first storage device 30 will also be the storage device that is the destination for the next read.

[0039] (S26) The processing unit 12 designates the standby storage device as the read destination. As a result, the storage device that will be the next read destination is changed to the second storage device 40. Then, the switching process (1) ends.

[0040] Here, during READ, a performance comparison is made between the first storage device 30 and the second storage device 40, but if the read destination is the first storage device 30, even if READ is performed, the performance comparison is not made unless the performance of the first storage device 30 has deteriorated since the previous time. This makes it possible to minimize I / O for performance measurement based on the characteristics of inter-node mirroring, in which the response time of the first storage device 30 local to the operating node 10 is basically shorter than that of the second storage device 40 on the standby node 20 side.

[0041] FIG. 4 is a flowchart showing an example of the switching process (2). The switching process (2) corresponds to step S13. (S30) The processing unit 12 determines whether or not data writing (WRITE) was performed in the I / O of step S10 that was executed this time. If WRITE was performed, the process proceeds to step S31. If READ was performed instead of WRITE, the process proceeds to step S32.

[0042] (S31) The processing unit 12 acquires the response time for the WRITE at the currently executed step S10. Specifically, the processing unit 12 acquires the response time for writing data to the first storage device 30 and the response time for writing a copy of that data to the second storage device 40. Then, the process proceeds to step S34.

[0043] (S32) The processing unit 12 determines whether a certain amount of time has passed since the previous performance measurement, or whether I / O has been performed a certain number of times or more. If a certain amount of time has passed since the previous performance measurement, or if I / O has been performed a certain number of times or more, the process proceeds to step S33. If a certain amount of time has not passed since the previous performance measurement, and I / O has not been performed a certain number of times or more, the switching process (2) ends. If a certain amount of time has not passed since the previous performance measurement, and I / O has not been performed a certain number of times or more, the second storage device 40 will also be the storage device that is the next READ destination. The previous performance measurement is, for example, the time when step S25 or step S34 was performed last time.

[0044] (S33) The processing unit 12 issues a READ request for performance measurement to both the operating and standby storage devices (the first storage device 30 and the second storage device 40) and acquires the read response time for each of the first storage device 30 and the second storage device 40. In step S33, the first storage device 30 and the second storage device 40 are requested to read data of the same size.

[0045] (S34) The processing unit 12 compares the response time of the first storage device 30 acquired in step S31 or step S33 with the response time of the second storage device 40, and determines whether the response time of the operating storage device (first storage device 30) is shorter. If the response time of the operating storage device is shorter, the process proceeds to step S35. If the response time of the operating storage device is equal to or longer than the response time of the standby storage device, the switching process (2) ends. If the response time of the operating storage device is equal to or longer than the response time of the standby storage device, the second storage device 40 will also be the storage device that is the destination for the next read.

[0046] (S35) The processing unit 12 designates the storage device on the operating side as the read destination. As a result, the storage device of the next read destination is changed to the first storage device 30. Then, the switching process (2) ends.

[0047] Here, as shown in steps S32 and S33, the processing unit 12 performs performance measurement when an I / O is performed after a certain time has elapsed since the previous performance measurement, or when an I / O has been performed a certain number of times since the previous performance measurement. This allows the processing unit 12 to reduce the frequency of issuing I / O for performance measurement, and suppress the load associated with performance measurement on the first storage device 30 and the second storage device 40.

[0048] In this way, the operation node 10 compares the first response time of the first storage device 30 included in the first subsystem 1a to which the operation node 10 belongs, to a request from the operation node 10, with the second response time of the second storage device 40 included in the second subsystem 1b to which the standby node 20 belongs, to a request from the operation node 10. As described above, the first subsystem 1a and the second subsystem 1b are connected via the network N2. The operation node 10 transmits an access request to the second storage device 40 via the network N2 and receives a response from the second storage device 40 to the access request, thereby obtaining the second response time. If the second response time is shorter than the first response time, the operation node 10 reads data from the second storage device 40. This enables the operation node 10 to speed up data access.

[0049] As a comparative example, the cluster system 1 may be configured in advance so that the operation node 10 reads data only from the first storage device 30, rather than from the second storage device 40 via the network N2. This is because reading data from the second storage device 40 via the network N2 is likely to take longer than reading data from the first storage device 30 local to the operation node 10.

[0050] However, in the method of the comparative example, data access performance from the operation node 10 to the first storage device 30 is not always good. For example, in a cloud system, the first storage device 30 is shared by many virtual machines. This can result in excessive access load to the first storage device 30, degrading access performance from the operation node 10 to the first storage device 30. Furthermore, a throughput upper limit may be set for access from the operation node 10 to the first storage device 30. When access from the operation node 10 to the first storage device 30 reaches this upper limit, access performance from applications on the operation node 10 to the first storage device 30 also plateaus, making it impossible to obtain sufficient access performance. In this way, access performance from the operation node 10 or applications on the operation node 10 to the first storage device 30 may degrade.

[0051] Therefore, when the second response time of the second storage device 40 via the network N2 is shorter than the first response time of the local first storage device 30, the operation node 10 controls so that data is read from the second storage device 40 rather than the first storage device 30. In this way, the operation node 10 monitors the response times of the first storage device 30 and the second storage device 40, and controls so that data is read from the storage device with the shorter response time, thereby speeding up access to data.

[0052] [Second embodiment] Next, a second embodiment will be described. FIG. 5 illustrates an example of a cloud system according to the second embodiment.

[0053] The cloud system 2 is an information processing system that provides cloud services. One example of a cloud service is AWS (Amazon Web Services, a registered trademark). Amazon is a registered trademark. However, the cloud system 2 may provide other cloud services. The cloud system 2 includes physical machines 100, 100a, .... The physical machines 100, 100a, ... are server computers that have computing resources provided to users. Although not shown in the figure, the cloud system 2 also includes a large amount of hardware such as network devices and storage devices. The cloud system 2 rents out resources such as the physical machines 100, 100a, ..., network devices, and storage devices to users, making them available for use by the users.

[0054] The cloud system 2 is connected to the Internet 3. A terminal device 4 is also connected to the Internet 3. The terminal device 4 is a client computer operated by a user. The user can use the services of the cloud system 2 by operating the terminal device 4.

[0055] FIG. 6 illustrates an example of hardware of a physical machine. The physical machine 100 has a processor 101, a RAM 102, a HDD 103, a GPU 104, an input interface 105, a media reader 106, and a communication interface 107. These units of the physical machine 100 are connected to a bus inside the physical machine 100. The processor 101 corresponds to the processing unit 12 in the first embodiment. The RAM 102 or the HDD 103 corresponds to the storage unit 11 in the first embodiment.

[0056] The processor 101 is an arithmetic device that executes program instructions. The processor 101 is, for example, a CPU. The processor 101 loads at least a portion of the programs and data stored in the HDD 103 into the RAM 102 and executes the programs. The processor 101 may include multiple processor cores. The physical machine 100 may also have multiple processors. The processing described below may be executed in parallel using multiple processors or processor cores. A set of multiple processors may also be called a "multiprocessor" or simply a "processor."

[0057] The RAM 102 is a volatile semiconductor memory that temporarily stores programs executed by the processor 101 and data used in calculations by the processor 101. Note that the physical machine 100 may be provided with a type of memory other than RAM, or may be provided with multiple memories.

[0058] The HDD 103 is a nonvolatile storage device that stores software programs such as an OS (Operating System), middleware, and application software, as well as data. Note that the physical machine 100 may also include other types of storage devices such as flash memory and SSDs (Solid State Drives), or may include multiple nonvolatile storage devices.

[0059] The GPU 104 outputs an image to a display 111 connected to the physical machine 100 in accordance with an instruction from the processor 101. The display 111 may be any type of display, such as a CRT (Cathode Ray Tube) display, a liquid crystal display (LCD: Liquid Crystal Display), a plasma display, or an organic electroluminescence (OEL: Organic Electro-Luminescence) display.

[0060] The input interface 105 receives input signals from input devices 112 connected to the physical machine 100 and outputs them to the processor 101. The input devices 112 may be pointing devices such as a mouse, a touch panel, a touch pad, or a trackball, a keyboard, a remote controller, or a button switch. Multiple types of input devices may also be connected to the physical machine 100.

[0061] The medium reader 106 is a reading device that reads programs and data recorded on the recording medium 113. For example, a magnetic disk, an optical disk, a magneto-optical disk (MO: Magneto-Optical disk), a semiconductor memory, etc. can be used as the recording medium 113. Magnetic disks include flexible disks (FD: Flexible Disks) and HDDs. Optical disks include compact discs (CDs) and digital versatile discs (DVDs).

[0062] The medium reader 106 copies programs and data read from the recording medium 113 to another recording medium such as the RAM 102 or the HDD 103. The read programs are executed by the processor 101, for example. The recording medium 113 may be a portable recording medium, which may be used to distribute programs and data. The recording medium 113 and the HDD 103 may also be referred to as computer-readable recording media.

[0063] The communication interface 107 is connected to a network 114 and communicates with other information processing devices via the network 114. The communication interface 107 may be a wired communication interface connected to a wired communication device such as a switch or a router, or may be a wireless communication interface. The network 114 is an internal network of the cloud system 2.

[0064] The other physical machines including the physical machine 100a and the terminal device 4 are also implemented by the same hardware as the physical machine 100. The cloud system 2 can operate multiple virtual machines using the hardware resources of the physical machines 100, 100a, . . .

[0065] FIG. 7 is a diagram showing an example of AZ. The cloud system 2 has a region 2a and AZs 50 and 60. The region 2a is a management unit of a network corresponding to a certain area. The AZs 50 and 60 are management units that group together multiple data centers located within the region 2a. The AZs 50 and 60 are located in geographically separate locations. For example, the AZ 50 has data centers 51, 52, .... The AZ 60 has data centers 61, 62, ....

[0066] Data center 51 has physical machines 100, 100a, .... Although not shown in the figure, data center 51 has a large amount of hardware such as network devices and storage devices. Other data centers including data centers 52, 61, and 62 also have a large amount of hardware such as physical machines, network devices, and storage devices, similar to data center 51. Although not shown in the figure, region 2a includes a network system that connects each data center in AZs 50 and 60.

[0067] FIG. 8 is a diagram illustrating an example of a cluster system. The cloud system 2 includes a cluster system 70. The cluster system 70 includes an operation node 200 and a standby node 300. The operation node 200 is implemented by a physical machine 100 in AZ 50. The operation node 200 may be a virtual machine running on the physical machine 100. The standby node 300 is implemented by a physical machine 100b in AZ 60. The standby node 300 may be a virtual machine running on the physical machine 100b. Here, the physical machine 100b is a physical computer included in the data center 61.

[0068] For example, computing resources such as a processor and RAM in the physical machine 100 are allocated to the operation node 200 as a virtual machine. Similarly, computing resources such as a processor and RAM in the physical machine 100b are allocated to the standby node 300 as a virtual machine. For example, the operation node 200 and the standby node 300 may be virtual servers called EC2 (Elastic Computing Cloud) instances.

[0069] The cluster system 70 includes an operating disk 400 and a standby disk 500. The operating disk 400 is a local storage device of the operating node 200. The standby disk 500 is a local storage device of the standby node 300. HDDs, SSDs, etc. are used for the operating disk 400 and the standby disk 500. For example, the operating disk 400 and the standby disk 500 may each be a block storage called Amazon EBS (Elastic Block Store).

[0070] Furthermore, the physical machines 100 and 100b are connected to networks N10 and N20 that connect the AZs 50 and 60. The networks N10 and N20 are part of the network 114. The network N10 is a health monitoring network used for monitoring the health of the operating node 200 and the standby node 300, i.e., for heartbeat communication. The network N20 is a storage access network used for access from the operating node 200 to the standby disk 500. Therefore, it can be said that the operating node 200 and the standby node 300 are also connected to the networks N10 and N20. The operating node 200 can access the standby disk 500 via the network N20 without going through the standby node 300.

[0071] During normal operation, the cluster system 70 executes applications used by users using the operation node 200. The operation node 200 writes data to the operation disk 400 in accordance with the application processing. At this time, the operation node 200 also writes a copy of the data to the standby disk 500 via the network N20. This synchronizes the data held in the operation disk 400 and the data held in the standby disk 500.

[0072] The standby node 300 detects that the operating node 200 has gone down by detecting a loss of heartbeat via the network N10. The standby node 300 then starts the application that was running on the operating node 200 and executes the processing of that application in place of the operating node 200. At this time, the standby node 300 can take over the data of that application by accessing the standby disk 500.

[0073] The operational node 200 may go down due to, for example, a failure in the AZ 50 (AZ failure), a failure in the physical machine 100, or a failure in the operational node 200 at the node level. FIG. 9 illustrates an example of the functions of the operating node and the standby node.

[0074] The operating node 200 includes a storage unit 210, a cluster application 220, and a control unit 230. The standby node 300 includes a storage unit 310, a cluster application 320, and a control unit 330.

[0075] The storage unit 210 uses the storage areas of the RAM 102 and HDD 103 in the physical machine 100. The cluster application 220 and the control unit 230 are realized by executing a program stored in the storage area of ​​the RAM 102 allocated to the operation node 200 using the computing resources of the processor 101 allocated to the operation node 200.

[0076] The storage unit 310 uses the storage area of ​​the RAM or HDD of the physical machine 100b. The cluster application 320 and the control unit 330 are realized by executing a program stored in the storage area of ​​the RAM allocated to the standby node 300 using the computing resources of the processor allocated to the standby node. Here, when the cluster application 220 is running on the operating node 200, the cluster application 320 is not running on the standby node 300. The cluster application 320 is started when the cluster application 220 goes down due to a failure on the operating node 200 side or the like.

[0077] The storage unit 210 stores information used in processing by the control unit 230. The storage unit 210 holds information such as the current READ destination disk and the I / O response times of the operating disk 400 and the standby disk 500. Here, the READ destination disk is the storage from which the operating node 200 reads data.

[0078] The control unit 230 receives data I / O requests from the cluster application 220 and executes I / O on the operating disk 400 and the standby disk 500. I / O requests are classified into data write requests and data read requests. When the control unit 230 receives a data write request, it writes the data to the operating disk 400 and also writes a copy of the data to the standby disk 500. The control unit 230 then responds to the cluster application 220 with the write result.

[0079] Furthermore, when the control unit 230 receives a data read request, it identifies from which storage, the operating disk 400 or the standby disk 500, the data should be read, based on the read destination disk stored in the storage unit 210. The control unit 230 reads the data from the identified storage and returns the read data to the cluster application 220. The control unit 230 can access the standby disk 500 via the network N20.

[0080] Furthermore, when the control unit 230 executes I / O to the operating disk 400 and the standby disk 500, it measures the I / O response times of the operating disk 400 and the standby disk 500 and stores the results in the storage unit 210. The control unit 230 compares the I / O response time of the operating disk 400 with the I / O response time of the standby disk 500, and sets the disk with the shorter I / O response time as the READ destination disk.

[0081] The storage unit 310 stores information used in the processing of the control unit 330. The control unit 330 has the same functions as the control unit 230. For example, suppose that the cluster application 220 goes down, the cluster application 320 is started on the standby node 300, the standby node 300 changes to the active system, and the active node 200 changes to the standby system. In this case, the standby disk 500 changes to the active side, and the active disk 400 changes to the standby side. At this time, the control unit 330 can execute I / O from the cluster application 320 in the same way as the control unit 230.

[0082] The control units 230 and 330 may perform heartbeat communication with each other via the network N10 to monitor the alive status of the other node. For example, the control unit 330 may start the cluster application 320 on the standby node 300 when heartbeat communication with the operating node 200 is interrupted.

[0083] FIG. 10 is a diagram illustrating an example of the information table. The information table 211 is stored in the storage unit 210. The information table 211 includes items of parameter name and value. The parameter name item registers a parameter name. The value item registers a value corresponding to the parameter name.

[0084] For example, the parameter names registered in the information table 211 include "READ destination disk", "I / O type", "operating disk READ time", "I / O response time", and "performance measurement counter".

[0085] "READ destination disk" is information that indicates the storage from which data is read. The value of "READ destination disk" is set to the identification information "operating disk" of the operating disk 400 or the identification information "standby disk" of the standby disk 500. The initial value of "READ destination disk" is "operating disk".

[0086] "I / O type" is the type of the current I / O. The value of "I / O type" is set to "READ" (read) or "WRITE" (write). "Operation disk READ time" is information indicating the history of response times when reading data from the operation disk 400. "Operation disk READ time" is used when the operation disk is specified as the READ destination. When a READ is performed on the operation disk 400, the control unit 230 records the response time (READ time) per unit data size as the value of "Operation disk READ time." Several records of the "Operation disk READ time" values ​​are stored as an array, and are used to detect performance degradation by comparing past READ times with the current READ time. For example, several READ times are stored as the value of "Operation disk READ time" in reverse chronological order, such as r1, r2, r3, ...

[0087] Note that the "operational disk read time" also varies depending on the number of I / Os per unit data size, so it is not used to compare performance between disks. "I / O response time" is information indicating the response time of each disk, the operating disk 400 and the standby disk 500, to a certain number of I / Os. The value of "I / O response time" is set to the response time of each disk to a certain number of I / Os when a WRITE is performed or a READ for performance measurement is performed. Here, when a WRITE or a READ for performance measurement is performed, an I / O of the same data size is performed on each disk. This allows the control unit 230 to compare the performance of each disk based on the "I / O response time" of each disk. The "I / O response time" is initialized after the performance comparison is completed. For example, the "I / O response time" value holds the response time R1 of the operating disk 400 and the response time R2 of the standby disk 500.

[0088] The "performance measurement counter" is used when the standby disk 500 is specified as the READ destination. The value of the "performance measurement counter" records the time t1 elapsed since the previous performance measurement and the number of I / Os c1 performed during that time. When a certain amount of time has passed since the previous performance measurement or when a certain number of I / Os have been performed, the control unit 230 performs a performance measurement READ on each disk and compares the response times. The "performance measurement counter" is initialized after the performance comparison is completed. The certain amount of time compared with t1 and the certain number of times compared with c1 are predetermined.

[0089] FIG. 11 illustrates an example of switching of data access destinations by an operational node. The control unit 230 compares the response time R1 of the operation-side disk 400 and the response time R2 of the standby-side disk 500 held in the information table 211. Then, the control unit 230 detects that R1 > R2, that is, the I / O performance when accessing the operation-side disk 400 is degraded compared to the I / O performance when accessing the standby-side disk 500. Then, the control unit 230 switches the READ destination of the data from the operation-side disk 400 to the standby-side disk 500. Thereby, the control unit 230 reads the data from the standby-side disk 500 in response to the data read request by the cluster application 220.

[0090] Note that after the control unit 230 switches the READ destination to the standby-side disk 500, when a certain period of time elapses or a certain number of I / Os are performed, the control unit 230 may acquire the response time R1 of the operation-side disk 400 and the response time R2 of the standby-side disk 500 again and compare the two. In this case, when the control unit 230 detects that R1 < R2, it switches the READ destination of the data from the standby-side disk 500 to the operation-side disk 400.

[0091] Next, the processing procedure of data access control by the operation node 200 will be described. FIG. 12 is a flowchart showing an example of data access control of the operation node. (S40) The control unit 230 executes an I / O in response to an access request (I / O request) for writing (WRITE) or reading (READ) data by the cluster application 220. For example, when the control unit 230 receives a WRITE request, it writes (WRITE) the data to the operation-side disk 400 and also writes (WRITE) a copy of the data to the standby-side disk 500 via the network N20. In this case, the sizes of the data written to the operation-side disk 400 and the standby-side disk 500 are the same.

[0092] Furthermore, when the control unit 230 receives a request to read (READ) data, it reads (READ) the data from the current READ destination disk specified by the value of the “READ destination disk” in the information table 211.

[0093] The control unit 230 responds with the I / O execution result to the cluster application 220. For example, when the control unit 230 writes data, it responds with the write result to the cluster application 220. When the control unit 230 reads data, it responds with the read data to the cluster application 220. The control unit 230 also records the type of I / O executed this time (WRITE or READ) in the "I / O type" of the information table 211.

[0094] (S41) The control unit 230 acquires the current READ destination disk from the “READ destination disk” in the information table 211. (S42) The control unit 230 determines whether the current READ destination disk is the operating side disk 400. If the current READ destination disk is the operating side disk 400, the process proceeds to step S43. If the current READ destination disk is not the operating side disk 400, that is, if the current READ destination disk is the standby side disk 500, the process proceeds to step S44.

[0095] (S43) The control unit 230 executes the function "CheckOperationDisk" which performs switching process (A) when the READ destination is the operation side disk 400. The details of the switching process (A) will be described later. Then, the data access control ends.

[0096] (S44) The control unit 230 executes the function "CheckStandbyDisk" which performs switching process (B) when the READ destination is the standby disk 500. The details of the switching process (B) will be described later. Then, the data access control ends.

[0097] FIG. 13 is a flowchart showing an example of the switching process (A). The switching process (A) corresponds to step S43. (S50) The control unit 230 acquires READ or WRITE from the “I / O type” in the information table 211.

[0098] (S51) The control unit 230 determines whether or not a write was performed in this I / O based on the "I / O type" acquired in step S50. If a write was performed, the process proceeds to step S52. If a read was performed instead of a write, the process proceeds to step S53.

[0099] (S52) The control unit 230 measures the response times R1 and R2 of the operation disk 400 and the standby disk 500 per fixed number of I / Os during this WRITE, and stores the results in the "I / O response time" field in the information table 211. Then, the process proceeds to step S56.

[0100] (S53) The control unit 230 measures the read time per unit size during this read and stores it in the “operation side disk read time” in the information table 211. (S54) The control unit 230 determines whether the current "operation side disk read time" is longer than the "operation side disk read time" from the previous read. If the current "operation side disk read time" is longer than the previous "operation side disk read time", the process proceeds to step S55. If the current "operation side disk read time" is less than or equal to the previous "operation side disk read time", the switching process (A) ends. In the latter case, the read destination disk is not switched.

[0101] (S55) The control unit 230 issues a READ request for performance measurement to both the active and standby disks, measures response times R1 and R2, and stores the results in the “I / O response time” in the information table 211.

[0102] (S56) The control unit 230 compares the response times R1 and R2 in the "I / O response time" of the information table 211 stored in step S52 or step S55. Then, the control unit 230 determines whether the standby disk 500 has a shorter "I / O response time" than the operation-side disk 400, that is, whether R2 < R1. If R2 < R1, the process proceeds to step S57. If R2 ≥ R1, the switching process (A) ends. In the latter case, the read destination disk is not switched.

[0103] (S57) The control unit 230 changes the "READ destination disk" of the information table 211 to the standby disk 500. As a result, the READ destination for the next READ will be the standby disk 500. Then, the switching process (A) ends.

[0104] Here, during READ, the performance of the operation-side disk 400 and the standby disk 500 is compared. However, when the READ destination is the operation-side disk 400, if the performance of the operation-side disk 400 has not deteriorated compared to the previous time even after the READ is performed, this performance comparison is not conducted. Thereby, based on the feature of node-to-node mirroring that basically the operation-side disk 400 has a shorter response time than the standby disk 500 in data access by the operation node 200, the I / O for performance measurement can be minimized.

[0105] FIG. 14 is a flowchart showing an example of the switching process (B). The switching process (B) corresponds to step S44. (S60) The control unit 230 determines whether an I / O is being performed and whether that I / O is a WRITE. If an I / O is being performed and that I / O is a WRITE, the process proceeds to step S61. Otherwise, the process proceeds to step S62. Here, the I / O mentioned refers to the current I / O in step S40. Also, the control unit 230 can determine whether the I / O is a WRITE based on the "I / O type" in the information table 211, similar to steps S50 and S51.

[0106] (S61) The control unit 230 measures the response times R1 and R2 of the operation disk 400 and the standby disk 500 per fixed number of I / Os during the current WRITE, and stores the results in the "I / O response time" field in the information table 211. Then, the process proceeds to step S66.

[0107] (S62) The control unit 230 updates the "performance measurement counter" in the information table 211. Specifically, the control unit 230 updates the time t1 elapsed since the previous performance measurement in the "performance measurement counter," and increments the number of I / Os c1.

[0108] (S63) The control unit 230 obtains, from the "performance measurement counter" in the information table 211, the time t1 that has elapsed since the previous performance measurement and the number of I / Os c1 that have been performed during that time. (S64) The control unit 230 determines, based on t1 and c1, whether a certain amount of time has passed since the previous performance measurement or whether I / O has been performed a certain number of times or more. If a certain amount of time has passed since the previous performance measurement or if I / O has been performed a certain number of times or more, the process proceeds to step S65. If a certain amount of time has not passed since the previous performance measurement and if I / O has not been performed a certain number of times or more, the switching process (B) ends. In the latter case, the read destination disk is not switched.

[0109] (S65) The control unit 230 issues a READ request for performance measurement to both the active and standby disks, measures response times R1 and R2, and stores the results in the “I / O response time” in the information table 211.

[0110] (S66) The control unit 230 compares the response times R1 and R2 in the "I / O response time" of the information table 211 stored in step S61 or step S65. Then, the control unit 230 determines whether the operation-side disk 400 has a shorter "I / O response time" than the standby-side disk 500, that is, whether R1 < R2. If R1 < R2, the process proceeds to step S67. If R1 ≥ R2, the switching process (B) ends. In the latter case, the read destination disk is not switched. However, in step S66, the process may proceed to step S67 when R1 ≤ R2, and the switching process (B) may end when R1 > R2.

[0111] (S67) The control unit 230 changes the "READ destination disk" of the information table 211 to the operation-side disk 400. As a result, the READ destination for the next READ will be the operation-side disk 400. Then, the switching process (B) ends.

[0112] As shown in steps S63 and S64, when an I / O is performed after a certain period of time has elapsed since the previous performance measurement, or when an I / O is performed a certain number of times or more since the previous performance measurement, the control unit 230 performs a performance measurement. Thereby, the control unit 230 can reduce the frequency of issuing I / Os (READ requests) for performance measurement and suppress the load associated with the performance measurement of the operation-side disk 400 and the standby-side disk 500.

[0113] Here, as a method of the comparative example, in the cluster system 70, it may be preset in advance that the data reading by the operation node 200 is performed only from the operation-side disk 400. This is because reading data from the standby-side disk 500 via the network N20 is likely to take more time than reading from the operation-side disk 400, which is the local storage of the operation node 200.

[0114] However, in the method of the comparative example, data access performance from the operation node 200 to the operation disk 400 is not always good. For example, in the cloud system 2, the operation disk 400 may be shared by many virtual machines. This can result in excessive access load to the operation disk 400. Also, a throughput upper limit may be set for access from the operation node 200 to the operation disk 400. When access from the operation node 200 to the operation disk 400 reaches this upper limit, access performance from the cluster application 220 to the operation disk 400 also hits a ceiling, and sufficient access performance may not be obtained. In this way, there is a possibility that access performance from the operation node 200 or the cluster application 220 to the operation disk 400 may deteriorate.

[0115] Therefore, when the response time of the standby disk 500 via the network N20 is shorter than the response time of the operating disk 400, the operating node 200 controls the reading of data to be performed from the standby disk 500 rather than from the operating disk 400. In this way, the operating node 200 monitors the response times of the operating disk 400 and the standby disk 500, and controls the reading of data to be performed from the storage device with the shorter response time, thereby speeding up access to data.

[0116] As described above, the operation node 200 performs, for example, the following processes: The processes executed by the operation node 200 can be said to be processes of a processor assigned to the operation node 200 (for example, the processor 101).

[0117] The operation node 200 acquires a first response time of a first storage device included in the first subsystem to which the operation node 200 belongs, in response to a request from the operation node 200. The operation node 200 also acquires a second response time of a second storage device included in a second subsystem to which the standby node 300 belongs, the second subsystem being connected to the first subsystem via network N20, in response to a request from the operation node 200. The operation node 200 compares the first response time with the second response time. If the second response time is shorter than the first response time, the operation node 200 reads data from the second storage device. Alternatively, the operation node 200 selects whether to read data from the first storage device or the second storage device based on the comparison of the first response time with the second response time. This enables the operation node 200 to speed up data access.

[0118] The system including the physical machine 100 and the operation disk 400 is an example of a first subsystem. The AZ 50 or the data center 51 may also be considered as an example of the first subsystem. The system including the physical machine 100b and the standby disk 500 is an example of a second subsystem. The AZ 60 or the data center 61 to which the standby node 300 belongs may also be considered as an example of the second subsystem. The operation disk 400 is an example of a first storage device. The standby disk 500 is an example of a second storage device.

[0119] For example, when the operational node 200 reads data from the first storage device, it compares the current response time of the read from the first storage device with the previous response time of the read from the first storage device. If the current response time is longer than the previous response time, the operational node 200 acquires the first and second response times by issuing a read request for performance measurement to the first and second storage devices, respectively. The operational node 200 compares the acquired first and second response times, and if the second response time is shorter than the first response time, the operational node 200 reads data from the second storage device. This allows the operational node 200 to minimize I / O for performance measurement based on the characteristic of inter-node mirroring, in which the response time of the first storage device is generally shorter than that of the second storage device when the operational node 200 accesses data. As a result, the operational node 200 can reduce the load associated with performance measurement of the first and second storage devices.

[0120] Furthermore, when the operational node 200 reads data from the second storage device, it determines whether a certain amount of time has passed since the last time it made a read request for performance measurement to each of the first storage device and the second storage device, or whether data has been read from the second storage device a certain number of times or more since the last time it made the read request for performance measurement. If a certain amount of time has passed since the last time it made the read request for performance measurement, or if data has been read from the second storage device a certain number of times or more since the last time it made the read request for performance measurement, the operational node 200 makes the read request for performance measurement to each of the first storage device and the second storage device, and acquires a first response time and a second response time. The operational node 200 compares the acquired first response time and second response time, and if the first response time is shorter than the second response time, switches the operational node 200 to read data from the first storage device.

[0121] This enables the operational node 200 to speed up data access. When access performance to the local first storage device is restored, the operational node 200 reads data from the first storage device, thereby improving the efficiency and speed of data access. Furthermore, the operational node 200 can reduce the frequency of issuing I / O (read requests) for performance measurement, thereby reducing the load associated with performance measurement of the first storage device and the second storage device.

[0122] Furthermore, when making a request to write data to the first storage device, the operation node 200 also makes a request to write a copy of the data to the second storage device, thereby acquiring the first response time and the second response time. The operation node 200 compares the acquired first response time with the second response time, and if the second response time is shorter than the first response time, the operation node 200 reads the data from the second storage device.

[0123] This allows the operational node 200 to efficiently acquire the first response time and the second response time. Specifically, data of the same size is written to the first storage device and the second storage device through mirroring. Therefore, the operational node 200 utilizes the data writing function through mirroring to acquire the response time for writing the data from the first storage device and the second storage device, thereby eliminating the need to send separate requests to the first storage device and the second storage device. As a result, the operational node 200 can reduce the load associated with measuring the performance of the first storage device and the second storage device.

[0124] Furthermore, the operation node 200 performs the following processing on the first response time and second response time acquired when writing data: When the second storage device is selected as the storage device from which the operation node 200 reads data and the first response time is shorter than the second response time acquired when writing data, the operation node 200 switches the operation node 200 to read data from the first storage device.

[0125] This enables the operation node 200 to speed up data access. When access performance to the local first storage device is restored, the operation node 200 reads data from the first storage device, thereby improving the efficiency and speed of data access.

[0126] The second storage device also holds a copy of the data held in the first storage device. When alive monitoring communication with the operation node 200 is interrupted, the standby node 300 takes over the processing of the operation node 200 based on the data held in the second storage device. In this way, the function of the operation node 200 is suitable for controlling data reading in the cluster system 70.

[0127] Furthermore, the first subsystem may be included in a first zone having a plurality of first data centers. The second subsystem may be included in a second zone having a plurality of second data centers. For example, the functions of the operation node 200 are suitable for operating a cluster system 70 using an operation node 200 and a standby node 300 located in different zones. Therefore, the operation node 200 can support the smooth provision of services by the cluster application 220 in a cloud system 2 having a plurality of zones.

[0128] Here, each of the data centers 51, 52, ... is an example of a first data center. Each of the data centers 61, 62, ... is an example of a second data center. AZ50 is an example of a first zone. AZ60 is an example of a second zone.

[0129] The information processing of the first embodiment can be realized by causing the processing unit 12 to execute a program. The information processing of the second embodiment can be realized by causing the processor 101 to execute a program. The program can be recorded on a computer-readable recording medium 113.

[0130] For example, the program can be distributed by distributing recording medium 113 on which the program is recorded. Alternatively, the program may be stored in another computer and distributed via a network. For example, a computer may store (install) a program recorded on recording medium 113 or a program received from another computer in a storage device such as RAM 102 or HDD 103, and read and execute the program from the storage device. [Explanation of symbols]

[0131] 1 Cluster System 1a First Subsystem 1b Second Subsystem 10 Operational Node 11,21 Storage section 12,22 Processing section 20 standby nodes 30 1st storage device 40 2nd storage device N1,N2 network

Claims

1. In a cluster system including an operating node and a standby node, a computer used as the operating node is comparing a first response time of a first storage device included in a first subsystem to which the operation node belongs, to a request from the operation node, with a second response time of a second storage device included in a second subsystem to which the standby node belongs, the second subsystem being connected to the first subsystem via a network, to a request from the operation node; When the second response time is shorter than the first response time, the operation node reads data from the second storage device. A program that executes a process.

2. comparing a current response time of a read from the first storage device with a previous response time of a read from the first storage device; If the current response time is longer than the previous response time, acquiring the first response time and the second response time by issuing a read request for performance measurement to each of the first storage device and the second storage device; comparing the acquired first response time with the acquired second response time; 2. The program according to claim 1, which causes the computer to execute a process.

3. When the data is read from the second storage device, it is determined whether a certain time has elapsed since the previous request for reading for performance measurement was made to each of the first storage device and the second storage device, or whether the data has been read from the second storage device a certain number of times or more since the previous request for reading for performance measurement was made; if a certain time has elapsed since the previous request for reading for performance measurement was made, or if the data has been read from the second storage device a certain number of times or more since the previous request for reading for performance measurement was made, the first response time and the second response time are acquired by making a request for reading for performance measurement to each of the first storage device and the second storage device; comparing the acquired first response time with the acquired second response time, and if the first response time is shorter than the second response time, switching the operation node to read the data from the first storage device; 2. The program according to claim 1, which causes the computer to execute a process.

4. When making a request to write data to the first storage device, a request to write a copy of the data to the second storage device is also made to acquire the first response time and the second response time; comparing the acquired first response time with the acquired second response time; 2. The program according to claim 1, which causes the computer to execute a process.

5. when the second storage device is selected as the storage device from which the data is read by the operation node and the first response time is shorter than the second response time, switching the operation node to read the data from the first storage device; 5. The program according to claim 4, which causes the computer to execute processing.

6. the second storage device holds a copy of the data held in the first storage device; When communication for health monitoring with the operation node is interrupted, the standby node takes over the processing of the operation node based on the data stored in the second storage device. The program according to claim 1.

7. the first subsystem is included in a first zone having a plurality of first data centers; the second subsystem is included in a second zone having a plurality of second data centers; The program according to claim 1.

8. A computer used as an operating node in a cluster system including an operating node and a standby node, comparing a first response time of a first storage device included in a first subsystem to which the operation node belongs, to a request from the operation node, with a second response time of a second storage device included in a second subsystem to which the standby node belongs, the second subsystem being connected to the first subsystem via a network, to a request from the operation node; When the second response time is shorter than the first response time, the operation node reads data from the second storage device. Information processing methods.

9. having an operating node and a standby node, The operation node comparing a first response time of a first storage device included in a first subsystem to which the operation node belongs, to a request from the operation node, with a second response time of a second storage device included in a second subsystem to which the standby node belongs, the second subsystem being connected to the first subsystem via a network, to a request from the operation node; When the second response time is shorter than the first response time, data is read from the second storage device. Cluster system.

10. In a cluster system including an operating node and a standby node, a computer used as the operating node is comparing a first response time of a first storage device included in a first subsystem to which the operation node belongs, to a request from the operation node, with a second response time of a second storage device included in a second subsystem to which the standby node belongs, the second subsystem being connected to the first subsystem via a network, to a request from the operation node; selecting whether the operation node reads data from the first storage device or the second storage device based on a comparison result between the first response time and the second response time; A program that executes a process.

Citation Information

Patent Citations

  • Scheduling of I / O in solid-state drive (SSD) environment

    JP2016131037A

  • Access control device, access control system, access control method, and recording medium containing access control program

    WO2017188036A1