WO2018116453A1 - Access system and access method - Google Patents

Access system and access method Download PDF

Info

Publication number
WO2018116453A1
WO2018116453A1 PCT/JP2016/088433 JP2016088433W WO2018116453A1 WO 2018116453 A1 WO2018116453 A1 WO 2018116453A1 JP 2016088433 W JP2016088433 W JP 2016088433W WO 2018116453 A1 WO2018116453 A1 WO 2018116453A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
order
commands
api
storage
Prior art date
Application number
PCT/JP2016/088433
Other languages
French (fr)
Japanese (ja)
Inventor
涼 澤井
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2016/088433 priority Critical patent/WO2018116453A1/en
Publication of WO2018116453A1 publication Critical patent/WO2018116453A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Definitions

  • the present invention relates to an access system and an access method, and in particular, an access including a relay device for relaying data between a storage device capable of storing data and a host device that reads / writes data from / to the storage device. It is suitable for application to a system.
  • management server server software (hereinafter referred to as “management server”) provided by ISVs (Independent Software Vendors) other than storage device vendors, as represented by VMWare's VVOL (Virtual Volume), for example, is a specific storage device vendor.
  • ISVs Independent Software Vendors
  • VMWare's VVOL Virtual Volume
  • the management server issues an ISV definition API command to the storage apparatus, but the storage apparatus can accept only the storage API command. For this reason, a plug-in server as a command relay device equipped with an API command conversion function for converting an ISV definition API command into a storage API command is provided between the management server and the storage device. Even if the server and the storage apparatus are provided from different vendors, the function of the storage apparatus can be directly controlled from the management server (see Patent Document 1).
  • the present invention has been made in consideration of the above points, and suppresses a large amount of ISV definition API commands issued by the management server within a short time from staying in the plug-in server, and the plug-in server issues a storage API command. It is an object of the present invention to propose an access system and an access method that can be issued efficiently.
  • the access system includes a host device that issues a higher-order command related to data writing and reading, new creation / deletion / change of a data storage area, etc., and the host device received from the host device.
  • a command relay apparatus operable in a normal mode for converting a side command into a low-order command in a 1: N ratio (N ⁇ 1), and writing and reading of data and data storage according to the low-order command received from the command relay apparatus
  • the host device that issues higher-order commands related to writing and reading of data and new creation / deletion / change of the data storage area in the present invention and the higher-order commands received from the higher-order device on a one-to-one basis
  • a command relay device operable in a normal mode for converting to a command
  • a storage device capable of writing and reading the data according to the lower-order command received from the command relay device.
  • the command relay device manages a correspondence relationship between the upper command and the lower command over a predetermined period when the storage device has reached a specific state in which it is difficult to accept the lower command. Based on the correspondence management table, Together the upper side commands between the received shifted to collectively throw mode to convert to the lower-side command, and executes an integrated control step of issuing the lower command to the storage device.
  • the command-relay device can efficiently issue lower-order commands.
  • FIG. 1 shows an example of the hardware configuration of each device constituting the access system according to this embodiment.
  • the access system according to the present embodiment includes an upper server 100, a plug-in server 200, and a storage device 301.
  • the upper server 100 is an example of an upper device
  • the plug-in server 200 is an example of a command relay device.
  • the host server 100 includes a CPU 100A, a RAM 100B, a ROM 100C, a disk device 100D, and a NIC 100E.
  • the CPU 100A the firmware read from the ROM 100C and the operating system read from the disk device 100D operate on the RAM 100B.
  • the disk device 100D can store various programs and data in addition to the operating system.
  • the NIC 100E is an interface with the network 150.
  • management server 101 On the upper server 100, management server software (hereinafter referred to as “management server”) 101 that performs a server function operates on the operating system under the control of the CPU 100A. Details of the management server 101 will be described later.
  • the plug-in server 200 Since the plug-in server 200 is a kind of computer and has almost the same configuration as the upper server 100, the description will focus on the differences from the upper server 100.
  • the plug-in 201 includes a CPU 200A, a RAM 200B, a ROM 200C, a disk device 200D, and a NIC 200E.
  • the plug-in server 200 includes an interface (corresponding to the IF shown) 200 ⁇ / b> F for exchanging with the storage apparatus 301 as a configuration not included in the upper server 100.
  • the storage device 301 is connected to the plug-in server 200 via the network 250.
  • the storage apparatus 301 includes a disk controller 301B having a predetermined number of receiving slots 301A (corresponding to “slots” in the figure) and a disk drive 301C. In the present embodiment, such a predetermined number of reception slots 301A are also expressed as “queues”.
  • the disk drive 301C is a kind of storage device that can store data by a so-called RAID system.
  • Each reception slot 301A stores a storage API command, and each storage API command is erased when a corresponding data read or write process or new creation / deletion / change of a data storage area such as a so-called LUN is completed.
  • the disk controller 301B controls the update, write, and read of data with the disk drive 301C according to each storage API command written in each reception slot 301A, and manages the data inside the disk controller 301B.
  • the storage area management table 301D is created, deleted, changed, etc., and when the control corresponding to each storage API command is completed or an error occurs, a response corresponding to the response is sent to the upper server 100 via the plug-in server 200. .
  • FIG. 2 shows a software configuration example of the access system according to the present embodiment.
  • software related to the present embodiment will be mainly described.
  • the management server 101 which is ISV vendor software, is operating.
  • the management server 101 includes an ISV definition API issuing IF 102.
  • the ISV definition API issuing IF 102 has a function of issuing an ISV definition API command (higher-order command) for reading and writing data with the storage apparatus 301.
  • the plug-in 201 is operating on the plug-in server 200.
  • the ISV vendor described above is different from the vendor of the storage apparatus 301. Therefore, the plug-in 201 converts the command issued by the management server 101 into a storage API command (lower-order command) and outputs it to the storage apparatus 301.
  • This storage API command newly writes data to the storage device 301, reads, updates, or deletes data stored in the storage device 301, and creates and deletes a data storage area such as a so-called LUN. , A control command for updating and the like.
  • the ISV definition API issuing IF 204 is operating.
  • the ISV definition API issuance IF 102 of the plug-in 201 issues an ISV definition API command to the ISV definition API issuance IF 204 of the plug-in 201 and waits for a response from the ISV definition API issuance IF 204.
  • the queue management unit 206 receives the ISV definition API command from the ISV definition API issue IF 204 and accumulates it.
  • the queue management unit 206 includes a collective throw flag management table 206A shown in FIG.
  • the collective throw flag management table 206A includes, for example, an ISV definition API command 206AA and a collective throw flag 206AB corresponding to the ISV definition API command 206AA as columns, and manages the correspondence between them.
  • the collective throw flag 206AB is associated with the ISV definition API command and managed as follows according to the state of the collective throw flag 206AB. That is, the ISV definition API command registered as the ISV definition API command 206AA in which the collective throw flag 206AB is set to “1” indicates that the ISV definition API command is an accumulation target.
  • the ISV definition API command in which the collective throw flag 206AB is set to “0” in the ISV definition API command 206AA indicates that the ISV definition API command is not an accumulation target.
  • setting the collective throw flag corresponding to the ISV definition API command from “0” to “1” is also expressed as “associating (or attaching) the collective throw flag to the ISV definition API command”. To do.
  • the queue management unit 206 temporarily sets the collective throw flag to “0” for all ISV definition API commands received from the upper server 100.
  • the integrated control unit 202 sets the collective throw flag to “1” only for the ISV definition API command to be processed in the collective throw mode in the command accumulation mode and collective throw mode described later.
  • the user interface 210 accepts the setting of an execution schedule for a monitoring process to be described later according to a user input operation. For example, an execution schedule such as every hour or every day of the week is set. If no execution schedule is specified, a default execution schedule prepared in advance is used.
  • the user interface 210 stores a setting of an execution schedule for a monitoring process described later in the scheduler unit 209. In other words, the scheduler unit 209 manages settings related to the execution schedule of this monitoring process.
  • the storage API processing time table 208 manages the processing time in the storage apparatus 301 corresponding to each storage API command.
  • the integrated control unit 202 measures the processing time of each storage API command a plurality of times and stores the processing time of each storage API command obtained through arbitrary statistical processing such as processing for obtaining an average value, for example, in the storage API processing time table 208. To record.
  • the initial value of the processing time in the storage API processing time table 208 may be arbitrary.
  • the command conversion table 203 defines the target storage API command to be converted from the ISV definition API command on a one-to-one basis. Details of the command conversion table 203 will be described later.
  • the collective throwing API conversion table 207 is a command capable of executing a process (hereinafter referred to as “collective throwing process”) in which a plurality of ISV definition API commands are gathered into one and transmitted to the storage apparatus 301 as one storage API command. Define the correspondence between each other. Details of the collective throwing API conversion table 207 will be described later.
  • the storage AP issue IF 205 issues a storage API command to the storage API command IF 302. Details of the plug-in server 200 will be described later.
  • the storage device 301 is equipped with a storage API command IF 302.
  • the storage device 301 executes data writing and reading according to the converted storage API command.
  • the storage API command IF 302 has N_max as the upper limit value of the number of storage API commands that can be processed simultaneously according to the total number of the reception slots 301A described above.
  • FIG. 4 shows a configuration example of the command conversion table 203.
  • the command conversion table 203 manages the correspondence between the ISV definition API command from the upper server 100 and the storage API command to be converted as a command for the storage apparatus 301 in correspondence with the ISV definition API command.
  • the command conversion table 203 has, for example, an ISV definition API command 203A and a storage API command 203B as its columns.
  • the ISV definition API command 203A represents an ISV definition API command as an example of a higher-level command issued by the management server 101.
  • the storage API command 203B represents a storage API command as an example of a lower-order command to be converted for the storage apparatus 301 for each ISV definition API command issued by the management server 101.
  • FIGS. 5A and 5B show table configuration examples of the collective throw API conversion table.
  • FIG. 5A shows a state before changing the processing order of a plurality of storage API commands
  • FIG. 5B shows a state after changing the processing order of the plurality of storage API commands.
  • the collective throwing API conversion table 207 is used as a storage API command, instead of converting into a storage API command one-on-one among a large number of ISV definition API commands issued by the management server 101. It manages combinations of ISV definition API commands that can be converted. Therefore, ISV definition API commands of a type not managed in the collective throwing API conversion table 207 are converted into storage API commands on a one-to-one basis.
  • the collective throw API conversion table 207 is an ISV definition API that can convert two ISV definition API commands out of many types of ISV definition API commands into one storage API command. It manages the correspondence between command combinations and the converted storage API commands. In addition, the collective throw API conversion table 207 also manages command dependency relationships between storage API commands to be issued successively.
  • the integrated control unit 202 When the integrated control unit 202 receives the ISV definition API command from the management server 101 in the collective throw mode, the integrated control unit 202 refers to the collective throw API conversion table 207, and the ISV definition API command is received in the collective throw mode. It is determined whether the storage API command can be generated together with the ISV definition API command. In this way, depending on the type of ISV definition API command issued by the management server 101, it is more efficient to issue a storage API command out of a number of ISV definition API commands, or not. And the processing efficiency can be improved.
  • the collective throw API conversion table 207 includes, as its columns, a first ISV definition API command 207A, a second ISV definition API command 207B, a storage API command 207C, and a command dependency 207D.
  • the first ISV definition API command 207A is “I_API_A (a)” and the second ISV definition API command 207B is “I_API_A (b)”.
  • the storage API command 207C is “S_API_1 (a, b)”.
  • S_API_2 (a, b) also exists in the storage API command 207C in the same record.
  • two ISV definition API commands are converted into two storage API commands, so the commands are not collected.
  • S_API_1 (a), S_API_2 (a), S_API_1 (b), and S_API_2 (b) are issued, S_API_1 (a, b)
  • S_API_1 (a, b) the two storage APIs of S_API_2 (a, b) are collected.
  • FIG. 6 shows a configuration example of the storage API processing time table 208.
  • the storage API processing time table 208 includes, for example, a storage API command 208A and a processing time 208B as its columns.
  • the storage API command 208A represents the name of each storage API command.
  • the processing time 208B represents the processing time [s] when each storage API command is processed in the storage apparatus 301.
  • the storage API command “S_API_2” is 2.000 [s]
  • the processing is completed in the longest processing time
  • the storage API command “S_API_1” is 0.001 [s].
  • the processing can be completed in the shortest processing time.
  • the storage API processing time table 208 and the collective throwing API conversion table 207 are dynamically changed as follows.
  • Processing time zone (difference between daytime and nighttime processing): Since many ISV_API commands are issued during business hours in the daytime, the storage load is concentrated and the processing time of the storage API becomes longer, but at the night, the ISV_API command is issued In a situation where the processing time of the storage API is shortened due to a small amount of data, the integrated control unit 202 moves the storage API processing time table 208 and the collective throwing API conversion table 207 before, for example, the early morning business start time and the midnight time zone. To change it.
  • the actual processing time of the storage API command may change due to an environmental change event such as a change to a high-speed disk or vice versa, or an increase in the processing speed due to a micro update of the storage device 301 or the like. is there. Even in such a case, after the environment changes, the integrated control unit 202 responds by dynamically changing the storage API processing time table 208 and the collective throwing API conversion table 207.
  • the batch throw API conversion table 207 holds the following rule information in the initial state.
  • ⁇ Bullet throwing rules For example, the storage API command S_API_1 (a, b) is a target of batch throw processing.
  • -Storage API command issue dependency rules For example, before issuing the storage API command S_API_2, the processing of another storage API command S_API_1 having a dependency relationship is completed.
  • a storage API processing time table 208 a storage API processing time table 208, a scheduler unit 209, and a user interface 210 are added to the plug-in 201. Note that the initial value of the processing time in the storage API processing time table 208 may be arbitrary.
  • (2-4-2) Command processing time recording process As described above, in the plug-in 201, the integrated control unit 202 measures the processing time of each storage API command a plurality of times, and for example, obtains an average value. The processing time of each storage API command obtained by executing such arbitrary statistical processing is recorded in the storage API processing time table 208.
  • the integrated control unit 202 refers to the storage API processing time table 208, determines the issuance order of storage API commands registered in the batch throw API conversion table 207, and sets the command dependency relationship. In a range that can be maintained, replacement is performed so that the one to be processed first, for example, the one with the short processing time comes first. This makes it possible to postpone the completion of time-consuming ISV definition API commands later and to complete some ISV definition API commands preferentially.
  • the integrated control unit 202 combines the above-described initial state rule setting process, command process time recording process, and issue order change process.
  • the “monitoring process” is executed independently regardless of which mode is selected from the normal mode, the command accumulation mode, and the collective throwing mode.
  • the integrated control unit 202 executes this monitoring process triggered by any one of the following first time points and second time points.
  • the integrated control unit 202 periodically polls the scheduler unit 209 and sets the schedule setting time stored in the scheduler unit 209. It is the time when it was judged that it became.
  • the scheduler unit 209 monitors the setting relating to the execution schedule of the monitoring process held by itself, and notifies the integrated control unit 202 of the instruction for the monitoring process when the set time is reached. Is the point of time.
  • FIG. 7 shows a state transition diagram of each mode by the plug-in server 200.
  • the integrated control unit 202 can transition to any of the normal mode, the command accumulation mode, and the collective throw mode, for example.
  • the integrated control unit 202 reads out the ISV definition API command from the queue management unit 206, and, according to the command conversion table 203, single or plural corresponding to the ISV definition API command. To the storage API command.
  • the integrated control unit 202 delivers the converted storage API command to the storage API command IF 205 and issues it to the storage apparatus 301, and waits for a response from the storage API command IF 302 of the storage apparatus 301.
  • the integrated control unit 202 manages the ISV definition API command to be accumulated in the queue management unit 206 in association with the collective throw flag. That is, the integrated control unit 202 sets the collective throw flag corresponding to the ISV definition API command stored in the queue management unit 206 from “0” to “1”. In this command accumulation mode, the integrated control unit 202 suspends the conversion of the ISV definition API command into the storage API command and the transmission of the converted storage API command to the storage apparatus 301.
  • the integrated control unit 202 determines whether or not the ISV definition API command associated with the collective throw flag exists in the queue management unit 206.
  • the integrated control unit 202 sets the combinations defined in the collective throw API conversion table 207 for all ISV definition APIs whose collective throw flag of the ISV definition API command registered in the queue management unit 206 is “1”. Transmits the storage API commands corresponding to the storage API commands together via the storage API command IF 205.
  • the corresponding storage API is issued with reference to the command conversion table 203. Details of the collective throwing process will be described later.
  • (3-2) Transition Conditions for Each Mode are as follows.
  • (3-2-1) Normal Mode ⁇ Command Accumulation Mode In the plug-in 201, when the response to the storage API command issued by the integrated control unit 202 via the storage API command IF 205 is a busy response or the like, The number of storage APIs) is determined to be N_max, and the normal mode is changed to the command accumulation mode.
  • FIG. 8 is a flowchart showing an example of the processing procedure in the collective throw mode.
  • Number of commands during execution of storage API command N_proc
  • the integrated control unit 202 determines whether there is a response to the storage API command being processed (step S102).
  • the integrated control unit 202 reduces the value of N_proc by 1 (step S103). If all storage API commands corresponding to the ISV definition API command have been completed, the integrated control unit 202 returns a response to the ISV definition API command to the management server 101 and deletes the ISV definition API command from the queue management unit 206. (Step S104).
  • the integrated control unit 202 determines whether or not N_max> N_proc is satisfied (step S105).
  • step S105 the integrated control unit 202 determines whether or not the ISV definition API command further received from the management server 101 exists in the queue management unit 206. (Step S106).
  • the integrated control unit 202 When the integrated control unit 202 further receives an ISV definition API command from the management server 101, the integrated control unit 202 registers the batch throw flag in association with the queue management unit 206 (step S107), and returns to step S102 described above. If, on the other hand, no ISV definition API command has been received from the management server 101, the process returns to step S102 described above to execute it.
  • step S105 the integrated control unit 202 operates as follows depending on whether or not the ISV definition API command associated with the collective throw flag exists in the queue management unit 206.
  • the integrated control unit 202 determines whether there is an ISV definition API command associated with the collective throw flag in the queue management unit 206 (step S108).
  • step S108 When there is no ISV definition API command associated with the collective throw flag in the queue management unit 206 (step S108), the integrated control unit 202 shifts to the normal mode.
  • FIG. 9 is a sequence chart showing an example of each command delivery state in each mode in which the plug-in 201 of the plug-in server 200 can transition.
  • the names shown on the arrows connecting the management server 101 and the plug-in 201 represent the names of the ISV definition API commands shown in FIG. 3 to FIG.
  • the names illustrated on the arrows connecting the storage devices 301 represent the names of the storage API commands illustrated in FIGS. 4, 5, and 6, respectively.
  • the present invention can be applied to any error that seems to be a temporary error caused by the storage device 301 such as a response temporarily impossible due to a heavy load.
  • the integrated control unit 202 manages the ISV definition API command to be accumulated in the queue management unit 206 in association with the collective throw flag, and converts the ISV definition API command into a storage API command.
  • the storage API command after the conversion is suspended.
  • the integrated control unit 202 converts the ISV definition API command associated with the collective throwing flag managed by the queue management unit 206 into a storage API according to the collective throwing API conversion table 207, and the storage API command. Issued to the storage apparatus 301 through the IF 205.
  • the integrated control unit 202 gives priority to the completion of the ISV definition API command associated with the collective throwing flag, and the collective throwing mode If the ISV definition API is received from the management server, the ISV definition API is retained in the queue management unit 206 in the plug-in 201 until the normal mode is entered.
  • the integrated control unit 202 converts the ISV definition API command entered in the queue management unit 206 into a storage API command with reference to the command conversion table 203 and issues it to the storage apparatus 301 through the storage API command IF 205.
  • the start and end of the period from the start of the wait to the end of the wait (corresponding to the “wait time”) is devised so as to be triggered by, for example, the following events.
  • Wait start An error indicating that a storage API command cannot be accepted has occurred.
  • End of wait A normal end has been returned for any of the storage API commands being processed. The following are excellent.
  • the wait time learning shown in FIG. 12 is used for reasons other than when the receiving slot 301A is full of storage API commands (for example, a busy error response that is because the storage device 301 is temporarily unable to respond, such as when the storage device 301 is heavily loaded).
  • the method may not be able to handle it.
  • the system according to the present embodiment shown in FIG. 13 can cope with this.
  • the present embodiment simply simplifies with fewer mounting steps. Thereby, it becomes easy to perform maintenance, and the risk of occurrence of defects can be reduced.
  • the integrated control unit 202 has other triggers other than the trigger that has reached the state where the reception slot 301A of the storage device 301 is full (specific state). The following mode switching opportunity may be adopted.
  • the integrated control unit 202 monitors, for example, the number of commands issued per unit time as throughput in the normal mode, and the command issuance number per unit time is set in advance. When the specified value is exceeded, the mode shifts from the normal mode to the command accumulation mode. In this way, it is possible to grasp that the command storage mode should be shifted to in the future at an earlier stage, and therefore it is possible to shift to the command storage mode at a more appropriate timing without useless time lag.
  • the integrated control unit 202 determines that the number of storage API commands that are simultaneously executed in the storage apparatus 301 in the normal mode is the predetermined number of storage API commands that can be executed simultaneously in the storage apparatus 301. In other words, the fact that (the number of storage API commands being executed simultaneously in the storage apparatus 301)> N_max ⁇ a (where 0 ⁇ a ⁇ 1.0) is satisfied. As an opportunity, the normal mode may be shifted to the command accumulation mode.
  • the present invention can be widely applied to an access system including a storage device that can store data and a relay device that relays data between the storage device and a host device that reads / writes data from / to the storage device.
  • DESCRIPTION OF SYMBOLS 100 Host server, 101 ... Management server, 200 ... Plug-in server, 201 ... Plug-in, 202 ... Integrated control unit, 203 ... Command conversion table, 204 ... ISV definition API issue IF, 205 ... ... Storage API command IF, 206 ... Queue management unit, 207 ... Batch throw API conversion table, 208 ... Storage API processing time table, 301 ... Storage device, 301A ... Reception slot, 301B ... Data storage area management Table 302... Storage API command IF.

Abstract

[Problem] To make it possible to suppress the accumulation of a large volume of ISV-defined API commands, issued by a management server in a short time, in a plug-in server, and to enable the plug-in server to efficiently issue a storage API command. [Solution] A command relay device in which an integration control unit, in response to a storage device having reached a specific state in which a lower-level-side command is difficult to be accepted, shifts to a unified transmission mode in which, on the basis of a command correspondence management table that manages a correspondence relationship between higher-level-side commands and lower-level-side commands for a predetermined period, a unification process for unifying higher-level-side commands received from a higher-level device and converting the commands into a lower-level-side command can be executed, and issues the unified lower-level-side command to the storage device.

Description

アクセスシステム及びアクセス方法Access system and access method
 本発明は、アクセスシステム及びアクセス方法に関し、特に、データを格納可能なストレージ装置と、このストレージ装置に対してデータの読み書きを行う上位装置との間においてデータを中継するための中継装置を備えるアクセスシステムに適用して好適なものである。 The present invention relates to an access system and an access method, and in particular, an access including a relay device for relaying data between a storage device capable of storing data and a host device that reads / writes data from / to the storage device. It is suitable for application to a system.
 近年、例えばVMware社のVVOL(Virtual Volume)に代表されるように、ストレージ装置のベンダ以外のISV(Independent Software Vendor)により提供されるサーバソフトウェア(以下「管理サーバ」という)が特定のストレージ装置ベンダのストレージ装置に具備されている高速かつ信頼性の高いコピー機能やバックアップ機能等を利用することを可能とするソリューションが確立されている。 In recent years, server software (hereinafter referred to as “management server”) provided by ISVs (Independent Software Vendors) other than storage device vendors, as represented by VMWare's VVOL (Virtual Volume), for example, is a specific storage device vendor. A solution has been established that makes it possible to use a high-speed and highly reliable copy function, backup function, and the like included in the storage apparatus.
 管理サーバは、ISV定義APIコマンドをストレージ装置に向けて発行するが、ストレージ装置はストレージAPIコマンドのみを受け付けることが可能である。このため、管理サーバとストレージ装置の間には、ISV定義APIコマンドからストレージAPIコマンドへ変換するAPIコマンド変換機能が搭載されたコマンド中継装置としてのプラグインサーバが設けられており、これにより、管理サーバとストレージ装置とが異なるベンダから各々提供されていても、管理サーバからストレージ装置の機能を直接制御することが可能となる(特許文献1参照)。 The management server issues an ISV definition API command to the storage apparatus, but the storage apparatus can accept only the storage API command. For this reason, a plug-in server as a command relay device equipped with an API command conversion function for converting an ISV definition API command into a storage API command is provided between the management server and the storage device. Even if the server and the storage apparatus are provided from different vendors, the function of the storage apparatus can be directly controlled from the management server (see Patent Document 1).
特許第4701267号Japanese Patent No. 4701267
 このような従来技術においては、ストレージ装置側において同時に処理可能なストレージAPIコマンドの上限数等の制限があるため、管理サーバが短時間に大量のISV定義APIコマンドを発行した場合には、プラグインサーバはストレージAPIコマンドを発行しきれなくなるおそれがある。これにより、プラグインサーバにおいて当該大量のISV定義APIコマンドが処理しきれずに滞留してしまい、その結果、管理サーバから見るとISV定義APIコマンドの結果が返ってこないように見えてしまうおそれがある。 In such a conventional technique, there is a limitation on the upper limit number of storage API commands that can be processed simultaneously on the storage device side. Therefore, when the management server issues a large number of ISV definition API commands in a short time, a plug-in The server may not be able to issue the storage API command. As a result, a large amount of the ISV definition API command cannot be processed in the plug-in server and stays, and as a result, when viewed from the management server, the result of the ISV definition API command may not be returned. .
 本発明は以上の点を考慮してなされたもので、管理サーバが短時間内に発行した大量のISV定義APIコマンドがプラグインサーバにおいて滞留することを抑制し、プラグインサーバがストレージAPIコマンドを効率的に発行することが可能なアクセスシステム及びアクセス方法を提案しようとするものである。 The present invention has been made in consideration of the above points, and suppresses a large amount of ISV definition API commands issued by the management server within a short time from staying in the plug-in server, and the plug-in server issues a storage API command. It is an object of the present invention to propose an access system and an access method that can be issued efficiently.
 かかる課題を解決するため、本発明におけるアクセスシステムは、データの書き込み及び読み出しやデータ記憶領域の新規作成・削除・変更等に関する上位側コマンドを発行する上位装置と、前記上位装置から受け取った前記上位側コマンドを1対N(N≧1)で下位側コマンドに変換する通常モードで動作可能なコマンド中継装置と、前記コマンド中継装置から受け取った前記下位側コマンドに従って前記データの書き込み及び読み出しやデータ記憶領域の新規作成・削除・変更等が可能なストレージ装置と、を備え、前記コマンド中継装置は、前記上位側コマンドと前記下位側コマンドとの対応関係を管理するコマンド対応管理テーブルと、前記ストレージ装置が前記下位側コマンドを受け入れ難い特定の状態に至ったことを契機として、所定期間に亘って前記コマンド対応管理テーブルに基づいて、前記上位装置から受け取った前記上位側コマンド同士を纏めて前記下位側コマンドに変換する処理を実行しうる纏め投げモードに移行し、前記下位側コマンドを前記ストレージ装置に対して発行する統合制御部と、を備えることを特徴とする。 In order to solve such a problem, the access system according to the present invention includes a host device that issues a higher-order command related to data writing and reading, new creation / deletion / change of a data storage area, etc., and the host device received from the host device. A command relay apparatus operable in a normal mode for converting a side command into a low-order command in a 1: N ratio (N ≧ 1), and writing and reading of data and data storage according to the low-order command received from the command relay apparatus A storage device capable of newly creating / deleting / changing an area, etc., wherein the command relay device manages a correspondence relationship between the upper command and the lower command, and the storage device Triggered a specific state where it is difficult to accept the lower-order command. , Based on the command correspondence management table over a predetermined period, shift to a collective throw mode that can execute processing for collectively converting the higher-order commands received from the higher-order device to the lower-order command, And an integrated control unit that issues a side command to the storage device.
 また、本発明におけるデータの書き込み及び読み出しやデータ記憶領域の新規作成・削除・変更等に関する上位側コマンドを発行する上位装置と、前記上位装置から受け取った前記上位側コマンドを1対1で下位側コマンドに変換する通常モードで動作可能なコマンド中継装置と、前記コマンド中継装置から受け取った前記下位側コマンドに従って前記データの書き込み及び読み出しが可能なストレージ装置と、を備えるアクセスシステムにおけるアクセス方法において、前記コマンド中継装置は、前記ストレージ装置が前記下位側コマンドを受け入れ難い特定の状態に至ったことを契機として、所定期間に亘って、前記上位側コマンドと前記下位側コマンドとの対応関係を管理するコマンド対応管理テーブルに基づいて、前記上位装置から受け取った前記上位側コマンド同士を纏めて前記下位側コマンドに変換する纏め投げモードに移行し、前記下位側コマンドを前記ストレージ装置に対して発行する統合制御ステップを実行することを特徴とする。 Also, the host device that issues higher-order commands related to writing and reading of data and new creation / deletion / change of the data storage area in the present invention and the higher-order commands received from the higher-order device on a one-to-one basis In an access method in an access system, comprising: a command relay device operable in a normal mode for converting to a command; and a storage device capable of writing and reading the data according to the lower-order command received from the command relay device. The command relay device manages a correspondence relationship between the upper command and the lower command over a predetermined period when the storage device has reached a specific state in which it is difficult to accept the lower command. Based on the correspondence management table, Together the upper side commands between the received shifted to collectively throw mode to convert to the lower-side command, and executes an integrated control step of issuing the lower command to the storage device.
 本発明によれば、上位装置が短時間内に発行した大量の上位側コマンドがコマンド中継装置において滞留することを抑制し、コマンド中継装置が効率的に下位側コマンドを発行することができる。 According to the present invention, it is possible to prevent a large number of higher-order commands issued by the higher-level device within a short time from staying in the command relay device, and the command-relay device can efficiently issue lower-order commands.
本実施の形態によるアクセスシステムのハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the access system by this Embodiment. 本実施の形態によるアクセスシステムのソフトウェア構成例を示すブロック図である。It is a block diagram which shows the software structural example of the access system by this Embodiment. 纏め投げフラグ管理テーブルの構成例を示す図である。It is a figure which shows the structural example of a lump throw flag management table. コマンド変換テーブルの構成例を示す図である。It is a figure which shows the structural example of a command conversion table. 纏め投げAPI変換テーブルのテーブル構成例を示す図である。It is a figure which shows the table structural example of a lump throw API conversion table. ストレージAPI処理時間テーブルの構成例を示す図である。It is a figure which shows the structural example of a storage API processing time table. プラグインサーバによる各モードが遷移する様子を示す状態遷移図である。It is a state transition diagram which shows a mode that each mode by a plug-in server changes. 纏め投げモードの判断処理の一例を示すフローチャートである。It is a flowchart which shows an example of the judgment process of collective throwing mode. プラグインサーバのプラグインが遷移しうる各モードの状態を表すシーケンスチャートである。It is a sequence chart showing the state of each mode in which the plug-in of a plug-in server can change. 比較例としての固定時間ウェイト方式の一例を示すシーケンスチャートである。It is a sequence chart which shows an example of the fixed time weight system as a comparative example. 本実施の形態による方式の一例を示すシーケンスチャートである。It is a sequence chart which shows an example of the system by this Embodiment. ウェイト時間学習方式の一例を示すシーケンスチャートである。It is a sequence chart which shows an example of a wait time learning system. 本実施の形態による方式の一例を示すシーケンスチャートである。It is a sequence chart which shows an example of the system by this Embodiment.
 以下、図面について、本発明の一実施の形態について詳述する。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
 (1)本実施の形態によるアクセスシステムの構成
 (1-1)ハードウェア構成
 図1は、本実施の形態によるアクセスシステムを構成する各装置のハードウェア構成の一例を示す。本実施の形態によるアクセスシステムは、上位サーバ100、プラグインサーバ200及びストレージ装置301を備える。なお、上位サーバ100は上位装置の一例であり、プラグインサーバ200はコマンド中継装置の一例である。
(1) Configuration of Access System According to this Embodiment (1-1) Hardware Configuration FIG. 1 shows an example of the hardware configuration of each device constituting the access system according to this embodiment. The access system according to the present embodiment includes an upper server 100, a plug-in server 200, and a storage device 301. The upper server 100 is an example of an upper device, and the plug-in server 200 is an example of a command relay device.
 (1-1-1)上位装置(上位サーバ)
 上位サーバ100は、CPU100A、RAM100B、ROM100C、ディスク装置100D及びNIC100Eを備えている。CPU100Aは、ROM100Cから読み出したファームウェア、及び、ディスク装置100Dから読み出したオペレーティングシステムが、RAM100B上で動作している。ディスク装置100Dは、オペレーティングシステムの他にも、各種のプログラム及びデータを格納することができる。NIC100Eは、ネットワーク150とのインターフェースである。
(1-1-1) Host device (host server)
The host server 100 includes a CPU 100A, a RAM 100B, a ROM 100C, a disk device 100D, and a NIC 100E. In the CPU 100A, the firmware read from the ROM 100C and the operating system read from the disk device 100D operate on the RAM 100B. The disk device 100D can store various programs and data in addition to the operating system. The NIC 100E is an interface with the network 150.
 この上位サーバ100上では、サーバ機能を発揮する管理サーバソフトウェア(以下「管理サーバ」という)101がCPU100Aの制御によってオペレーティングシステム上で動作している。この管理サーバ101の詳細については後述する。 On the upper server 100, management server software (hereinafter referred to as “management server”) 101 that performs a server function operates on the operating system under the control of the CPU 100A. Details of the management server 101 will be described later.
 (1-1-2)コマンド中継装置(プラグインサーバ)
 プラグインサーバ200は、コンピュータの一種である点において、上位サーバ100とほぼ同様な構成であるため、上位サーバ100と異なる点を中心として説明する。プラグイン201は、CPU200A、RAM200B、ROM200C、ディスク装置200D、及びNIC200Eを備えている。プラグインサーバ200は、上位サーバ100にはない構成として、ストレージ装置301との間でやり取りを行うためのインターフェース(図示のIFに対応)200Fを備えている。
(1-1-2) Command relay device (plug-in server)
Since the plug-in server 200 is a kind of computer and has almost the same configuration as the upper server 100, the description will focus on the differences from the upper server 100. The plug-in 201 includes a CPU 200A, a RAM 200B, a ROM 200C, a disk device 200D, and a NIC 200E. The plug-in server 200 includes an interface (corresponding to the IF shown) 200 </ b> F for exchanging with the storage apparatus 301 as a configuration not included in the upper server 100.
 (1-1-3)ストレージ装置
 ストレージ装置301は、ネットワーク250を経由して、プラグインサーバ200に接続されている。このストレージ装置301は、所定数の受付スロット301A(図示の「スロット」に相当)を有するディスクコントローラ301B、及びディスクドライブ301Cを備えている。なお、本実施の形態では、このような所定数の受付スロット301Aを「キュー」とも表現している。ディスクドライブ301Cは、いわゆるRAID方式によりデータを格納可能な記憶装置の一種である。
(1-1-3) Storage Device The storage device 301 is connected to the plug-in server 200 via the network 250. The storage apparatus 301 includes a disk controller 301B having a predetermined number of receiving slots 301A (corresponding to “slots” in the figure) and a disk drive 301C. In the present embodiment, such a predetermined number of reception slots 301A are also expressed as “queues”. The disk drive 301C is a kind of storage device that can store data by a so-called RAID system.
 各受付スロット301Aは、ストレージAPIコマンドを格納し、各ストレージAPIコマンドは、各々対応するデータ読み込み又は書き込み処理やいわゆるLUN等のデータ記憶領域の新規作成・削除・変更等が完了すると消去される。 Each reception slot 301A stores a storage API command, and each storage API command is erased when a corresponding data read or write process or new creation / deletion / change of a data storage area such as a so-called LUN is completed.
 ディスクコントローラ301Bは、各受付スロット301Aに書き込まれた各ストレージAPIコマンドに応じてディスクドライブ301Cとの間でデータを更新、書き込み、及び読み出しの制御や、ディスクコントローラ301B内部で管理しているやデータ記憶領域管理テーブル301Dの作成・削除・変更等を行い、各ストレージAPIコマンドに対応する制御が完了したりエラーとなるとそれらに応じた応答を、プラグインサーバ200を介して上位サーバ100に応答する。 The disk controller 301B controls the update, write, and read of data with the disk drive 301C according to each storage API command written in each reception slot 301A, and manages the data inside the disk controller 301B. The storage area management table 301D is created, deleted, changed, etc., and when the control corresponding to each storage API command is completed or an error occurs, a response corresponding to the response is sent to the upper server 100 via the plug-in server 200. .
 (1-2)ソフトウェア構成
 図2は、本実施の形態によるアクセスシステムのソフトウェア構成例を示す。なお、以下の説明では本実施の形態に関係のあるソフトウェアを中心として説明する。
(1-2) Software Configuration FIG. 2 shows a software configuration example of the access system according to the present embodiment. In the following description, software related to the present embodiment will be mainly described.
 (1-2-1)上位サーバの概要
 上位サーバ100上では、ISVベンダ製のソフトウェアである管理サーバ101が動作している。管理サーバ101はISV定義API発行IF102を搭載している。管理サーバ101では、ISV定義API発行IF102が、ストレージ装置301との間でデータを読み込んだり書き込むためのISV定義APIコマンド(上位側コマンド)を発行する機能を有する。
(1-2-1) Overview of the Host Server On the host server 100, the management server 101, which is ISV vendor software, is operating. The management server 101 includes an ISV definition API issuing IF 102. In the management server 101, the ISV definition API issuing IF 102 has a function of issuing an ISV definition API command (higher-order command) for reading and writing data with the storage apparatus 301.
 (1-2-2)プラグインサーバの概要
 プラグインサーバ200上ではプラグイン201が動作している。上述したISVベンダは、ストレージ装置301のベンダとは異なっている。このため、このプラグイン201は、管理サーバ101によって発行されたコマンドをストレージAPIコマンド(下位側コマンド)に変換してストレージ装置301に対して出力する。このストレージAPIコマンドは、ストレージ装置301に対してデータを新規に書き込んだり、ストレージ装置301に格納済みのデータに対して読み出したり更新したり削除したり、いわゆるLUNなどのデータ記憶領域を作成、削除、更新等をするための制御コマンドである。
(1-2-2) Overview of Plug-in Server The plug-in 201 is operating on the plug-in server 200. The ISV vendor described above is different from the vendor of the storage apparatus 301. Therefore, the plug-in 201 converts the command issued by the management server 101 into a storage API command (lower-order command) and outputs it to the storage apparatus 301. This storage API command newly writes data to the storage device 301, reads, updates, or deletes data stored in the storage device 301, and creates and deletes a data storage area such as a so-called LUN. , A control command for updating and the like.
 プラグイン201では、ISV定義API発行IF204が動作している。プラグイン201のISV定義API発行IF102は、プラグイン201のISV定義API発行IF204に対してISV定義APIコマンドを発行し、このISV定義API発行IF204からの応答を待つ。 In the plug-in 201, the ISV definition API issuing IF 204 is operating. The ISV definition API issuance IF 102 of the plug-in 201 issues an ISV definition API command to the ISV definition API issuance IF 204 of the plug-in 201 and waits for a response from the ISV definition API issuance IF 204.
 キュー管理部206は、ISV定義API発行IF204からISV定義APIコマンドを受け取り、これを蓄積する。キュー管理部206は、図3に示す纏め投げフラグ管理テーブル206Aを備える。 The queue management unit 206 receives the ISV definition API command from the ISV definition API issue IF 204 and accumulates it. The queue management unit 206 includes a collective throw flag management table 206A shown in FIG.
 この纏め投げフラグ管理テーブル206Aは、そのカラムとして、例えば、ISV定義APIコマンド206AAと、このISV定義APIコマンド206AAに対応する纏め投げフラグ206ABとを備え、これらの対応関係を管理している。 The collective throw flag management table 206A includes, for example, an ISV definition API command 206AA and a collective throw flag 206AB corresponding to the ISV definition API command 206AA as columns, and manages the correspondence between them.
 纏め投げフラグ管理テーブル206Aでは、ISV定義APIコマンドに纏め投げフラグ206ABを対応付けて、纏め投げフラグ206ABの状態に応じて次のように管理している。即ち、纏め投げフラグ206ABが「1」に設定されているISV定義APIコマンド206AAとして登録されているISV定義APIコマンドは、蓄積対象であるISV定義APIコマンドであることを示している。 In the collective throw flag management table 206A, the collective throw flag 206AB is associated with the ISV definition API command and managed as follows according to the state of the collective throw flag 206AB. That is, the ISV definition API command registered as the ISV definition API command 206AA in which the collective throw flag 206AB is set to “1” indicates that the ISV definition API command is an accumulation target.
 一方、ISV定義APIコマンド206AAにおいて纏め投げフラグ206ABが「0」に設定されているISV定義APIコマンドは、蓄積対象ではないISV定義APIコマンドであることを示している。 On the other hand, the ISV definition API command in which the collective throw flag 206AB is set to “0” in the ISV definition API command 206AA indicates that the ISV definition API command is not an accumulation target.
 なお、本実施の形態では、ISV定義APIコマンドに対応する纏め投げフラグを「0」から「1」に設定することを「ISV定義APIコマンドに纏め投げフラグを対応付ける(または、付ける)」とも表現する。 In the present embodiment, setting the collective throw flag corresponding to the ISV definition API command from “0” to “1” is also expressed as “associating (or attaching) the collective throw flag to the ISV definition API command”. To do.
 本実施の形態では、キュー管理部206は、一例として、上位サーバ100から受け取った全てのISV定義APIコマンドについて一旦纏め投げフラグを「0」に設定する。 In the present embodiment, as an example, the queue management unit 206 temporarily sets the collective throw flag to “0” for all ISV definition API commands received from the upper server 100.
 統合制御部202は、後述するコマンド蓄積モードや纏め投げモードにおいて、纏め投げモード中で処理するべきISV定義APIコマンドについてのみ纏め投げフラグを「1」に設定する。 The integrated control unit 202 sets the collective throw flag to “1” only for the ISV definition API command to be processed in the collective throw mode in the command accumulation mode and collective throw mode described later.
 ユーザインタフェース210は、ユーザの入力操作に応じて、後述するモニタリング処理の実行スケジュールの設定を受け付ける。例えば、何時間おき、あるいは毎週何曜日の何時等といった実行スケジュールの設定を受ける。実行スケジュールを指定しない場合、予め用意されているデフォルトの実行スケジュールとする。ユーザインタフェース210は、後述するモニタリング処理の実行スケジュールの設定をスケジューラ部209に保存する。即ち、スケジューラ部209は、このモニタリング処理の実行スケジュールに関する設定を管理している。 The user interface 210 accepts the setting of an execution schedule for a monitoring process to be described later according to a user input operation. For example, an execution schedule such as every hour or every day of the week is set. If no execution schedule is specified, a default execution schedule prepared in advance is used. The user interface 210 stores a setting of an execution schedule for a monitoring process described later in the scheduler unit 209. In other words, the scheduler unit 209 manages settings related to the execution schedule of this monitoring process.
 一方、上記ストレージAPI処理時間テーブル208は、各ストレージAPIコマンドに対応するストレージ装置301における処理時間を管理する。統合制御部202は、各ストレージAPIコマンドの処理時間を複数回ずつ計測し、例えば平均値を取得する処理など任意の統計処理を経て得られる各ストレージAPIコマンドの処理時間をストレージAPI処理時間テーブル208に記録する。なお、ストレージAPI処理時間テーブル208の処理時間の初期値は任意で構わない。 On the other hand, the storage API processing time table 208 manages the processing time in the storage apparatus 301 corresponding to each storage API command. The integrated control unit 202 measures the processing time of each storage API command a plurality of times and stores the processing time of each storage API command obtained through arbitrary statistical processing such as processing for obtaining an average value, for example, in the storage API processing time table 208. To record. Note that the initial value of the processing time in the storage API processing time table 208 may be arbitrary.
 コマンド変換テーブル203は、ISV定義APIコマンドから1対1で変換すべき対象のストレージAPIコマンドを規定する。このコマンド変換テーブル203の詳細については後述する。 The command conversion table 203 defines the target storage API command to be converted from the ISV definition API command on a one-to-one basis. Details of the command conversion table 203 will be described later.
 この纏め投げAPI変換テーブル207は、複数のISV定義APIコマンドを1つに纏めて1つのストレージAPIコマンドとしてストレージ装置301に対して送信する処理(以下「纏め投げ処理」という)を実行可能なコマンド同士の対応関係を規定する。この纏め投げAPI変換テーブル207の詳細については後述する。 The collective throwing API conversion table 207 is a command capable of executing a process (hereinafter referred to as “collective throwing process”) in which a plurality of ISV definition API commands are gathered into one and transmitted to the storage apparatus 301 as one storage API command. Define the correspondence between each other. Details of the collective throwing API conversion table 207 will be described later.
 ストレージAP発行IF205は、ストレージAPIコマンドをストレージAPIコマンドIF302に対して発行する。プラグインサーバ200の詳細についてはさらに後述する。 The storage AP issue IF 205 issues a storage API command to the storage API command IF 302. Details of the plug-in server 200 will be described later.
 (1-2-3)ストレージ装置の概要
 ストレージ装置301にはストレージAPIコマンドIF302が搭載されている。ストレージ装置301は、変換後のストレージAPIコマンドに従ってデータの書き込みや読み出しを実行する。ストレージAPIコマンドIF302は、既述の受付スロット301Aの合計数に応じて、同時に処理可能なストレージAPIコマンドのコマンド数の上限値としてN_maxを有する。
(1-2-3) Outline of Storage Device The storage device 301 is equipped with a storage API command IF 302. The storage device 301 executes data writing and reading according to the converted storage API command. The storage API command IF 302 has N_max as the upper limit value of the number of storage API commands that can be processed simultaneously according to the total number of the reception slots 301A described above.
 (2)テーブル構成
 (2-1)コマンド変換テーブル
 図4は、コマンド変換テーブル203の構成例を示す。コマンド変換テーブル203は、上位サーバ100からのISV定義APIコマンドと、ISV定義APIコマンドに対応させてストレージ装置301用コマンドとして変換されるべきストレージAPIコマンドとの対応関係を管理する。
(2) Table Configuration (2-1) Command Conversion Table FIG. 4 shows a configuration example of the command conversion table 203. The command conversion table 203 manages the correspondence between the ISV definition API command from the upper server 100 and the storage API command to be converted as a command for the storage apparatus 301 in correspondence with the ISV definition API command.
 コマンド変換テーブル203は、そのカラムとして、例えばISV定義APIコマンド203A及びストレージAPIコマンド203Bを有する。ISV定義APIコマンド203Aは、管理サーバ101によって発行される上位側コマンドの一例としてのISV定義APIコマンドを表している。一方、ストレージAPIコマンド203Bは、管理サーバ101によって発行されるISV定義APIコマンドごとにストレージ装置301用に変換されるべき下位側コマンドの一例としてのストレージAPIコマンドを表している。 The command conversion table 203 has, for example, an ISV definition API command 203A and a storage API command 203B as its columns. The ISV definition API command 203A represents an ISV definition API command as an example of a higher-level command issued by the management server 101. On the other hand, the storage API command 203B represents a storage API command as an example of a lower-order command to be converted for the storage apparatus 301 for each ISV definition API command issued by the management server 101.
 (2-2)纏め投げAPI変換テーブル
 図5(A)及び図5(B)は、それぞれ、纏め投げAPI変換テーブルのテーブル構成例を示す。図5(A)は、複数のストレージAPIコマンドの処理順序を入れ替える前の状態を示し、図5(B)は、複数のストレージAPIコマンドの処理順序が入れ替えられた後の状態を示す。
(2-2) Collective Throw API Conversion Table FIGS. 5A and 5B show table configuration examples of the collective throw API conversion table. FIG. 5A shows a state before changing the processing order of a plurality of storage API commands, and FIG. 5B shows a state after changing the processing order of the plurality of storage API commands.
 纏め投げAPI変換テーブル207は、管理サーバ101によって発行される多数のISV定義APIコマンドのうち1対1でストレージAPIコマンドに変換する代わりに、多数のISV定義APIコマンドのうち纏めてストレージAPIコマンドに変換することが可能なISV定義APIコマンドの組み合わせを管理している。従って、この纏め投げAPI変換テーブル207において管理されていない種類のISV定義APIコマンドは、1対1でストレージAPIコマンドに変換されることになる。 The collective throwing API conversion table 207 is used as a storage API command, instead of converting into a storage API command one-on-one among a large number of ISV definition API commands issued by the management server 101. It manages combinations of ISV definition API commands that can be converted. Therefore, ISV definition API commands of a type not managed in the collective throwing API conversion table 207 are converted into storage API commands on a one-to-one basis.
 本実施の形態では、一例として、纏め投げAPI変換テーブル207が、多数種類のISV定義APIコマンドのうち2つのISV定義APIコマンドを纏めて1つのストレージAPIコマンドに変換することが可能なISV定義APIコマンドの組み合わせと、その変換後のストレージAPIコマンドとの対応関係を管理している。併せて、纏め投げAPI変換テーブル207は、連続して発行されるべきストレージAPIコマンド同士のコマンド依存関係も管理している。 In the present embodiment, as an example, the collective throw API conversion table 207 is an ISV definition API that can convert two ISV definition API commands out of many types of ISV definition API commands into one storage API command. It manages the correspondence between command combinations and the converted storage API commands. In addition, the collective throw API conversion table 207 also manages command dependency relationships between storage API commands to be issued successively.
 上述した統合制御部202は、纏め投げモードにおいて管理サーバ101からISV定義APIコマンドを受け取ると、纏め投げAPI変換テーブル207を参照し、このISV定義APIコマンドが、纏め投げモードにおいて受け取り済みの他のISV定義APIコマンドと纏めてストレージAPIコマンドを生成可能か否かを判定する。このようにすると、管理サーバ101によって発行されるISV定義APIコマンドの種類に応じて、多数のISV定義APIコマンドのうち纏めてストレージAPIコマンドを発行した方が処理効率が高いものと、そうでないものとを区別して処理効率を高めることができる。 When the integrated control unit 202 receives the ISV definition API command from the management server 101 in the collective throw mode, the integrated control unit 202 refers to the collective throw API conversion table 207, and the ISV definition API command is received in the collective throw mode. It is determined whether the storage API command can be generated together with the ISV definition API command. In this way, depending on the type of ISV definition API command issued by the management server 101, it is more efficient to issue a storage API command out of a number of ISV definition API commands, or not. And the processing efficiency can be improved.
 纏め投げAPI変換テーブル207は、図5(A)に示すように、そのカラムとして、第1のISV定義APIコマンド207A、第2のISV定義APIコマンド207B、ストレージAPIコマンド207C、及びコマンド依存関係207Dを有する。 As shown in FIG. 5A, the collective throw API conversion table 207 includes, as its columns, a first ISV definition API command 207A, a second ISV definition API command 207B, a storage API command 207C, and a command dependency 207D. Have
 纏め投げAPI変換テーブル207は、最初のレコードとして、例えば、第1のISV定義APIコマンド207Aが「I_API_A(a)」であり、第2のISV定義APIコマンド207Bが「I_API_A(b)」であり、ストレージAPIコマンド207Cが「S_API_1(a,b)」である。 In the collective throwing API conversion table 207, as the first record, for example, the first ISV definition API command 207A is “I_API_A (a)” and the second ISV definition API command 207B is “I_API_A (b)”. The storage API command 207C is “S_API_1 (a, b)”.
 なお、同一レコードにおけるストレージAPIコマンド207Cには「S_API_2(a,b)」も存在し、一見すると、2つのISV定義APIコマンドが2つのストレージAPIコマンドに変換されるためコマンド同士が纏められていないかのようにも図示されているが、本来はS_API_1(a)、S_API_2(a)、S_API_1(b)、S_API_2(b)の4つのストレージAPIが発行されるところが、S_API_1(a,b)、S_API_2(a,b)の2つのストレージAPIに纏められていることに留意されたい。これは、図示の纏め投げAPI変換テーブル207において上記最初のレコードに続く第2のレコード及び第3のレコードなどでも同様である。 Note that “S_API_2 (a, b)” also exists in the storage API command 207C in the same record. At first glance, two ISV definition API commands are converted into two storage API commands, so the commands are not collected. Although it is also illustrated in the figure, originally four storage APIs S_API_1 (a), S_API_2 (a), S_API_1 (b), and S_API_2 (b) are issued, S_API_1 (a, b), Note that the two storage APIs of S_API_2 (a, b) are collected. The same applies to the second record and the third record following the first record in the collective throwing API conversion table 207 shown in the figure.
 (2-3)ストレージAPI処理時間テーブル
 図6は、ストレージAPI処理時間テーブル208の構成例を示す。ストレージAPI処理時間テーブル208は、そのカラムとして、例えば、ストレージAPIコマンド208A及び処理時間208Bを有する。
(2-3) Storage API Processing Time Table FIG. 6 shows a configuration example of the storage API processing time table 208. The storage API processing time table 208 includes, for example, a storage API command 208A and a processing time 208B as its columns.
 ストレージAPIコマンド208Aは、各ストレージAPIコマンドの名称を表している。一方、処理時間208Bは、各ストレージAPIコマンドがストレージ装置301において処理された場合の処理時間[s]を表している。 The storage API command 208A represents the name of each storage API command. On the other hand, the processing time 208B represents the processing time [s] when each storage API command is processed in the storage apparatus 301.
 図示の例では、「S_API_2」のストレージAPIコマンドが2.000[s]となっており最も長い処理時間で処理を完了する一方、「S_API_1」のストレージAPIコマンドが0.001[s]となっており最も短い処理時間で処理を完了することができる。 In the illustrated example, the storage API command “S_API_2” is 2.000 [s], and the processing is completed in the longest processing time, while the storage API command “S_API_1” is 0.001 [s]. The processing can be completed in the shortest processing time.
 (2-4)モニタリング処理
 本実施の形態では、以下の各項目(2-4-1)~(2-4-4)に示す通り、ストレージAPIコマンド処理時間のモニタリングを行った結果に基づいて纏め投げAPI変換テーブル207の登録内容を動的に変更するモードを追加している。このような工夫により、処理時間帯(昼、夜の処理の違い)や環境依存(接続中のサーバ数やネットワーク環境、ストレージ内のディスク構成等)の違いによって発生するストレージAPIコマンド処理時間の変動及び違いに応じて、より最適な順序でストレージAPIコマンドを発行し、一部のISV定義APIコマンドをより早く処理することが可能とすることを目的としている。
(2-4) Monitoring processing In the present embodiment, as shown in the following items (2-4-1) to (2-4-4), based on the result of monitoring the storage API command processing time A mode for dynamically changing the registered contents of the collective throwing API conversion table 207 is added. As a result of these measures, fluctuations in storage API command processing time caused by differences in processing time (difference between day and night processing) and environment dependence (number of connected servers, network environment, disk configuration in storage, etc.) The purpose is to issue storage API commands in a more optimal order according to the difference, and to process some ISV definition API commands faster.
 具体的には、以下のように、ストレージAPI処理時間テーブル208及び纏め投げAPI変換テーブル207を動的に変更して対応する。 Specifically, the storage API processing time table 208 and the collective throwing API conversion table 207 are dynamically changed as follows.
 処理時間帯(昼、夜の処理の違い):昼は業務時間で多数のISV_APIコマンドが発行されるためにストレージの負荷が集中しストレージAPIの処理時間が長くなるが、夜間はISV_APIコマンドの発行が少ないためにストレージAPIの処理時間が短くなるような状況において、統合制御部202は、例えば早朝の業務開始前と深夜時間帯とでストレージAPI処理時間テーブル208と纏め投げAPI変換テーブル207を動的に変更して対応する。 Processing time zone (difference between daytime and nighttime processing): Since many ISV_API commands are issued during business hours in the daytime, the storage load is concentrated and the processing time of the storage API becomes longer, but at the night, the ISV_API command is issued In a situation where the processing time of the storage API is shortened due to a small amount of data, the integrated control unit 202 moves the storage API processing time table 208 and the collective throwing API conversion table 207 before, for example, the early morning business start time and the midnight time zone. To change it.
 環境依存:業務開始中でのストレージ装置301に接続しているサーバ数の変動(集約や増設)、ネットワーク環境の変更、ストレージ装置301内のディスク構成の動的変更(例えばSAS HDDからFlashメモリ等高速なディスクへの変更、またはその逆)、または、ストレージ装置301のマイクロのアップデートなどによる一部の処理の高速化等の環境変化のイベントにより、ストレージAPIコマンドの実処理時間が変化することがある。このような場合でも、環境が変化した後に、統合制御部202は、ストレージAPI処理時間テーブル208及び纏め投げAPI変換テーブル207を動的に変更して対応する。 Dependent on environment: Changes in the number of servers connected to the storage device 301 (consolidation and expansion) during business start, changes in the network environment, and dynamic changes in the disk configuration in the storage device 301 (for example, SAS HDD to Flash memory, etc.) The actual processing time of the storage API command may change due to an environmental change event such as a change to a high-speed disk or vice versa, or an increase in the processing speed due to a micro update of the storage device 301 or the like. is there. Even in such a case, after the environment changes, the integrated control unit 202 responds by dynamically changing the storage API processing time table 208 and the collective throwing API conversion table 207.
 (2-4-1)初期状態ルール設定処理
 本実施の形態では、纏め投げAPI変換テーブル207は初期状態で以下のルール情報を保有する。
・纏め投げルール:
  例えば、ストレージAPIコマンドS_API_1(a,b)は纏め投げ処理の対象である。
・ストレージAPIコマンドの発行依存関係のルール:
  例えば、ストレージAPIコマンドS_API_2の発行前に、依存関係のある他のストレージAPIコマンドS_API_1の処理を完了させる。
(2-4-1) Initial State Rule Setting Processing In this embodiment, the batch throw API conversion table 207 holds the following rule information in the initial state.
・ Bullet throwing rules:
For example, the storage API command S_API_1 (a, b) is a target of batch throw processing.
-Storage API command issue dependency rules:
For example, before issuing the storage API command S_API_2, the processing of another storage API command S_API_1 having a dependency relationship is completed.
 さらにプラグイン201に対してストレージAPI処理時間テーブル208、スケジューラ部209及びユーザインタフェース210が追加されている。なお、ストレージAPI処理時間テーブル208の処理時間の初期値は任意で良い。 Further, a storage API processing time table 208, a scheduler unit 209, and a user interface 210 are added to the plug-in 201. Note that the initial value of the processing time in the storage API processing time table 208 may be arbitrary.
 (2-4-2)コマンド処理時間記録処理
 既述のようにプラグイン201では、統合制御部202が、各ストレージAPIコマンドの処理時間を複数回ずつ計測するとともに、例えば平均値を求める処理のような任意の統計処理を実施して得られる各ストレージAPIコマンドの処理時間をストレージAPI処理時間テーブル208に記録している。
(2-4-2) Command processing time recording process As described above, in the plug-in 201, the integrated control unit 202 measures the processing time of each storage API command a plurality of times, and for example, obtains an average value. The processing time of each storage API command obtained by executing such arbitrary statistical processing is recorded in the storage API processing time table 208.
 (2-4-3)発行順序入替処理
 統合制御部202は、ストレージAPI処理時間テーブル208を参照しながら、纏め投げAPI変換テーブル207に登録済みのストレージAPIコマンドの発行順序を、コマンド依存関係を維持可能な範囲で、先に処理すべきもの、例えば処理時間の短いものが先になるように入れ替える。これにより、時間のかかるISV定義APIコマンドの完了を後に回し、一部のISV定義APIコマンドを優先的に完了することが可能となる。
(2-4-3) Issuance Order Replacement Processing The integrated control unit 202 refers to the storage API processing time table 208, determines the issuance order of storage API commands registered in the batch throw API conversion table 207, and sets the command dependency relationship. In a range that can be maintained, replacement is performed so that the one to be processed first, for example, the one with the short processing time comes first. This makes it possible to postpone the completion of time-consuming ISV definition API commands later and to complete some ISV definition API commands preferentially.
 まず、図5(A)に示す本実施の形態による発行順序入替処理を実行しない一例においては、ISV定義APIコマンドI_API_C(a)は、時間がかかる処理であるストレージAPIコマンドS_API_2(a)が完了するまで待つ必要があった。一方、図5(B)に示す本実施の形態による発行順序入替処理を実行する一例においては、ストレージAPIコマンドS_API_1(a,b),ストレージAPIコマンドS_API_4(b)、及び、ストレージAPIコマンドS_API_5(b)をストレージAPIコマンドS_API_2(a)よりも先に実行することにより、上位の管理サーバ101にはISV定義APIコマンドI_API_C(b)の応答を先に返すことが可能となる。 First, in an example in which the issue order change process according to the present embodiment shown in FIG. 5A is not executed, the storage API command S_API_2 (a), which is a time-consuming process, is completed for the ISV definition API command I_API_C (a). I had to wait until. On the other hand, in the example of executing the issue order change processing according to the present embodiment shown in FIG. 5B, the storage API command S_API_1 (a, b), the storage API command S_API_4 (b), and the storage API command S_API_5 ( By executing b) before the storage API command S_API_2 (a), it is possible to return the response of the ISV definition API command I_API_C (b) to the upper management server 101 first.
 (2-4-4)モニタリング処理
 (2-4-4-1)モニタリング処理の概要
 統合制御部202は、上述した初期状態ルール設定処理、コマンド処理時間記録処理及び発行順序入替処理を合わせて「モニタリング処理」として、通常モード、コマンド蓄積モード及び纏め投げモードのうちのどのモードに遷移しているか否かに関わらず独立して実行している。統合制御部202は、このモニタリング処理を、以下の第1の時点又は第2の時点のいずれかの時点を契機として実行する。
(2-4-4) Monitoring process (2-4-4-1) Overview of monitoring process The integrated control unit 202 combines the above-described initial state rule setting process, command process time recording process, and issue order change process. The “monitoring process” is executed independently regardless of which mode is selected from the normal mode, the command accumulation mode, and the collective throwing mode. The integrated control unit 202 executes this monitoring process triggered by any one of the following first time points and second time points.
 (2-4-4-2)モニタリング処理の実行タイミング
 第1の時点としては、統合制御部202が、スケジューラ部209を定期的にポーリングし、スケジューラ部209に保存されているスケジュール設定の時刻になったと判断した時点である。
(2--4-4-2) Monitoring Processing Execution Timing As the first time point, the integrated control unit 202 periodically polls the scheduler unit 209 and sets the schedule setting time stored in the scheduler unit 209. It is the time when it was judged that it became.
 第2の時点としては、スケジューラ部209が、自身で保持しているモニタリング処理の実行スケジュールに関する設定を監視しており、当該設定時間になった時点で統合制御部202へモニタリング処理の指示の通知を行った時点である。 As the second time point, the scheduler unit 209 monitors the setting relating to the execution schedule of the monitoring process held by itself, and notifies the integrated control unit 202 of the instruction for the monitoring process when the set time is reached. Is the point of time.
 (3)プラグインサーバによる各モード
 (3-1)モードの種類
 図7は、プラグインサーバ200による各モードの状態遷移図を示す。プラグインサーバ200では、統合制御部202が、例えば、通常モード、コマンド蓄積モード、及び、纏め投げモードのいずれかの状態に遷移することができる。
(3) Modes by Plug-in Server (3-1) Mode Types FIG. 7 shows a state transition diagram of each mode by the plug-in server 200. In the plug-in server 200, the integrated control unit 202 can transition to any of the normal mode, the command accumulation mode, and the collective throw mode, for example.
 (3-1-1)通常モード
 通常モードでは、統合制御部202が、キュー管理部206からISV定義APIコマンドを読み出し、コマンド変換テーブル203に従って、当該ISV定義APIコマンドに対応する単一のまたは複数のストレージAPIコマンドに変換する。統合制御部202は、変換後のストレージAPIコマンドをストレージAPIコマンドIF205に引き渡してストレージ装置301に対して発行し、ストレージ装置301のストレージAPIコマンドIF302からの応答を待つ。
(3-1-1) Normal Mode In the normal mode, the integrated control unit 202 reads out the ISV definition API command from the queue management unit 206, and, according to the command conversion table 203, single or plural corresponding to the ISV definition API command. To the storage API command. The integrated control unit 202 delivers the converted storage API command to the storage API command IF 205 and issues it to the storage apparatus 301, and waits for a response from the storage API command IF 302 of the storage apparatus 301.
 (3-1-2)コマンド蓄積モード
 コマンド蓄積モードでは、統合制御部202が、キュー管理部206において蓄積対象とするISV定義APIコマンドに纏め投げフラグを対応付けて管理している。即ち、統合制御部202は、キュー管理部206に蓄積されているISV定義APIコマンドに対応する纏め投げフラグを「0」から「1」に設定する。このコマンド蓄積モードでは、統合制御部202が、ISV定義APIコマンドをストレージAPIコマンドに変換すること、及び、変換済みのストレージAPIコマンドをストレージ装置301に送信することを保留している。
(3-1-2) Command Accumulation Mode In the command accumulation mode, the integrated control unit 202 manages the ISV definition API command to be accumulated in the queue management unit 206 in association with the collective throw flag. That is, the integrated control unit 202 sets the collective throw flag corresponding to the ISV definition API command stored in the queue management unit 206 from “0” to “1”. In this command accumulation mode, the integrated control unit 202 suspends the conversion of the ISV definition API command into the storage API command and the transmission of the converted storage API command to the storage apparatus 301.
 (3-1-3)纏め投げモード
 纏め投げモードでは、統合制御部202が、キュー管理部206に纏め投げフラグが対応付けられたISV定義APIコマンドが存在するか否かを判定する。統合制御部202は、キュー管理部206に登録されたISV定義APIコマンドの纏め投げフラグが「1」である全てのISV定義APIに対して、纏め投げAPI変換テーブル207に定義されている組み合わせについては、ストレージAPIコマンドIF205を経由して、それに対応するストレージAPIコマンド同士を纏めて送信する。一方で、纏め投げAPI変換テーブル207で定義されていないISV定義APIについては、コマンド変換テーブル203を参照して対応するストレージAPIを発行する。纏め投げ処理の詳細については後述する。
(3-1-3) Collective Throw Mode In the collective throw mode, the integrated control unit 202 determines whether or not the ISV definition API command associated with the collective throw flag exists in the queue management unit 206. The integrated control unit 202 sets the combinations defined in the collective throw API conversion table 207 for all ISV definition APIs whose collective throw flag of the ISV definition API command registered in the queue management unit 206 is “1”. Transmits the storage API commands corresponding to the storage API commands together via the storage API command IF 205. On the other hand, for the ISV definition API that is not defined in the collective throw API conversion table 207, the corresponding storage API is issued with reference to the command conversion table 203. Details of the collective throwing process will be described later.
 (3-2)各モードの遷移条件
 本実施の形態では、各モードの遷移条件は以下の通りである。
 (3-2-1)通常モード→コマンド蓄積モード
 プラグイン201では、統合制御部202が、ストレージAPIコマンドIF205を経由して発行したストレージAPIコマンドに対する応答がビジー応答などである場合、(処理中のストレージAPI数)=N_maxになったと判断し、通常モードからコマンド蓄積モードに遷移させる。
(3-2) Transition Conditions for Each Mode In this embodiment, the transition conditions for each mode are as follows.
(3-2-1) Normal Mode → Command Accumulation Mode In the plug-in 201, when the response to the storage API command issued by the integrated control unit 202 via the storage API command IF 205 is a busy response or the like, The number of storage APIs) is determined to be N_max, and the normal mode is changed to the command accumulation mode.
 (3-2-2)コマンド蓄積モード→纏め投げモード
 プラグイン201では、統合制御部202が、既に処理中であったストレージAPIコマンドの応答を受領したことに応じて、統合制御部202が(処理中のストレージAPI数)<N_maxになったと判断し、コマンド蓄積モードから纏め投げモードに遷移させる。
(3-2-2) Command Accumulation Mode → Batch Throw Mode In the plug-in 201, in response to the integration control unit 202 receiving a response to the storage API command that has already been processed, the integration control unit 202 ( The number of storage APIs being processed) is determined to be <N_max, and the command accumulation mode is changed to the collective throwing mode.
 (3-2-3)纏め投げモード→通常モード
 プラグイン201では、統合制御部202が、(処理中のストレージAPIコマンド数)<N_maxであり、かつ、キュー管理部206において纏め投げ対象フラグが「1」のISV定義APIコマンドが存在しないと判断した時点で、纏め投げモードから通常モードに遷移する。
(3-2-3) Collective throwing mode → normal mode In the plug-in 201, the integrated control unit 202 satisfies (the number of storage API commands being processed) <N_max and the collective throwing target flag is set in the queue management unit 206. When it is determined that the ISV definition API command of “1” does not exist, the collective throwing mode is changed to the normal mode.
 (3-3)纏め投げモードにおける処理手順
 図8は、纏め投げモードにおける処理手順の一例を示すフローチャートである。
 本実施形態における纏め投げモードでは、
 ストレージAPIコマンドの実行中のコマンド数=N_proc
 ストレージAPIコマンドの受付最大キュー(上記受付スロット301Aに相当)の数=N_max
とした場合に、統合制御部202が、纏め投げモードの開始時にN_proc=N_max-1と設定する(ステップS101)。統合制御部202は、処理中だったストレージAPIコマンドの応答があったか否か判定する(ステップS102)。
(3-3) Processing Procedure in the Collective Throw Mode FIG. 8 is a flowchart showing an example of the processing procedure in the collective throw mode.
In the collective throwing mode in this embodiment,
Number of commands during execution of storage API command = N_proc
Number of storage API command reception maximum queues (corresponding to the reception slot 301A) = N_max
In this case, the integrated control unit 202 sets N_proc = N_max-1 at the start of the collective throwing mode (step S101). The integrated control unit 202 determines whether there is a response to the storage API command being processed (step S102).
 統合制御部202は、N_procの値を1減らす(ステップS103)。統合制御部202は、ISV定義APIコマンドに対応する全てのストレージAPIコマンドが完了していれば、ISV定義APIコマンドの応答を管理サーバ101に返し、キュー管理部206から当該ISV定義APIコマンドを削除する(ステップS104)。 The integrated control unit 202 reduces the value of N_proc by 1 (step S103). If all storage API commands corresponding to the ISV definition API command have been completed, the integrated control unit 202 returns a response to the ISV definition API command to the management server 101 and deletes the ISV definition API command from the queue management unit 206. (Step S104).
 統合制御部202は、N_max>N_procを満たすか否か判定する(ステップS105)。 The integrated control unit 202 determines whether or not N_max> N_proc is satisfied (step S105).
 N_max≦N_procの場合(即ち、N_max=N_proc)の場合(ステップS105)、統合制御部202は、キュー管理部206に管理サーバ101からさらに受領したISV定義APIコマンドが存在するか否かを判定する(ステップS106)。 When N_max ≦ N_proc (ie, N_max = N_proc) (step S105), the integrated control unit 202 determines whether or not the ISV definition API command further received from the management server 101 exists in the queue management unit 206. (Step S106).
 統合制御部202は、管理サーバ101からISV定義APIコマンドをさらに受領している場合、キュー管理部206に、纏め投げフラグを対応付けて登録して(ステップS107)、既述のステップS102に戻ってこれを実行する一方、管理サーバ101からISV定義APIコマンドをさらに受領していない場合、既述のステップS102に戻ってこれを実行する。 When the integrated control unit 202 further receives an ISV definition API command from the management server 101, the integrated control unit 202 registers the batch throw flag in association with the queue management unit 206 (step S107), and returns to step S102 described above. If, on the other hand, no ISV definition API command has been received from the management server 101, the process returns to step S102 described above to execute it.
 一方、N_max>N_procの場合(ステップS105)、統合制御部202は、キュー管理部206に纏め投げフラグが対応付けられたISV定義APIコマンドが存在するか否かに応じて次のよう動作する。 On the other hand, if N_max> N_proc (step S105), the integrated control unit 202 operates as follows depending on whether or not the ISV definition API command associated with the collective throw flag exists in the queue management unit 206.
 a)統合制御部202は、キュー管理部206に纏め投げフラグが対応付けられたISV定義APIコマンドが存在するか否かを判定する(ステップS108)。 A) The integrated control unit 202 determines whether there is an ISV definition API command associated with the collective throw flag in the queue management unit 206 (step S108).
 統合制御部202は、キュー管理部206に纏め投げフラグが対応付けられたISV定義APIコマンドが存在する場合、これらの纏め投げフラグが対応付けられたISV定義APIコマンドに対し、纏め投げAPI変換テーブル207に定義されている組み合わせについては対応するストレージAPIコマンド同士を纏めてストレージAPIコマンドIF205を経由して送信し、纏め投げAPI変換テーブル207で定義されていないISV定義APIについてはコマンド変換テーブル203を参照して対応するストレージAPIをストレージAPIコマンドIF205を経由して、ストレージ装置301に対して送信するとともに(ステップS109)、N_proc=N_proc+1と設定する(ステップS110)。 When there is an ISV definition API command associated with the collective throw flag in the queue management unit 206, the integrated control unit 202 performs a collective throw API conversion table for the ISV definition API command associated with the collective throw flag. For the combinations defined in 207, the corresponding storage API commands are collected together and transmitted via the storage API command IF 205. For the ISV definition APIs not defined in the collective throwing API conversion table 207, the command conversion table 203 is used. The corresponding storage API is referred to and transmitted to the storage apparatus 301 via the storage API command IF 205 (step S109), and N_proc = N_proc + 1 is set (step S110).
 b)統合制御部202は、キュー管理部206に纏め投げフラグが対応付けられたISV定義APIコマンドが存在しない場合(ステップS108)、通常モードに移行する。 B) When there is no ISV definition API command associated with the collective throw flag in the queue management unit 206 (step S108), the integrated control unit 202 shifts to the normal mode.
 (3-4)各モードにおける各コマンドの受け渡し状態
 図9は、プラグインサーバ200のプラグイン201が遷移しうる各モードにおける各コマンドの受け渡し状態の一例を示すシーケンスチャートである。なお、管理サーバ101とプラグイン201との間を繋ぐ矢印の上に図示された名称は、それぞれ、図3~図5に示すISV定義APIコマンドの名称を表している一方、プラグイン201とのストレージ装置301との間を繋ぐ矢印の上に図示された名称は、それぞれ、図4、図5及び図6に示すストレージAPIコマンドの名称を表している。
(3-4) Each Command Delivery State in Each Mode FIG. 9 is a sequence chart showing an example of each command delivery state in each mode in which the plug-in 201 of the plug-in server 200 can transition. The names shown on the arrows connecting the management server 101 and the plug-in 201 represent the names of the ISV definition API commands shown in FIG. 3 to FIG. The names illustrated on the arrows connecting the storage devices 301 represent the names of the storage API commands illustrated in FIGS. 4, 5, and 6, respectively.
 A)通常モード→コマンド蓄積モードの切り替え
 ストレージAPIコマンドのエラー応答が返ってきた時点で切り替える。受付スロット301Aが一杯というエラーの他にも、一時的に高負荷のため応答不可、等のストレージ装置301側に起因する一時的なエラーと思われるものであれば適用が可能である。
A) Switching from normal mode to command accumulation mode The mode is switched when an error response of the storage API command is returned. In addition to the error that the accepting slot 301A is full, the present invention can be applied to any error that seems to be a temporary error caused by the storage device 301 such as a response temporarily impossible due to a heavy load.
 なお、故障などの恒常的と思われるストレージ装置301のエラーや、ストレージAPIコマンドの引数が不正などのエラーは、ウェイト期間を経ても回復する見込みはないため、本実施の形態では纏め投げ処理を実行する契機とはしない。 It should be noted that an error such as a failure of the storage device 301 that seems to be permanent or an error such as an invalid argument of the storage API command is not expected to be recovered even after a wait period, and therefore, this embodiment performs a collective throw process. It is not an opportunity to execute.
 コマンド蓄積モードでは、統合制御部202が、キュー管理部206において蓄積対象とするISV定義APIコマンドに纏め投げフラグを対応付けて管理しており、ISV定義APIコマンドをストレージAPIコマンドに変換すること、及び、その変換後のストレージAPIコマンドを送信することを保留している。 In the command accumulation mode, the integrated control unit 202 manages the ISV definition API command to be accumulated in the queue management unit 206 in association with the collective throw flag, and converts the ISV definition API command into a storage API command. The storage API command after the conversion is suspended.
 B)コマンド蓄積モード→纏め投げモードの切り替え
 コマンド蓄積モード移行前から既にストレージ装置301内で処理中だったストレージAPIのいずれかが正常応答を返した時点で切り替える。
B) Switching from command accumulation mode to batch throwing mode Switching is performed when one of the storage APIs already processed in the storage apparatus 301 returns from the normal response before shifting to the command accumulation mode.
 纏め投げモードでは、統合制御部202が、キュー管理部206で管理されている纏め投げフラグが対応付けられたISV定義APIコマンドを、纏め投げAPI変換テーブル207に従ってストレージAPIに変換し、ストレージAPIコマンドIF205を通じてストレージ装置301へ発行する。 In the collective throwing mode, the integrated control unit 202 converts the ISV definition API command associated with the collective throwing flag managed by the queue management unit 206 into a storage API according to the collective throwing API conversion table 207, and the storage API command. Issued to the storage apparatus 301 through the IF 205.
 纏め投げモードでは、ストレージ装置301に空き受付スロット301Aが無いことが想定されるため、統合制御部202は、纏め投げフラグが対応付けられているISV定義APIコマンドの完了を優先し、纏め投げモード中に管理サーバからISV定義APIを受領した場合は、通常モードに移行するまで当該ISV定義APIをプラグイン201内のキュー管理部206で滞留させる。 In the collective throwing mode, it is assumed that there is no empty reception slot 301A in the storage device 301. Therefore, the integrated control unit 202 gives priority to the completion of the ISV definition API command associated with the collective throwing flag, and the collective throwing mode If the ISV definition API is received from the management server, the ISV definition API is retained in the queue management unit 206 in the plug-in 201 until the normal mode is entered.
 C)纏め投げモード→通常モードの切り替え
 統合制御部202は、纏め投げモードで実行したストレージAPIコマンド群について、全ての応答がアクセスシステムから返却された時点で纏め投げモードから通常モードに切り替える。
C) Switching from collective throw mode to normal mode The integrated control unit 202 switches from the collective throw mode to the normal mode when all responses are returned from the access system for the storage API command group executed in the collective throw mode.
 通常モードでは、統合制御部202がキュー管理部206に入ったISV定義APIコマンドについて、コマンド変換テーブル203を参照してストレージAPIコマンドに変換し、ストレージAPIコマンドIF205を通じてストレージ装置301へ発行する。 In the normal mode, the integrated control unit 202 converts the ISV definition API command entered in the queue management unit 206 into a storage API command with reference to the command conversion table 203 and issues it to the storage apparatus 301 through the storage API command IF 205.
 (3-5)キューが満杯となるまでの状態
 以上概要を説明したように、通常モードにおいて統合制御部202は、ストレージ装置301から応答として、一時的なストレージAPIコマンドのエラーを受領したか否かを判定している。統合制御部202は、ストレージAPIコマンドのエラーがストレージ装置301から応答された場合、現状の通常モードからコマンド蓄積モードに遷移する。
(3-5) State until the queue is full As described above, in the normal mode, the integrated control unit 202 has received a temporary storage API command error as a response from the storage apparatus 301. Judging. When an error of the storage API command is returned from the storage apparatus 301, the integrated control unit 202 transitions from the current normal mode to the command accumulation mode.
 (3-6)キューが満杯となった場合
 上記キューが満杯となり新規ISV定義APIコマンドの処理受付ができない時間帯(ウェイト時間)の設定方法としては、以下のようにしても良い。なお、下記の代わりに、受付スロット(キュー)301Aで受けているストレージAPIコマンドのコマンド数に応じてウェイト時間を設定しても良いことは云うまでもない。
(3-6) When queue is full As a method of setting a time zone (wait time) in which the queue is full and new ISV definition API command processing cannot be accepted, the following method may be used. It goes without saying that the wait time may be set according to the number of storage API commands received in the receiving slot (queue) 301A instead of the following.
 本実施の形態では、ウェイト開始からウェイト終了までの期間(上記「ウェイト時間」に相当)の開始及び終了を、例えば、以下の事象を契機とするように工夫している。
 ウェイト開始:あるストレージAPIコマンドの受付不可エラーが生じたこと
 ウェイト終了:処理中のストレージAPIコマンドのいずれかについて正常終了が返ってきたこと
 以上のような工夫は、考えうる他方式と比較した場合、以下が優れている。
In the present embodiment, the start and end of the period from the start of the wait to the end of the wait (corresponding to the “wait time”) is devised so as to be triggered by, for example, the following events.
Wait start: An error indicating that a storage API command cannot be accepted has occurred. End of wait: A normal end has been returned for any of the storage API commands being processed. The following are excellent.
 (3-6-1)ウェイト開始~ウェイト終了を固定時間とした方式(その1)
 図10に示す比較例としての固定時間ウェイト方式の場合には、例えば纏め投げ処理が可能なように長くウェイト時間を確保しようとすると、処理中ストレージAPIコマンドの数=N-1となった後にも無駄な待ち時間が出てしまう可能性がある。結果として、図示のように纏め投げ処理を開始するタイミングが遅れてしまうおそれがある。
(3-6-1) Method with fixed time from start of wait to end of wait (Part 1)
In the case of the fixed time wait method as the comparative example shown in FIG. 10, for example, if it is attempted to secure a long wait time so that the collective throwing process is possible, after the number of processing storage API commands becomes N−1. There is also a possibility that useless waiting time will come out. As a result, there is a possibility that the timing for starting the collective throwing process is delayed as shown in the figure.
 一方、図11に示す本実施の形態では、無駄な待ち時間は発生せず、ウェイト時間を早く終了して即座に纏め投げ処理を開始することが可能となる。また、処理のオーバヘッドが見えるようにもなる。一方、図11に示す比較例としての固定時間ウェイト方式において、ウェイト時間を短くしてしまうと、纏め投げ処理の対象とすべきストレージAPIコマンドの数が減ってしまい、纏め投げ処理による高速化の効果が得られにくくなってしまうおそれがある。 On the other hand, in the present embodiment shown in FIG. 11, there is no useless waiting time, and it is possible to immediately end the waiting time and start the collective throwing process immediately. In addition, processing overhead can be seen. On the other hand, in the fixed time wait method as the comparative example shown in FIG. 11, if the wait time is shortened, the number of storage API commands to be subjected to the collective throwing process is reduced, and the speedup by the collective throwing process is increased. There is a risk that it will be difficult to obtain the effect.
 また、処理中ストレージAPIコマンドの数に応じてウェイト時間を単に変動させたり、又は、処理中ストレージAPIコマンドの数によらずに常時ウェイト時間を設定する場合(即ち、常に纏め投げモードの状態に相当)も、一見すると、同様の問題が生じうることも考え得る。 Further, when the wait time is simply changed according to the number of storage API commands being processed, or when the wait time is always set regardless of the number of storage API commands being processed (that is, the batch throw mode is always set). Equivalent) can also be considered to cause similar problems at first glance.
 (3-6-2)ウェイト時間を過去の統計情報で学習させる方式(その2)
 そこで、プラグイン201では、統合制御部202が、現在の処理中ストレージAPIコマンドのコマンド数をカウントしておき、図12に示す比較例としてのウェイト時間学習方法のように、直前に処理中ストレージAPIコマンドの数=NとなったストレージAPIについてストレージ装置301からの返却時間を事前に学習しておき、その時間をウェイト時間とする方式も採用することができる。
(3-6-2) Method of learning wait time from past statistical information (part 2)
Therefore, in the plug-in 201, the integrated control unit 202 counts the number of commands of the current processing storage API command, and immediately before the storage processing in progress as in the wait time learning method as the comparative example shown in FIG. It is also possible to adopt a method in which the return time from the storage apparatus 301 is learned in advance for the storage API for which the number of API commands = N, and that time is used as the wait time.
 しかしながら、結局、図12におけるストレージAPIコマンドS_API_X(1)の応答後に纏め投げ処理を実行することは、本実施の形態でも同様であり、その結果、纏め投げ処理の対象となるストレージAPIコマンド群のコマンド数は変わらない。このようなウェイト時間学習方式では、以下のような点に留意すべきである。 However, in the end, the execution of the collective throwing process after the response to the storage API command S_API_X (1) in FIG. 12 is the same in the present embodiment, and as a result, the storage API command group that is the target of the collective throwing process. The number of commands does not change. In such a wait time learning method, the following points should be noted.
 受付スロット301AがストレージAPIコマンドで満杯以外の理由(例えばストレージ装置301が高負荷である状態等、一時的な応答ができないことが理由であるBusyエラー応答)には、図12に示すウェイト時間学習方式では対応できないおそれがある。その一方、図13に示す本実施の形態による方式では、これにも対応が可能となる。 The wait time learning shown in FIG. 12 is used for reasons other than when the receiving slot 301A is full of storage API commands (for example, a busy error response that is because the storage device 301 is temporarily unable to respond, such as when the storage device 301 is heavily loaded). The method may not be able to handle it. On the other hand, the system according to the present embodiment shown in FIG. 13 can cope with this.
 図12に示すウェイト時間学習方式においてストレージAPIコマンドS_API_X(1)の応答があればよいが、他に処理中の別のストレージAPIコマンドの応答があった場合は、ウェイト時間が無駄に長くなる可能性がある。即ち、処理のオーバヘッドが見えてしまう可能性がある。しかしながら、本実施の形態による方式では、処理中のいずれかのストレージAPIコマンドの応答があれば良いため、上述した不都合にも対応が可能となる。 In the wait time learning method shown in FIG. 12, it is sufficient if there is a response to the storage API command S_API_X (1), but if there is another response to another storage API command being processed, the wait time can be unnecessarily long. There is sex. That is, processing overhead may be visible. However, in the method according to the present embodiment, any one of the storage API commands that are being processed only needs to be responded, and thus the above-described inconvenience can be dealt with.
 学習処理を実行する必要がない分、本実施の形態の方が、単純に実装工数が少なく簡素化される。これにより、メンテナンスが行いやすくなり、また、不具合が発生するリスクを低減することができる。  Since there is no need to execute the learning process, the present embodiment simply simplifies with fewer mounting steps. Thereby, it becomes easy to perform maintenance, and the risk of occurrence of defects can be reduced.
 以上のような本実施の形態によれば、管理サーバ101が短時間内に発行した大量のISV定義APIコマンドがプラグインサーバ200において滞留することを抑制し、プラグインサーバ200がストレージ装置301に対して効率的にストレージAPIコマンドを発行することができる。 According to the present embodiment as described above, a large amount of ISV definition API commands issued by the management server 101 within a short time is prevented from staying in the plug-in server 200, and the plug-in server 200 is stored in the storage apparatus 301. On the other hand, it is possible to efficiently issue a storage API command.
 (4)その他の実施形態
 上記実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その趣旨を逸脱しない限り、様々な形態で実施することができる。例えば、上記実施形態では、各種プログラムの処理をシーケンシャルに説明したが、特にこれにこだわるものではない。従って、処理結果に矛盾が生じない限り、処理の順序を入れ替え又は並行動作するように構成しても良い。
(4) Other Embodiments The above embodiment is an example for explaining the present invention, and is not intended to limit the present invention only to these embodiments. The present invention can be implemented in various forms without departing from the spirit of the present invention. For example, in the above-described embodiment, the processing of various programs is described sequentially, but this is not particularly concerned. Therefore, as long as there is no contradiction in the processing result, the processing order may be changed or the operation may be performed in parallel.
 (4-1)通常モード→コマンド蓄積モードの切り替え契機の変形例
 統合制御部202は、ストレージ装置301の受付スロット301Aが満杯になった状態(特定の状態)に至った契機以外の他の契機として、以下のようなモード切り替え契機を採用しても良い。
(4-1) Modified Example of Switching Trigger from Normal Mode to Command Accumulation Mode The integrated control unit 202 has other triggers other than the trigger that has reached the state where the reception slot 301A of the storage device 301 is full (specific state). The following mode switching opportunity may be adopted.
 (4-1-1)方式1
 プラグインサーバ200のプラグイン201では、統合制御部202が、通常モードにおいてスループットとして、例えば単位時間当たりのコマンド発行数を監視しており、単位時間当たりのコマンド発行数が事前に設定された任意の規定値以上になった場合、通常モードからコマンド蓄積モードに移行する。このようにすると、より早い段階で今後コマンド蓄積モードに移行すべきことを把握することができるため、無駄なタイムラグなく、より適切なタイミングでコマンド蓄積モードに遷移することができる。
(4-1-1) Method 1
In the plug-in 201 of the plug-in server 200, the integrated control unit 202 monitors, for example, the number of commands issued per unit time as throughput in the normal mode, and the command issuance number per unit time is set in advance. When the specified value is exceeded, the mode shifts from the normal mode to the command accumulation mode. In this way, it is possible to grasp that the command storage mode should be shifted to in the future at an earlier stage, and therefore it is possible to shift to the command storage mode at a more appropriate timing without useless time lag.
 (4-1-2)方式2
 プラグインサーバ200のプラグイン201では、統合制御部202が、通常モードにおいて、ストレージ装置301において同時に実行されているストレージAPIコマンドのコマンド数がストレージ装置301において同時に実行可能なストレージAPIコマンドの既定数の所定の割合を超えたことを契機として、即ち、(ストレージ装置301において同時に実行中のストレージAPIコマンドのコマンド数)>N_max×a(ただし、0<a≦1.0)を満たしたことを契機として、通常モードからコマンド蓄積モードに移行するようにしても良い。
(4-1-2) Method 2
In the plug-in 201 of the plug-in server 200, the integrated control unit 202 determines that the number of storage API commands that are simultaneously executed in the storage apparatus 301 in the normal mode is the predetermined number of storage API commands that can be executed simultaneously in the storage apparatus 301. In other words, the fact that (the number of storage API commands being executed simultaneously in the storage apparatus 301)> N_max × a (where 0 <a ≦ 1.0) is satisfied. As an opportunity, the normal mode may be shifted to the command accumulation mode.
 以上のような変型例の方式によれば、大量のISV定義APIコマンドが発行されることをより早期に検知するとともに、より早いタイミングでコマンド蓄積モードに移行することで、さらに纏め投げ処理の効率化を図ることが可能となる。 According to the above-described modified example method, it is possible to detect that a large number of ISV definition API commands are issued earlier and to shift to the command accumulation mode at an earlier timing, thereby further improving the efficiency of the collective throwing process. Can be achieved.
 本発明は、データを格納可能なストレージ装置と、このストレージ装置に対してデータの読み書きを行う上位装置との間においてデータを中継する中継装置を備えるアクセスシステムに広く適用することができる。 The present invention can be widely applied to an access system including a storage device that can store data and a relay device that relays data between the storage device and a host device that reads / writes data from / to the storage device.
 100……上位サーバ、101……管理サーバ、200……プラグインサーバ、201……プラグイン、202……統合制御部、203……コマンド変換テーブル、204……ISV定義API発行IF、205……ストレージAPIコマンドIF、206……キュー管理部、207……纏め投げAPI変換テーブル、208……ストレージAPI処理時間テーブル、301……ストレージ装置、301A……受付スロット、301B……データ記憶領域管理テーブル、302……ストレージAPIコマンドIF。 DESCRIPTION OF SYMBOLS 100 ... Host server, 101 ... Management server, 200 ... Plug-in server, 201 ... Plug-in, 202 ... Integrated control unit, 203 ... Command conversion table, 204 ... ISV definition API issue IF, 205 ... ... Storage API command IF, 206 ... Queue management unit, 207 ... Batch throw API conversion table, 208 ... Storage API processing time table, 301 ... Storage device, 301A ... Reception slot, 301B ... Data storage area management Table 302... Storage API command IF.

Claims (14)

  1.  データの書き込み及び読み出しに関する上位側コマンドを発行する上位装置と、
     前記上位装置から受け取った前記上位側コマンドを1対1で下位側コマンドに変換する通常モードで動作するコマンド中継装置と、
     前記コマンド中継装置から受け取った前記下位側コマンドに従って前記データの書き込み及び読み出しが可能なストレージ装置と、
     を備え、
     前記コマンド中継装置は、
     前記上位側コマンドと前記下位側コマンドとの対応関係を管理するコマンド対応管理テーブルと、
     前記ストレージ装置が前記下位側コマンドを受け入れ難い特定の状態に至ったことを契機として、所定期間に亘って前記コマンド対応管理テーブルに基づいて前記上位装置から受け取った前記上位側コマンド同士を纏めて前記下位側コマンドに変換する纏め処理を実行しうる纏め投げモードに移行し、前記下位側コマンドを前記ストレージ装置に対して発行する統合制御部と、
     を備えることを特徴とするアクセスシステム。
    A higher-level device that issues higher-level commands related to data writing and reading;
    A command relay device operating in a normal mode for converting the higher order command received from the higher order device into a lower order command on a one-to-one basis;
    A storage device capable of writing and reading the data according to the lower-order command received from the command relay device;
    With
    The command relay device
    A command correspondence management table for managing a correspondence relationship between the upper command and the lower command;
    When the storage apparatus has reached a specific state in which it is difficult to accept the lower-order commands, the higher-order commands received from the higher-order apparatus based on the command correspondence management table over a predetermined period are collected. An integrated control unit that shifts to a collective throwing mode that can execute a consolidating process that converts to a lower-order command, and issues the lower-order command to the storage device;
    An access system comprising:
  2.  前記ストレージ装置は、
     前記下位側コマンドを受け入れ可能な所定数の受付スロットを備え、
     前記コマンド中継装置は、
     前記特定の状態として、前記所定数の受付スロットに前記下位側コマンドを受け入れ可能な空きがなったことを契機として、前記纏め投げモードに移行することを特徴とする請求項1に記載のアクセスシステム。
    The storage device
    A predetermined number of receiving slots capable of accepting the lower-order command,
    The command relay device
    2. The access system according to claim 1, wherein, as the specific state, the mode is shifted to the collective throwing mode when there is a vacant space that can accept the lower-order command in the predetermined number of reception slots. .
  3.  前記コマンド中継装置は、
     前記上位装置による前記上位側コマンドの単位時間当り発行数を監視しており、
     前記特定の状態として、前記上位装置による単位時間当りの前記上位側コマンドの発行数が所定の閾値以上になったことを契機として、前記纏め投げモードに移行することを特徴とする請求項1に記載のアクセスシステム。
    The command relay device
    Monitoring the number of commands issued by the host device per unit time,
    2. The specific throwing mode is switched to the collective throwing mode when the number of higher-level commands issued per unit time by the higher-level device exceeds a predetermined threshold as the specific state. The access system described.
  4.  前記コマンド中継装置は、
     前記特定の状態として、前記ストレージ装置において同時に実行されている前記下位側コマンドの数が前記ストレージ装置において同時に実行可能な前記下位側コマンドの既定数の所定の割合を超えたことを契機として、前記纏め投げモードに移行することを特徴とする請求項1に記載のアクセスシステム。
    The command relay device
    As the specific state, triggered by the fact that the number of the lower side commands simultaneously executed in the storage device exceeds a predetermined ratio of the predetermined number of the lower side commands that can be executed simultaneously in the storage device, The access system according to claim 1, wherein the access system shifts to a collective throwing mode.
  5.  前記コマンド中継装置は、
     前記上位装置から受け取る前記上位側コマンドの一群のうち纏めて処理が可能な特定の上位側コマンドを管理する纏め対象管理テーブルを備え、
     前記纏め投げモードにおいて前記上位装置から前記上位側コマンドを受け取ると、前記纏め対象管理テーブルを参照し、前記上位側コマンドが、前記纏め投げモードにおいて受け取り済みの他の上位側コマンドと纏めて前記下位側コマンドを生成可能か否かを判定することを特徴とする請求項1に記載のアクセスシステム。
    The command relay device
    A management target management table for managing specific high-order commands that can be collectively processed among the group of high-order commands received from the high-order device;
    When the higher-order command is received from the higher-level device in the collective throwing mode, the lower-order command is referred to the summarization target management table, and the higher-order command is collected together with other higher-order commands received in the collective throwing mode. The access system according to claim 1, wherein it is determined whether or not a side command can be generated.
  6.  前記コマンド中継装置は、
     前記ストレージ装置が前記下位側コマンドを受け入れ可能な状態に至り、かつ、全ての前記上位側コマンドについて前記纏め投げ処理が完了したことを契機として、前記纏め投げモードから前記通常モードに移行することを特徴とする請求項1に記載のアクセスシステム。
    The command relay device
    Transition from the collective throwing mode to the normal mode is triggered by the fact that the storage device is in a state where it can accept the lower order command and that the collective throwing process has been completed for all the upper side commands. The access system according to claim 1, wherein:
  7.  前記コマンド中継装置は、
     前記纏め投げモードにおいて前記上位装置から受け取った前記上位側コマンド同士の処理順序を先に処理すべきコマンドを先に処理するよう入れ替えることを特徴とする請求項1に記載のアクセスシステム。
    The command relay device
    The access system according to claim 1, wherein in the collective throwing mode, the processing order of the higher-order commands received from the higher-order device is switched so that a command to be processed first is processed first.
  8.  データの書き込み及び読み出しに関する上位側コマンドを発行する上位装置と、前記上位装置から受け取った前記上位側コマンドを1対1で下位側コマンドに変換する通常モードで動作するコマンド中継装置と、前記コマンド中継装置から受け取った前記下位側コマンドに従って前記データの書き込み及び読み出しが可能なストレージ装置と、を備えるアクセスシステムにおけるアクセス方法において、
     前記コマンド中継装置は、
     前記ストレージ装置が前記下位側コマンドを受け入れ難い特定の状態に至ったことを契機として、所定期間に亘って、前記上位側コマンドと前記下位側コマンドとの対応関係を管理するコマンド対応管理テーブルに基づいて、前記上位装置から受け取った前記上位側コマンド同士を纏めて前記下位側コマンドに変換する纏め処理を実行しうる纏め投げモードに移行し、前記下位側コマンドを前記ストレージ装置に対して発行する統合制御ステップを実行する
     ことを特徴とするアクセス方法。
    A higher-level device that issues higher-level commands related to data writing and reading; a command relay device that operates in a normal mode that converts the higher-level commands received from the higher-level device into lower-level commands one-to-one; and the command relay In an access method in an access system comprising: a storage device capable of writing and reading the data according to the lower-order command received from a device;
    The command relay device
    Based on a command correspondence management table that manages the correspondence between the upper command and the lower command over a predetermined period when the storage device has reached a specific state in which it is difficult to accept the lower command. Integration that shifts to a collective throwing mode in which the high-order commands received from the high-order device can be collectively converted into the low-order commands and that issues the low-order commands to the storage device. An access method characterized by executing a control step.
  9.  前記ストレージ装置は、
     前記下位側コマンドを受け入れ可能な所定数の受付スロットを備え、
     前記コマンド中継装置は、
     前記特定の状態として、前記所定数の受付スロットに前記下位側コマンドを受け入れ可能な空きがなったことを契機として、前記纏め投げモードに移行することを特徴とする請求項8に記載のアクセス方法。
    The storage device
    A predetermined number of receiving slots capable of accepting the lower-order command,
    The command relay device
    9. The access method according to claim 8, wherein, as the specific state, the mode is shifted to the collective throwing mode when the predetermined number of reception slots have a space that can accept the lower-order command. .
  10.  前記コマンド中継装置は、
     前記上位装置による前記上位側コマンドの単位時間当り発行数を監視しており、
     前記特定の状態として、前記上位装置による単位時間当りの前記上位側コマンドの発行数が所定の閾値以上になったことを契機として、前記纏め投げモードに移行することを特徴とする請求項8に記載のアクセス方法。
    The command relay device
    Monitoring the number of commands issued by the host device per unit time,
    9. The specific state is characterized in that, when the number of higher-order commands issued per unit time by the higher-level device exceeds a predetermined threshold, the batch-throw mode is entered. The access method described.
  11.  前記コマンド中継装置は、
     前記特定の状態として、前記ストレージ装置において同時に実行されている前記下位側コマンドの数が前記ストレージ装置において同時に実行可能な前記下位側コマンドの既定数の所定の割合を超えたことを契機として、前記纏め投げモードに移行することを特徴とする請求項8に記載のアクセス方法。
    The command relay device
    As the specific state, triggered by the fact that the number of the lower side commands simultaneously executed in the storage device exceeds a predetermined ratio of the predetermined number of the lower side commands that can be executed simultaneously in the storage device, The access method according to claim 8, wherein the access mode is shifted to a collective throw mode.
  12.  前記コマンド中継装置は、
     前記上位装置から受け取る前記上位側コマンドの一群のうち纏めて処理が可能な特定の上位側コマンドを管理する纏め対象管理テーブルを備え、
     前記纏め投げモードにおいて前記上位装置から前記上位側コマンドを受け取ると、前記纏め対象管理テーブルを参照し、前記上位側コマンドが、前記纏め投げモードにおいて受け取り済みの他の上位側コマンドと纏めて前記下位側コマンドを生成可能か否かを判定することを特徴とする請求項8に記載のアクセス方法。
    The command relay device
    A management target management table for managing specific high-order commands that can be collectively processed among the group of high-order commands received from the high-order device;
    Upon receiving the higher-order command from the higher-level device in the collective throwing mode, the lower-order command is referred to the summary target management table, and the higher-order command is collectively combined with other higher-order commands received in the collective throwing mode. 9. The access method according to claim 8, wherein it is determined whether or not a side command can be generated.
  13.  前記コマンド中継装置は、
     前記ストレージ装置が前記下位側コマンドを受け入れ可能な状態に至り、かつ、全ての前記上位側コマンドについて前記纏め投げ処理が完了したことを契機として、前記纏め投げモードから前記通常モードに移行することを特徴とする請求項8に記載のアクセス方法。
    The command relay device
    Transition from the collective throwing mode to the normal mode is triggered by the fact that the storage device is in a state where it can accept the lower order command and that the collective throwing process has been completed for all the upper side commands. The access method according to claim 8, characterized in that:
  14.  前記コマンド中継装置は、
     前記纏め投げモードにおいて前記上位装置から受け取った前記上位側コマンド同士の処理順序を先に処理すべきコマンドを先に処理するよう入れ替えることを特徴とする請求項8に記載のアクセス方法。
    The command relay device
    9. The access method according to claim 8, wherein in the collective throwing mode, the processing order of the higher-order commands received from the higher-order device is changed so that a command to be processed first is processed first.
PCT/JP2016/088433 2016-12-22 2016-12-22 Access system and access method WO2018116453A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/088433 WO2018116453A1 (en) 2016-12-22 2016-12-22 Access system and access method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/088433 WO2018116453A1 (en) 2016-12-22 2016-12-22 Access system and access method

Publications (1)

Publication Number Publication Date
WO2018116453A1 true WO2018116453A1 (en) 2018-06-28

Family

ID=62626044

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/088433 WO2018116453A1 (en) 2016-12-22 2016-12-22 Access system and access method

Country Status (1)

Country Link
WO (1) WO2018116453A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005157636A (en) * 2003-11-25 2005-06-16 Hitachi Ltd Magnetic disk array device with processing offloading function module
JP2006309579A (en) * 2005-04-28 2006-11-09 Hitachi Ltd Storage control apparatus and storage system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005157636A (en) * 2003-11-25 2005-06-16 Hitachi Ltd Magnetic disk array device with processing offloading function module
JP2006309579A (en) * 2005-04-28 2006-11-09 Hitachi Ltd Storage control apparatus and storage system

Similar Documents

Publication Publication Date Title
JP6437656B2 (en) Storage device, storage system, and storage system control method
KR100864964B1 (en) Arithmetic Processing System and Arithmetic Processing Control Method, Task Management System and Task Management Method, and Storage Medium
JP2006236019A (en) Switching method for data copy system
CN103631633B (en) Virtual machine total-system online migration method, device and system
JP5134915B2 (en) Storage area configuration optimization method, computer system, and management computer
JP6190969B2 (en) Multi-tenant resource arbitration method
JP2005275829A (en) Storage system
WO2003100613A1 (en) Processor system, task control method on computer system, computer program
JP2005078507A (en) Virtualization controller, access path control method, and computer system
JP2008293149A (en) Foresight data transfer type hierarchical storage system
JP2007188267A (en) Storage controller and control method therefor
JP5385458B2 (en) Computer system and renewal method thereof
US9489404B2 (en) De-duplicating data in a network with power management
CN100530069C (en) Virtualizing system and method for non-homogeny storage device
JP2003131908A (en) Storage control apparatus
CN103885811A (en) Device, system and method for system-wide online migration of virtual machine system
CN102591703A (en) Task scheduling method and task scheduling device for operating system and computer
US20080086658A1 (en) Backup control device and system for data processing system
US8347033B2 (en) Storage system having power saving function
JP4074442B2 (en) Method, apparatus, system, program and storage medium for data backup
US20160103714A1 (en) System, method of controlling a system including a load balancer and a plurality of apparatuses, and apparatus
WO2018116453A1 (en) Access system and access method
JP6019940B2 (en) Information processing apparatus, copy control program, and copy control method
JP2008009622A (en) Management server and server system
JP2012123551A (en) Information recording device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16924381

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16924381

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP