Conformance determination system, conformance determination program, and conformance determination method

The compliance determination system addresses the challenge of increasing workload in SDS systems by calculating performance scores and performing operation verification with network corrections, resulting in efficient and cost-effective HW compatibility determination.

JP7694171B2Active Publication Date: 2025-06-18FUJITSU LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2021096023
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-06-08
Publication Date
2025-06-18
Estimated Expiration
2041-06-08

AI Technical Summary

Technical Problem

In Software Defined Storage (SDS) systems, the workload of compatibility determination for hardware (HW) owned by customers increases with the performance and scale of the information processing system, leading to longer system construction periods and higher costs.

Method used

A compliance determination system that includes a first control unit to calculate a performance score for unsupported components based on their performance ratio with supported components, and a second control unit to perform operation verification of a second system with applied network performance correction values, determining HW compatibility efficiently.

Benefits of technology

The system enables efficient HW compatibility determination, reducing the construction period and cost of SDS systems by streamlining the verification process and ensuring reliable operation across various hardware configurations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007694171000001
    Figure 0007694171000001
  • Figure 0007694171000002
    Figure 0007694171000002
  • Figure 0007694171000003
    Figure 0007694171000003
Patent Text Reader

Abstract

To efficiently execute hardware compatibility determination processing.SOLUTION: A compatibility determination system 1 comprises a first control unit 30 and a second control unit 20. The first control unit 30 calculates each performance score of an unsupported component based on a performance ratio between each performance of the unsupported component and each performance of a supported component in a first system among the plurality of components provided in a first apparatus 3a. The second control unit 20 performs operation verification of a second system 4 constructed by software 5, 4b with a correction value 21c corresponding to the performance of a network 1a applied to each of the software 4a, 5, wherein the software 5, 4b is executed by the first apparatus 3a and a second apparatus connected to the first apparatus 3a via the network 1a. The first control unit 30 determines whether or not the first apparatus 3a is compatible with the first system based on the performance score and the result of the operation verification.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a conformity determination system, a conformity determination program, and a conformity determination method.

Background Art

[0002] There is known a storage system (information processing system) that provides a cluster constructed by a plurality of servers (for example, general-purpose servers) as storage. Such a storage system may be referred to as SDS (Software Defined Storage) in contrast to HDS (Hardware Defined Storage) that uses dedicated hardware (HW). The servers used in SDS may be referred to as "storage servers" or "commodity servers".

[0003] In SDS, for example, since storage can be constructed by utilizing servers owned by customers, compared with HDS, it is not necessary to newly introduce dedicated HW, and the initial introduction cost can be reduced.

[0004] In addition, the vendor can expect a long-term increase in profits through continuous sales such as subscriptions for licenses and support services according to the storage capacity after system introduction to customers, and sales of additional purchases of HW and licenses by scale-out. Note that the support service is a service arranged according to the capacity at the time of introducing a storage server regardless of the presence or absence of HW introduction.

[0005] Furthermore, since the vendor can provide customers with software for realizing a storage system, for example, a program to be executed for each storage server alone, the vendor can propose a model configuration corresponding to various use cases of the customers.

Prior Art Documents

Patent Documents

[0006]

Patent Document 1

[0007] In SDS, HW and software are introduced as a set, but it is not guaranteed that they will operate reliably on all servers. Therefore, SDS vendors provide information on configurations that can support combinations of pre-verified servers and HW.

[0008] To take advantage of the above-mentioned advantages of SDS, vendors build systems by leveraging, for example, the assets held by an unspecified number of customers. To realize system construction, it is important that many configurations (operation-guaranteed) using these assets held by an unspecified number of customers are supported.

[0009] However, in storage systems, for example, in storage products that require high reliability, in addition to the specified performance, requirements such as the compatibility between HWs and the control method may be imposed so that they are as assumed by the vendor. Therefore, in order to determine whether a customer's owned assets such as servers are supported, the vendor will actually obtain the HW to be determined whether it meets the system requirements and perform verification work.

[0010] As described above, as the performance and scale of the information processing system to be constructed increase, the workload of the compatibility determination process for determining whether the HW owned or used by the customer is compatible with the information processing system to be constructed increases, and the system construction period, construction cost, etc. may increase.

[0011] In one aspect, an object of the present invention is to efficiently perform the HW compatibility determination process. [Means for Solving the Problems]

[0012] On one side, the compliance determination system may determine whether the first information processing device conforms to a first system constructed by software executed by each of a plurality of information processing devices including the first information processing device, and may include a first control unit and a second control unit. The first control unit may calculate a performance score for each of one or more unsupported components that are not supported by the first system among a plurality of components included in the first information processing device, based on a performance ratio between the performance of each of the one or more unsupported components and the performance of each of one or more supported components that are supported by the first system. The second control unit may perform an operation verification of a second system constructed by software executed by each of one or more second information processing devices connected to the first information processing device via a network and software executed by the first information processing device, in a state where a correction value corresponding to the performance of the network is applied to the plurality of software. The first control unit may determine whether the first information processing device conforms to the first system based on the performance score and the result of the operation verification notified from the second control unit.

Advantages of the Invention

[0013] On one side, the present invention can efficiently perform a compliance determination process for HW.

Brief Description of the Drawings

[0014]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Embodiments for Carrying Out the Invention

[0015] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the embodiments described below are merely examples, and there is no intention of excluding various modifications or applications of technologies not explicitly described below. For example, the present embodiment can be variously modified and implemented without departing from its gist. In the drawings used in the following description, parts denoted by the same reference numerals represent the same or similar parts unless otherwise specified.

[0016] 〔1〕One embodiment 〔1-1〕Configuration example of verification system FIG. 1 is a block diagram showing a configuration example of a verification system 1 according to an embodiment. The verification system 1 is an example of a conformity determination system (information processing system) that determines whether the HW owned or used by a customer (user) conforms to a storage system planned to be constructed. As shown in FIG. 1, illustratively, it may include a vendor site 2 and a customer site 3. The storage system planned to be constructed is an example of a first system constructed by software executed by each of a plurality of servers including a server owned or used by the customer.

[0017] The vendor site 2 is an environment owned or used by a vendor that constructs a storage system such as SDS. As illustrated in FIG. 1, it may include a server 2a and a storage system 4. The server 2a is an example of an (third) information processing apparatus or an (third) computer, and is an example of HW owned or used by the vendor. The vendor site 2 may include a plurality of servers 2a. As illustrated in FIG. 1, the server 2a may include a vendor-side control unit 20. The storage system 4 may be realized by a plurality of servers owned or used by the vendor, for example, a plurality of servers 2a, or a plurality of servers 4a (see FIGS. 2 and 3).

[0018] The customer site 3 is an environment including HW owned or used by the customer. As illustrated in FIG. 1, the customer site 3 may include a server 3a. The server 3a is an example of a (first) information processing apparatus or a (first) computer, and is an example of HW owned or used by the customer. The server 3a is a HW (device) that is a processing target of a verification process (conformity determination process) for determining whether it conforms to a storage system to be constructed (scheduled for construction).

[0019] Note that the "storage system to be constructed" may be, for example, a storage system newly constructed by a plurality of servers including the server 3a, or an existing storage system that has been constructed (or operated) by a plurality of servers. When the "storage system to be constructed" is an existing storage system, the server 3a to be verified may be, for example, a server incorporated into the storage system for the purpose of addition (expansion) such as scale-out or replacement as a replacement machine.

[0020] As illustrated in FIG. 1, the server 3a may include a customer-side control unit 30 and storage software 5. Note that the customer site 3 may include a plurality of servers 3a that are processing targets of the verification process. When the customer site 3 includes a plurality of servers 3a, the verification process may be performed for each of the plurality of servers 3a, or may be performed for at least one of the servers 3a having the same configuration among the plurality of servers 3a.

[0021] The vendor site 2 and the customer site 3 may be communicably connected to each other via the network 1a. Examples of the network 1a include various networks such as the Internet or a LAN (Local Area Network). The network 1a may include a network such as a VPN (Virtual Private Network), for example.

[0022] The vendor - side control unit 20 is an example of the second control unit, communicates with the server 3a, and executes various controls related to a verification process (conformance determination process) for verifying whether the server 3a conforms to the storage system to be constructed using the storage system 4. The function of the vendor - side control unit 20 may be realized, for example, by the server 2a executing a program (for example, an agent program).

[0023] The storage system 4 is an example of the second system and is a verification - use (test - use) storage system having the same configuration as the storage system to be constructed. For example, the storage system 4 may be an SDS realized by a plurality of servers 4a. The server 4a is an example of an (second) information processing apparatus or an (second) computer. Note that the storage system 4 may be realized by the server 2a in addition to or instead of the server 4a.

[0024] FIG. 2 is a diagram showing an example of the storage system 4. As shown in FIG. 2, the storage system 4 may illustratively include a plurality of servers 4a owned or used by the vendor and storage software 4b for realizing the function as the storage system 4.

[0025] In the example of FIG. 2, although one storage software 4b is illustrated, the storage software 4b executed by each of the plurality of servers 4a may operate in cooperation to realize the functions of the storage system 4. The storage software 4b may execute software such as a cloud operating system (OS) 41 or virtualization software 42, and an application 43 operating on the software, or in addition to or instead of these, may execute a container 44.

[0026] FIG. 3 is a diagram showing an example of a server 4a of the storage system 4. As shown in FIG. 3, the storage system 4 may be configured to connect a plurality of servers 4a each including a plurality of storage devices 4c to each other via a network 4d. The network 4d may be a network such as a LAN and may be connected to the network 1a.

[0027] For example, the storage system 4 may be able to provide a storage area as storage to a customer by using HW resources such as the storage device 4c of the server 4a illustrated in FIG. 3 by the application 43 or the container 44 illustrated in FIG. 2. Note that the storage system 4 shown in FIGS. 2 and 3 may be positioned as a test storage system used for verification processing. The storage system to be constructed may have the same functions and configurations as the storage system 4 shown in FIGS. 2 and 3.

[0028] The customer-side control unit 30 is an example of the first control unit, communicates with the vendor-side control unit 20, and controls the execution of the verification process based on the control by the vendor-side control unit 20. The functions of the customer-side control unit 30 may be realized, for example, by the server 3a executing a program (for example, an agent program). Note that the functions of the customer-side control unit 30 may be realized by a server other than the server 3a in the customer-side control unit 30 and capable of controlling the server 3a.

[0029] The storage software 5 is software (a program) for realizing at least a part of the functions of the storage system, and is the software installed on the server 3a when the server 3a is incorporated into the storage system. The storage software 5 may have the same functions as the storage software 4b shown in FIG. 2. For example, the customer-side control unit 30 may execute verification processing based on the operation (behavior) of the storage software 5 executed by the server 3a.

[0030] In this way, the verification system 1 determines whether the server 3a at the customer site 3 conforms to the requirements of the storage system to be constructed, for example, by the agent software set in both the vendor site 2 located remotely (at a remote location) and the customer site 3.

[0031] 〔1-2〕Explanation of Verification Processing Next, the verification processing by the verification system 1 will be briefly explained. The verification processing may include, by way of example, "unit testing" and "system testing".

[0032] (Unit Testing) Unit testing is a test for the server 3a alone and may be executed, for example, by the customer-side control unit 30. The unit testing may include at least one of "configuration diagnosis", "component testing", and "software testing".

[0033] "Configuration diagnosis" is a test for detecting unsupported components in the storage system from various components included in the server 3a. Examples of the components included in the server 3a include HW such as a processor, a memory, a storage device, a power supply, a battery, and a cable.

[0034] The "part test" is a test to verify whether each unsupported part detected in the configuration diagnosis can be controlled by the storage software 5. Whether an unsupported part can be controlled by the storage software 5 may be determined, for example, by determining whether a driver corresponding to the type of the unsupported part is operable. As an example, in the part test, the customer-side control unit 30 may install a driver corresponding to the type of each unsupported part in the server 3a and determine whether the driver operates each unsupported part.

[0035] The "software test" is a test to verify whether the storage software 5 is operable on the server 3a. For example, the client-side control unit 30 may execute the storage software 5 on the server 3a and determine whether an error occurs. If no error occurs, or if an error occurs that is of a level that can be determined not to impede the operation of the storage software 5, the client-side control unit 30 may determine that the storage software 5 is operable on the server 3a.

[0036] (System Test) The system test is a test in which server 3a is connected to the vendor site 2 and incorporated into the storage system 4, and verifies the operation of the storage system 4 including server 3a and server 4a, and may be performed, for example, by the vendor-side control unit 20 and the customer-side control unit 30.

[0037] The following four examples are given as examples of combinations of the verification results obtained by the verification process including the unit test and the system test described above and the actions taken in response to the verification results.

[0038] Result A: Compliant If the verification process determines that the server 3a is suitable for the storage system 4, it is possible to construct a storage system using the server 3a. For example, a vendor constructs or proposes a storage system using the server 3a to a customer.

[0039] · Result B: Not compliant When it is determined by the verification process that the server 3a does not conform to (is not compliant with) the storage system 4, it is difficult to construct a storage system using the server 3a. For example, the vendor may propose to the customer a storage system that does not use the server 3a, such as a set plan involving the purchase or lease of multiple servers as an example.

[0040] · Result C: Non-compliance due to the influence of interference In the verification process, there may be cases where it is determined that the server 3a does not conform to (is not compliant with) the storage system 4 due to the influence of interference. Examples of interference include, for example, a poor communication environment between the vendor site 2 and the customer site 3. As an example, interference may include cases where the performance of the communication devices of one or both of the vendor site 2 and the customer site 3, the bandwidth of the network 1a, etc. do not meet the standards, or the communication load of one or both of the communication devices and the network 1a exceeds the standards (for example, in a congested state), etc.

[0041] Therefore, when it is determined by the verification process that the server 3a does not conform to (is not compliant with) the storage system 4 due to the influence of interference, for example, the vendor may determine that it is difficult to perform the verification process of the server 3a in the verification system 1. In this case, the vendor may propose to the customer to perform the verification process within the vendor site 2 using the server 3a or a server identical or substantially identical to the server 3a. When performing the verification within the vendor site 2, the vendor may take appropriate actions according to, for example, Result A (compliant) or Result B (not compliant) obtained by the verification process within the vendor site 2. Result C (non-compliance due to the influence of interference) may be positioned as an exception to Result B.

[0042] · Result D: Environmental error When the verification process cannot be executed normally due to a misconfiguration of the network settings of the server 3a or the customer site 3, etc., for example, the vendor may request the customer to confirm the environment of the verification process at the customer site 3, etc.

[0043] As described above, according to the verification system 1, by connecting the server 3a of the customer site 3 and the storage system 4 of the vendor site 2 and performing the verification process of the server 3a, it is possible to obtain the same verification result as the verification process within the vendor site 2.

[0044] By the way, the storage system to be constructed is assumed to be constructed by a plurality of servers 3a in an environment with relatively small communication delays, such as the customer side environment, for example, the customer site 3, the data center, the customer site 3 and the data center, etc.

[0045] Therefore, among the disturbances that occurred as the cause of the above-described result C (non-compliance due to the influence of disturbances), it may be inappropriate to adopt the disturbances caused by the environment specific to the verification system 1, such as the communication environment, etc., as the verification result of the server 3a.

[0046] In addition, the conventional verification process may be performed in a concentrated place such as a vendor's laboratory, and it may not be assumed that it is performed between remote locations like the verification system 1. Therefore, it is difficult to assume the behavior in the communication via the network 1a of the verification system 1 by the method of the conventional verification process.

[0047] Thus, in result C (non-compliance due to the influence of disturbances), there may be a case where the server 3a is determined to be non-compliant due to the influence of disturbances caused by the communication environment, for example, disturbances caused by the quality of the network 1a, and the accuracy of the HW verification process may decrease.

[0048] Therefore, in one embodiment, a method will be described that enables obtaining a result with the same level of accuracy as the verification process within the vendor site 2 by evaluating the quality of the network 1a in the verification process involving communication between remote locations and eliminating the disturbances caused by the communication environment.

[0049] 〔1-3〕Example of functional configuration FIG. 4 is a block diagram showing an example of the functional configuration of the verification system 1 according to one embodiment.

[0050] Functional Configuration Example of Vendor Site [1-3-1] First, a functional configuration example of vendor site 2 will be described. As shown in FIG. 4, the server 2a of vendor site 2 may illustratively include a memory unit 21, a communication unit 22, a negotiation unit 23, a diagnosis unit 24, and a system control unit 25. Further, the storage system 4 of vendor site 2 may include storage software 4b, similar to FIG. 2. The communication unit 22, the negotiation unit 23, the diagnosis unit 24, and the system control unit 25 are an example of the vendor-side control unit 20 shown in FIG. 1.

[0051] The storage software 4b of the storage system 4 performs various processes to realize the operation as the storage system 4 that utilizes the HW of servers 3a and 4a according to the control from the system control unit 25.

[0052] The memory unit 21 is an example of a storage area and stores various information used for the processing by the server 2a. As shown in FIG. 4, the memory unit 21 may illustratively store status information 21a, result information 21b, and correction values 21c.

[0053] The communication unit 22 performs various communications related to the verification process and various controls related to the communication with the communication unit 32 (to be described later) of the server 3a.

[0054] The negotiation unit 23 performs various processes related to the negotiation process with the negotiation unit 34 (to be described later) of the server 3a via the communication units 22 and 32. The negotiation process is a process in which the server 3a inquires whether the verification process of the server 3a can be executed by the diagnosis unit 24 (whether the diagnosis unit 24 can diagnose the server 3a).

[0055] For example, in response to receiving a negotiation process request (test request) from the negotiation unit 34, the negotiation unit 23 may execute a negotiation process with the negotiation unit 34. In the negotiation process, the negotiation unit 23 may refer to the state information 21a indicating the operation mode (operation state) of the diagnosis unit 24, and send a response corresponding to the operation mode of the diagnosis unit 24 to the negotiation unit 34.

[0056] The state information 21a may be information having states (states) such as "diagnosing" indicating that the diagnosis unit 24 is in the process of diagnosis (operation), and "receiving" indicating that the diagnosis unit 24 is capable of diagnosis (in a state where requests can be received). For example, when the state information 21a indicates "diagnosing", the negotiation unit 23 may send a "busy response" indicating that the server 2a is executing the diagnosis of another server 3a to the negotiation unit 34. Also, when the state information 21a indicates "receiving", the negotiation unit 23 may send an "ACK (Acknowledge) response" indicating that the server 2a is ready to execute the diagnosis of the currently communicating server 3a to the negotiation unit 34.

[0057] The diagnosis unit 24 performs various processes related to the system test with the system test unit 35 of the server 3a described below via the communication units 22 and 32. For example, in response to receiving a system test request (test request) from the system test unit 35, the diagnosis unit 24 may execute a system test with the system test unit 35.

[0058] In the system test, the diagnosis unit 24 performs a diagnosis process of the network 1a between the server 2a (or the server 4a) and the server 3a, and a system test (operation verification process) of the storage system 4 incorporating the server 3a. Hereinafter, the diagnosis process may sometimes be referred to as "network diagnosis process" or "NW diagnosis process".

[0059] The diagnosis unit 24 may store the respective results of the NW diagnosis process and the system test in the memory unit 21 included in the result information 21b. Further, the diagnosis unit 24 may calculate a correction value 21c based on the diagnosis result of the NW diagnosis process and store it in the memory unit 21.

[0060] For example, the diagnosis unit 24 may instruct the system control unit 25 to set the calculated correction value 21c in the storage software 4b of the storage system 4. Further, the diagnosis unit 24 may transmit the calculated correction value 21c to the system test unit 35.

[0061] Note that the negotiation unit 23 and the diagnosis unit 24 may operate independently of each other. For example, the negotiation unit 23 may receive communications from other servers 3a at any time even when the diagnosis unit 24 is operating.

[0062] The system control unit 25 performs various controls related to the storage system 4. For example, the system control unit 25 may perform operation control of the storage system 4 including the server 3a and setting processing of the storage software 4b, such as parameter setting processing based on the correction value 21c, in response to an instruction from the diagnosis unit 24.

[0063] Hereinafter, the correction value 21c generated by the diagnosis unit 24, the setting of the correction value 21c for the storage software 4b, and the system test of the storage system 4 will be described.

[0064] (An example of the correction value) The correction value 21c is information for canceling or reducing disturbances caused by the environment specific to the verification system 1, such as the communication state between the vendor site 2 and the customer site 3, in the verification in the system test. The correction value 21c may be calculated according to the performance of the network 1a, for example. The performance of the network 1a may include, for example, the processing performance of the communication unit 22 (or the communication unit of the server 4a) and the communication unit 32.

[0065] The correction value 21c may be calculated, for example, as a value obtained by subtracting the response speed V2 between the servers 4a allowed in the storage system 4 from the average response speed V1 between the server 2a (or the server 4a) and the server 3a (in the case of a negative value, it is set to “0”). Examples of the response speeds V1 and V2 include, for example, Ping values and the like.

[0066] Alternatively, the correction value 21c may be calculated, for example, in consideration of the packet loss between the server 2a (or the server 4a) and the server 3a according to the following formula (1). Correction value 21c = (V1 / (1 - (number of lost packets / total number of packets))) - V2 (1)

[0067] For example, when a loss occurs in the packets transmitted between the server 2a (or the server 4a) and the server 3a, the number of packets transmitted per unit time decreases as the transmitting side performs retransmission. Assuming that the time required for packet transmission during retransmission is the same as the time required for normal packet transmission, when 50% of the total packets are lost, the time required for transmitting a predetermined amount of packets (and retransmission) becomes about twice as long as the case where no packet is lost. The formula that reflects the influence of such packet loss on the average response speed V1 is the above formula (1).

[0068] (An example of the process for setting the correction value for the storage software) For example, the system control unit 25 may correct the parameters related to the communication time in the storage software 4b based on the correction value 21c. As an example, the system control unit 25 may add (append) the time corresponding to the correction value 21c to the timeout time of the NW communication between the servers 4a in the storage software 4b.

[0069] As a result, for example, in the operations shown in the following (i) to (iii) in the system test, it is possible to suppress the determination that it is an NW error and to allow the operation to end normally (diagnosed as normal). Note that in these operations, if a delay or the like exceeding the correction amount by the correction value 21c occurs, there is a possibility that it is determined to be an error such as an NW error.

[0070] (i) Communication processing for communicating control data for incorporating the server 3a into a part of the storage system 4 between the server 2a and the server 3a. (ii) Communication processing for replicating user data between servers of the storage system 4 including the server 3a and the server 4a. (iii) Communication processing for the server of the storage system 4 to transmit information such as environment information or server status to an external computer.

[0071] Note that the above example does not depend on whether the correction value 21c is calculated in consideration of packet loss. The retransmission process in the case of packet loss is completed by a low-level NW protocol, and at the software level, the delay due to the retransmission process appears as a delay in the NW process.

[0072] (An example of the system test process) The vendor-side control unit 20 according to an embodiment constructs the storage system 4 by the storage software 4b executed by each of one or more servers 4a connected to the server 3a via the network 1a and the software 5 executed by the server 3a. Then, the vendor-side control unit 20 executes the operation verification of the constructed storage system 4 in a state where the correction value 21c according to the performance of the network 1a is applied to each of the storage software 5 and 4a.

[0073] The system test using the storage system 4 constructed including the server 3a (with the server 3a incorporated) to which the above-described correction value 21c is applied may include at least any one of the following processes (a) to (f).

[0074] (a) Creation of a new volume in the storage system 4. (b) Writing and reading data to / from the volume of the storage system 4, and comparison between the written data and the read data to determine whether the written data can be correctly read. (c) Creation of one or both of a snapshot and replication (inter - volume data replication) in the storage system 4. (d) Data transmission from the storage system 4 to a management server (not shown) existing in the external NW. (e) Degradation of one of the servers 4a managed by the server 2a, and data rebalancing. (f) Update of software, such as storage software 4b or other control programs.

[0075] Note that rebalancing is a process of rearranging data (internal data) stored in the storage system 4 among a plurality of servers 4a so that data redundancy can be maintained.

[0076] When the diagnosis unit 24 detects an error, for example, in the above - described processing in the system test, the diagnosis unit 24 may store information indicating the processing (operation), the execution time of the processing or the detection time of the error, and the cause of the error, etc. in the memory unit 21 included in the result information 21b.

[0077] Here, when the "cause" of the error in the system test is "timeout", the diagnosis unit 24 may determine that the error is caused by NW performance. On the other hand, when the "cause" of the error in the system test is other than "timeout", the diagnosis unit 24 may determine that the error is not caused by NW performance.

[0078] For example, in the writing and reading of data in the process (b) described above, when a host timeout occurs, the diagnostic unit 24 may determine that the timeout (error) is an error caused by NW performance. On the other hand, for example, when the contents of the written data and the read data in the process (b) described above are different (comparison error), the diagnostic unit 24 may determine that the error is not caused by NW performance.

[0079] In addition, as other examples of errors not caused by NW performance, for example, at least one of the following errors may be mentioned. · Software panic of server 3a or 4a. · Transmission and reception failure due to an error (other than timeout) of the NW driver. · Startup failure of server 3a or 4a. · Error of an operation determined to operate normally in a unit test.

[0080] 〔1-3-2〕Functional configuration example of customer site Next, a functional configuration example of the customer-side control unit 30 will be described. As shown in FIG. 4, the server 3a of the customer site 3 may illustratively include a memory unit 31, a communication unit 32, a unit test unit 33, a negotiation unit 34, a system test unit 35, a verification result determination unit 36, and the same storage software 5 as in FIG. 1. The communication unit 32, the unit test unit 33, the negotiation unit 34, the system test unit 35, and the verification result determination unit 36 are an example of the customer-side control unit 30 shown in FIG. 1.

[0081] The memory unit 31 is an example of a storage area and stores various information used for processing by the server 3a. As shown in FIG. 4, the memory unit 31 may illustratively store support component information 31a, result information 31b, correction value 31c, NW influence degree information 31d, performance coefficient information 31e, and NW influence index 31f.

[0082] The communication unit 32 performs various communications related to the verification process and various controls related to the communication with the communication unit 22 of the server 2a.

[0083] The unit test unit 33 executes unit tests including "configuration diagnosis", "component test", and "software test".

[0084] For example, in the "configuration diagnosis", the unit test unit 33 may determine, for each component of the server 3a, whether it is supported by the storage system to be constructed based on the support component information 31a.

[0085] FIG. 5 is a diagram showing an example of the support component information 31a. The support component information 31a is an example of the second information indicating one or more support components supported by the storage system. As shown in FIG. 5, the support component information 31a may illustratively include items of "component", "model number", "quantity", and "product name". In "component", the type of component supported by the storage system to be constructed may be set. In "model number", a model number (model number), which is an example of the identification information of the supported component, may be set. In "quantity", the quantity of the supported component may be set. In "product name", the product name of the supported component may be set.

[0086] For example, the unit test unit 33 may identify the model number of each of the plurality of components included in the server 3a and determine whether an entry that matches the identified model number is included in the support component information 31a. If there is an entry in the support component information 31a whose model number matches, the unit test unit 33 may determine that the component is a support component. On the other hand, if there is no entry in the support component information 31a whose model number matches, the unit test unit 33 may determine that the component is an unsupported component.

[0087] If it is determined that all components included in the server 3a are support components, the unit test unit 33 may include information indicating result A (conformity) in the result information 31b and store it in the memory unit 31.

[0088] On the other hand, when the unsupported parts are included in the server 3a, the individual test unit 33 verifies whether the unsupported parts can be controlled by the storage software 5 in the "component test". For example, the individual test unit 33 may determine whether the driver corresponding to the type of the unsupported part is operable.

[0089] Also, the individual test unit 33 may calculate the performance ratio and performance coefficient between the unsupported part and the supported part of the same type for the unsupported part, and store them in the memory unit 31. The performance ratio is, for example, information representing the ratio of the performance of the unsupported part to the performance of the supported part. The calculation method of the performance coefficient will be described later. The performance ratio and performance coefficient may be used in the processing by the verification result determination unit 36 described later.

[0090] Furthermore, in the "software test", the individual test unit 33 may execute the storage software 5 on the server 3a and determine whether an error occurs.

[0091] When an error occurs (when the process ends abnormally) in the "component test" or "software test", the individual test unit 33 may include information indicating result B (non-conformance) in the result information 31b and store it in the memory unit 31.

[0092] When the "software test" ends normally, the individual test unit 33 may perform NW diagnosis within the same subnet to which the server 3a belongs. For example, in the NW diagnosis within the same subnet, the individual test unit 33 may confirm the connectivity of the section from the customer-side control unit 30 (communication unit 32) to the external NW gateway and measure the communication quality of the section.

[0093] When there is no error in the diagnosis result of the NW diagnosis within the same subnet (when the single-unit test is completed normally), the negotiation unit 33 may instruct the negotiation unit 34 to execute the negotiation process. On the other hand, when an error occurs in the NW diagnosis within the same subnet (when the single-unit test ends abnormally), the single-unit test unit 33 may include the result D (environmental error) in the result information 31b and store it in the memory unit 31. Note that the information on the diagnosis result of the NW diagnosis may be used in the result determination process of the verification result determination unit 36 described later.

[0094] After the single-unit test by the single-unit test unit 33, the negotiation unit 34 sends a test request to the negotiation unit 23 of the vendor site 2 and waits for a response. Then, it performs processing according to the result of the wait. For example, when the negotiation unit 34 receives an ACK response, it may instruct the system test unit 35 to execute the system test. Also, when the negotiation unit 34 receives a busy response, it may retry (resend) the test request to the same vendor site 2, or it may send a test request to the negotiation unit 23 of another vendor site 2.

[0095] When the test request times out, the negotiation unit 34 determines that a communication error has occurred in the negotiation process. For example, it may include information indicating the result D (environmental error) in the result information 31b, store it in the memory unit 31, and end the verification process.

[0096] The system test unit 35 performs NW diagnosis processing and system test (operation verification processing).

[0097] For example, the system test unit 35 sends a test request to the diagnosis unit 24 of the vendor site 2 and executes NW diagnosis processing with the diagnosis unit 24. For example, the system test unit 35 receives the processing result of the NW diagnosis processing and the correction value 21c from the diagnosis unit 24, includes the processing result in the result information 31b, stores it in the memory unit 31, and stores the correction value 21c as the correction value 31c in the memory unit 31.

[0098] In addition, the system test unit 35 may perform setting processing on the storage software 5 based on the correction value 31c. The setting processing based on the correction value 31c may be the same as, for example, the parameter setting processing based on the correction value 21c for the storage software 4b by the system control unit 25. Thereby, the same correction value (correction values 31c and 21c) can be added to both the parameters of the storage software 5 executed by the server 3a and the parameters of the storage software 4b executed by the server 4a.

[0099] Furthermore, the system test unit 35 may receive the processing result of the system test by the diagnosis unit 24 and output it to the verification result determination unit 36.

[0100] The verification result determination unit 36 determines the result of the verification process (verification result) based on the result of the system test acquired from the system test unit 35.

[0101] For example, when the result of the system test indicates normal completion, the verification result determination unit 36 may include result A (conformity) in the result information 31b and store it in the memory unit 31.

[0102] In addition, when the result of the system test indicates abnormal completion and the content (cause) of the error does not result from NW performance, the verification result determination unit 36 may include result B (non - conformity) in the result information 31b and store it in the memory unit 31. Whether the content of the error results from NW performance or not may be determined based on one or both of the "information indicating the cause of the error" included in the processing result by the diagnosis unit 24 and the diagnosis result information of the "NW diagnosis" in the unit test by the unit test unit 33.

[0103] When the result of the system test indicates abnormal completion and the content (cause) of the error results from NW performance, in other words, when the result includes an error caused by the performance of the NW, the verification result determination unit 36 may calculate the network (NW) influence index 31f. The NW influence index 31f is an index indicating the degree of influence on the NW performance of each unsupported component included in the server 3a.

[0104] For example, the verification result determination unit 36 may calculate the NW influence index 31f according to the following formula (2) and store it in the memory unit 31. In the following formula (2), Σ indicates adding the results within the parentheses "()" for each of the unsupported parts. NW influence index = Σ( NW influence degree of part × performance coefficient of part ) (2)

[0105] As shown in the above formula (2), the NW influence index 31f may be calculated as the total value of the product of the influence degree of each of one or more unsupported parts on the network 1a and the performance coefficient of each of one or more unsupported parts for each unsupported part.

[0106] In the above formula (2), the "NW influence degree of part" is information that quantifies how much a part affects the NW performance and may have a predetermined value for each part. For example, the verification result determination unit 36 may refer to the NW influence degree information 31d stored in the memory unit 31 to obtain the NW influence degree of the part used in the above formula (2).

[0107] FIG. 6 is a diagram showing an example of the NW influence degree information 31d. The NW influence degree information 31d is an example of information indicating the influence degree of each of one or more unsupported parts on the network 1a and may be stored in the memory unit 31 in advance before the verification process. As shown in FIG. 6, the NW influence degree information 31d may illustratively include items of "part" and "NW influence degree". In "part", the type of part to which the "NW influence degree" is set may be set. In "NW influence degree", a value corresponding to the type of "part" may be set. As an example, within the range of "0" or more and "1" or less, a larger value may be set as the influence on the NW performance is greater.

[0108] For example, as shown in FIG. 6, for the "NW impact degree" of "components" that have a relatively large (e.g., the largest) impact on NW performance such as NIC (Network Interface Card) and SFP (Optical Transceiver), the maximum value of "1.0" may be set. For the "NW impact degree" of "components" that have a relatively small impact on NW performance such as SSD (Solid State Drive), DIMM (Dual Inline Memory Module), and Storage, "0.1" may be set. For the "NW impact degree" of PSU (Power Supply Unit) that affects the performance of the entire server, a relatively high "0.5" may be set. Also, for the "NW impact degree" of cables or devices that do not affect NW performance, the minimum value of "0" may be set.

[0109] In the above formula (2), the "performance coefficient of the component" may be information obtained by quantifying the result of comparing the performance of each of the plurality of components included in the server 3a with the performance of the support component. As an example, it may be calculated based on the result of a single component test (configuration diagnosis).

[0110] Here, "performance" is information having different elements for each component. For example, if it is a FAN (fan), the performance is the rotation speed; if it is a DIMM or Storage, the performance is the write and read access performance; if it is a CPU, the performance is the frequency, the number of cores, and the number of threads; if it is a power supply, the performance is the output voltage.

[0111] These performance indicators are represented by a plurality of elements depending on the component (type of component). However, in one embodiment, these plurality of elements are integrated and the "performance" is expressed as one numerical value (performance score) for each component (type of component). This performance score is an indicator (score) representing the performance of the unsupported component based on the performance of the support component, and becomes a performance coefficient based on the performance ratio between the unsupported component and the support component. As a method for calculating the numerical value (performance score), for example, various known methods such as a benchmark test may be adopted.

[0112] For example, in one embodiment, at the stage of calculating the performance score by the unit test unit 33, differences for each part (type of part) are absorbed. As an example, in one embodiment, a mathematical formula for obtaining a performance coefficient from a performance ratio is defined such that the performance ratio and the performance coefficient correspond one-to-one regardless of the type of part.

[0113] For example, the unit test unit 33 may calculate the performance ratio of an unsupported part, and refer to the performance coefficient information 31e stored in the memory unit 31 to obtain the performance coefficient corresponding to the calculated performance ratio.

[0114] FIG. 7 is an example of the performance coefficient information 31e. The performance coefficient information 31e is an example of first information that associates a performance ratio with a performance score regardless of each type of one or more unsupported parts. As shown in FIG. 7, the performance coefficient information 31e is information that defines a curve (see reference sign A) representing a performance coefficient corresponding to a performance ratio. The performance coefficient information 31e may be stored in the memory unit 31 in advance before the verification process.

[0115] In the performance coefficient information 31e, when the performance of a part is equal to or higher than the performance of a supported part, in other words, when the performance ratio is "100%" or higher, the performance coefficient becomes a value of "1.0" (equal magnification). Also, in the performance coefficient information 31e, when the performance of an unsupported part is inferior to the performance of a supported part, the performance coefficient becomes a value up to a maximum of "5.0". Note that when the performance ratio is less than a predetermined value (in the example of FIG. 7, "80%") (see the shaded area indicated by arrow B), since the unsupported part is likely to be determined as non-conforming at the unit test stage, it may not be necessary to obtain the performance coefficient corresponding to the performance ratio.

[0116] When the unit test unit 33 calculates the performance ratio for an unsupported part, it may obtain the performance coefficient corresponding to the performance ratio according to the curve (for example, a mathematical formula) illustrated in FIG. 7, and store the performance coefficient in the memory unit 31. The verification result determination unit 36 may obtain the performance coefficient stored by the unit test unit 33 from the memory unit 31 and use it as the "performance coefficient of the part" in the above formula (2).

[0117] When the verification result determination unit 36 determines that the system test has ended abnormally and the cause of the error is due to NW performance, it may determine the verification result based on the NW influence index 31f calculated according to the above formula (2).

[0118] As an example, if the NW influence index 31f is less than the threshold value (for example, "2.0"), the verification result determination unit 36 may ignore the error caused by the NW performance and include the result A (conformity) in the result information 31b and store it in the memory unit 31. In this way, when the NW influence index 31f is less than the threshold value, the verification result determination unit 36 may determine that the server 3a conforms to the storage system.

[0119] On the other hand, if the NW influence index 31f is equal to or greater than the threshold value, it means that even after eliminating the influence of the environment such as the network 1a by the correction values 21c and 31c, the NW performance still does not meet the standard (does not conform to the storage system to be constructed). In this case, the verification result determination unit 36 may include the result C (non-conformity due to the influence of disturbance) in the result information 31b and store it in the memory unit 31.

[0120] When all the determinations are completed, the verification result determination unit 36 outputs output data based on the result information 31b.

[0121] The output data may be information indicating any one of the results A to D included in the result information 31b. Examples of the output of the output data by the verification result determination unit 36 include transmitting the output data to a computer owned by one or both of the vendor and the customer, displaying the output data on the display device of the computer (screen output), storing it in the memory unit 31, etc. The output of the output data may be positioned as a response to a start request for verification processing instructed by a computer owned by one or both of the vendor and the customer.

[0122] As described above, the customer-side control unit 30 according to one embodiment calculates the performance score of each of one or more unsupported components that are not supported by the storage system among the plurality of components included in the server 3a, based on the performance ratio between the performance of each of the one or more unsupported components and the performance of each of the one or more supported components that are supported. Then, the customer-side control unit 30 determines whether the server 3a conforms to the storage system based on the performance score and the result of the system test (operation verification) notified from the vendor-side control unit 20.

[0123] As described above, according to the verification system 1 according to one embodiment, by performing the verification process for constructing the storage system using the customer's server 3a at the vendor site 2 and the customer site 3, it becomes unnecessary to prepare the customer's server 3a at the vendor site 2. Thereby, the vendor can provide the customer with cost reduction by taking advantage of the general-purpose configuration of the storage system. In addition, since the vendor can reduce the cost in the verification process and shorten the verification period, etc., the efficiency of the verification process can be realized.

[0124] Also, in the communication process, since communication via the network 1a intervenes between the vendor site 2 and the customer site 3, the server 3a may be determined to be incompatible due to the influence of disturbances caused by NW performance. In contrast, in one embodiment, the system test is performed using the correction values 21c and 31c calculated by the NW diagnosis process. Also, the determination process based on the performance cost is performed. Thereby, the influence of disturbances caused by the NW environment (NW performance) specific to the verification system 1 can be eliminated or reduced, and the efficiency of the verification process at the customer site 3 can be realized.

[0125] [1-4] Operation example Next, an operation example of the verification system 1 according to the above-described one embodiment will be described.

[0126] [1-4-1] Operation example of the verification process FIG. 8 is a flowchart for explaining an operation example of the verification process according to an embodiment. As illustrated in FIG. 8, in the verification system 1, the unit test unit 33 of the customer-side control unit 30 set in the server 3a executes a unit test (step S1).

[0127] The negotiation unit 34 determines whether a verification result (for example, any one of results A to D) is stored as result information 31b in the memory unit 31 (step S2). When the verification result is stored as result information 31b in the memory unit 31 (YES in step S2), the verification result determination unit 36 outputs output data based on the verification result included in the result information 31b (step S8), and the process ends.

[0128] When the verification result is not stored as result information 31b in the memory unit 31 (NO in step S2), the negotiation unit 34 executes a negotiation process with the negotiation unit 23 of the vendor-side control unit 20 set in the server 2a (step S3).

[0129] The system test unit 35 determines whether a verification result is stored as result information 31b in the memory unit 31 (step S4). When the verification result is stored as result information 31b in the memory unit 31 (YES in step S4), the process proceeds to step S8.

[0130] When the verification result is not stored as result information 31b in the memory unit 31 (NO in step S4), the system test unit 35 executes a system test with the diagnosis unit 24 of the vendor-side control unit 20 (step S5).

[0131] The verification result determination unit 36 determines whether a verification result is stored as result information 31b in the memory unit 31 (step S6). When the verification result is stored as result information 31b in the memory unit 31 (YES in step S6), the process proceeds to step S8.

[0132] When the verification result is not stored as the result information 31b in the memory unit 31 (NO in step S6), the verification result determination unit 36 executes the verification result determination process (step S7), and the process proceeds to step S8.

[0133] 〔1-4-2〕Operation example of unit test FIG. 9 is a flowchart for explaining an operation example of the unit test (step S1) shown in FIG. 8. As illustrated in FIG. 9, when the unit test unit 33 receives an execution instruction for the verification process from a computer (not shown) or the like, it checks (detects) the model numbers of a plurality of HW components included in the server 3a to be verified, for example (step S11).

[0134] The unit test unit 33 refers to the support component information 31a stored in advance in the memory unit 31 before the verification process, collates each of the model numbers of the plurality of components with the support component information 31a, and determines whether there is an entry that matches the model number. Then, the unit test unit 33 determines whether the model numbers of all the detected components exist in the support component information 31a, in other words, whether all the components are supported (step S12).

[0135] When all the components are supported (YES in step S12), since no further verification process is required, the unit test unit 33 includes the result A (conformity) in the result information 31b and stores it in the memory unit 31 (step S13), and the unit test ends.

[0136] When at least one component is not supported (NO in step S12), the unit test unit 33 executes a component test for each unsupported component (step S14).

[0137] The unit test section 33 determines whether or not an error has occurred in all component tests, in other words, whether or not all component tests have been completed normally (step S15). If an error has occurred in at least one component test, in other words, if the test has ended abnormally (NO in step S15), the verification process cannot continue. Therefore, the unit test section 33 stores the result B (non-conformance) in the memory section 31 including it in the result information 31b (step S18), and the unit test ends.

[0138] If no error has occurred in all component tests, in other words, if all component tests have been completed normally (YES in step S15), the unit test section 33 performs a software test on the server 3a (step S16).

[0139] The unit test section 33 determines whether or not an error has occurred in all software tests, in other words, whether or not all software tests have been completed normally (step S17). If an error has occurred in at least one software test, in other words, if the test has ended abnormally (NO in step S17), the verification process cannot continue. Therefore, the process proceeds to step S18.

[0140] If no error has occurred in all software tests, in other words, if all software tests have been completed normally (YES in step S17), the unit test section 33 performs an NW diagnosis within the same subnet (step S19).

[0141] The unit test section 33 determines whether or not an error has occurred in the NW diagnosis, in other words, whether or not the NW diagnosis has been completed normally (step S20). If an error has occurred in the NW diagnosis, in other words, if the test has ended abnormally (NO in step S20), the verification process cannot continue. Therefore, the unit test section 33 stores the result D (environmental error) in the memory section 31 including it in the result information 31b (step S21), and the unit test ends.

[0142] If no error has occurred in the NW diagnosis, in other words, if the test has ended normally (YES in step S20), the unit test ends.

[0143] Operation Example of [1-4-3] Negotiation Processing FIG. 10 is a flowchart for explaining an operation example of the negotiation process (step S3) shown in FIG. 8. First, an operation example of the customer-side control unit 30 will be described. As illustrated in FIG. 10, the negotiation unit 34 of the customer-side control unit 30 transmits a test request for the negotiation process to the vendor-side control unit 20 (step S31) and waits for a response.

[0144] After transmitting the test request, the negotiation unit 34 determines whether or not a predetermined time has elapsed, in other words, whether or not the response to the test request has timed out (step S32). If it has timed out (YES in step S32), since the verification process cannot continue due to a communication abnormality, the negotiation unit 34 stores the result D (environmental error) in the memory unit 31 including it in the result information 31b (step S33), and the negotiation process ends.

[0145] If it has not timed out (NO in step S32), the negotiation unit 34 determines whether or not it has received a busy response (step S34).

[0146] If it has received a busy response (YES in step S34), the process proceeds to step S31. On the other hand, if it has not received a busy response (NO in step S34), the negotiation unit 34 determines whether or not it has received an ACK response (step S35).

[0147] If it has not received an ACK response (NO in step S35), the process proceeds to step S32. On the other hand, if it has received an ACK response (YES in step S35), the negotiation process in the customer-side control unit 30 ends.

[0148] Next, an operation example of the vendor-side control unit 20 will be described. As illustrated in FIG. 10, the negotiation unit 23 of the vendor-side control unit 20 waits for communication from the customer-side control unit 30, for example, reception of a test request for negotiation processing (step S41).

[0149] When receiving a test request from the customer-side control unit 30, the negotiation unit 23 refers to the status information 21a of the memory unit 21 and determines whether the status information 21a indicates "under diagnosis" (step S42). When the status information 21a indicates "under diagnosis" (YES in step S42), the negotiation unit 23 transmits a busy response to the customer-side control unit 30 (step S43), and the process proceeds to step S41.

[0150] When the status information 21a does not indicate "under diagnosis" (NO in step S42), the negotiation unit 23 sets the status of the status information 21a to "under diagnosis" (step S44) and transmits an ACK response to the negotiation unit 23 (step S45).

[0151] Then, the negotiation unit 23 activates the diagnosis unit 24 (step S46), and the process proceeds to step S41.

[0152] 〔1-4-4〕Operation Example of System Test FIG. 11 is a flowchart for explaining an operation example of the system test (step S5) shown in FIG. 8. First, an operation example of the customer-side control unit 30 will be described. As illustrated in FIG. 11, the system test unit 35 of the customer-side control unit 30 transmits a test request for the system test to the vendor-side control unit 20 (step S51) and waits for a response.

[0153] In response to receiving a response from the vendor-side control unit 20, the system test unit 35 performs NW diagnosis processing with the diagnosis unit 24 (step S52).

[0154] When the system test unit 35 receives the diagnosis result of the NW diagnosis process and the correction value 21c from the vendor side control unit 20, it stores the received information in the memory unit 31 and sets the correction value 31c in the storage software 5 (step S53).

[0155] The system test unit 35 waits for the result of the system test of the storage system 4 including the server 3a (storage software 5) by the diagnosis unit 24 (step S54). For example, when the system test unit 35 receives the result of the system test from the vendor side control unit 20, it stores the result in the memory unit 31 including the result information 31b, and the system test in the customer side control unit 30 ends.

[0156] Next, an operation example of the vendor side control unit 20 will be described. As illustrated in FIG. 11, the diagnosis unit 24 of the vendor side control unit 20 waits for communication from the customer side control unit 30, for example, reception of a test request for the system test (step S61).

[0157] When receiving a test request from the customer side control unit 30, the diagnosis unit 24 executes an NW diagnosis process with the system test unit 35 of the customer side control unit 30 (step S62). Further, the diagnosis unit 24 calculates a correction value 21c based on the diagnosis result of the NW diagnosis process, and transmits the diagnosis result and the correction value 21c to the customer side control unit 30 (step S63).

[0158] The diagnosis unit 24 instructs the system control unit 25 to set the correction value 21c for the storage software 4b of the storage system 4. The system control unit 25 sets the correction value 21c in the storage software 4b (step S64).

[0159] The diagnosis unit 24 controls the incorporation of the customer side server 3a into the storage system 4 together with the system control unit 25 (step S65), and determines whether or not the incorporation has been normally completed (step S66).

[0160] When the incorporation is successfully completed (YES in step S66), the diagnosis unit 24, together with the system control unit 25, executes a system test (step S67) and transmits the test result to the customer-side control unit 30 (step S68). When the incorporation fails (NO in step S66), the diagnosis unit 24 skips the execution of the system test and transmits a test result indicating that the incorporation has failed to the customer-side control unit 30 (step S68).

[0161] Then, the diagnosis unit 24 sets the state of the status information 21a to "awaiting reception" (step S69), and the system test in the vendor-side control unit 20 ends.

[0162] [1-4-5] Operation example of verification result determination process FIG. 12 is a flowchart for explaining an operation example of the verification result determination process (step S7) shown in FIG. 8. As illustrated in FIG. 12, the verification result determination unit 36 determines whether the system test has been successfully completed based on the test result (step S71).

[0163] When the system test is successfully completed (YES in step S71), the verification result determination unit 36 includes result A (conforming) in the result information 31b and stores it in the memory unit 31 (step S72), and the verification result determination process (verification process) ends.

[0164] When the system test fails (NO in step S71), the verification result determination unit 36 determines whether the cause of the failure is an error unrelated to NW performance (step S73). When the cause of the failure is an error unrelated to NW performance (YES in step S73), the verification result determination unit 36 includes result B (non-conforming) in the result information 31b and stores it in the memory unit 31 (step S74), and the verification result determination process (verification process) ends.

[0165] When the cause of the failure is not an error unrelated to NW performance, in other words, when it is an error related to NW performance (NO in step S73), the verification result determination unit 36 calculates the NW influence index 31f (step S75).

[0166] The verification result determination unit 36 determines whether the NW influence index 31f is less than a threshold value (for example, "2.0") (step S76). When the NW influence index 31f is less than the threshold value (YES in step S76), the verification result determination unit 36 ignores the error related to the NW performance, includes result A (conformity) in the result information 31b, stores it in the memory unit 31 (step S77), and the verification result determination process (verification process) ends.

[0167] When the NW influence index 31f is greater than or equal to the threshold value (NO in step S76), the verification result determination unit 36 includes result C (non - conformity due to the influence of disturbance) in the result information 31b, stores it in the memory unit 31 (step S78), and the verification result determination process (verification process) ends.

[0168] [1 - 5] Hardware configuration example The device that realizes the server 2a according to an embodiment may be a virtual server (VM; Virtual Machine) or a physical server. Also, the server 2a may be realized by one computer or may be realized by two or more computers. Furthermore, at least a part of the functions of the server 2a may be realized using the HW resources and NW resources provided by the cloud environment.

[0169] The devices that realize the servers 3a and 4a according to an embodiment may be physical servers. Also, in an embodiment, the server 3a has been described as realizing the function of the customer - side control unit 30, but it is not limited thereto. For example, the server that realizes the function of the customer - side control unit 30 may be a server different from the server 3a equipped with the storage software 5, for example, a virtual server or a physical server. In this case, the server that realizes the function of the customer - side control unit 30 may be realized by one computer or may be realized by two or more computers. Furthermore, at least a part of the functions of the customer - side control unit 30 may be realized using the HW resources and NW resources provided by the cloud environment.

[0170] Each of Server 2a, Server 3a, and Server 4a, and the server that realizes the functions of the customer-side control unit 30 may be realized by computers that are similar to each other. Hereinafter, a HW configuration example of the computer will be described by taking the computer 10 as an example.

[0171] FIG. 13 is a block diagram showing a HW configuration example of the computer 10. When a plurality of computers are used as the HW resources of each of Server 2a, Server 3a, and Server 4a, and the server that realizes the functions of the customer-side control unit 30, each computer may have the HW configuration illustrated in FIG. 13.

[0172] As shown in FIG. 13, the computer 10 may illustratively include, as a HW configuration, a processor 10a, a memory 10b, a storage unit 10c, an IF (Interface) unit 10d, an I / O (Input / Output) unit 10e, and a reading unit 10f.

[0173] The processor 10a is an example of an arithmetic processing unit that performs various controls and operations. The processor 10a may be communicably connected to each block in the computer 10 via a bus 10i. Note that the processor 10a may be a multiprocessor including a plurality of processors, a multi-core processor having a plurality of processor cores, or a configuration having a plurality of multi-core processors.

[0174] Examples of the processor 10a include integrated circuits (ICs) such as a CPU, MPU, GPU, APU, DSP, ASIC, and FPGA. Note that, as the processor 10a, a combination of two or more of these integrated circuits may be used. MPU is an abbreviation for Micro Processing Unit. GPU is an abbreviation for Graphics Processing Unit, and APU is an abbreviation for Accelerated Processing Unit. DSP is an abbreviation for Digital Signal Processor, ASIC is an abbreviation for Application Specific IC, and FPGA is an abbreviation for Field-Programmable Gate Array.

[0175] The memory 10b is an example of HW that stores information such as various data and programs. Examples of the memory 10b include one or both of a volatile memory such as DRAM (Dynamic Random Access Memory) and a non-volatile memory such as PM (Persistent Memory).

[0176] The storage unit 10c is an example of HW that stores information such as various data and programs. Examples of the storage unit 10c include magnetic disk devices such as HDD (Hard Disk Drive), semiconductor drive devices such as SSD, and various storage devices such as non-volatile memories. Examples of non-volatile memories include flash memory, SCM (Storage Class Memory), and ROM (Read Only Memory).

[0177] Note that each of the memory unit 21 of the server 2a and the memory unit 31 of the server 3a shown in FIG. 4 may be realized by a storage area possessed by one or both of the memory 10b and the storage unit 10c. The storage device 4c shown in FIG. 3 is an example of the storage unit 10c of the server 4a.

[0178] Further, the storage unit 10c may store a program 10g (conformance determination program) that realizes all or part of various functions of the computer 10. For example, the processor 10a of the server 2a expands and executes the program 10g stored in the storage unit 10c in the memory 10b, thereby realizing the functions as the vendor - side control unit 20 illustrated in FIG. 4. Also, the processor 10a of the server 3a expands and executes the program 10g stored in the storage unit 10c in the memory 10b, thereby realizing the functions as the customer - side control unit 30 illustrated in FIG. 4.

[0179] The IF unit 10d is an example of a communication IF that controls the connection and communication of each network among the servers 2a, 3a, and 4a, for example, the networks 1a and 4d. For example, the IF unit 10d may include an adapter compliant with a LAN such as Ethernet (registered trademark), or an optical communication such as FC (Fibre Channel). The adapter may correspond to one or both of wireless and wired communication methods. For example, the communication units 22 and 32 shown in FIG. 4 may each utilize the IF unit 10d. Also, for example, the program 10g may be downloaded from a network to the computer 10 via the communication IF and stored in the storage unit 10c.

[0180] The I / O unit 10e may include one or both of an input device and an output device. Examples of the input device include a keyboard, a mouse, a touch panel, etc. Examples of the output device include a monitor, a projector, a printer, etc.

[0181] The reading unit 10f is an example of a reader that reads data and program information recorded on the recording medium 10h. The reading unit 10f may include a connection terminal or device to which the recording medium 10h can be connected or inserted. Examples of the reading unit 10f include an adapter compliant with USB (Universal Serial Bus) or the like, a drive device for accessing a recording disk, a card reader for accessing a flash memory such as an SD card, and the like. Note that a program 10g may be stored in the recording medium 10h, and the reading unit 10f may read the program 10g from the recording medium 10h and store it in the storage unit 10c.

[0182] Examples of the recording medium 10h include non-transitory computer-readable recording media such as magnetic / optical disks and flash memories. Examples of the magnetic / optical disk include a flexible disk, a CD (Compact Disc), a DVD (Digital Versatile Disc), a Blu-ray Disc, an HVD (Holographic Versatile Disc), and the like. Examples of the flash memory include semiconductor memories such as a USB memory and an SD card.

[0183] The HW configuration of the computer 10 described above is an example. Therefore, an increase or decrease in HW (for example, addition or deletion of an arbitrary block), division, integration in an arbitrary combination, or addition or deletion of a bus, etc. within the computer 10 may be appropriately performed. For example, in at least one of the servers 2a, 3a, and 4a, at least one of the I / O unit 10e and the reading unit 10f may be omitted.

[0184] 〔2〕Others The technology according to the above-described embodiment can be implemented with the following modifications and changes.

[0185] For example, the blocks 21 to 25 included in the server 2a shown in FIG. 4 may be combined in any combination or may be divided respectively. Further, the blocks 32 to 36 included in the server 3a shown in FIG. 4 may be combined in any combination or may be divided respectively.

[0186] Also, in one embodiment, the case where the information processing system to which the server 3a to be verified is incorporated (the construction target) is a storage system such as SDS is taken as an example, but it is not limited thereto. The information processing system to be constructed may be various information processing systems that execute predetermined processing by a plurality of information processing apparatuses, and as an example, may be various information processing systems such as a cluster system that forms a cluster using a plurality of servers (server 3a).

[0187] [3] Supplementary Note Regarding the above embodiments, the following supplementary notes are further disclosed.

[0188] (Supplementary Note 1) A compatibility determination system that determines whether the first information processing apparatus is compatible with a first system constructed by software executed by each of a plurality of information processing apparatuses including the first information processing apparatus, a first control unit that calculates a performance score for each of one or more unsupported components that are not supported by the first system among the plurality of components included in the first information processing apparatus, based on a performance ratio between the performance of each of the one or more unsupported components and the performance of each of one or more supported components that are supported by the first system; a second control unit that performs an operation verification of a second system constructed by software executed by each of one or more second information processing apparatuses connected to the first information processing apparatus via a network and software executed by the first information processing apparatus, in a state where a correction value according to the performance of the network is applied to the plurality of software; wherein the first control unit determines whether the first information processing apparatus is compatible with the first system based on the performance score and the result of the operation verification notified from the second control unit. Compatibility determination system.

[0189] (Appendix 2) When the result of the operation verification includes an error caused by the performance of the network, the first control unit determines whether the first information processing apparatus conforms to the first system based on the influence degree of each of the one or more unsupported components on the network and the performance score. The conformity determination system according to Appendix 1.

[0190] (Appendix 3) When the total value of the product of the influence degree of each of the one or more unsupported components on the network and the performance score of each of the one or more unsupported components is less than a threshold value for each unsupported component, the first control unit determines that the first information processing apparatus conforms to the first system. The conformity determination system according to Appendix 2.

[0191] (Appendix 4) The first control unit determines whether each of the one or more unsupported components can be controlled by the software, and determines whether the first information processing apparatus conforms to the first system based on the determination result. The conformity determination system according to any one of Appendices 1 to 3.

[0192] (Appendix 5) The first control unit obtains the performance score of each of the one or more unsupported components by referring to the first information in which the performance ratio and the performance score are associated regardless of the type of each of the one or more unsupported components. The conformity determination system according to any one of Appendices 1 to 4.

[0193] (Appendix 6) The first control unit detects the plurality of components included in the first information processing apparatus, Referring to second information indicating one or more supported components supported by the first system, identifying components among the plurality of components that are not included in the second information as the one or more unsupported components. The conformity determination system according to any one of Appendices 1 to 5.

[0194] (Appendix 7) The first information processing device is an information processing device owned or used by a user of the first system. The second information processing device is an information processing device owned or used by a vendor constructing the first system. The conformity determination system according to any one of Appendices 1 to 6.

[0195] (Appendix 8) For the first computer, determining whether the first computer conforms to a first system constructed by software executed by each of a plurality of computers including the first computer. Based on the performance ratio between the performance of each of the one or more unsupported components not supported by the first system among the plurality of components provided in the first computer and the performance of each of the one or more supported components supported by the first system, calculating a performance score for each of the one or more unsupported components. Obtaining the result of the operation verification from a third computer that executed the operation verification of a second system constructed by software executed by each of one or more second computers connected to the first computer via a network and software executed by the first computer, with a correction value according to the performance of the network applied to the plurality of software. Determining whether the first computer conforms to the first system based on the performance score and the result of the operation verification. A conformity determination program for causing execution of processing.

[0196] (Appendix 9) When the result of the operation verification includes an error caused by the performance of the network, the determination process includes a process of determining whether the first computer conforms to the first system based on the influence degree of each of the one or more unsupported components on the network and the performance score. The compatibility determination program described in Appendix 8.

[0197] (Appendix 10) When the total value of the product of the influence degree of each of the one or more unsupported components on the network and the performance score of each of the one or more unsupported components is less than a threshold value for each of the unsupported components, the determination process includes a process of determining that the first computer conforms to the first system. The compatibility determination program described in Appendix 9.

[0198] (Appendix 11) Determine whether each of the one or more unsupported components can be controlled by the software, and based on the determination result, determine whether the first information processing device conforms to the first system. The compatibility determination program according to any one of Appendices 8 to 10, which causes the first computer to execute the process.

[0199] (Appendix 12) The calculation process includes a process of obtaining the performance score of each of the one or more unsupported components by referring to the first information in which the performance ratio and the performance score are associated regardless of the type of each of the one or more unsupported components. The compatibility determination program according to any one of Appendices 8 to 11.

[0200] (Appendix 13) The calculation process is as follows: Detect the plurality of components included in the first computer. The process includes referring to the second information indicating one or more supported components supported by the first system, and specifying, as the one or more unsupported components, the components not included in the second information among the plurality of components. The compliance determination program according to any one of Supplementary Notes 8 to 12.

[0201] (Supplementary Note 14) A compliance determination method in a compliance determination system for determining whether the first computer is compliant with a first system constructed by software executed by each of a plurality of computers including the first computer, the first computer calculates a performance score for each of the one or more unsupported components based on a performance ratio between the performance of each of the one or more unsupported components among the plurality of components provided in the first computer and not supported by the first system and the performance of each of the one or more supported components supported by the first system, a third computer performs an operation verification of a second system constructed by software executed by each of the one or more second computers connected to the first computer via a network and software executed by the first computer, in a state where a correction value according to the performance of the network is applied to the plurality of software, the first computer determines whether the first computer is compliant with the first system based on the performance score and the result of the operation verification notified from the third computer, A compliance determination method that executes a process.

[0202] (Supplementary Note 15) the determining process includes a process of determining whether the first computer is compliant with the first system based on the degree of influence of each of the one or more unsupported components on the network and the performance score when the result of the operation verification includes an error caused by the performance of the network, The compliance determination method according to Supplementary Note 14.

[0203] (Supplementary Note 16) The determining process includes a process in which, when the total value obtained by multiplying, for each of the one or more unsupported components, the degree of influence on the network of each of the one or more unsupported components by the performance score of each of the one or more unsupported components is less than a threshold value, the first computer determines that the first computer is compatible with the first system. The compatibility determination method according to Supplementary Note 15.

[0204] (Supplementary Note 17) Determine whether each of the one or more unsupported components can be controlled by the software, and based on the determination result, determine whether the first information processing apparatus is compatible with the first system. The compatibility determination method according to any one of Supplementary Notes 14 to 16, which is executed by the first computer.

[0205] (Supplementary Note 18) The calculating process includes a process of obtaining the performance score of each of the one or more unsupported components by referring to first information in which a performance ratio and a performance score are associated regardless of the type of each of the one or more unsupported components. The compatibility determination method according to any one of Supplementary Notes 14 to 17.

[0206] (Supplementary Note 19) The calculating process is as follows. Detect the plurality of components included in the first computer. The process includes identifying, as the one or more unsupported components, components not included in the second information among the plurality of components by referring to second information indicating one or more supported components supported by the first system. The compatibility determination method according to any one of Supplementary Notes 14 to 18.

[0207] (Supplementary Note 20) The first computer is a computer owned or used by a user of the first system. The second computer is a computer owned or used by a vendor that constructs the first system. The compliance determination method according to any one of Appendices 14 to 19.

Explanation of Signs

[0208] 1 Verification system 1a, 4d Network 2 Vendor site 2a, 3a, 4a Server 20 Vendor-side control unit 21, 31 Memory unit 21a Status information 21b, 31b Result information 21c, 31c Correction value 22, 32 Communication unit 23, 34 Negotiation unit 24 Diagnosis unit 25 System control unit 3 Customer site 30 Customer-side control unit 31a Support part information 31d NW influence degree information 31e Performance coefficient information 31f NW influence index 33 Unit test part 35 System test part 36 Verification result determination unit 4 Storage system 4b, 5 Storage software 4c Storage device 41 Cloud OS 42 Virtualization software 43 Application 44 Container

Claims

1. A compatibility determination system for determining whether a first information processing device is compatible with a first system constructed by software executed by each of a plurality of information processing devices including the first information processing device, based on the performance ratio between the performance of each of one or more unsupported components among the plurality of components included in the first information processing device that are not supported by the first system and the performance of each of one or more supported components supported by the first system, calculates a performance score for each of the one or more unsupported components, a first control unit; a second control unit that performs operation verification of a second system constructed by software executed by each of one or more second information processing devices connected to the first information processing device via a network and software executed by the first information processing device, in a state where a correction value according to the performance of the network is applied to the plurality of software; and, the first control unit determines whether the first information processing device is compatible with the first system based on the performance score and the result of the operation verification notified from the second control unit. Compatibility determination system.

2. When the result of the operation verification includes an error caused by the performance of the network, the first control unit determines whether the first information processing device is compatible with the first system based on the influence degree of each of the one or more unsupported components on the network and the performance score. The compatibility determination system according to claim 1.

3. When the total value of the values obtained by multiplying the influence degree of each of the one or more unsupported components on the network and the performance score of each of the one or more unsupported components for each unsupported component is less than a threshold value, the first control unit determines that the first information processing device is compatible with the first system. The compatibility determination system according to claim 2.

4. The first control unit, Determine whether each of the one or more unsupported components can be controlled by the software, and based on the determination result, determine whether the first information processing apparatus conforms to the first system. The conformity determination system according to any one of claims 1 to 3.

5. The first control unit refers to first information associating a performance ratio and a performance score regardless of the type of each of the one or more unsupported components, and acquires the performance score of each of the one or more unsupported components. The conformity determination system according to any one of claims 1 to 4.

6. The first control unit detects the plurality of components included in the first information processing apparatus, refers to second information indicating one or more supported components supported by the first system, and identifies components not included in the second information among the plurality of components as the one or more unsupported components. The conformity determination system according to any one of claims 1 to 5.

7. For the first computer that determines whether the first computer conforms to a first system constructed by software executed by each of a plurality of computers including the first computer, Based on the performance ratio between the performance of each of the one or more unsupported components not supported by the first system among the plurality of components included in the first computer and the performance of each of the one or more supported components supported by the first system, calculate the performance score of each of the one or more unsupported components, Obtain the result of the operation verification from a third computer that executed the operation verification of a second system constructed by software executed by each of one or more second computers connected to the first computer via a network and the software executed by the first computer, with a correction value corresponding to the performance of the network applied to the plurality of software. Based on the performance score and the result of the operation verification, determine whether the first computer is compatible with the first system, A compatibility determination program that causes the processing to be executed.

8. A compatibility determination method in a compatibility determination system for determining whether a first computer is compatible with a first system constructed by software executed by each of a plurality of computers including the first computer, The first computer calculates a performance score for each of the one or more unsupported components based on a performance ratio between the performance of each of the one or more unsupported components among the plurality of components included in the first computer that are not supported by the first system and the performance of each of the one or more supported components supported by the first system, The third computer performs an operation verification of a second system constructed by software executed by each of the one or more second computers connected to the first computer via a network and the software executed by the first computer, with a correction value corresponding to the performance of the network applied to the plurality of software, The first computer determines whether the first computer is compatible with the first system based on the performance score and the result of the operation verification notified from the third computer, A compatibility determination method that executes the processing.

Citation Information

Patent Citations

  • Storage resource operation managing method in storage network

    JP2003140930A

  • Storage management system

    JP2008233973A

  • Cloud computing system

    JP2011154532A

  • Device support services to protect network capacity

    JP2013534081A

  • Remote verification system and remote verification device

    JP2014041515A