WO2014199476A1 - 中継装置、中継プログラム、及び中継方法 - Google Patents

中継装置、中継プログラム、及び中継方法 Download PDF

Info

Publication number
WO2014199476A1
WO2014199476A1 PCT/JP2013/066274 JP2013066274W WO2014199476A1 WO 2014199476 A1 WO2014199476 A1 WO 2014199476A1 JP 2013066274 W JP2013066274 W JP 2013066274W WO 2014199476 A1 WO2014199476 A1 WO 2014199476A1
Authority
WO
WIPO (PCT)
Prior art keywords
completion time
execution completion
calculated
server device
information
Prior art date
Application number
PCT/JP2013/066274
Other languages
English (en)
French (fr)
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/JP2013/066274 priority Critical patent/WO2014199476A1/ja
Priority to JP2015522336A priority patent/JP6052407B2/ja
Publication of WO2014199476A1 publication Critical patent/WO2014199476A1/ja
Priority to US14/960,062 priority patent/US20160088119A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2871Implementation details of single intermediate entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Definitions

  • the present invention relates to a relay device, a relay program, and a relay method.
  • VM Virtual Machines
  • the client device when creating a VM on a server in the cloud, the client device requests creation of the VM by a common method to each cloud using an API (Application Program Interface) common to the public cloud and the private cloud. be able to.
  • API Application Program Interface
  • the client device can manage the execution of the VM using the API. Therefore, the client apparatus can analyze a large amount of data using the linked VMs while coordinating VMs in the public cloud and private cloud using the API. Since the API is common to the public cloud and the private cloud, if the API is used, the client apparatus can flexibly increase or move (migrate) the VM. For example, when it becomes necessary to analyze a larger amount of data but a VM cannot be created on a server in the current public cloud, the client device creates a VM on a server in another public cloud using the API. be able to.
  • API Application Program Interface
  • VMs set in each cloud are connected to each other by VPN (Virtual Private Network). Thereby, the client apparatus can analyze a large amount of data safely using these VMs.
  • VPN Virtual Private Network
  • the client device can know the VM creation capability for creating the VM in the server. Therefore, the client device can predict the VM creation time from the VM creation processing amount and the processing capacity of the server that creates the VM.
  • the client device cannot acquire the VM creation capability of the server in the public cloud. Therefore, the client device cannot predict the VM creation time in the server in the public cloud. Therefore, the VM creation requester cannot determine which public cloud of the plurality of public clouds should be used to create the VM in order to create the VM earliest.
  • a VM creation request from an unspecified client device is accepted. Therefore, there are cases where there are VM creation requests from many client devices in the public cloud. In this case, the time required for VM creation becomes longer as the number of receptions increases. Further, in the public cloud, some servers fail or maintenance of each server is performed. Also in these cases, the time required for VM creation becomes longer than the normal state. Therefore, the client cannot have a value for objectively evaluating each public cloud. Also in this respect, the VM creation requester cannot determine which public cloud of a plurality of public clouds should be VM created.
  • the API in the public cloud and the private cloud can be technically linked using the API.
  • the requester of VM creation cannot determine which public cloud in the public cloud should be VM-created, the advantage of speeding up the process using the public cloud cannot be obtained.
  • the above situation is the same for not only VM creation but also VM migration (migration).
  • an object of the present invention is to predict a process execution completion time when a predetermined process is completed.
  • the relay device is arranged between a server device that executes a predetermined process according to request information including regulation information that defines the content of the predetermined process and a client device that transmits the request information.
  • the storage unit stores past process execution completion time required for the server apparatus to complete execution of the predetermined process, and regulation information that defines the content of the predetermined process corresponding to the past execution completion time.
  • the receiving unit receives the request information.
  • the calculation unit calculates a process execution completion time required for the server device to execute a predetermined process according to the request information received by the reception unit. The calculation is performed based on the relational expression, the process execution completion time and the regulation information stored in the storage unit, and the regulation information included in the request information received by the reception unit.
  • the relational expression is an expression showing the relation between the regulation information that defines the content of the predetermined process, the coefficient, and the process execution completion time required for the server device to complete the execution of the predetermined process.
  • FIG. 1 is a block diagram showing a network system including a client 10 and a plurality of providers 24A, 24B,.
  • 3 is a block diagram of a relay server 18.
  • FIG. It is a figure which shows the relay program in 1st Embodiment. It is a figure which shows the relay process in 1st Embodiment. It is a figure which shows the table 62 of the execution request
  • FIG. 1 shows a network system including a client device (hereinafter referred to as “client”) 10 and a plurality of providers 24A, 24B,.
  • the client 10 is connected to a local area network (LAN) 12.
  • a plurality of servers 11A, 11B,... Are connected to the LAN 12.
  • the LAN 12 is connected to a network 16 such as the Internet via a repeater 14.
  • a private cloud 15 is formed including the client 10, the servers 11A, 11B,..., The management server 11X, and the local area network (LAN) 12.
  • LAN local area network
  • the provider 24A includes a LAN 28.
  • the LAN 28 is connected to a repeater 20, a plurality of server devices (hereinafter referred to as “servers”) 26A, 26B,..., And a management server 26X.
  • the repeater 20 is connected to the network 16.
  • the servers 26A, 26B,... Are examples of the “server device” of the technology of the present disclosure, the client 10 is an example of the “client device” of the technology of the present disclosure, and the relay server 18 is the It is an example of a technology “relay device”.
  • FIG. 2 shows the configuration of the relay server 18.
  • a CPU Central Processing Unit
  • a memory 36 are connected to each other via a bus 38.
  • a storage device 40, an input unit 42, a display unit 44, and an interface 46 are further connected to the bus 38.
  • the interface 46 is connected to the network 16.
  • FIG. 3A shows a relay program stored in the storage device 40
  • FIG. 3B shows a relay process.
  • the CPU 32 reads the relay program from the storage device 40 and develops it in the memory 36, and executes a relay process included in the relay program.
  • the relay program includes an execution request management unit 52A, an execution time coefficient creation unit 54A, and an execution time prediction unit 56A.
  • the relay program includes an execution request management process 52B, an execution time coefficient creation process 54B, and an execution time prediction process 56B.
  • the CPU 32 operates as the units 52A to 56B by executing the processes 52B to 56B.
  • the execution time coefficient creation unit 54A and the execution time prediction 56A are examples of the “calculation unit” of the technology of the present disclosure.
  • FIG. 4 shows an execution request table 62 that displays processes that require prediction of the time required from the start to completion (predicted execution time).
  • the execution request table 62 stores VM (Virtual Machine) creation and volume (virtual external disk) creation as the above processing.
  • the predicted execution time is predicted only when there is an execution request described in this table.
  • Other execution requests are sent to the provider as they are.
  • Other examples of the above process include VM migration and VM backup.
  • the execution request management table 64 includes a VM creation request management table 64A shown in FIG. 5A and a volume creation request management table 64B shown in FIG. 5B.
  • the VM creation request management table 64A includes user information such as user ID and authentication information, provider information such as provider URL (address) and VM ID, and request transmission time that is the time when a VM creation request is transmitted. It has an area for storing correspondingly. Further, the VM creation request management table 64A has an area for storing the status of the VM creation during VM creation.
  • the table 64A of the VM creation request management table includes a memory capacity that is a capacity of a memory (primary storage device) necessary for the VM to operate and a capacity of a disk (secondary storage device) required for the VM to operate. There is an area for storing the corresponding disk capacity.
  • the VM creation request management table 64A has an area for storing the number of VMs.
  • the table 64B of the volume creation request management table has an area for storing the user information, the provider information, and the request transmission time that is the time when the volume creation request is transmitted. Further, the volume creation request management table 64B has an area for storing a status such as volume creation during volume creation. Further, the table 64B of the volume creation request management table is an area for storing the volume capacity, the multiplicity, which is the degree of how many copies of the volume are created, and the number of volumes as a countermeasure against the failure.
  • the table 66 of the execution time data table includes a table 66A of VM creation time data in the provider 24A shown in FIG. 6A and a table 66B of volume creation time data in the provider 24A shown in FIG. 6B.
  • the VM creation time data table 66A stores a transmission time at which a VM creation request is transmitted, an execution time (s) that is the time taken to create the VM, and a memory capacity (MB) required for the VM to operate. Has a region to do. Further, the VM creation time data table 66A has an area for storing the disk capacity (MB) required for the VM to operate and the number of VMs.
  • the execution time is obtained by calculating the difference between the transmission time and the time when the VM creation is completed when the VM creation is completed.
  • the volume creation time data table 66B has an area for storing a transmission time when a volume creation request is transmitted, an execution time (s) that is the time taken to create the volume, and a volume capacity (GB). Further, the volume creation time data table 66B has an area for storing the multiplicity and the number.
  • the VM creation time data table 66A and the volume creation time data table 66B are examples of the “storage unit” of the technology of the present disclosure.
  • the execution times stored in the VM creation time data table 66A and the volume creation time data table 66B are examples of the “past process execution completion time” of the technique of the present disclosure.
  • the memory capacity (MB), the disk capacity (MB), and the number stored in the table 66A, and the volume capacity (GB), the multiplicity, and the number stored in the table 66B are the techniques of the present disclosure. This is an example of “regulation information”.
  • the creation time coefficient table 68 includes a VM creation time coefficient table 68A in the provider 24A and a volume creation time coefficient table 68B in the provider 24A as shown in FIG. 7B. And are included.
  • the VM creation time coefficient table 68A has an area for storing update times and coefficients ⁇ 0 to ⁇ 3 corresponding to the intercept, memory capacity, disk capacity, and number.
  • the volume creation time coefficient table 68B has an area for storing the update time and coefficients ⁇ 0 to ⁇ 3 corresponding to the intercept, capacity, multiplicity, and number.
  • FIG. 8 shows an example of the execution request relay process executed by the relay server 18.
  • step 102 of FIG. 8 it is determined whether or not an execution request is received from the client 10. If the determination result of step 102 is negative, this step 102 is executed again.
  • the cloud user inputs VM creation data for creating a VM to a provider selected from a plurality of providers 24A, 24B,..., For example, a server of the provider 24A, via the input unit 42 of the client 10. To do.
  • the client 10 transmits a VM creation request according to the API shown in FIG. 9A, specifically, FIG. 9B, to the relay server 18.
  • the VM creation request includes the following data.
  • the VM creation request includes the URI of the provider 24A, the user ID / PASSWORD, the VM creation destination (provider 24A in the above example), the number of VMs, the memory capacity, the disk capacity, and the VM image (for the VM to operate).
  • An OS Operating System
  • a VM creation destination (provider 24A in the above example), the number of VMs, a memory capacity, a disk capacity, and a VM image (OS for operating the VM) are VM creation data. If the execution request management unit 52A determines that the VM creation request transmitted from the client 10 has been received by the relay server 18, the determination result of step 102 is affirmative, and the relay process proceeds to step 104. .
  • the maximum value (time limit) required for creating a VM or a volume in the selected provider 24A can be included in the VM creation data.
  • the execution request includes data of the specified time limit.
  • step 104 the execution request management unit 52A determines whether or not the execution request received from the client 10 is an execution request whose predicted execution time is to be predicted. That is, whether the execution request received from the client 10 should predict the predicted execution time based on the execution request received from the client 10 and the execution request table 62 shown in FIG. It is determined whether or not it is an execution request. If the execution request received from the client 10 is a VM creation or volume creation execution request, the determination result in step 104 is affirmative. If the execution request received from the client 10 is not in the execution request table 62, the determination result in step 104 is negative, and the relay process proceeds to step 106. In step 106, the execution request management unit 52A transmits the execution request to the management server 26X of the provider 24A.
  • the execution time prediction unit 56A calculates a predicted execution time based on the execution request received from the client 10 and the creation time coefficient table shown in FIG.
  • the process of calculating the predicted execution time will be described taking the creation of a VM as an example.
  • a calculation formula (FIG. 13C) for obtaining a predicted execution time, which is a time necessary for creating a VM, is determined in advance.
  • the predicted execution time is calculated from the variables X 1 to X 3 and the coefficients ⁇ 0 to ⁇ 4 that affect the predicted execution time and define the contents of creation of the VM or volume.
  • the coefficients ⁇ 0 to ⁇ 4 are calculated as shown in FIG. 13A.
  • the memory capacity (X 1 ) is 200 (MB)
  • the disk capacity (X 2 ) is 2000 (MB)
  • the number (X 3 ) is 2.
  • the predicted execution time is 666.73.
  • S is calculated.
  • the above calculation formula is an example of the “relational expression” of the technology of the present disclosure
  • the content of the processing in step 108 is an example of the content of “calculate process execution completion time” of the technology of the present disclosure.
  • step 110 the execution request management unit 52A determines whether or not the execution request from the client 10 includes a time limit (time).
  • the deadline (time) is an example of the “maximum value” of the technology of the present disclosure.
  • step 110 the relay process proceeds to step 116. If the determination result in step 110 is affirmative, in step 112, the execution request management unit 52A determines whether or not the calculated predicted execution time is greater than the specified deadline. If the determination result in step 112 is affirmative, the calculated predicted execution time is longer than the time allowed by the cloud user. The cloud user does not like the calculated predicted execution time. Therefore, in step 114, an error indicating that the calculated predicted execution time is longer than the specified deadline is returned (transmitted) to the client 10. The client 10 that has received the error displays the error on the display unit 44. The cloud user who sees this error cancels the VM or volume creation execution request in the selected provider 24A via the client 10 and transmits the execution request to another provider.
  • step 112 If the determination result in step 112 is negative, the relay process proceeds to step 116.
  • step 116 the execution request management unit 52A returns the calculated estimated time to the client 10.
  • the client 10 that has received the calculated predicted time displays the calculated predicted time on the display unit 44.
  • the execution request management unit 52A stores the above data in the execution request management table (FIG. 5). For example, if there is a VM creation execution request, each data is stored in the VM creation request management table 64A. If there is a volume creation execution request, each data is stored in the volume creation request management table 64B. Is memorized. In this step 118, a VM or volume being created is stored in the area for storing the state. In step 120, the execution request management unit 52A transmits the execution request to the management server 26X of the provider 24A. That is, for example, when VM creation is requested, a VM creation request (FIG. 10) having contents corresponding to the VM creation request (FIG.
  • the management server 26X transmits the received VM creation request (FIG. 10) to a selected server among the plurality of servers 26A, 26B,..., For example, the server 26A.
  • the server 26A has a program for creating a VM, and the program creates a VM according to the received VM creation request.
  • the execution request management unit 52A transmits a status confirmation request to the management server 26X of the provider 24A.
  • the management server 26X of the provider 24A creates a VM according to the VM creation request (FIG. 10) in the server 26A
  • the URI Uniform Resource Identifier
  • the execution request management unit 52A adds execution time data to the table of FIG.
  • the execution request management unit 52A further updates the execution request management slip 64.
  • the VM creation completed is stored in the area for storing the state in the table 64A of the VM creation request management table.
  • the VM volume creation completion is stored in the area for storing the state in the table 64B of the volume creation request management table.
  • step 128 the execution request management unit 52A transmits the URI of the VM / volume to the client 10.
  • the URI of the created VM is specifically transmitted to the client 10 in the format shown in FIG. 12B.
  • the relay server 18 transmits the calculated predicted execution time to the client 10.
  • the client 10 displays the calculated predicted time on the display unit 44. Thereby, the cloud user can know the predicted execution time and can evaluate the server.
  • the relay server 18 transmits an error to the client 10.
  • the client 10 displays the calculated error on the display unit 44.
  • the cloud user can know that the predicted execution time is longer than the specified time limit. Therefore, the cloud user who sees this error can cancel the execution request for creating the VM or volume at the selected provider 24A and transmit the execution request to another provider via the client 10.
  • FIG. 14 shows an example of coefficient calculation and update processing in the formula for calculating the predicted execution time.
  • the calculation and update processes are repeatedly executed at regular intervals. Note that the calculation and update processes may be executed before step 108 in the relay process (FIG. 8).
  • step 132 the execution time coefficient creation unit 54A selects, for example, data within one hour from the execution time data table 66 (FIG. 6).
  • step 134 the execution time coefficient creation unit 54A calculates an execution time coefficient from the selected data.
  • step 136 the execution time coefficient is updated.
  • step 132 data within one hour from the start of this processing (FIG. 14) is selected from the data stored in the execution time data table 66 shown in FIG. That is, when this process (FIG. 14) is started at 4:05 am on January 3, 2013, the VM creation time data table 66A is used as shown in FIG. Select data from 3: 5 am on March 3 to 4: 5 am on January 3, 2013.
  • the equation for obtaining the predicted execution time of VM creation is predetermined as shown in FIG. 15B. In this calculation formula, the memory capacity (X 1 ), the disk capacity (X 2 ), and the number (X 3 ) are variables.
  • step 134 the data selected in step 132 is substituted into the regression model (multiple regression analysis) in the above calculation formula. Then, in accordance with the least square method, the coefficients ⁇ 0 to ⁇ 4 are calculated so that the sum of squares of the residual is minimized.
  • step 136 the table 68A of the VM creation time coefficient table is updated as shown in FIG. 15C using the coefficients thus obtained.
  • the process of step 134 is an example of the content of “calculate coefficient” in the technology of the present disclosure.
  • the process of step 136 is performed in accordance with the technique of the present disclosure “every time the process execution completion time is calculated, the calculated process execution completion time and the calculated information are stored in the storage unit correspondingly. Is an example.
  • One hour in step 132 is an example of the “certain time” of the technology of the present disclosure.
  • the calculation formula described above is an equation for obtaining a predicted execution time for creating a VM.
  • the equation for the predicted execution time of the volume is the same as the calculation formula shown in FIG. 15B, but the variables are the capacity (X 1 ), multiplicity (X 2 ), and number (X 3 ).
  • the coefficients are set to ⁇ 0 to ⁇ 4 instead of ⁇ 0 to ⁇ 4 .
  • the coefficient of the predicted execution time of the volume is determined in the same manner as the method of determining the coefficient of predicted execution time for creating the VM.
  • the execution time data table 66 shown in FIG. 6 is provided for each provider.
  • Each provider has a plurality of servers. Therefore, in the execution time data table 66, a plurality of servers 26A, 26B,... Provided in the provider 24A are handled as one server. Therefore, the coefficient table shown in FIG. 7 also stores coefficients calculated as one server by a plurality of servers 26A, 26B,... Provided in the provider 24A.
  • a calculation formula for obtaining the predicted execution time is determined in advance.
  • This calculation formula includes variables X 1 to X 3 and coefficients ⁇ 0 to ⁇ 4 that define the contents of processing.
  • the coefficients ⁇ 0 to ⁇ 4 are calculated from the data in the past execution time data table 66 (FIG. 6) and the above calculation formula.
  • the predicted execution time is calculated from the information on the variable that defines the content of the process included in the execution request, the coefficient, and the equation. Calculated.
  • the cloud user can know the estimated execution time even if the VM or volume creation capability on the server in the provider (public cloud) cannot be acquired. Has the first effect. Therefore, the cloud user can determine which provider of a plurality of providers (public cloud) should request creation of the VM. Therefore, in order to analyze a large amount of data in a short time, the VM in the public cloud and the private cloud can be effectively linked using the API.
  • the predicted execution time is calculated as described above. Therefore, the first embodiment has the second effect that it is not necessary to wait for the completion of the execution of the process in order to know how long the user takes.
  • the third effect will be described. If the calculated predicted execution time is larger than the specified deadline, an error is transmitted to the client 10. The client 10 displays the error on the display unit 44. Thereby, the cloud user can know that the predicted time is longer than the specified time limit. Therefore, in the first embodiment, when the predicted time is longer than the specified deadline, the cloud user cancels the execution request for the above process and sends the execution request to another provider 26B to the cloud user.
  • the third effect is that an opportunity to be repaired can be provided.
  • the fourth effect will be described.
  • data within one hour in the execution time data table 66 (FIG. 6) is used. That is, the coefficients ⁇ 0 to ⁇ 4 are calculated using data close to the time at which the client device 10 causes the server to execute processing.
  • the data within one hour is highly likely to reflect the following server status. In other words, a large number of execution requests are accepted by the provider, a temporary failure occurs in the provider server, or the provider server is under maintenance. Therefore, the first embodiment has the fourth effect that the predicted execution time corresponding to the server status can be calculated.
  • FIG. 16A shows a relay program.
  • the relay program of the second embodiment is different in that it further includes a determination unit 58A, as can be understood by comparing FIG. 3A and FIG. 16A.
  • FIG. 16B shows the relay process.
  • the relay process of the second embodiment is different in that it further includes a determination process 58B, as can be understood by comparing FIGS. 3B and 16B.
  • FIG. 17 shows an example of relay processing according to the second embodiment. As shown in FIG. 17, in the example of the relay process of the second embodiment, the processes of steps 102 to 106 of the first embodiment are executed. In an example of relay processing according to the second embodiment, the following steps 152 to 160 are executed instead of steps 108 to 112 in FIG.
  • the determination unit 58A identifies each provider of the plurality of providers 24A, 24B,.
  • the identification variable p is initialized to 0.
  • the determination unit 58A increments p by 1.
  • the determination unit 58A calculates a predicted execution time in the provider p identified by the identification variable p. Note that the calculation of the predicted execution time is the same as the calculation of the first implementation, and thus the description thereof is omitted.
  • step 158 the determination unit 58A determines whether or not the designated time limit is equal to or longer than the calculated predicted execution time.
  • the process of step 158 is an example of “determining whether the maximum value is equal to or greater than the calculated process execution completion time” in the technique of the present disclosure.
  • step 160 the determination unit 58A determines whether or not the identification variable p is equal to the total number P of providers. If the variable p is not equal to the total number P, the process returns to step 154 and the above processing ( Steps 154 to 160) are executed.
  • step 158 If the determination result in step 158 is affirmative, the predicted execution time in the provider identified by the identification variable p satisfies the time limit specified by the cloud user. Therefore, the relay process is shifted to step 116, and the above steps 116 to 128 are executed. In step 120 in the second embodiment, the execution request is transmitted to the management server 26X in the provider identified by the identification variable p.
  • the VM creation request from the client 10 to the relay server 18 further includes the following contents as compared with the VM creation request of the first embodiment (FIG. 9). Yes. That is, it further includes URIs of a plurality of (for example, two) providers and user IDs / passwords in each provider. As shown in FIG. 18B, the second embodiment includes a time limit as the time limit.
  • the VM creation request from the relay server 18 to the provider is the same as the VM creation request (FIG. 10) in the first embodiment as shown in FIG.
  • the response from the provider to the relay server (the URI of the VM that has been created and accepted) is also the same as in the first embodiment.
  • creation of two VMs is requested, but in the second embodiment, creation of 100 VMs is requested.
  • the second embodiment the predicted execution time in the provider p identified by the identification variable p is calculated.
  • the second embodiment has an effect that it is possible to transmit a processing status request to a provider whose predicted execution time satisfies a specified time specified by the cloud user among a plurality of providers.
  • the second embodiment has the first to fourth effects in the first embodiment.
  • VM and volume creation are described as examples of the process for predicting the predicted execution time.
  • the present disclosure is not limited to these examples.
  • the processing includes VM migration and VM backup.
  • a second modification will be described.
  • data within one hour in the execution time data table 66 (FIG. 6) is used.
  • the present disclosure is not limited to this example.
  • data corresponding to the latest 10 execution requests in the execution time data table 66 (FIG. 6) can be used.
  • Data corresponding to execution requests of the last 10 times is stored in the storage unit according to the technique of the present disclosure “from when the coefficient is calculated until when the processing execution completion time is calculated a certain number of times before.
  • the process execution completion time and the specified information are examples.
  • the memory capacity, the disk capacity, and the number are used as the variables of the calculation formula for obtaining the predicted execution time of the VM.
  • the influence of the memory capacity and the disk capacity on the estimated execution time may be small.
  • a calculation formula using only the number can be used as a calculation formula for obtaining the predicted execution time of the VM.
  • regression analysis is used to obtain the predicted execution time.
  • other methods can be used with the techniques of this disclosure.
  • a correlation coefficient is used.
  • this expression is an expression in an example in which the third modified example is applied to the disclosed technique in view of the fact that the influence of the memory capacity and the disk capacity on the estimated execution time is small.
  • a and b are calculated
  • the execution time prediction unit 56A obtains the average of the predicted execution time as the average of Y and the average of the number of VMs as the average of X. Next, the execution time prediction unit 56A obtains the covariation of X and Y that becomes the numerator of the calculation formula of Formula 1. Next, the execution time prediction unit 56A obtains the variation of X that becomes the denominator of the calculation formula of a. From the above, the execution time prediction unit 56A calculates a and b.
  • a coefficient is once calculated (FIG. 14), and this coefficient is used when the predicted execution time is calculated in the relay process (FIG. 8).
  • the predicted execution time can be directly calculated from the creation time data in FIGS. 6A and 6B, information such as the number included in the execution request, and the following calculation formula.
  • the coefficient a is obtained from Y / X. Y and X into which the creation time data in FIGS.
  • the second embodiment when the predicted execution time in the provider p identified by the identification variable p satisfies the specified time designated by the cloud user, the provider p identified by the identification variable p An execution request for processing such as creation of a VM is transmitted.
  • the technology of the present disclosure is not limited to this example. For example, calculate the predicted execution time for all providers, and send processing execution requests to the provider for which the minimum predicted execution time is calculated from the predicted execution times that satisfy the specified time specified by the cloud user. can do.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

 所定の処理が完了する処理実行完了時間を予測する所定の処理が完了する処理実行完了時間を予測する。 選択されたプロバイダにおけるサーバがVM作成を完了するのに要する時間を、処理の内容情報(メモリ容量(X)、ディスク容量(X)、個数(X))と係数β~βから求める式の係数β~βを、過去の実行時間と内容情報(メモリ容量、ディスク容量、個数)のテーブル66A(A)から更新する。今回受信したVM作成の実行要求内の内容情報(メモリ容量、ディスク容量、個数)を、係数β~βが更新された式に代入して、完了時間を求める。

Description

中継装置、中継プログラム、及び中継方法
 本発明は、中継装置、中継プログラム、及び中継方法に関する。
 従来、自前のプライベートクラウドを持つ利用者は仮想マシン(VM(Virtual Machines))を用いてデータを分析するため、プライベートクラウド内のサーバに作成されていたVMを利用していた。しかし、プライベートクラウド内のサーバに作成したVMのみでは、大量のデータを短時間で分析できない場合がある。そこで、複数のパブリッククラウドの何れかのサーバにVMを作成することも行われるようになってきている。
 ところで、クラウド内のサーバにVMを作成する場合、クライアント装置は、パブリッククラウド及びプライベートクラウドに共通のAPI(Application Program Interface)を用いて、各クラウドに共通の方式で、VMの作成の要求をすることができる。このようにAPIを用いてパブリッククラウド内のサーバにVMが作成されると、クライアント装置は、VMの実行を、APIを用いて管理することができる。よって、クライアント装置は、APIを用いてパブリッククラウド及びプライベートクラウド内のVMを連携させると共に連携されたVMを用いて大量のデータを分析することができる。APIはパブリッククラウド及びプライベートクラウドに共通であるので、APIを用いれば、クライアント装置は、VMの増設や移動(マイグレーション)を柔軟に行うことができる。例えば、より大量のデータを分析する必要が生じたが現在のパブリッククラウド内のサーバにVMを作成できない場合に、クライアント装置は、別のパブリッククラウド内のサーバにVMを、APIを用いて作成することができる。
 そして、各クラウドに設定されたVMは、VPN(Virtual Private Network)により、相互に接続される。これにより、クライアント装置は、これらのVMを用いて、安全に、大量のデータを分析することできる。
 ところで、プライベートクラウドでは、サーバにおいてVMを作成するためのVM作成能力をクライアント装置が知ることができる。よって、クライアント装置は、VM作成の処理量と、VMを作成するサーバの処理能力とから、VM作成の時間を予測することができる。
特開2008-217302号公報 特開2011-192184号公報
 しかしながら、パブリッククラウドでは、クライアント装置は、パブリッククラウド内におけるサーバのVM作成能力を取得できない。従って、クライアント装置は、パブリッククラウド内のサーバにおけるVM作成の時間を予測することができない。よって、VM作成の依頼者は、もっとも早くVMを作成するのに、複数のパブリッククラウドの内のどのパブリッククラウドにVM作成をすればいいのかを決定できない。
 また、パブリッククラウドでは、不特定のクライアント装置からのVM作成要求を受け付ける。よって、パブリッククラウドに多くのクライアント装置からVM作成要求がある場合がある。この場合、VM作成に要する時間は、受付数が多くなるに従って、長くなる。更に、パブリッククラウドにおいて、一部のサーバに障害が生じたり、各サーバのメンテナンスが行われたり、される。これらの場合も、VM作成に要する時間は、通常状態より、長くなる。よって、クライアントは、各パブリッククラウドを客観的に評価するための値を有することができない。この点からもVM作成の依頼者は、複数のパブリッククラウドの内のどのパブリッククラウドにVM作成をすればいいのかを決定できない。
 上記のように、従来技術では、大量のデータを短時間で分析するために、APIを用いて、パブリッククラウド及びプライベートクウド内のVMを技術的に連携させることができる。しかし、VM作成の依頼者がパブリッククラウド内のどのパブリッククラウドにVM作成をすればいいのかを決定できないのでは、パブリッククラウドを使って処理を高速化するというメリットが得られない。なお、以上の状況は、VM作成ばかりではなく、VMの移動(マイグレーション)等についても同様である。
 1つの側面として、本発明は、所定の処理が完了する処理実行完了時間を予測することを目的とする。
 1つの態様では、中継装置は、所定の処理の内容を規定する規定情報を含む要求情報に従って所定の処理を実行するサーバ装置と、要求情報を送信するクライアント装置との間に配置され、要求情報を中継する。記憶部は、所定の処理の実行をサーバ装置が完了するのに要した過去の処理実行完了時間と、過去の実行完了時間に対応する所定の処理の内容を規定した規定情報とを記憶する。受信部は、要求情報を受信する。算出部は、サーバ装置が受信部により受信された要求情報に従って所定の処理を実行するのに要する処理実行完了時間を算出する。当該算出は、関係式、記憶部に記憶された処理実行完了時間及び規定情報、及び受信部により受信された要求情報に含まれる規定情報に基づいて行われる。関係式は、所定の処理の内容を規定する規定情報、係数、及びサーバ装置が所定の処理の実行を完了するのに要する処理実行完了時間の関係を示す式である。
 1つの側面として、所定の処理が完了する処理実行完了時間を予測することができる、という効果を有する。
クライアント10と複数のプロバイダ24A、24B、・・・を含むネットワークシステムを示すブロック図である。 中継サーバ18のブロック図である。 第1の実施の形態における中継プログラムを示す図である。 第1の実施の形態における中継プロセスを示す図である。 処理実行時間の予測が必要な処理を表にした実行要求表のテーブル62を示す図である。 VM作成要求管理表のテーブル64Aを示す図である。 ボリューム作成要求管理表のテーブル64Bを示す図である。 プロバイダAにおけるVM作成時間データのテーブル66Aを示す図である。 プロバイダAにおけるボリューム作成時間データのテーブル66Bを示す図である。 プロバイダAにおけるVMの作成時間係数表のテーブル68Aを示す図である。 プロバイダAにおけるボリュームの作成時間係数表のテーブル68Bを示す図である。 第1の実施の形態における中継サーバ18が実行する中継処理の一例を示すフローチャートである。 第1の実施の形態におけるクライアント10から中継サーバ18に送信するVM作成要求を示す図である。 第1の実施の形態におけるクライアント10から中継サーバ18に送信するVM作成要求を詳細に示す図である。 第1の実施の形態における中継サーバ18からプロバイダ内の管理サーバ26Xに送信するVM作成要求を示す図である。 第1の実施の形態におけるプロバイダ内のサーバにVMを作成した場合に、プロバイダ内の管理サーバ26Xから中継サーバ18に送信する応答の内容を示す図である。 第1の実施の形態におけるプロバイダ内のサーバにVMを作成した場合に、中継サーバ18からクライアント19に送信する応答の内容を示す図である。 第1の実施の形態におけるプロバイダ内のサーバにVMを作成した場合に、中継サーバ18からクライアント19に送信する応答の内容を詳細に示す図である。 VMの作成時間係数表のテーブル68Aを示す図である。 VMの作成の要求の具体的な内容を示す図である。 VMの作成の予測実行時間を求める式を示す図である。 具体的な値を式に代入してVMの作成の予測実行時間を求めた図である。 VMの作成の予測実行時間を求める計算式における係数の算出及び更新処理の一例を示すフローチャートである。 VM作成時間データのテーブル66Aを示す図である。 VMの作成の予測実行時間を求める式を示す図である。 VMの作成時間係数表のテーブル68Aを示す図である。 第2の実施の形態における中継プログラムを示す図である。 第2の実施の形態における中継プロセスを示す図である。 第2の実施の形態における中継サーバ18が実行する中継処理の一例を示すフローチャートである。 第2の実施の形態におけるクライアント10から中継サーバ18に送信するVM作成要求を示す図である。 第2の実施の形態におけるクライアント10から中継サーバ18に送信するVM作成要求を詳細に示す図である。 第2の実施の形態における中継サーバ18からプロバイダ内の管理サーバ26Xに送信するVM作成要求を示す図である。 第2の実施の形態におけるプロバイダ内のサーバにVMを作成した場合に、プロバイダ内の管理サーバ26Xから中継サーバ18に送信する応答の内容を示す図である。 第1の実施の形態におけるプロバイダ内のサーバにVMを作成した場合に、中継サーバ18からクライアント19に送信する応答の内容を示す図である。 第1の実施の形態におけるプロバイダ内のサーバにVMを作成した場合に、中継サーバ18からクライアント19に送信する応答の内容を詳細に示す図である。
 以下、図面を参照して開示の技術の実施の形態の一例を詳細に説明する。
 [第1の実施の形態]
 図1には、クライアント装置(以下、「クライアント」という)10と複数のプロバイダ24A、24B、・・・を含むネットワークシステムが示されている。クライアント10は、ローカルエリアネットワーク(LAN)12に接続されている。LAN12には、複数のサーバ11A、11B、・・・が接続されている。LAN12は、中継器14を介して、インターネット等のネットワーク16に接続されている。なお、クライアント10、サーバ11A、11B、・・・、管理サーバ11X及びローカルエリアネットワーク(LAN)12を含んで、プライベートクラウド15が形成される。図1には、1つのプライベートクラウド15が表示されているが、ネットワーク16には、複数のプライベートクラウドが接続されている。
 ネットワーク16には、複数のプロバイダ24A、24B、・・・、及び中継サーバ18が接続されている。各プロバイダがパブリッククラウドに対応する。
 複数のプロバイダ24A、24B、・・・は同様の構成であるので、以下、プロバイダ24Aについてのみ説明し、他のプロバイダ24B、・・・の構成の説明を省略する。プロバイダ24Aは、LAN28を備えている。LAN28には、中継器20、複数のサーバ装置(以下、「サーバ」という)26A、26B、・・・、及び管理サーバ26Xが接続されている。中継器20はネットワーク16に接続されている。
 サーバ26A、26B、・・・は、本開示の技術の「サーバ装置」の一例であり、クライアント10は、本開示の技術の「クライアント装置」の一例であり、中継サーバ18は、本開示の技術の「中継装置」の一例である。
 クライアント10、中継サーバ18、サーバ26A、26B、・・・は同様の構成であるので、以下、中継サーバ18についてのみ説明し、他のライアント10、サーバ26A、26B、・・・の構成の説明を省略する。
 図2には、中継サーバ18の構成が示されている。図2に示すように、中継サーバ18は、CPU(中央処理装置:Central Processing Unit)32、及びメモリ36が、バス38を介して相互に接続されている。バス38には更に、記憶装置40、入力部42、表示部44、インターフェイス46が接続されている。インターフェイス46は、ネットワーク16に接続されている。
 図3Aには、記憶装置40に記憶されている中継プログラムが、図3Bには、中継プロセスが示されている。CPU32は、記憶装置40から中継プログラムを読み出してメモリ36に展開し、中継プログラムが有する中継プロセスを実行する。図3Aに示すように、中継プログラムは、実行要求管理部52A、実行時間係数作成部54A、及び実行時間予測部56Aを有する。図3Bに示すように、中継プログラムは、実行要求管理プロセス52B、実行時間係数作成プロセス54B、及び実行時間予測プロセス56Bを有する。なお、CPU32が、上記プロセス52B~56Bの各々を実行することにより、上記各部52A~56Bとして動作する。実行時間係数作成部54A及び実行時間予測56Aは、本開示の技術の「算出部」の一例である。
 記憶装置40には、以下に説明する種々のテーブル(図4~図7)が記憶されている。
 図4には、開始から完了までに要する時間(予測実行時間)の予測が必要な処理を表示にした実行要求表のテーブル62が示されている。実行要求表のテーブル62には、上記処理として、VM(Virtual Machine;仮想マシン)作成と、ボリューム(仮想外付けディスク)作成とが記憶されている。この表に記載されている実行要求があった場合にのみ、予測実行時間が予測される。その他の実行要求はそのままプロバイダに送信される。なお、上記処理のその他の例としては、VMのマイグレーション、VMのバックアップ等がある。
 図5A及び図5Bには、実行要求管理表のテーブル64が示されている。実行要求管理表のテーブル64は、図5Aに示すVM作成要求管理表のテーブル64Aと、図5Bに示すボリューム作成要求管理表のテーブル64Bとが含まれる。VM作成要求管理表のテーブル64Aは、利用者ID、認証情報など利用者情報、プロバイダのURL(アドレス)やVMのIDなどのプロバイダ情報、VM作成の要求を送信した時刻である要求送信時刻を対応して記憶するための領域を有する。また、VM作成要求管理表のテーブル64Aは、VMの作成中、VM作の成済み等の状態を記憶するための領域を有する。更に、VM作成要求管理表のテーブル64Aは、VMが稼働するために必要なメモリ(一次記憶装置)の容量であるメモリ容量、VMが稼働するために必要なディスク(二次記憶装置)の容量であるディスク容量を対応して記憶するための領域を有する。そして、VM作成要求管理表のテーブル64Aは、VMの個数を記憶するための領域を有する。ボリューム作成要求管理表のテーブル64Bは、上記利用者情報、上記プロバイダ情報、ボリューム作成の要求を送信した時刻である要求送信時刻を対応して記憶するための領域を有する。また、ボリューム作成要求管理表のテーブル64Bは、ボリュームの作成中、ボリュームの作成済み等の状態を記憶するための領域を有する。更に、ボリューム作成要求管理表のテーブル64Bは、ボリュームの容量、障害の対策として、ボリュームのコピーを何個作成するかの度合いである多重度、及びボリュームの個数を対応して記憶するための領域を有する。
 図6A及び図6Bには、プロバイダ毎の実行時間データ表のテーブル66が示されている。実行時間データ表のテーブル66には、図6Aに示すプロバイダ24AにおけるVM作成時間データのテーブル66Aと、図6Bに示すプロバイダ24Aにおけるボリューム作成時間データのテーブル66Bとが含まれる。VM作成時間データのテーブル66Aは、VMの作成要求を送信した送信時刻、VMの作成にかかった時間である実行時間(s)、及びVMが稼働するために必要なメモリ容量(MB) を記憶するための領域を有する。また、VM作成時間データのテーブル66Aは、VMが稼働するために必要なディスク容量(MB)、及びVMの個数を記憶するための領域を有する。実行時間は、VM作成が完了した時に、送信時刻とVM作成が完了した時刻の差を計算することにより得られる。ボリューム作成時間データのテーブル66Bは、ボリュームの作成要求を送信した送信時刻、ボリュームの作成にかかった時間である実行時間(s)、及びボリュームの容量(GB) を記憶するための領域を有する。また、ボリューム作成時間データのテーブル66Bは、上記多重度及び上記個数を記憶するための領域を有する。
 VM作成時間データのテーブル66Aとボリューム作成時間データのテーブル66Bは、本開示の技術の「記憶部」の一例である。VM作成時間データのテーブル66Aとボリューム作成時間データのテーブル66Bに記憶されている実行時間は、本開示の技術の「過去の処理実行完了時間」の一例である。上記テーブル66Aに記憶されているメモリ容量(MB)、ディスク容量(MB)、及び個数や、上記テーブル66Bに記憶されているボリュームの容量(GB)、多重度、及び個数は、本開示の技術の「規定情報」の一例である。
 図7A及び図7Bには、プロバイダ毎の作成時間係数表のテーブル68が示されている。作成時間係数表のテーブル68には、図7Aに示すように、プロバイダ24AにおけるVMの作成時間係数表のテーブル68Aと、図7Bに示すように、プロバイダ24Aにおけるボリュームの作成時間係数表のテーブル68Bとが含まれる。VM作成時間係数表のテーブル68Aは、更新時刻と、切片、メモリ容量、ディスク容量、及び個数に対応する係数β~βとを記憶するための領域を有する。ボリュームの作成時間係数表のテーブル68Bは、更新時刻と、切片、容量、多重度、及び個数に対応する係数γ~γとを記憶するための領域を有する。
 次に、本実施の形態の作用を説明する。
 プライベートクラウド15内のサーバ11A、11B、・・・に作成したVMのみでは、大量のデータを短時間で分析できない場合がある。そこで、クラウド利用者は、複数のプロバイダ(パブリッククラウド)24A、24B、・・・の何れかのプロバイダ、例えば、プロバイダ24Aの何れかのサーバにVMを作成しようとする。このため、クライアント10から実行要求が送信される。図8には、中継サーバ18が実行する、上記実行要求の中継処理の一例が示されている。図8のステップ102で、実行要求をクライアント10から受信したか否かを判断する。ステップ102の判定結果が否定判定の場合には、本ステップ102が再度実行される。
 クラウド利用者が、クライアント10の入力部42を介して、複数のプロバイダ24A、24B、・・・の中から選択したプロバイダ、例えば、プロバイダ24AのサーバにVMを作成するためのVM作成データを入力する。このVM作成データが入力されると、クライアント10は、図9A、具体的には、図9Bに示す、APIに従ったVM作成要求を、中継サーバ18に送信する。図9A及び図9Bに示すように、VM作成要求には次のデータが含まれている。即ち、VM作成要求には、プロバイダ24AのURI、利用者のID/PASSWORD、VM作成先(上記例ではプロバイダ24A)、VMの個数、メモリ容量、ディスク容量、VMイメージ(VMが稼働するためのOS(Operating System)が含まれる。なお、VM作成先(上記例ではプロバイダ24A)、VMの個数、メモリ容量、ディスク容量、VMイメージ(VMが稼働するためのOS)がVM作成データである。クライアント10から送信されたVM作成要求が中継サーバ18により受信されたと、実行要求管理部52Aが判断した場合には、ステップ102の判定結果が肯定判定となり、中継処理は、ステップ104に移行される。
 ところで、クラウド利用者の中には、選択したプロバイダ24Aで、VMやボリュームの作成に多くの時間が必要とされることを好ましく思わない利用者がいる。このような利用者に対処するためには、選択したプロバイダ24AでVMやボリュームの作成に多くの時間が必要とされる場合、上記実行要求を取り消しかつ別のプロバイダに上記実行要求を送信する機会をクライアント装置10に与える必要がある。そこで、選択したプロバイダ24AにおけるVMやボリュームの作成にかかる時間の最大値(期限)を、上記VM作成データに含めることができる。当該期限の指定がある場合には、上記実行要求には、当該指定された期限のデータが含められる。
 ステップ104で、実行要求管理部52Aは、クライアント10から受信した実行要求が、予測実行時間を予測すべき実行要求か否かを判断する。即ち、実行要求管理部52Aは、クライアント10から受信した実行要求と、図4に示した実行要求表のテーブル62とに基づいて、クライアント10から受信した実行要求が、予測実行時間を予測すべきか実行要求か否かを判断する。クライアント10から受信した実行要求が、VM作成やボリューム作成の実行要求の場合には、ステップ104の判定結果が肯定判定となる。クライアント10から受信した実行要求が、実行要求表のテーブル62にない場合には、ステップ104の判定結果が否定判定となり、中継処理はステップ106に移行する。ステップ106で、実行要求管理部52Aは、実行要求をプロバイダ24Aの管理サーバ26Xに送信する。
 ステップ108で、実行時間予測部56Aは、クライアント10から受信した実行要求と図7に示す作成時間係数表に基づいて、予測実行時間を計算する。VMの作成を例として、予測実行時間の計算の処理を説明する。後述するように、VMを作成するのに必要な時間である予測実行時間を求めるための計算式(図13C)が予め定められている。この計算式により、予測実行時間に影響を与えると共にVM乃至ボリュームの作成の内容を規定する変数X~Xと係数β~βとから、予測実行時間が計算される。詳細には後述するが、係数β~βは、図13Aに示すように、計算されている。クライアント10から受信した実行要求において、図13Bに示すように、メモリ容量(X)が200(MB)、ディスク容量(X)が2000(MB)、及び個数(X)が2であったとする。上記係数β~βの各値(図13A)と、上記変数の値(図13B)を計算式(図13C)に代入すると、図13Dに示すように、予測実行時間として、666.73(s)が計算される。上記計算式は、本開示の技術の「関係式」の一例であり、ステップ108の処理の内容は、本開示の技術の「処理実行完了時間を算出する」内容の一例である。
 ステップ110で、実行要求管理部52Aは、クライアント10からの実行要求に期限(時間)が含まれているか否かを判断する。期限(時間)は、本開示の技術の「最大値」の一例である。
 ステップ110の判定結果が否定判定の場合には、中継処理はステップ116に移行される。ステップ110の判定結果が肯定判定の場合には、ステップ112で、実行要求管理部52Aは、上記計算された予測実行時間が、指定期限より大きいか否かを判断する。ステップ112の判定結果が肯定判定の場合には、上記計算された予測実行時間が、クラウド利用者が許容する時間より長い。当該クラウド利用者は、上記計算された予測実行時間を好ましく思わない。そこで、ステップ114で、クライアント10に、上記計算された予測実行時間が指定期限より大きいことを示すエラーを返す(送信する)。エラーを受信したクライアント10は、表示部44にエラーを表示する。このエラーを見たクラウド利用者はクライアント10を介して、上記選択したプロバイダ24AでのVMやボリュームの作成の実行要求を取り消しかつ別のプロバイダに上記実行要求を送信する。
 ステップ112の判定結果が否定判定の場合には、中継処理は、ステップ116に移行される。ステップ116で、実行要求管理部52Aは、上記計算された予測時間をクライアント10に返信する。上記計算された予測時間を受信したクライアント10は、表示部44に上記計算された予測時間を表示する。
 ステップ118で、実行要求管理部52Aは、実行要求管理表のテーブル(図5)に、上記各データを記憶する。例えば、VM作成の実行要求があった場合には、VM作成要求管理表のテーブル64Aに、また、ボリューム作成の実行要求があった場合には、ボリューム作成要求管理表のテーブル64Bに、各データが記憶される。なお、本ステップ118では、状態を記憶するための領域には、VM又はボリュームの作成中が記憶される。ステップ120で、実行要求管理部52Aは、実行要求をプロバイダ24Aの管理サーバ26Xに送信する。すなわち、例えば、VMの作成が要求された場合には、クライアント10から受信したVM作成要求(図9)に対応する内容のVM作成要求(図10)を管理サーバ26Xに送信する。管理サーバ26Xは、受信したVM作成要求(図10)を、複数のサーバ26A、26B、・・・の内の選択したサーバ、例えば、サーバ26Aに送信する。サーバ26Aには、VMを作成するためのプログラムが存在し、当該プログラムが、受信したVM作成要求に従ってVMを作成する。
 ステップ122で、実行要求管理部52Aは、プロバイダ24Aの管理サーバ26Xに、状態確認要求を送信する。プロバイダ24Aの管理サーバ26Xが、例えば、サーバ26AにVM作成要求(図10)に従ってVMを作成した場合、図11に示す作成したVMのURI(Uniform Resource Identifier)を中継サーバ18に送信する。これによりステップ124が肯定判定され、ステップ126で、実行要求管理部52Aは、実行時間データを、図6のテーブルに追加する。本ステップ126では、実行要求管理部52Aは更に、実行要求管理票64を更新する。即ち、VM作成の実行要求があった場合には、VM作成要求管理表のテーブル64Aにおける状態を記憶するための領域に、VMの作成済みを記憶する。ボリューム作成の実行要求があった場合には、ボリューム作成要求管理表のテーブル64Bにおける状態を記憶するための領域に、VMボリュームの作成済みを記憶する。
 ステップ128で、実行要求管理部52Aは、VM/ボリュームのURIをクライアント10に送信する。即ち、VM作成の場合には、図12Aに示すように、作成したVMのURIを、具体的には図12Bに示すフォーマットでクライアント10に送信する。
 以上説明したように、実行要求に期限の指定がなかったり、予測実行時間が指定された期限以下だったりした場合には、中継サーバ18は、計算された予測実行時間をクライアント10に送信する。クライアント10は、表示部44に上記計算された予測時間を表示する。これにより、クラウド利用者は、予測実行時間を知ることができ、サーバを評価することができる。
 また、予測実行時間が指定された期限より長い場合には、中継サーバ18は、エラーをクライアント10に送信する。クライアント10は、表示部44に上記計算されたエラーを表示する。これにより、クラウド利用者は予測実行時間が指定された期限より長いことを知ることができる。よって、このエラーを見たクラウド利用者はクライアント10を介して、上記選択したプロバイダ24AでのVMやボリュームの作成の実行要求を取り消しかつ別のプロバイダに上記実行要求を送信することができる。
 図14には、予測実行時間の計算式における係数の算出及び更新の処理の一例が示されている。算出及び更新の処理は、一定時間ごとに繰り返し実行される。なお、算出及び更新の処理は、中継処理(図8)におけるステップ108の前に実行されてもよい。
 本処理がスタートすると、ステップ132で、実行時間係数作成部54Aは、実行時間データのテーブル66(図6)から、例えば、1時間以内のデータを選ぶ。ステップ134で、実行時間係数作成部54Aは、選んだデータから実行時間係数を算出する。ステップ136で、実行時間係数を更新する。以上の処理の具体的な内容を、図15A~図15Cを参照して、更に説明する。
 ステップ132では、図6に示す実行時間データ表66に記憶されているデータの中から、本処理(図14)がスタートした時から1時間以内のデータを選ぶ。即ち、本処理(図14)がスタートした時が、2013年1月3日の午前4時5分であった場合、図15Aに示すように、VM作成時間データのテーブル66Aから、2013年1月3日の午前3時5分~2013年1月3日の午前4時5分までのデータを選ぶ。上記のように、VMの作成の予測実行時間を求めるための方程式は、図15Bに示すように予め定められている。この計算式は、上記メモリ容量(X)、ディスク容量(X)、及び個数(X)を変数としている。そして、計算式における予測実行に時間に影響を与える変数X~Xと予測実行時間とを対応づける係数β~βは未知数とされている。そこで、ステップ134では、上記ステップ132で選ばれたデータが、上記計算式における回帰モデル(重回帰分析)に代入される。そして、最小二乗法に従って、残差の二乗和が最小になるように係数β~βが算出される。ステップ136では、このようにして求められた係数を用いて、図15Cに示すように、上記VM作成時間係数表のテーブル68Aが更新される。
 ステップ134の処理は、本開示の技術の「係数を算出する」内容の一例である。ステップ136の処理は、本開示の技術の「処理実行完了時間を算出する毎に・・・、前記算出された記処理実行完了時間と・・・前記規定情報を対応して前記記憶部に記憶し」の一例である。ステップ132における1時間は、本開示の技術の「一定時間」の一例である。
 以上説明した計算式は、VMの作成の予測実行時間を求めるための方程式である。ボリュームの予測実行時間の方程式は、図15Bに示す計算式と同様であるが、変数は、上記容量(X)、多重度(X)、及び個数(X)である。そして、係数は、上記β~βに変えてγ~γが定められている。VMの作成の予測実行時間の係数を求める方法と同様にして、ボリュームの予測実行時間の係数が求められる。
 なお、図6に示す実行時間データ表66は、各プロバイダに対応して設けられている。各プロバイダは、複数のサーバを有する。よって、実行時間データ表66では、プロバイダ24Aに設けられた複数のサーバ26A、26B、・・・が1つのサーバとして扱われている。よって、図7に示す係数表にも、プロバイダ24Aに設けられた複数のサーバ26A、26B、・・・が1つのサーバとして計算された係数が記憶されている。
 次に、第1の実施の形態の効果を説明する。
 第1の効果を説明する。第1の実施の形態では、予測実行時間を求めるための計算式が予め定められている。この計算式は、処理の内容を規定する変数X~Xと係数β~βとを含む。係数β~βが、過去の実行時間データのテーブル66(図6)内のデータと上記計算式とから計算される。そして、VM乃至ボリュームの作成などの処理の実行要求があった場合に、当該実行要求内に含まれる処理の内容を規定する上記変数の情報と、上記係数、及び上記方程式から、予測実行時間が計算される。よって、第1の実施の形態は、プロバイダ(パブリッククラウド)内におけるサーバでのVM乃至ボリュームの作成能力を取得することができなくとも、クラウド利用者は、予測実行時間を知ることができる、という第1の効果を有する。よって、クラウド利用者は、複数のプロバイダ(パブリッククラウド)の内のどのプロバイダにVMの作成を依頼すればいいのかを決定できる。よって、大量のデータを短時間で分析するために、APIを用いて、パブリッククラウド及びプライベートクウド内のVMが事実上も連携されることができる。
 第2の効果を説明する。第1の実施の形態では、上記のように予測実行時間が計算される。よって、第1の実施の形態は、利用者がどのくらいの時間がかかるのかを知るのに処理の実行の完了を待たされる必要がない、という第2の効果を有する。
 第3の効果を説明する。上記計算された予測実行時間が、指定期限より大きい場合、クライアント10にエラーを送信する。クライアント10はエラーを表示部44に表示する。これにより、クラウド利用者は、予測時間が指定した期限より長いことを知ることができる。よって、第1の実施の形態は、予測時間が指定した期限より長い場合に、クラウド利用者に、クラウド利用者が上記処理の実行要求を取り消して、別のプロバイダ26Bに処理の実行要求を送り直す機会を与えることができる、という第3の効果を有する。
 第4の効果を説明する。係数β~βを計算する際に、実行時間データのテーブル66(図6)内の1時間以内のデータが用いられている。即ち、クライアント装置10がサーバに処理を実行させようとする時刻に近いデータを用いて、係数β~βが計算される。1時間以内のデータには、次のようなサーバの状況が反映されている蓋然性が高い。即ち、多数の実行要求がプロバイダに受け付けられていたり、一時的な障害がプロバイダのサーバに発生していたり、プロバイダのサーバがメンテナンス中であったり、する状況である。よって、第1の実施の形態は、サーバの状況に対応する予測実行時間を計算することができる、という第4の効果を有する。
 [第2の実施の形態]
 次に、第2の実施の形態を説明する。第2の実施の形態の構成は第1の実施の形態と同様であるので説明を省略する。第2の実施の形態の作用は、第1の実施の形態の作用と同様の部分があるので、以下異なる部分を説明する。
 図16Aには、中継プログラムが示されている。第2の実施の形態の中継プログラムは、図3A及び、図16Aを比較して、理解されるように、決定部58Aを更に有する点で相違する。図16Bには、中継プロセスが示されている。第2の実施の形態の中継プロセスは、図3B及び図16Bを比較して理解されるように、決定プロセス58Bを更に有する点で異なる。
 図17には、第2の実施の形態の中継処理の一例が示されている。図17に示すように、第2の実施の形態の中継処理の一例では、第1の実施の形態のステップ102~106の処理が実行される。第2の実施の形態の中継処理の一例では、図8におけるステップ108~112に代えて、以下のステップ152~160が実行される。
 第2の実施の形態の中継処理がスタートして、ステップ102~106の処理が実行された後、ステップ152で、決定部58Aは、複数のプロバイダ24A、24B、・・・の各プロバイダを識別するための識別変数pを0に初期化する。ステップ154で、決定部58Aは、pを1インクリメントする。ステップ156で、決定部58Aは、識別変数pで識別されるプロバイダpにおける予測実行時間を計算する。なお、予測実行時間の計算は、第1の実施の計算と同様であるので、その説明を省略する。
 ステップ158で、決定部58Aは、指定された期限が上記計算された予測実行時間以上か否かを判断する。ステップ158の処理は、本開示の技術の「前記最大値が前記算出された前記処理実行完了時間以上か否か判断」することの一例である。
 ステップ158の判定結果が否定判定の場合には、識別変数pで識別されるプロバイダpにおける予測実行時間はクラウド利用者が指定した期限を満足していない。そこで、ステップ160で、決定部58Aは、識別変数pがプロバイダの総数Pに等しいか否かを判断し、変数pが総数Pに等しくない場合には、ステップ154に戻って、以上の処理(ステップ154~160)を実行する。
 ステップ158の判定結果が肯定判定の場合には、識別変数pで識別されるプロバイダにおける予測実行時間はクラウド利用者が指定した期限を満足している。そこで、中継処理は、ステップ116に移行され、上記ステップ116~128を実行する。なお、第2の実施の形態におけるステップ120では、実行要求を、識別変数pで識別されるプロバイダにおける管理サーバ26Xに送信する。
 クライアント10から中継サーバ18へのVM作成要求は、図18A及び図18Bに示すように、第1の実施の形態のVM作成要求(図9)と比較して、更に次の内容が含まれている。即ち、複数(例えば2個)のプロバイダのURI及び各プロバイダにおける利用者のID/パスワードが更に含まれている。図18Bに示すように第2の実施の形態では、上記期限としてのタイムリミットが含まれている。
 中継サーバ18からプロバイダへのVM作成要求は、図19に示すように、第1の実施の形態におけるVM作成要求(図10)と同様である。プロバイダから中継サーバへの応答(作成受付したVMのURI)も、第1の実施の形態と同様である。なお、第1の実施の形態では、2個のVMの作成を要求しているが、第2の実施の形態では100個のVMの作成を要求している。
 次に、第2の実施の形態の効果を説明する。第2の実施の形態では、識別変数pで識別されるプロバイダpにおける予測実行時間が計算される。計算された予測実行時間が、クラウド利用者が指定した期限を満足している場合、当該識別変数pで識別されるプロバイダpにVMの作成等の処理の実行要求が送信されている。よって、第2の実施の形態は、複数のプロバイダの内、予測実行時間が、クラウド利用者が指定した指定時間を満足するプロバイダに、処理の実況要求を送信することができる、という効果を有する。なお、第2の実施の形態は、上記第1の実施の形態における上記第1の効果~第4の効果を有する。
 次に、第1の実施の形態及び第2の実施の形態の変形例を説明する。
 第1の変形例を説明する。第1の実施の形態及び第2の実施の形態では、予測実行時間を予測する処理としては、VMやボリュームの作成が、例として、説明されている。本開示の技術のこれらの例に限定されない。例えば、上記処理には、VMのマイグレーションやVMのバックアップがある。
 第2の変形例を説明する。第1の実施の形態及び第2の実施の形態では、係数β0~β4を計算する際に、実行時間データのテーブル66(図6)内の1時間以内のデータが用いられている。本開示の技術のこの例に限定されない。例えば、実行時間データのテーブル66(図6)内の最近10回の実行要求に対応するデータが用いられることができる。最近10回の実行要求に対応するデータは、本開示の技術の「前記係数を算出する時から、・・・前記処理実行完了時間が一定回数前に算出された時までに前記記憶部に記憶された前記処理実行完了時間及び前記規定情報」の一例である。
 第3の変形例を説明する。第1の実施の形態及び第2の実施の形態では、VMの予測実行時間を求める計算式の変数として、メモリ容量、ディスク容量、及び個数が用いられている。しかし、メモリ容量及びディスク容量の予測実行時間に対する影響が小さい場合がある。そこで、VMの予測実行時間を求める計算式としては、個数のみを用いた計算式が用いられることができる。
 第4の変形例を説明する。第1の実施の形態及び第2の実施の形態では、予測実行時間を求めるために、回帰分析が利用されている。しかし、本開示の技術では、その他の方法が用いられることができる。例えば、相関係数が用いられる。この場合には、まず、予測実行時間Yの計算式として、Y=aX+bが用いられる。なお、この式は、上記のように、メモリ容量及びディスク容量の予測実行時間に対する影響は小さいことに鑑みた第3の変形例を、開示の技術に適用した例における式である。そして、a、bは、相関係数を利用して、次の式から求められる。
Figure JPOXMLDOC01-appb-M000001
 
 具体的には、実行時間予測部56Aは、Yの平均として予測実行時間の平均と、Xの平均としてVMの個数の平均を求める。次に、実行時間予測部56Aは、数1の計算式の分子になるXとYの共変動を求める。次に、実行時間予測部56Aは、aの計算式の分母になるXの変動を求める。以上から、実行時間予測部56Aは、a、bを求める。
 第5の変形例を説明する。第1の実施の形態及び第2の実施の形態では、係数が一旦算出され(図14)、中継処理(図8)で予測実行時間が計算される際には、この係数が用いられる。本開示の技術では、図6A、図6Bにおける作成時間データ、実行要求に含まれる上記個数等の情報、及び次の計算式から、予測実行時間が直接計算されることができる。まず、上記第4の変形例における計算式よりも更に簡易にした計算式が用いられる。即ち、予測実行時間をY、上記個数をX、係数をaとし、Y=aXが用いられる。係数aは、Y/Xから得られる。図6A、図6Bにおける作成時間データが代入されるY、Xをy、xとする。予測実行時間を直接計算する計算式は、Y=(y/x)Xである。そこで、Y=(y/x)Xのy、xに図6A、図6Bにおける作成時間データが代入され、Xに実行要求に含まれる上記個数が代入されると、予測実行時間Yが直接計算される。
 次に、第2の実施の形態のみ変形例を説明する。上記第2の実施の形態では、識別変数pで識別されるプロバイダpにおける予測実行時間が、クラウド利用者が指定した指定時間を満足している場合、当該識別変数pで識別されるプロバイダpにVMの作成等の処理の実行要求が送信されている。本開示の技術はこの例に限定されない。例えば、全てのプロバイダについて予測実行時間を計算し、クラウド利用者が指定した指定時間を満足している予測実行時間の中から、最小の予測実行時間が計算されたプロバイダに処理の実行要求を送信することができる。
 本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。

Claims (22)

  1.  所定の処理の内容を規定する規定情報を含む要求情報に従って当該所定の処理を実行するサーバ装置と、当該要求情報を送信するクライアント装置との間に配置され、当該要求情報を中継する中継装置であって、
     所定の処理の実行を前記サーバ装置が完了するのに要した過去の処理実行完了時間と、当該過去の実行完了時間に対応する所定の処理の内容を規定した前記規定情報とを記憶する記憶部と、
     前記要求情報を受信する受信部と、
     所定の処理の内容を規定する前記規定情報、係数、及び前記サーバ装置が当該所定の処理の実行を完了するのに要する処理実行完了時間の関係を示す関係式、前記記憶部に記憶された前記処理実行完了時間及び前記規定情報、及び前記受信部により受信された前記要求情報に含まれる規定情報に基づいて、前記サーバ装置が前記受信部により受信された前記要求情報に従って前記所定の処理を実行するのに要する処理実行完了時間を算出する算出部と、
     を備えた中継装置。
  2.  前記算出部は、前記記憶部に記憶された前記処理実行完了時間及び前記規定情報と、前記関係式とに基づいて、前記係数を算出し、前記算出した係数、前記受信部により受信された前記要求情報に含まれる規定情報、及び前記関係式に基づいて、前記処理実行完了時間を算出する請求項1に記載の中継装置。
  3.  所定の処理の内容を規定する規定情報を含む要求情報に従って当該所定の処理を実行するサーバ装置と、当該要求情報を送信するクライアント装置との間に配置されたコンピュータに、当該要求情報を中継することを含む処理を実行させるための中継プログラムであって、
     所定の処理の実行を前記サーバ装置が完了するのに要した過去の処理実行完了時間と、当該過去の実行完了時間に対応する所定の処理の内容を規定した前記規定情報とを記憶部に記憶し、
     所定の処理の内容を規定する前記規定情報、係数、及び前記サーバ装置が当該所定の処理の実行を完了するのに要する処理実行完了時間の関係を示す関係式、前記記憶部に記憶された前記処理実行完了時間及び前記規定情報、及び受信した前記要求情報に含まれる規定情報に基づいて、前記サーバ装置が前記受信した前記要求情報に従って前記所定の処理を実行するのに要する処理実行完了時間を算出する
     処理を前記コンピュータに実行させる中継プログラム。
  4.  前記記憶部に記憶された前記処理実行完了時間及び前記規定情報と、前記関係式とに基づいて、前記係数を算出し、前記算出した係数、前記受信した前記要求情報に含まれる規定情報、及び前記関係式に基づいて、前記処理実行完了時間を算出する請求項3に記載の中継プログラム。
  5.  所定の処理の内容を規定する規定情報を含む要求情報に従って当該所定の処理を実行するサーバ装置と、当該要求情報を送信するクライアント装置との間で、当該記要求情報を中継する中継方法であって、
     所定の処理の実行を前記サーバ装置が完了するのに要した過去の処理実行完了時間と、当該過去の実行完了時間に対応する所定の処理の内容を規定した前記規定情報とを記憶部に記憶し、
     所定の処理の内容を規定する前記規定情報、係数、及び前記サーバ装置が当該所定の処理の実行を完了するのに要する処理実行完了時間の関係を示す関係式、前記記憶部に記憶された前記処理実行完了時間及び前記規定情報、及び受信した前記要求情報に含まれる規定情報に基づいて、前記サーバ装置が前記受信した前記要求情報に従って前記所定の処理を実行するのに要する処理実行完了時間を算出する
     ことを含む中継方法。
  6.  前記記憶部に記憶された前記処理実行完了時間及び前記規定情報と、前記関係式とに基づいて、前記係数を算出し、前記算出した係数、前記受信した前記要求情報に含まれる規定情報、及び前記関係式に基づいて、前記処理実行完了時間を算出する請求項5に記載の中継方法。
  7.  前記処理実行完了時間を算出する毎に、前記算出された前記処理実行完了時間と当該処理実行完了時間を算出する際に使用した前記規定情報を対応して前記記憶部に記憶し、
     前記係数を算出する際、前記係数を算出する時から、一定時間前までに又は前記処理実行完了時間が一定回数前に算出された時までに前記記憶部に記憶された前記処理実行完了時間及び前記規定情報を用いる請求項6に記載の中継方法。
  8.  前記要求情報には、前記処理実行完了時間の最大値が含まれ、
     前記算出した前記処理実行完了時間が前記最大値より大きいか否か判断し、
     前記算出した前記処理実行完了時間が前記最大値より大きいと判断された場合に、前記算出した前記処理実行完了時間が前記最大値より大きいことを示す情報を前記クライアント装置に送信する
     ことを更に含む請求項5~請求項7の何れか1項に記載の中継方法。
  9.  前記算出した前記処理実行完了時間が前記最大値より大きくないと判断された場合に、前記算出した前記処理実行完了時間を前記クライアント装置に送信すると共に前記受信した要求情報を前記サーバ装置に送信する
     ことを更に含む請求項8に記載の中継方法。
  10.  前記算出した前記処理実行完了時間を前記クライアント装置に送信すると共に前記受信した要求情報を前記サーバ装置に送信する
     ことを更に含む請求項5~請求項7の何れか1項に記載の中継方法。
  11.  所定の処理の内容を規定する規定情報と当該所定の処理の実行を完了するのに要する処理実行完了時間の最大値とを含む要求情報に従って当該所定の処理を実行する複数のサーバ装置と、当該要求情報を送信するクライアント装置との間で、当該要求情報を中継する中継方法であって、
     所定の処理の実行を前記サーバ装置が完了するのに要した過去の処理実行完了時間と、当該過去の実行完了時間に対応する所定の処理の内容を規定した前記規定情報とを、前記複数のサーバ装置の内の当該所定の処理を実行したサーバ装置に対応して記憶部に記憶し、
     所定の処理の内容を規定する前記規定情報、係数、及び前記サーバ装置が当該所定の処理の実行を完了するのに要する処理実行完了時間の関係を示す関係式、前記記憶部に前記複数のサーバ装置の内の選択されたサーバ装置に対応して記憶された前記処理実行完了時間及び前記規定情報、及び受信した前記要求情報に含まれる規定情報に基づいて、当該選択されたサーバ装置が前記受信した前記要求情報に従って前記所定の処理の実行を完了するのに要する処理実行完了時間を算出し、
     前記最大値が前記算出された前記処理実行完了時間以上か否か判断し、
     前記最大値が前記算出された前記処理実行完了時間以上と判断された場合、前記要求情報を前記選択されたサーバ装置に送信する
     ことを含む中継方法。
  12.  前記記憶部に記憶された前記処理実行完了時間及び前記規定情報と、前記関係式とに基づいて、前記係数を算出し、前記算出した係数、前記受信した前記要求情報に含まれる規定情報、及び前記関係式に基づいて、前記処理実行完了時間を算出する請求項11に記載の中継方法。
  13.  前記最大値が前記算出された前記処理実行完了時間以上と判断されなかった場合、前記複数のサーバ装置の内の前記選択されたサーバ装置以外の他のサーバ装置を前記選択されたサーバ装置として、前記処理実行完了時間を算出することを更に含む請求項11又は請求項12に記載の中継方法。
  14.  前記複数のサーバ装置の全てについて算出された前記処理実行完了時間が前記最大値より大きいと判断された場合、前記複数のサーバ装置の全てについて算出された前記処理実行完了時間が前記最大値より大きいことを示す情報を前記クライアント装置に送信することを更に含む請求項11~請求項13の何れか1項に記載の中継方法。
  15.  前記最大値が前記算出された前記処理実行完了時間以上と判断された場合、前記算出された前記処理実行完了時間を前記クライアント装置に送信することを含む請求項8~請求項14の何れか1項に記載の中継方法。
  16.  前記複数のサーバ装置の各々は、異なるプロバイダ内に設けられている請求項11~請求項15の何れか1項に記載の中継方法。
  17.  前記所定の処理は、前記サーバ装置内に仮想マシンを作成することであり、
     前記規定情報は、少なくとも前記作成する仮想マシンの個数である
     請求項5~請求項16の何れか1項に記載の中継方法。
  18.  前記所定の処理は、前記サーバ装置内に仮想ディスクを作成することであり、
     前記規定情報は、少なくとも前記作成する仮想ディスクの個数である
     請求項5~請求項16の何れか1項に記載の中継方法。
  19.  前記所定の処理は、前記サーバ装置内に仮想マシンを作成することであり、
     前記規定情報は、少なくとも前記作成する仮想マシンの個数である
     請求項1又は請求項2に記載の中継装置。
  20.  前記所定の処理は、前記サーバ装置内に仮想ディスクを作成することであり、
     前記規定情報は、少なくとも前記作成する仮想ディスクの個数である
     請求項1又は請求項2に記載の中継装置。
  21.  前記所定の処理は、前記サーバ装置内に仮想マシンを作成することであり、
     前記規定情報は、少なくとも前記作成する仮想マシンの個数である
     請求項1又は請求項2に記載の中継プログラム。
  22.  前記所定の処理は、前記サーバ装置内に仮想ディスクを作成することであり、
     前記規定情報は、少なくとも前記作成する仮想ディスクの個数である
     請求項1又は請求項2に記載の中継プログラム。
PCT/JP2013/066274 2013-06-12 2013-06-12 中継装置、中継プログラム、及び中継方法 WO2014199476A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2013/066274 WO2014199476A1 (ja) 2013-06-12 2013-06-12 中継装置、中継プログラム、及び中継方法
JP2015522336A JP6052407B2 (ja) 2013-06-12 2013-06-12 中継装置、中継プログラム、及び中継方法
US14/960,062 US20160088119A1 (en) 2013-06-12 2015-12-04 Relay device and relay method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/066274 WO2014199476A1 (ja) 2013-06-12 2013-06-12 中継装置、中継プログラム、及び中継方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/960,062 Continuation US20160088119A1 (en) 2013-06-12 2015-12-04 Relay device and relay method

Publications (1)

Publication Number Publication Date
WO2014199476A1 true WO2014199476A1 (ja) 2014-12-18

Family

ID=52021807

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/066274 WO2014199476A1 (ja) 2013-06-12 2013-06-12 中継装置、中継プログラム、及び中継方法

Country Status (3)

Country Link
US (1) US20160088119A1 (ja)
JP (1) JP6052407B2 (ja)
WO (1) WO2014199476A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10140443B2 (en) * 2016-04-13 2018-11-27 Vmware, Inc. Authentication source selection

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010117760A (ja) * 2008-11-11 2010-05-27 Hitachi Ltd 仮想マシン移動管理サーバおよび仮想マシン移動方法
JP2010244524A (ja) * 2009-03-17 2010-10-28 Hitachi Ltd 仮想サーバの移動方法の決定方法及びその管理サーバ
JP2011138184A (ja) * 2009-12-25 2011-07-14 Fujitsu Ltd 仮想マシン移動制御装置、仮想マシン移動制御方法および仮想マシン移動制御プログラム
JP2011192184A (ja) * 2010-03-16 2011-09-29 Nec Corp 仮想コンピュータシステム、管理サーバ、仮想マシンの構築方法およびそのプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007364A (ja) * 2000-06-22 2002-01-11 Fujitsu Ltd 並列計算機システムのジョブスケジューリングを行うスケジューリング装置
JP2008217216A (ja) * 2007-03-01 2008-09-18 Hitachi Ltd 負荷分散方法及び計算機システム
WO2011099141A1 (ja) * 2010-02-12 2011-08-18 三菱電機株式会社 管理システム及びシステム管理方法及びプログラム
JP5538310B2 (ja) * 2011-06-27 2014-07-02 株式会社エヌ・ティ・ティ・データ 仮想化システム、および仮想化方法
JP5342615B2 (ja) * 2011-08-15 2013-11-13 株式会社日立システムズ 仮想サーバ制御システム及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010117760A (ja) * 2008-11-11 2010-05-27 Hitachi Ltd 仮想マシン移動管理サーバおよび仮想マシン移動方法
JP2010244524A (ja) * 2009-03-17 2010-10-28 Hitachi Ltd 仮想サーバの移動方法の決定方法及びその管理サーバ
JP2011138184A (ja) * 2009-12-25 2011-07-14 Fujitsu Ltd 仮想マシン移動制御装置、仮想マシン移動制御方法および仮想マシン移動制御プログラム
JP2011192184A (ja) * 2010-03-16 2011-09-29 Nec Corp 仮想コンピュータシステム、管理サーバ、仮想マシンの構築方法およびそのプログラム

Also Published As

Publication number Publication date
JPWO2014199476A1 (ja) 2017-02-23
US20160088119A1 (en) 2016-03-24
JP6052407B2 (ja) 2016-12-27

Similar Documents

Publication Publication Date Title
US10764034B2 (en) Method and system for facilitating data transfer between blockchains
JP4788711B2 (ja) ワークフロー実行システム、ワークフロー実行方法、及び、プログラム
EP2352088B1 (en) Method, apparatus and system for virtual machine migration decision
CN104317914B (zh) 数据获取方法和装置
EP3251048B1 (en) Executing an operation over file repositories located in different authentication domains using a representational state transfer (rest)-compliant client
US20140214922A1 (en) Method of providing virtual machine and service gateway for real-time virtual desktop service
US9557924B2 (en) Anti-virus scan via a secondary storage controller that maintains an asynchronous copy of data of a primary storage controller
US20200201681A1 (en) Method and system for virtualizing blockchains
US20120151482A1 (en) System and method for processing virtual machine
US9609068B2 (en) Session management system, session management apparatus, and non-transitory computer readable medium
US10296377B1 (en) Batch job execution using compute instances
JP2016024612A (ja) データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置
US10970111B2 (en) Migrating virtual machines
EP3193264B1 (en) Method and apparatus for processing big data
JP6052407B2 (ja) 中継装置、中継プログラム、及び中継方法
CN108112268B (zh) 管理与自动扩展组相关的负载平衡器
US9600271B2 (en) System, method, and computer-readable medium
Fatema et al. A User Data Location Control Model for Cloud Services.
JP6205013B1 (ja) アプリケーション利用システム
US10257262B2 (en) Mobile itinerant software agent carrying itinerary and data within
EP3369261B1 (en) Location identification of prior network message processor
JP2015064635A (ja) 情報処理システム、処理装置、分散処理方法、及び、プログラム
JP6413540B2 (ja) 中継装置、データ処理システム及びプログラム
JP7102783B2 (ja) システム管理装置、システム管理方法、およびプログラム
WO2014188743A1 (ja) アクセス制御装置及びアクセス制御方法及びプログラム

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: 13886857

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015522336

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13886857

Country of ref document: EP

Kind code of ref document: A1