WO2009110616A1 - 仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム - Google Patents

仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム Download PDF

Info

Publication number
WO2009110616A1
WO2009110616A1 PCT/JP2009/054342 JP2009054342W WO2009110616A1 WO 2009110616 A1 WO2009110616 A1 WO 2009110616A1 JP 2009054342 W JP2009054342 W JP 2009054342W WO 2009110616 A1 WO2009110616 A1 WO 2009110616A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machine
graph
package
machine package
generation
Prior art date
Application number
PCT/JP2009/054342
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 US12/920,768 priority Critical patent/US8615761B2/en
Priority to JP2010501990A priority patent/JP5598762B2/ja
Publication of WO2009110616A1 publication Critical patent/WO2009110616A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Definitions

  • the present invention relates to a virtual machine package generation system, a virtual machine package generation method, and a virtual machine package generation program, and in particular, reduces dependency between virtual machine packages when generating a plurality of virtual machine packages from a built system.
  • the present invention relates to a virtual machine package generation system capable of generating a highly reusable virtual machine package, a virtual machine package generation method, and a virtual machine package generation program.
  • Virtual machine technology makes it possible to create a plurality of pseudo computer hardware by software on one computer hardware (physical machine).
  • the pseudo computer hardware is called a virtual machine.
  • the virtual machine can operate an operating system (OS) and an application program (application) in the same manner as a physical machine.
  • the OS and application can be executed on various physical machines having a virtual machine execution environment without depending on the hardware configuration of the physical machine.
  • Non-Patent Document 1 discloses a virtual machine disk format format VMDK of VMware ESX Server which is a virtual machine execution environment. A virtual machine stored in VMDK can be reproduced by distributing it to another VMware ESX Server environment.
  • Such a virtual machine storage and reproduction technology is expected to have various industrial applications. For example, it can be expected to be applied to disaster recovery in which a system that has been broken during a large-scale disaster is reproduced at another location. In addition, when building a system, it can also be used for transferring a system built in a test environment to a real environment as it is.
  • a method is conceived in which a plurality of virtual machines are packaged in a form including configuration information as a distributed system and stored as a virtual machine package.
  • the format of the virtual machine package is being standardized as an OVF (Open Virtual Machine Format) of DMTF (Distributed Management Task Force).
  • OVF defines the format format, but does not specify how to divide and package a distributed system.
  • Patent Documents 1 to 4 As for virtual machines, Patent Documents 1 to 4 have already been disclosed, but the following problems have not been solved.
  • the first problem is that a virtual machine package generated from a distributed system is low in reusability as a package and requires a lot of setting work at the time of distribution.
  • the reason for this is that when dividing a distributed system into virtual machine packages, dependencies between many virtual machine packages remain, and setting work is required to resolve the dependencies according to the environment of the distribution destination. It is.
  • the second problem is that a virtual machine package generated on the premise that it operates on a single physical machine from a distributed system places a heavy load on the distribution destination network.
  • the reason for this is that, when a distributed system is divided into virtual machine packages, a large number of dependency relationships between virtual machine packages remain, and communication on a distribution destination network is required.
  • an object of the present invention is to provide a virtual machine package generation method that reduces the dependency between virtual machine packages as much as possible when generating a virtual machine package from a distributed system.
  • a virtual machine package generation system includes a virtual machine image generation function and a virtual machine package setting file generation function
  • the virtual machine setting file generation function includes a program running on the target system, Includes analysis information collection unit, graph structure conversion unit, contracted graph generation unit, virtual machine package setting file generation unit that collects setting information analysis results, graphs the target system dependency, and minimizes edge weights
  • the graph is reduced so that the virtual machine package candidate is extracted, virtual machine package candidates are cut out, and a virtual machine package setting file is generated.
  • the virtual machine package generation method generates a virtual machine image from the configuration and connection relationship of the target computer system, analyzes the dependency relationship between the target computer systems, and sets the virtual machine package setting file And the virtual machine image and the virtual machine package setting file are stored as a virtual machine package.
  • the object of the present invention can be achieved.
  • the program according to the present invention generates a virtual machine package setting file by analyzing the dependency between target computer systems and processing for generating a virtual machine image from the configuration and connection relationship of the target computer system.
  • the object of the present invention can be achieved by causing a computer to execute the process of storing the virtual machine image and the virtual machine package setting file as a virtual machine package.
  • the first effect is that the reproduction of the distributed system by the distribution of the virtual machine package can be quickly processed.
  • the reason is that the dependency between the virtual machine packages can be reduced, the number of places where the setting must be changed according to the system environment of the distribution destination can be reduced, and the setting work time can be shortened.
  • the second effect is that the reusability of the virtual machine package can be improved.
  • the reason is that the dependency between virtual machine packages can be reduced, so that the virtual machine package can be reproduced on different systems with a small number of setting items.
  • a third effect is that when a virtual machine package is distributed in association with one physical server, the network load of the distribution destination of the virtual machine package can be reduced. This is because the dependency between virtual machine packages can be reduced, and the processing for communicating via the distribution destination network is reduced.
  • FIG. 1 is a block diagram showing the configuration of the best mode for carrying out the first invention according to the present invention.
  • FIG. It is a block diagram which shows the structure of the virtual machine package of the best form for implementing 1st invention based on this invention. It is a block diagram which shows the structure of the virtual machine package of the best form for implementing 1st invention based on this invention. It is a flowchart which shows operation
  • the first embodiment of the present invention includes a virtual machine package generation system 1 for generating a virtual machine package and a plurality of target systems 2 constituting a target distributed system. .
  • the target system 2 includes an operating system (OS) 23 and an application program (application) 22 that operate on a computer (central processing unit; processor; data processing unit), and analyzes programs and setting information that constitute the OS 23 and the application 22.
  • OS operating system
  • application application program
  • a setting information / program analysis unit 21 is provided.
  • the virtual machine package generation system 1 includes a virtual machine package generation function 11, a virtual machine image generation function 12, a virtual machine package storage unit 13, and a virtual machine package setting file generation function 14.
  • FIG. 2 shows a configuration example when the virtual machine package generation system 1 is configured by a computer including one central processing element such as one server and a storage element.
  • the virtual machine package generation system 1 includes a central processing element 3, a program memory, a virtual machine package storage unit 13, and a network interface 5, and a virtual machine package generation function 11, a virtual machine image generation function 12, and a virtual interface are included in the program memory.
  • a machine package setting file generation function 14 is stored. Further, it is connected to the target system A via the network interface 5.
  • a program having these functions operates in cooperation with the central processing element 3.
  • the virtual machine package setting file generation function 14 includes an analysis information collection unit 141, a graph structure conversion unit 142, a contracted graph generation unit 143, and a virtual machine package setting file generation unit 144.
  • the virtual machine package generation function 11 uses the virtual machine image generation function 12 to create a virtual machine image from the configuration and connection relationship of the target system 2. Further, the virtual machine package setting file generation function 14 is used to create a virtual machine package setting file.
  • the created virtual machine image and virtual machine package setting file are stored in the virtual machine package storage unit 13 as a virtual machine package.
  • FIG. 3 shows an example of a virtual machine package.
  • the virtual machine package 131 stored in the virtual machine package storage unit 13 includes a plurality of virtual machine images 132 and a setting file 133 describing elements to be set when the virtual machine package is distributed and used.
  • the analysis information collection unit 141 collects information on the dependency relationship between the target systems obtained from the setting information / program analysis unit 21 of the plurality of target systems 2.
  • the collected information is input to the graph structure conversion unit 142, and the dependency relationship of the target system is converted into a graph structure represented by dots and lines.
  • the contracted graph generation unit 143 groups the target systems by generating a contracted graph of the generated graph structure, and extracts virtual machine package candidates.
  • the virtual machine package setting file generation unit 144 specifies the dependency relationship between the virtual machine packages based on the generated contracted graph, and describes setting elements for resolving the dependency relationship in the setting file.
  • server identifier information for identifying each server is extracted for each server from a system file stored in each server. Specifically, host name, IP address, and MAC address information are extracted (2200).
  • a setting file and an application source file are extracted from each server (2202).
  • the server identifier information extracted in 2200 is extracted from the extracted configuration file and source file, and which configuration file and which server have a dependency relationship, and which application and which server have a dependency relationship. Extract (2204). Extraction is performed for each server, and dependency relationships are extracted until there are no remaining servers (2206). While there are remaining servers, the process is repeated from step 2202, and when all the servers are extracted, the process is completed (2208).
  • the virtual machine package generation function 11 uses the virtual machine image generation function 12 to create a virtual machine image of the target system 2 (step 1000 in FIG. 5). Virtual machine images are generated for each target system, and virtual machine images are generated for each target system.
  • the virtual machine image has the following two methods as a method for generating a virtual machine image from an existing system.
  • the first method is a method of reconstructing a virtual machine having the same configuration as that of the target system from 1 using a virtualization function. Specifically, this is a method in which the administrator formulates the specifications of the virtual machine, and the administrator himself / herself creates a setting file in accordance with the specifications. The administrator needs to know the system construction in detail, and the man-hours required for construction are large.
  • the second method a virtual machine that is a preset expandable virtual machine and that has a necessary setting file prepared is started in parallel with the physical server to be migrated to the virtual machine, and the physical server This is a method of copying data to a virtual machine. In this case, it is possible to reduce the man-hours of the administrator by extracting necessary information from the physical server.
  • the virtual machine image generation function 12 installs all the data for generating the migration destination virtual machine in the migration side device and generates the migration destination virtual machine.
  • the virtual machine image generation function 12 installs a boot image system, which is a startup file at the time of booting, on the migration source physical server and the migration destination virtual machine.
  • Both the migration source physical server and the migration destination virtual machine are restarted, and the IP address is acquired from the DHCP server to which both are connected. Subsequently, the virtual machine image generation function 12 transfers a file from the migration source physical server to the migration destination virtual machine as a boot image.
  • the migration destination virtual machine undergoes system changes including driver conversion.
  • the boot image system is deleted and completed.
  • the virtual machine package generation function 11 uses the virtual machine package setting file generation function 14 to generate a virtual machine package setting file (step 1001).
  • the virtual machine package generation function 11 archives the virtual machine image and the virtual machine package setting file in an archive or a specific directory and creates a virtual machine package (step 1002).
  • a file corresponding to a specific directory is generated, and the header includes a file name, a file mode, a file owner name, a file size, file modification time information, checksum information, and link information.
  • the actual data is stored as one data together with its header.
  • the tar command which is a UNIX (registered trademark) archive command, can be used instead.
  • a compress, gzip, bzip2 command can also be used.
  • the created virtual machine package is stored in a predetermined storage location (step 1003). Specifically, the virtual machine package data generated by the command is stored in a specific directory.
  • FIG. 5 is a flowchart for explaining the operation of generating a virtual machine package setting file.
  • the setting information program analysis unit 21 is used in the target system 2 to extract network settings and communication relationships of the OS and applications that operate in the target system (step 2000).
  • An example of the analysis result in the case of having three target systems A, B, and C is shown in FIG.
  • FIG. 7 shows that application A calls application B and application B calls application C.
  • an analysis result is collected by the analysis information collection unit 141 (step 2001).
  • the collected analysis results are input to the graph structure conversion unit 142, and the dependency relationship of the target system is converted into a graph structure (step 2002).
  • the graph structure shown in FIG. 8 is obtained based on the calling relationship of applications.
  • one system is defined as one node, one edge that connects nodes as one connection relationship between systems, and each system shown as a node shown in FIG. 6 is defined as an edge.
  • This is a program that displays a graph abstracted as the connection shown.
  • the contracted graph generation unit 143 generates a contracted graph in which nodes are contracted so as to reduce the number of edges (edges) (2003).
  • the target system A and the target system B are contracted with respect to FIG. 8, and only the edges connecting the target system B and the target system C are left.
  • the problem is solved using a heuristic technique for obtaining an approximate solution.
  • an approximate solution is calculated from a subroutine using a heuristic technique.
  • FIG. 9 A case where the contracted graph shown in FIG. 9 is obtained as an example of the contracted graph will be described.
  • the target system A and the target system B are contracted and expressed as one point.
  • the points of the generated contracted graph are handled as one virtual machine package, and the virtual machine package setting file generation unit 144 generates a virtual machine package setting file (2004).
  • FIG. 1 An example of a virtual machine package setting file is shown in FIG.
  • the setting file of the virtual machine package AB including the target system A and the target system B, each system is contracted and the IP address of the virtual machine package and the VLAN ID are set.
  • setting items of an address and a port for communicating with the application C are added. This is a setting necessary for application B to communicate with application C.
  • the dependency relationship of the target system for generating the virtual machine package is analyzed, a graph structure is created based on the analysis result, a reduced graph is generated so that the number of edges is reduced, and the virtual machine package is generated. Since the configuration file is generated by cutting out the candidates, the dependency between the virtual machine packages can be reduced.
  • FIG. 11 shows the configuration of the virtual machine package setting file generation function 14 in the best mode for carrying out the second invention of the present invention.
  • the virtual machine package setting file generation function is configured such that the graph structure conversion unit 142 refers to the network performance information storage unit 145 and weights the edges of the graph.
  • the network performance information storage unit 145 stores information related to network performance between target systems (bandwidth, communication traffic statistics, etc.).
  • FIG. 12 is a flowchart showing the operation of the best mode for carrying out the second invention of the present invention.
  • the setting information program analysis unit 21 is used in the target system 2 to extract network settings and communication relationships of the operating system and applications that operate in the target system (step 3000).
  • an analysis result is collected by the analysis information collecting unit 141 (step 3001).
  • the collected analysis results are input to the graph structure conversion unit 142, and the dependency relationship of the target system is converted into a graph structure (step 3002).
  • relative weighting is performed on the edges of the graph. For example, when there is network performance information as shown in FIG. 13, the edges are weighted as shown in FIG. Edge weighting is determined with reference to network performance information such as the network transfer rate. Furthermore, it may be performed based on the number of setting items.
  • the contracted graph generation unit 143 performs graph contraction so as to minimize the edge weight (step 3004). An example of the generated contracted graph is shown in FIG. In order to minimize the weight, nodes having edges (sides) having a large weight are contracted.
  • a virtual machine package setting file is generated (step 2005).
  • the procedure for generating the entire virtual machine package is the same as the method shown in FIG.
  • a graph edge is weighted based on network performance information, and the graph contraction is performed so as to minimize the edge weight.
  • the load can be reduced.
  • the amount of communication between the physical servers can be reduced.
  • FIG. 16 shows the configuration of the virtual machine package setting file generation function of the best mode for carrying out the third invention of the present invention.
  • the virtual machine package setting file generation function 14 is configured such that the graph structure conversion unit 142 refers to the server performance information storage unit 146 and weights the points of the graph.
  • the contracted graph generation unit 143 is configured to refer to the physical server constraint storage unit 147 and contract the graph in accordance with the performance of the distribution destination physical server.
  • the server performance information storage unit 146 stores information on the server performance of the target system (CPU usage rate, CPU specifications, memory capacity, memory usage, disk bandwidth, etc.).
  • the physical server constraint storage unit stores performance information (number of operable virtual machines, CPU specifications, memory capacity, etc.) of the physical server to be distributed.
  • FIG. 17 is a flowchart showing the operation of the best mode for carrying out the third invention of the present invention.
  • the setting information program analysis unit 21 is used in the target system 2 to extract network settings and communication relationships of the OS and applications that operate in the target system (step 4000).
  • an analysis result is collected by the analysis information collecting unit 141 (step 4001).
  • the collected analysis results are input to the graph structure conversion unit 142, and the dependency relationship of the target system is converted into a graph structure (step 4002).
  • relative weighting is performed on the points of the graph. For example, when there is server performance information as shown in FIG. 18, the points are weighted as shown in FIG. 19 (step 4003).
  • the contracted graph generation unit 143 refers to the physical server constraint storage unit 147, and contracts the graph within a range in which the weight of each point does not become larger than the specified value (step 4004).
  • the relative processing capacity of the distribution-destination physical machine is estimated to be 1.0, so that the weight of each point in the reduced graph is 1.0 or less. Perform graph reduction by range.
  • An example of the generated contracted graph is shown in FIG.
  • a virtual machine package setting file is generated (step 4005).
  • the procedure for generating the entire virtual machine package is the same as the method shown in FIG.
  • the points of the graph are weighted based on the performance information of the server, and the weights of the points of the reduced graph are limited based on the performance information of the physical server of the distribution destination. Since the contracted graph is generated, a virtual machine package that can be accommodated in one physical server can be generated. When the virtual machine package fits in the physical server, the dependency in the virtual machine package does not need to be considered at the time of distribution, so that the virtual machine package can be easily distributed.
  • Target system shows an example in which the Web application system shown in FIG. 22 is divided and stored as a virtual machine package.
  • Target system consists of two Web application systems. Both web application systems accept requests from clients via the load balancer 500.
  • the line between each server represents the server calling relationship.
  • the Web server 501 calls an AP (application) server 505, and the AP server 505 calls a DB server 507.
  • the virtual machine image generation function 12 generates a virtual machine image of each server constituting the Web application system. Assuming that the load balancer is also realized as a software load balancer, a virtual machine image is generated.
  • each server is represented by a point, and the dependency between servers is represented by an edge.
  • points are weighted based on the processing amount of each server. For example, the processing amount of each server is relatively evaluated based on the maximum value of the CPU usage rate for the past month. A graph after weighting the points is shown in FIG.
  • the size of the virtual machine package is limited to a certain amount. Specifically, the contraction is performed so that the weight of each point of the contract graph is 1.0 or less.
  • the problem can be formulated as a bin packing problem in which each virtual machine is packed in a virtual machine package, and an approximate solution can be obtained by an approximation algorithm called First-Fit reduction algorithm.
  • FIG. 25 shows a flowchart for dividing the target system by the minimum number of packages using the First-Fit reduction algorithm without considering the dependency.
  • each device is weighted.
  • file server 0.6
  • DB server 0.5
  • AP server 2 0.4
  • AP server 1 0.4
  • Web server 3 0.4
  • Web server 4 0.4
  • AP server 3 0.3
  • Web server 2 0.3
  • Web server 1 0.3
  • Load balancer 0.2 ing.
  • the virtual machine image generation function 12 sorts these devices in the order of their weight values (contracted values) (5000).
  • the process transitions to step 5002 again. If there is no device with the largest contracted value, there is no device to be divided, and the virtual package dividing step is completed (5010). On the other hand, if there is a device with the largest contracted value, it is determined whether or not there is a virtual package that accommodates the device with the largest contracted value among the currently existing virtual packages (5004).
  • the maximum contractible value of the virtual package is set to 1.0. A plurality of devices are already stored in the virtual package, and the value obtained by subtracting the sum of the contracted values of the stored devices from the maximum retractable value of 1.0 is larger than the maximum contracted value of the current contracted value. If it is larger, it can be stored, and the device with the maximum current contraction value is stored in the existing virtual package (5008). Therefore, the process transitions to step 5002 again.
  • FIG. 26 shows a result of cutting out virtual machine package candidates by applying the First-Fit reduction algorithm.
  • the number of virtual machine packages is 4 and the minimum value is achieved. At this time, the dependency between virtual machine packages, that is, the number of sides is 9.
  • the target Web application system can be reproduced in a different environment using the virtual machine image and the virtual machine package setting file.
  • the setting work at the time of virtual machine package distribution can be reduced.
  • the virtual machine package is arranged on one physical server, the network load between the physical servers is reduced due to less dependency between the virtual machine packages.
  • FIG. 29 shows a configuration and a setting file when the generated virtual machine package is distributed and reproduced in a 172.16.0.0/24 network system.
  • the IP address and VLAN ID of the virtual machine package are changed according to the distribution target system. It is necessary to change the settings related to application communication as the address changes. Communication within the virtual machine package can be realized without changing the address by a virtual switch provided by the virtualization function.
  • the virtual switch is configured with NAT settings and VLAN ID settings to match the distribution target system.
  • Example 2 in the first embodiment, in the method of dividing the target system with the minimum number of packages, the virtual package is divided under a condition that the weight of each point of the reduced graph is 1.0 or less.
  • FIG. 30 shows a flowchart for dividing the target system into virtual packages when the weighting is set to a predetermined value or less.
  • the First-Fit reduction algorithm can be applied and divided into virtual machine packages with arbitrary weighting. All of the values of A can be fixed values, and can be changed for each package.
  • the present invention can be applied to an application such as disaster recovery in which a broken system is reproduced at another place in a large-scale disaster.
  • the system constructed in a test environment can be used for the purpose of shifting to a real environment as it is.
  • system construction After system construction, it can be applied to applications such as system construction in a new environment based on examples of systems for which stable operation has been confirmed.
  • the present invention relates to a virtual machine package generation system, a virtual machine package generation method, and a virtual machine package generation program, and in particular, when generating a plurality of virtual machine packages from a built system, the dependency relationship between virtual machine packages is determined.
  • Reduced and highly reusable virtual machine package generation system that can generate virtual machine package generation method, virtual machine package generation method, and virtual machine package generation program It is possible and there is no limitation on the possibility of its use.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 分散システムから仮想マシンパッケージを生成する際に、仮想マシンパッケージ間の依存関係を可能な限り削減する仮想マシンパッケージ生成方法を提供する。  対象とするコンピュータシステムの構成と接続関係から仮想マシンイメージを生成する仮想マシンイメージ生成機能と、対象とするコンピュータシステム間の依存関係を解析して仮想マシンパッケージの設定ファイルを生成する仮想マシンパッケージ設定ファイル生成機能と、仮想マシンイメージと仮想マシンパッケージ設定ファイルを仮想マシンパッケージとして格納する仮想マシンパッケージ生成機能とからなる。

Description

仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム
 本発明は、仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成用プログラムに関し、特に構築済みのシステムから複数の仮想マシンパッケージを生成する際に仮想マシンパッケージ間の依存関係を削減し、再利用性の高い仮想マシンパッケージを生成できる仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成用プログラムに関する。
 本発明に関する現時点での技術水準をより十分に説明する目的で、本願で引用され或いは特定される特許、特許出願、特許公報、科学論文等の全てを、ここに、参照することでそれらの全ての説明を組入れる。
 仮想マシン技術は、1つのコンピュータハードウェア(物理マシン)上でソフトウェアによって擬似的なコンピュータハードウェアを複数作り出すことを可能にする。擬似的なコンピュータハードウェアを仮想マシンと呼ぶ。仮想マシンは、物理マシンと同様に、オペレーティングシステム(OS)やアプリケーションプログラム(アプリケーション)を動作させることができる。OSやアプリケーションは物理マシンのハードウェア構成に依存せず、仮想マシン実行環境を備える様々な物理マシン上で実行可能となる。
 OSやアプリケーションをインストール済みの仮想マシンは仮想マシンフォーマット形式によって保存して再利用することができる。非特許文献1では、仮想マシン実行環境であるVMware ESX Serverの仮想マシンディスクフォーマット形式VMDKが示されている。VMDKで保存された仮想マシンは別のVMware ESX Serverの環境に配布することで再現することができる。
 このような仮想マシンの保存・再現技術は、様々な産業上の応用が期待される。例えば、大規模災害時に壊れたシステムを別の場所で再現するディザスタリカバリへの応用が期待できる。また、システム構築の際に、テスト環境で構築したシステムをそのまま実環境に移行させる用途にも利用できる。
 しかし、一般的な企業システムやデータセンタは、複数のコンピュータがネットワークで接続された分散システムであるため、仮想マシンによるコンピュータの保存・再現技術だけでは十分ではない。1つのコンピュータ上で動作するOSやアプリケーションの構成だけでなく、ネットワーク設定やアプリケーション通信などの分散システムとしての構成も保存して再現しなければならない。
 そこで、複数の仮想マシンを分散システムとしての構成情報も含んだ形でパッケージ化し、仮想マシンパッケージとして保存する手法が考えられている。仮想マシンパッケージのフォーマットはDMTF(Distributed Management Task Force)のOVF(Open Virtual Machine Format)として標準化が進められている。OVFではフォーマット形式を定めてはいるが、分散システムをどのように分割してパッケージ化するかは規定していない。
VMware Virtual Disk Format 1.0, http://www.vmware.com/interfaces/vmdk.html OVF: Open Virtual Machine Format Specification, http://www.vmware.com/pdf/ovf_spec_draft.pdf 特開2001-5865号公報 特開2006-293592号公報 特開2007-158870号公報 特開平8-69364号公報
 すでに、仮想マシンに関しては、特許文献1乃至特許文献4などが開示されているが以下の課題については解決されていない。
 発明が解決しようとする課題は以下の通りである。
 第1の問題点は分散システムから生成された仮想マシンパッケージは、パッケージとしての再利用性が低く、配布時に多くの設定作業を必要とすることである。
その理由は、分散システムから仮想マシンパッケージに分割する際に、多くの仮想マシンパッケージ間の依存関係が残るため、配布先の環境に合わせて依存関係を解決するための設定作業が必要となるためである。
 第2の問題点は分散システムから1つの物理マシンで動作することを前提に生成された仮想マシンパッケージは、配布先のネットワークに大きな負荷をかけることである。その理由は、分散システムから仮想マシンパッケージに分割する際に、多くの仮想マシンパッケージ間の依存関係が残るため、配布先のネットワークでの通信が必要となるためである。
 そこで、本発明の目的は、分散システムから仮想マシンパッケージを生成する際に、仮想マシンパッケージ間の依存関係を可能な限り削減する仮想マシンパッケージ生成方法を提供することである。
 上記の課題を解決すべく本発明に係る仮想マシンパッケージ生成システムは、仮想マシンイメージ生成機能と仮想マシンパッケージ設定ファイル生成機能とを備え、仮想マシン設定ファイル生成機能は、対象システムで動作するプログラムや設定情報を解析した結果を収集する解析情報収集部、グラフ構造変換部、縮約グラフ生成部、仮想マシンパッケージ設定ファイル生成部を備え、対象システムの依存関係をグラフ構造化し、辺の重みを最小化するようにグラフの縮約を行い、仮想マシンパッケージの候補を切り出して、仮想マシンパッケージの設定ファイルを生成するように動作する。このような構成を採用し、仮想マシンパッケージ間の依存関係を削減することにより、本発明の目的を達成することができる。
 また、本発明に係る仮想マシンパッケージ生成方法は、対象とするコンピュータシステムの構成と接続関係から仮想マシンイメージを生成し、対象とするコンピュータシステム間の依存関係を解析して仮想マシンパッケージの設定ファイルを生成し、仮想マシンイメージと仮想マシンパッケージ設定ファイルを仮想マシンパッケージとして格納することを特徴とすることにより、本発明の目的を達成することができる。
 さらに、本発明に係るプログラムは、対象とするコンピュータシステムの構成と接続関係から仮想マシンイメージを生成する処理と、対象とするコンピュータシステム間の依存関係を解析して仮想マシンパッケージの設定ファイルを生成する処理と、仮想マシンイメージと仮想マシンパッケージ設定ファイルを仮想マシンパッケージとして格納する処理とをコンピュータに実行させることにより、本発明の目的を達成することができる。
 第1の効果は、仮想マシンパッケージの配布による分散システムの再現を迅速に処理できることである。
その理由は、仮想マシンパッケージ間の依存関係を削減できるため、配布先のシステム環境に合わせて設定変更を行わなければならない箇所を削減でき、設定作業時間を短縮できるためである。
 第2の効果は、仮想マシンパッケージの再利用性を高められることである。その理由は、仮想マシンパッケージ間の依存関係を削減できるため、少ない設定項目で異なるシステム上に仮想マシンパッケージを再現可能となるためである。
 第3の効果は、仮想マシンパッケージを1つの物理サーバ上に対応づけて配布する場合に、仮想マシンパッケージの配布先のネットワーク負荷を削減できることである。
その理由は、仮想マシンパッケージ間の依存関係を削減できるため、配布先のネットワークを介して通信する処理が削減されるためである。
本発明に係る第1の発明を実施するための最良の形態の構成を示すブロック図である。 本発明に係る第1の発明を実施するための最良の形態の仮想マシンパッケージの構成を示すブロック図である。 本発明に係る第1の発明を実施するための最良の形態の仮想マシンパッケージの構成を示すブロック図である。 本発明に係る第1の発明を実施するための最良の形態の仮想マシンパッケージ生成処理の動作を示す流れ図である。 本発明に係る第1の発明を実施するための最良の形態の仮想マシンパッケージ設定ファイル生成処理の動作を示す流れ図である。 本発明に係る第1の発明を実施するための最良の形態の対象システムの依存関係抽出方法の流れ図である。 本発明に係る第1の発明を実施するための最良の形態の対象システムの依存関係の解析結果の具体例を示す図である。 本発明に係る第1の発明を実施するための最良の形態の対象システムをグラフ構造に変換した具体例を示す図である。 本発明に係る第1の発明を実施するための最良の形態の対象システムを表すグラフ構造を縮約したグラフの構成を示す図である。 本発明に係る第1の発明を実施するための最良の形態の仮想マシンパッケージ設定ファイルの具体例を示す図である。 本発明に係る第2の発明を実施するための最良の形態の仮想マシンパッケージ設定ファイル生成機能の構成を示すブロック図である。 本発明に係る第2の発明を実施するための最良の形態の仮想マシンパッケージ生成処理の動作を示す流れ図である。 本発明に係る第2の発明を実施するための最良の形態のネットワーク性能情報の具体例を示す図である。 本発明に係る第2の発明を実施するための最良の形態の対象システムをグラフ構造に変換してネットワーク性能情報で辺に重み付けを行ったグラフの構成を示す図である。 本発明に係る第2の発明を実施するための最良の形態の対象システムを表すグラフ構造を縮約したグラフの構成を示す図である。 本発明に係る第3の発明を実施するための最良の形態の仮想マシンパッケージ設定ファイル生成機能の構成を示すブロック図である。 本発明に係る第3の発明を実施するための最良の形態の仮想マシンパッケージ生成処理の動作を示す流れ図である。 本発明に係る第3の発明を実施するための最良の形態のサーバ性能情報の具体例を示す図である。 本発明に係る第3の発明を実施するための最良の形態の対象システムをグラフ構造に変換してサーバ性能情報で点に重み付けを行ったグラフの構成を示す図である。 本発明に係る第3の発明を実施するための最良の形態の物理サーバ制約の具体例を示す図である。 本発明に係る第3の発明を実施するための最良の形態の対象システムを表すグラフ構造を縮約したグラフの構成を示す図である。 本発明の実施例の対象とするWebアプリケーションシステムの構成を示す図である。 本発明の実施例の対象とするシステムをグラフ構造に変換した図である。 本発明の実施例の対象とするシステムをサーバ性能情報に基づいて点に重み付けを行ったグラフ構造を示す図である。 本発明の実施例の対象とするシステムをサーバ性能情報に基づいて点に重み付けを行ったFFDアルゴリズムに従った流れ図である。 本発明の実施例の対象とするシステムを表すグラフに対し、Fist Fit減少アルゴリズムによってグラフを縮約した構成を示す図である。 本発明の実施例の対象とするシステムを表すグラフに対し、依存関係を削減するようにグラフ縮約を行った結果の構造を示す図である。 本発明の実施例の仮想マシンパッケージ設定ファイルの具体例を示す図である。 本発明の実施例で生成した仮想マシンパッケージを配布する際の具体例を示した図である。 本発明の第2の実施例の対象とするシステムをサーバ性能情報に基づいて点に重み付けを行ったグラフ構造を示す図である。
符号の説明
1 仮想マシンパッケージ生成システム
2 対象システム
11 仮想マシンパッケージ生成機能
12 仮想マシンイメージ生成機能
13 仮想マシンパッケージ格納部
14 仮想マシンパッケージ設定ファイル生成機能
21 設定情報・プログラム解析部
22 アプリケーションプログラム(アプリケーション)
23 オペレーティングシステム(OS)
131 仮想マシンパッケージ
132 仮想マシンイメージ
133 設定ファイル
141 解析情報収集部
142 グラフ構造変換部
143 縮約グラフ生成部
144 仮想マシンパッケージ設定ファイル生成部
145 ネットワーク性能情報格納部
146 サーバ性能情報格納部
147 物理サーバ制約格納部
500 ロードバランサ
501 Webサーバ
505 APサーバ
505 APサーバ
507 DBサーバ
 次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
 図1を参照すると、本発明の第1の実施の形態は、仮想マシンパッケージを生成するための仮想マシンパッケージ生成システム1と、対象となる分散システムを構成する複数の対象システム2から構成される。
 対象システム2はコンピュータ(中央処理装置;プロセッサ;データ処理装置)上で動作するオペレーティングシステム(OS)23とアプリケーションプログラム(アプリケーション)22を含み、OS23やアプリケーション22を構成するプログラムや設定情報を解析する設定情報・プログラム解析部21を備える。
 仮想マシンパッケージ生成システム1は仮想マシンパッケージ生成機能11、仮想マシンイメージ生成機能12、仮想マシンパッケージ格納部13、仮想マシンパッケージ設定ファイル生成機能14を含む。
 ここで、仮想マシンパッケージ生成システム1を1つのサーバ等の1つの中央演算素子と記憶素子を含むコンピュータで構成した場合の構成例を図2に示す。仮想マシンパッケージ生成システム1は、中央演算素子3とプログラムメモリと仮想マシンパッケージ格納部13とネットワークインターフェース5とから構成され、プログラムメモリ内に仮想マシンパッケージ生成機能11と仮想マシンイメージ生成機能12と仮想マシンパッケージ設定ファイル生成機能14とが格納される。また、ネットワークインターフェース5を介して対象システムAと接続される。これらの機能を有するプログラムは中央演算素子3と協同して動作する。
 さらに、仮想マシンパッケージ設定ファイル生成機能14は解析情報収集部141、グラフ構造変換部142、縮約グラフ生成部143、仮想マシンパッケージ設定ファイル生成部144を含む。
 これらの機能はそれぞれ概略つぎのように動作する。
 仮想マシンパッケージ生成機能11は仮想マシンイメージ生成機能12を利用して対象システム2の構成と接続関係から仮想マシンイメージを作成する。さらに、仮想マシンパッケージ設定ファイル生成機能14を利用して仮想マシンパッケージ設定ファイルを作成する。作成した仮想マシンイメージと仮想マシンパッケージ設定ファイルを仮想マシンパッケージとして仮想マシンパッケージ格納部13に格納する。図3は仮想マシンパッケージの一例を示している。仮想マシンパッケージ格納部13に格納される仮想マシンパッケージ131は、複数の仮想マシンイメージ132と、仮想マシンパッケージを配布して利用する際に設定する要素を記述した設定ファイル133で構成される。
 仮想マシン設定ファイル生成機能14では、解析情報収集部141が、複数の対象システム2の設定情報・プログラム解析部21から得られる対象システム間の依存関係に関する情報を集める。集めた情報はグラフ構造変換部142に入力され、対象システムの依存関係を点と線で表されるグラフ構造に変換する。縮約グラフ生成部143では、生成されたグラフ構造の縮約グラフを生成することで対象システムのグループ化を行い、仮想マシンパッケージの候補を抽出する。仮想マシンパッケージ設定ファイル生成部144では、生成された縮約グラフに基づいて、仮想マシンパッケージ間の依存関係を特定し、依存関係を解決するための設定要素を設定ファイルに記述する。
 この依存関係を抽出する依存関係抽出方法について図6を用いて説明する。まず、各サーバを識別するサーバ識別子情報を各サーバに格納されるシステムファイルからサーバ毎に抽出する。具体的には、ホスト名、IPアドレス、MACアドレス情報を抽出する(2200)。
 さらに、続いて各サーバより設定ファイルと、アプリケーションのソースファイルを抽出する(2202)。続いて、抽出された設定ファイルとソースファイルから2200で抽出したサーバ識別子情報を抽出して、どの設定ファイルとどのサーバに依存関係があり、また、どのアプリケーションとどのサーバに依存関係があるかを抽出する(2204)。サーバ毎に抽出を行い、残りのサーバが無くなるまで依存関係を抽出する(2206)。残りのサーバがあるうちは、工程2202より繰り返し、全てのサーバについて抽出したら完了となる(2208)。
 次に、図4、図5のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。はじめに、仮想マシンパッケージ生成機能11は仮想マシンイメージ生成機能12を利用し、対象システム2の仮想マシンイメージを作成する(図5のステップ1000)。仮想マシンイメージの生成は対象システム毎に行い、対象システムの数だけ仮想マシンイメージが生成される。
 仮想マシンイメージは、既存のシステムから仮想マシンイメージを生成する方法としては大きく以下の2つの方法がある。第1の方法は仮想化機能を利用して、対象とするシステムと同じ構成を持つ仮想マシンを1から再構築する方法である。具体的には、管理者が仮想マシンの仕様を策定し、その仕様に沿って管理者自らが設定ファイルを作成しながら完成する方法である。管理者がシステムの構築を詳細に把握している必要があり、構築にかかる工数も大きい。一方、第2の方法は、予め設定の拡張可能な仮想マシンであって必要な設定ファイルが準備された仮想マシンを、仮想マシンへ移行する物理サーバと並立して起動させて順次、物理サーバのデータを仮想マシンへコピーする方法である。この場合、必要情報を物理サーバから抽出しながら行うことで、管理者の工数を削減することができる。
 具体的に、第一に仮想マシンイメージ生成機能12は移行側装置に移行先仮想マシンを生成するためのデータすべてをインストールして移行先仮想マシンを生成する。
 仮想マシンイメージ生成機能12は移行元物理サーバと移行先仮想マシンにそれぞれのブート時の起動ファイルであるブートイメージシステムがインストールされる。
 移行元物理サーバと移行先仮想マシンはいずれも再起動され、両者が接続されるDHCPサーバからIPアドレスを取得する。続いて、仮想マシンイメージ生成機能12は、ブートイメージで移行元物理サーバから移行先仮想マシンへファイルを転送する。
 移行先仮想マシンは、ドライバ変換を含むシステム変更がなされる。前記ブートイメージシステムは削除されて完了する。
 次に、仮想マシンパッケージ生成機能11は仮想マシンパッケージ設定ファイル生成機能14を利用し、仮想マシンパッケージ設定ファイルを生成する(ステップ1001)。
 仮想マシンパッケージ生成機能11は仮想マシンイメージと仮想マシンパッケージ設定ファイルをアーカイブまたは特定のディレクトリに収め、仮想マシンパッケージとする(ステップ1002)。
 具体的には、特定のディレクトリに対応するファイルを生成し、そのヘッダーにはファイルネームとファイルモードとファイルオーナ名とファイルサイズとファイル修正時間情報とチェックサム情報とリンク情報とまとめる各ファイル名とが記載され、実データがそのヘッダーとともに一つのデータとして保存される。例えば、UNIX(登録商標)の書庫用コマンドであるtarコマンドを代用することもできる。圧縮する場合は、compress,gzip,bzip2コマンドを用いることもできる。
 さらに、作成した仮想マシンパッケージを所定の格納場所に格納する(ステップ1003)。具体的には、前記コマンドで生成した仮想マシンパッケージデータを特定のディレクトリに格納する。
 図5は仮想マシンパッケージ設定ファイル生成の動作を説明するためのフローチャートである。はじめに、対象システム2で設定情報プログラム解析部21を利用して、対象システムで動作するOSやアプリケーションのネットワーク設定や通信関係を抽出する(ステップ2000)。3つの対象システムA、B、Cを持つ場合の解析結果の例を図7に示す。この例では、図7は、アプリケーションAがアプリケーションBを呼び出し、アプリケーションBがアプリケーションCを呼び出す関係にあることを示している。
 次に解析情報収集部141によって、解析結果を収集する(ステップ2001)。
 また、収集された解析結果はグラフ構造変換部142に入力され、対象システムの依存関係をグラフ構造に変換する(ステップ2002)。図7の例では、アプリケーションの呼び出し関係に基づき、図8に示すグラフ構造が得られる。具体的には1つのシステムを1つのノードと定義し、システム同士の1つの結合関係としてノード同士を結合する1つのエッジと定義して、図6に示されるノードとして示される各システムをエッジで示される結線として抽象化されたグラフ表示させるプログラムである。
 さらに、縮約グラフ生成部143によって、辺(エッジ)の数を削減するようにノードを縮約した縮約グラフを生成する(2003)。図9では図8に対して対象システムAと対象システムBを縮約して対象システムBと対象システムCを結合するエッジのみを残すものである。
 辺の数を最小化する縮約グラフの生成は最適化問題として定式化できるため、近似解を求めるためのヒューリスティック手法などを用いて問題を解く。ここでは、ヒューリスティック手法を用いたサブルーチンから近似解を算出する。縮約グラフの例として図9に示す縮約グラフが得られた場合について説明する。この例では対象システムAと対象システムBが縮約されて一つの点として表現されている。生成された縮約グラフの点を一つの仮想マシンパッケージとして扱い、仮想マシンパッケージ設定ファイル生成部144によって仮想マシンパッケージ設定ファイルを生成する(2004)。
 仮想マシンパッケージの設定ファイルの例を図10に示す。対象システムAと対象システムBを含む仮想マシンパッケージABの設定ファイルには、各システムが縮約されて仮想マシンパッケージのIPアドレスと、VLAN IDとが設定される。その他の項目に、アプリケーションCと通信するためのアドレスとポートの設定項目が追加される。これは、アプリケーションBがアプリケーションCと通信するために必要な設定である。
 次に、本実施の形態の効果について説明する。
 本実施の形態では、仮想マシンパッケージを生成する対象システムの依存関係を解析し、解析結果に基づいてグラフ構造を作成し、辺の数が少なくなるように縮約グラフを生成し、仮想マシンパッケージの候補を切り出して設定ファイルを生成するように構成されているため、仮想マシンパッケージ間の依存関係を削減できる。
 次に、本発明の第2の発明を実施するための最良の形態について図面を参照して詳細に説明する。
 図11は本発明の第2の発明を実施するための最良の形態の仮想マシンパッケージ設定ファイル生成機能14の構成を示している。仮想マシンパッケージ設定ファイル生成機能は、グラフ構造変換部142がネットワーク性能情報格納部145を参照し、グラフの辺に重み付けを行うように構成されている。ネットワーク性能情報格納部145は、対象システム間のネットワーク性能に関する情報(帯域、通信量の統計値など)を格納する。
 図12は本発明の第2の発明を実施するための最良の形態の動作を示すフローチャートである。
まず、対象システム2で設定情報プログラム解析部21を利用して、対象システムで動作するオペレーティングシステムやアプリケーションのネットワーク設定や通信関係を抽出する(ステップ3000)。
 次に解析情報収集部141によって、解析結果を収集する(ステップ3001)。
 収集された解析結果はグラフ構造変換部142に入力され、対象システムの依存関係をグラフ構造に変換する(ステップ3002)。
 次にネットワーク性能情報格納部145に格納されたネットワーク性能情報に基づいて、グラフの辺に相対的な重み付けを行う。例えば、図13のようなネットワーク性能情報があった場合は、図14のように辺に重み付けを行う。辺の重み付けは、ネットワークの転送速度等のネットワーク性能情報を参照して決定する。さらに、設定項目の数に基づいて行っても良い。重み付けされたグラフに対し、縮約グラフ生成部143は辺の重みを最小化するようにグラフ縮約を行う(ステップ3004)。生成された縮約グラフの例を図15に示す。重みを最小化するため、重みの大きなエッジ(辺)を有するノード同士を縮約している。
 生成された縮約グラフに基づいて、仮想マシンパッケージの設定ファイルを生成する(ステップ2005)。仮想マシンパッケージ全体の生成手順は、図4に示した方法と同じである。
 次に、本発明を実施するための最良の形態の効果について説明する。本発明を実施するための最良の形態では、ネットワークの性能情報に基づいてグラフの辺に重み付けを行い、辺の重みを最小化するようにグラフ縮約を行うため、仮想マシンパッケージ配布時のネットワーク負荷を削減することができる。特に、仮想マシンパッケージを一つに物理サーバに配布する場合、物理サーバ間の通信量を削減することができる。
 次に、本発明の第3の発明を実施するための最良の形態について図面を参照して詳細に説明する。
 図16は本発明の第3の発明を実施するための最良の形態の仮想マシンパッケージ設定ファイル生成機能の構成を示している。仮想マシンパッケージ設定ファイル生成機能14は、グラフ構造変換部142がサーバ性能情報格納部146を参照し、グラフの点に重み付けを行うように構成されている。さらに、縮約グラフ生成部143が物理サーバ制約格納部147を参照し、配布先の物理サーバの性能に合わせてグラフの縮約を行うように構成されている。サーバ性能情報格納部146は、対象システムのサーバ性能に関する情報(CPU利用率、CPUスペック、メモリ容量、メモリ利用量、ディスク帯域など)を格納する。物理サーバ制約格納部には、配布対象の物理サーバの性能情報(稼働可能な仮想マシンの数、CPUスペック、メモリ容量など)を格納する。
 図17は本発明の第3の発明を実施するための最良の形態の動作を示すフローチャートである。
はじめに、対象システム2で設定情報プログラム解析部21を利用して、対象システムで動作するOSやアプリケーションのネットワーク設定や通信関係を抽出する(ステップ4000)。
 次に解析情報収集部141によって、解析結果を収集する(ステップ4001)。
 また、収集された解析結果はグラフ構造変換部142に入力され、対象システムの依存関係をグラフ構造に変換する(ステップ4002)。
 更に、サーバ性能情報格納部145に格納されたサーバ性能情報に基づいて、グラフの点に相対的な重み付けを行う。例えば、図18のようなサーバ性能情報があった場合は、図19のように点に重み付けを行う(ステップ4003)。
 重み付けされたグラフに対し、縮約グラフ生成部143は物理サーバ制約格納部147を参照し、各点の重みが指定した値より大きくならない範囲でグラフの縮約を行う(ステップ4004)。例えば、図20に示す物理マシン制約情報があった場合、配布先の物理マシンの相対的な処理能力は1.0と見積もれるため、縮約グラフの各点の重みが1.0以下となる範囲でグラフの縮約を行う。生成された縮約グラフの例を図21に示す。
 生成された縮約グラフに基づいて、仮想マシンパッケージの設定ファイルを生成する(ステップ4005)。仮想マシンパッケージ全体の生成手順は、図4に示した方法と同じである。
 次に、本発明を実施するための最良の形態の効果について説明する。本発明を実施するための最良の形態では、サーバの性能情報に基づいてグラフの点に重み付けを行い、配布先の物理サーバの性能情報に基づいて、縮約グラフの点の重みに制約を設けて縮約グラフを生成するため、一つの物理サーバに収まる仮想マシンパッケージを生成することができる。仮想マシンパッケージが物理サーバ内に収まる場合、仮想マシンパッケージ内の依存関係は配布時に考慮する必要はないため、仮想マシンパッケージの配布が容易になる。
(実施例1)
 次に、具体的な実施例を用いて本発明を実施するための最良の形態の動作を説明する。
 図22に示すWebアプリケーションシステムを仮想マシンパッケージとして分割して保存する例を示す。 対象とするシステムは2つのWebアプリケーションシステムで構成される。どちらのWebアプリケーションシステムもロードバランサ500を介してクライアントからのリクエストを受け付ける。各サーバの間の線はサーバの呼び出し関係を表している。例えば、Webサーバ501はAP(アプリケーション)サーバ505を呼び出し、APサーバ505はDBサーバ507を呼び出す。
 はじめに、仮想マシンイメージ生成機能12によって、Webアプリケーションシステムを構成する各サーバの仮想マシンイメージを生成する。ロードバランサもソフトウェアロードバランサとして実現されていることを想定し、仮想マシンイメージを生成する。
 次に、各サーバおよびロードバランサの設定情報やプログラムを解析し、サーバやアプリケーション間の依存関係を抽出する。この情報をもとにグラフ構造に変換した結果、図23の構成が得られたとする。各サーバは点で表され、サーバ間の依存関係が辺で表される。さらに、ここでは、各サーバの処理量に基づいて、点に重み付けを行う。例えば、過去一ヶ月間のCPU利用率の最大値に基づいて、各サーバの処理量を相対的に評価する。点に重み付けを行った後のグラフを図24に示す。
 ここで、グラフを縮約する際の制約を設ける。仮想マシンパッケージを一つの物理サーバに配備することを想定し、仮想マシンパッケージの大きさを一定量に制限する。具体的には、縮約グラフの各点の重みが1.0以下となるように、縮約を行うこととする。
 はじめに、依存関係を考慮せず、最小のパッケージ数で対象システムを分割する手法を示す。問題は、仮想マシンパッケージに各仮想マシンを詰めていくビンパッキング問題として定式化でき、First-Fit減少アルゴリズムという近似アルゴリズムによって近似解を求めることができる。
 ここで、First-Fit減少アルゴリズムを用い、依存関係を考慮せず、最小のパッケージ数で対象システムを分割する流れ図を図25に示す。
 まず、図24に示されるように、各装置に重み付けがなされて、ここでは、ファイルサーバ:0.6、DBサーバ:0.5、APサーバ2:0.4、APサーバ1:0.4、Webサーバ3:0.4、Webサーバ4:0.4、APサーバ3:0.3、Webサーバ2:0.3、Webサーバ1:0.3、ロードバランサ:0.2と設定されている。まず、仮想マシンイメージ生成機能12は、これらの装置をその重み付け値(縮約値)の順序にソートする(5000)。
 続いて、縮約値の最大の装置の有無を判定する(5002)。縮約値の最大の装置が無い場合は、分割すべき装置がないため、仮想パッケージの分割工程は完了する(5010)。他方、縮約値の最大の装置が有る場合は、現在存在する仮想パッケージのなかに、その縮約値の最大の装置を収納する仮想パッケージの有無を判定する(5004)。ここでは、仮想パッケージの最大収納可能縮約値を1.0と設定する。既に複数の装置が仮想パッケージに収納され、最大収納可能縮約値1.0から収納済装置の縮約値の和を差し引いた値が、現在の縮約値の最大の装置縮約値よりも大きければ収納可能となり、その既存の仮想パッケージに現在の縮約値の最大の装置を収納する(5008)。そこで、再び、5002工程へ遷移する。
 一方、最大収納可能縮約値1.0から収納済装置の縮約値の和を差し引いた値が、現在の縮約値の最大の装置縮約値よりも小さい場合は、新たな仮想パッケージを生成して、その内部に現在の縮約値の最大の装置を収納する(5006)。また、仮想パッケージが一つも生成されていない場合も新たな仮想パッケージを生成して、その内部に現在の縮約値の最大の装置を収納する。そこで、再び、5002工程へ遷移する。この結果として、First-Fit減少アルゴリズムを適用して仮想マシンパッケージの候補を切り出した結果を図26に示す。仮想マシンパッケージの数は4となり最小値が達成される。このとき、仮想マシンパッケージ間の依存関係、すなわち、辺の数は9となる。
 次に、依存関係を考慮し、グラフの縮約によって対象システムを分割する手法を示す。グラフに対して辺縮約を行うと、辺で示される依存関係が、一つの点の中に収められるため、依存関係を削減する効果がある。したがって、仮想マシンパッケージの大きさの制約の範囲で、辺縮約をできるだけ多く繰り返すことで、依存関係の少ない縮約グラフを生成できる。辺縮約によって得られた縮約グラフの一例を図27に示す。仮想マシンパッケージ数は4で最小であり、仮想マシンパッケージ間の依存関係の数は6となる。依存関係を考慮しない場合に比べて、依存関係の少ない仮想マシンパッケージを生成することができる。
 図27の縮約グラフに基づいて仮想マシンパッケージ設定ファイルを生成すると、図28のようになる。
 仮想マシンイメージと、仮想マシンパッケージ設定ファイルによって、別の環境で対象となるWebアプリケーションシステムを再現することができる。このとき、仮想マシンパッケージ間の依存関係が少ないため、仮想マシンパッケージ配布時の設定作業が少なくてすむ。また、仮想マシンパッケージを一つの物理サーバに配置するので、仮想マシンパッケージ間の依存関係が少ないことによって、物理サーバ間のネットワーク負荷も削減される。
 図29は生成した仮想マシンパッケージを172.16.0.0/24のネットワークのシステムに配布して再現する際の構成と設定ファイルを示している。仮想マシンパッケージのIPアドレスやVLAN IDは配布対象のシステムに合わせて変更される。アドレスの変更に伴い、アプリケーション通信に関する設定を変更する必要がある。仮想マシンパッケージ内の通信は、仮想化機能が提供する仮想スイッチによって、アドレス変更なしに実現できる。仮想スイッチには配布対象のシステムに適合させるためのNATの設定やVLAN IDの設定を行う。
(実施例2)
 ここで、実施例1では最小のパッケージ数で対象システムを分割する手法において、縮約グラフの各点の重みが1.0以下となるように規定した条件で仮想パッケージを分割した。
 しかし、仮想パッケージを展開する物理的環境によっては、必ずしも全ての縮約グラフの各点の重みが1.0以下となるわけではない。その重み付けを予め定めた値以下としたり、生成される仮想パッケージ毎に重み付けを変更することで、物理的環境やサーバ資源に適合した仮想パッケージを生成することができる。以下に重み付けを予め定めた値以下とした場合の対象システムを仮想パッケージに分割する流れ図を図30に示す。
 縮約値の最大の装置の有無を判定する(6002)。縮約値の最大の装置が無い場合は、分割すべき装置がないため、仮想パッケージの分割工程は完了する(6010)。他方、縮約値の最大の装置が有る場合は、現在存在する仮想パッケージのなかに、その縮約値の最大の装置を収納する仮想パッケージの有無を判定する(6004)。ここでは、仮想パッケージの最大収納可能縮約値をAと設定する。既に複数の装置が仮想パッケージに収納され、最大収納可能縮約値Aから収納済装置の縮約値の和を差し引いた値が、現在の縮約値の最大の装置縮約値よりも大きければ収納可能となり、その既存の仮想パッケージに現在の縮約値の最大の装置を収納する(6008)。そこで、再び、6002工程へ遷移する。
 一方、最大収納可能縮約値Aから収納済装置の縮約値の和を差し引いた値が、現在の縮約値の最大の装置縮約値よりも小さい場合は、新たな仮想パッケージを生成して、その内部に現在の縮約値の最大の装置を収納する(6006)。また、仮想パッケージが一つも生成されていない場合も新たな仮想パッケージを生成して、その内部に現在の縮約値の最大の装置を収納する。そこで、再び、6002工程へ遷移する。この結果として、First-Fit減少アルゴリズムを適用して仮想マシンパッケージに任意の重み付けで分割することができる。このAの値はすべて一定値とすることもでき、また、パッケージ毎に変更することができる。
 本発明によれば、大規模災害時に壊れたシステムを別の場所で再現するディザスタリカバリといった用途に適用できる。また、システム構築の際に、テスト環境で構築したシステムをそのまま実環境に移行させるといった用途にも利用できる。
 さらに、システム構築後、安定動作の確認されたシステムの事例をベースに、新しい環境でシステム構築を行うといった用途に適用できる。
 本発明は、仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成用プログラムに関し、特に、特に構築済みのシステムから複数の仮想マシンパッケージを生成する際に仮想マシンパッケージ間の依存関係を削減し、再利用性の高い仮想マシンパッケージを生成できる仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成用プログラムに適用して有効な技術に関するものであれば、あらゆるものに適用することが可能であり、その利用の可能性において何ら限定するものではない。
 幾つかの好適な実施の形態及び実施例に関連付けして本発明を説明したが、これら実施の形態及び実施例は単に実例を挙げて発明を説明するためのものであって、限定することを意味するものではないことが理解できる。本明細書を読んだ後であれば、当業者にとって等価な構成要素や技術による数多くの変更および置換が容易であることが明白であるが、このような変更および置換は、添付の請求項の真の範囲及び精神に該当するものであることは明白である。

Claims (18)

  1.  対象とするコンピュータシステムの構成と接続関係から仮想マシンイメージを生成する仮想マシンイメージ生成機能と、
     対象とするコンピュータシステム間の依存関係を解析して仮想マシンパッケージの設定ファイルを生成する仮想マシンパッケージ設定ファイル生成機能と、
     仮想マシンイメージと仮想マシンパッケージ設定ファイルを仮想マシンパッケージとして格納する仮想マシンパッケージ生成機能とからなり、
     対象とするコンピュータシステムから仮想マシンイメージを生成してコンピュータシステム間の依存関係より定まる最適な仮想マシンパッケージを生成してコンピュータシステムに前記仮想マシンパッケージを格納する仮想マシンパッケージ生成システム。
  2.  前記仮想マシンパッケージ設定ファイル生成機能は、
     対象とするコンピュータシステムの設定情報やプログラムを解析した結果を収集する解析情報収集部と、
     解析した結果から、コンピュータシステム間の依存関係をグラフ構造に変換するグラフ構造変換部と、
     グラフ構造を変換して縮約グラフを生成する縮約グラフ生成部と、
     縮約グラフに基づいて仮想マシンパッケージの候補を決定し、仮想マシンパッケージの設定要素を設定ファイルとして書き出す仮想マシンパッケージ設定ファイル生成部を含む請求項1記載の仮想マシンパッケージ生成システム。
  3.  前記仮想マシンパッケージ設定ファイル生成機能は、対象とするシステムのネットワークの性能情報を格納するネットワーク性能情報格納部を含み、ネットワーク性能情報を参照してグラフの辺に重み付けを行うグラフ構造変換部を含むことを特徴とする請求項2に記載の仮想マシンパッケージ生成システム。
  4.  前記仮想マシンパッケージ設定ファイル生成機能は、対象とするコンピュータシステムの性能情報を格納するサーバ性能情報格納部と、仮想マシンパッケージを配布する先のコンピュータシステムの性能情報を格納する物理サーバ制約格納部とを備え、サーバ性能情報格納部を参照してグラフの点に重み付けを行うグラフ構造変換部と、物理サーバ制約格納部を参照して、縮約グラフの点の重みに制限を設けて縮約グラフを生成する縮約グラフ生成部を備えることを特徴とする請求項2乃至3いずれか一つに記載の仮想マシンパッケージ生成システム。
  5.  前記縮約グラフの点の重みが一定値とすることで縮約グラフを生成する縮約グラフ生成部することで仮想パッケージを分割させる請求項4記載の仮想マシンパッケージ生成システム。
  6.  前記縮約グラフの点の重みがパッケージ毎に変更することとすることで縮約グラフを生成する縮約グラフ生成部することで仮想パッケージを分割させる請求項4記載の仮想マシンパッケージ生成システム。
  7.  対象とするコンピュータシステムの構成と接続関係から仮想マシンイメージを生成し、対象とするコンピュータシステム間の依存関係を解析して仮想マシンパッケージの設定ファイルを生成し、仮想マシンイメージと仮想マシンパッケージ設定ファイルを仮想マシンパッケージとして格納することを特徴とする仮想マシンパッケージ生成方法。
  8.  仮想マシンパッケージ設定ファイルの生成に際して、対象とするコンピュータシステムの設定情報やプログラムを解析した結果を収集し、解析した結果から、コンピュータシステム間の依存関係をグラフ構造に変換し、グラフの縮約によって仮想マシンパッケージの候補を抽出し、仮想マシンパッケージ間の依存関係を設定ファイルとして書き出すことを特徴とする請求項7に記載の仮想マシンパッケージ生成方法。
  9.  前記仮想マシンパッケージ設定ファイル生成方法は、さらに、対象とするシステムのネットワークの性能情報を格納するネットワーク性能情報格納部を参照し、グラフの点に重みづけを行ってグラフ構造を生成することを特徴とする請求項8記載の仮想マシンパッケージ生成方法。
  10.  前記仮想マシンパッケージ設定ファイル生成方法は、さらに、対象とするコンピュータシステムの性能情報を参照し、グラフの点に重み付けを行ってグラフ構造を生成し、仮想マシンパッケージを配布する先のコンピュータシステムの性能情報を参照し、縮約グラフの点の重みに制限を設けて縮約グラフを生成して仮想マシンパッケージの候補を抽出することを特徴とする請求項8または9記載の仮想マシンパッケージ生成方法。
  11.  前記縮約グラフの点の重みが一定値とすることで縮約グラフを生成する縮約グラフ生成部することで仮想パッケージを分割させる請求項10記載の仮想マシンパッケージ生成方法。
  12.  前記縮約グラフの点の重みがパッケージ毎に変更することとすることで縮約グラフを生成する縮約グラフ生成部することで仮想パッケージを分割させる請求項10記載の仮想マシンパッケージ生成方法。
  13.  対象とするコンピュータシステムの構成と接続関係から仮想マシンイメージを生成する処理と、対象とするコンピュータシステム間の依存関係を解析して仮想マシンパッケージの設定ファイルを生成する処理と、仮想マシンイメージと仮想マシンパッケージ設定ファイルを仮想マシンパッケージとして格納する処理とをコンピュータに実行させるためのプログラム。
  14.  仮想マシンパッケージ設定ファイルの生成に際して、対象とするコンピュータシステムの設定情報やプログラムを解析した結果を収集する処理と、解析した結果から、コンピュータシステム間の依存関係をグラフ構造に変換する処理と、グラフの縮約によって仮想マシンパッケージの候補を抽出する処理と、仮想マシンパッケージ間の依存関係を設定ファイルとして書き出す処理とをコンピュータに実行させることを特徴とする請求項13記載の仮想マシンパッケージ生成プログラム。
  15.  仮想マシンパッケージ設定ファイル生成に際し、さらに、対象とするシステムのネットワークの性能情報を格納するネットワーク性能情報格納部を参照する処理と、グラフの点に重みづけを行ってグラフ構造を生成する処理とをコンピュータに実行させることを特徴とする請求項14記載の仮想マシンパッケージ生成プログラム。
  16.  仮想マシンパッケージ設定ファイル生成に際し、さらに、対象とするコンピュータシステムの性能情報を参照する処理と、グラフの点に重み付けを行ってグラフ構造を生成する処理と、仮想マシンパッケージを配布する先のコンピュータシステムの性能情報を参照する処理と、縮約グラフの点の重みに制限を設けて縮約グラフを生成して仮想マシンパッケージの候補を抽出する処理とをコンピュータに実行させることを特徴とする請求項14または15記載の仮想マシンパッケージ生成プログラム。
  17.  前記縮約グラフの点の重みが一定値とすることで縮約グラフを生成する縮約グラフ生成部することで仮想パッケージを分割させる請求項16記載の仮想マシンパッケージ生成プログラム。
  18.  前記縮約グラフの点の重みがパッケージ毎に変更することとすることで縮約グラフを生成する縮約グラフ生成部することで仮想パッケージを分割させる請求項16記載の仮想マシンパッケージ生成プログラム。
PCT/JP2009/054342 2008-03-07 2009-03-06 仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム WO2009110616A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/920,768 US8615761B2 (en) 2008-03-07 2009-03-06 Virtual machine package generation system, virtual machine package generation method, and virtual machine package generation program
JP2010501990A JP5598762B2 (ja) 2008-03-07 2009-03-06 仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-058827 2008-03-07
JP2008058827 2008-03-07

Publications (1)

Publication Number Publication Date
WO2009110616A1 true WO2009110616A1 (ja) 2009-09-11

Family

ID=41056165

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/054342 WO2009110616A1 (ja) 2008-03-07 2009-03-06 仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム

Country Status (3)

Country Link
US (1) US8615761B2 (ja)
JP (1) JP5598762B2 (ja)
WO (1) WO2009110616A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013520749A (ja) * 2010-02-26 2013-06-06 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェーブを用いたオブジェクト・マイグレーションのためのシステム及び方法
JP2013152622A (ja) * 2012-01-25 2013-08-08 Ntt Data Corp 仮想マシン配置装置、仮想マシン配置方法
JP2013537340A (ja) * 2010-09-15 2013-09-30 クアルコム,インコーポレイテッド ポータブルコンピューティングデバイスのリソースを管理するためのシステムおよび方法
CN105867953A (zh) * 2015-01-21 2016-08-17 中国移动通信集团云南有限公司 应用程序升级包生成方法和应用程序升级方法及对应装置
JP2016201133A (ja) * 2010-07-09 2016-12-01 ステイト・ストリート・コーポレーション プライベート・クラウド・コンピューティングためのシステムおよび方法
US10235439B2 (en) 2010-07-09 2019-03-19 State Street Corporation Systems and methods for data warehousing in private cloud environment
US20190294613A1 (en) * 2010-07-09 2019-09-26 State Street Corporation Systems and Methods for Data Warehousing
WO2021024417A1 (ja) * 2019-08-07 2021-02-11 日本電信電話株式会社 更新装置、更新方法およびプログラム

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110016473A1 (en) * 2009-07-20 2011-01-20 Srinivasan Kattiganehalli Y Managing services for workloads in virtual computing environments
JP2011160298A (ja) * 2010-02-02 2011-08-18 Fujitsu Ltd ネットワークシステム、処理を提供するサーバの切替方法、処理を提供するサーバの切替プログラム、情報処理装置、仮想マシン構築方法および仮想マシン構築プログラム
US10514940B2 (en) * 2010-03-17 2019-12-24 Microsoft Technology Licensing, Llc Virtual application package reconstruction
US8953621B2 (en) 2010-09-10 2015-02-10 Futurewei Technologies, Inc. Specifying priority on a virtual station interface discovery and configuration protocol response
US8645950B2 (en) * 2011-06-28 2014-02-04 Microsoft Corporation Virtual machine image analysis
US8825864B2 (en) 2011-09-29 2014-09-02 Oracle International Corporation System and method for supporting a dynamic resource broker in a transactional middleware machine environment
US9971584B2 (en) * 2012-08-28 2018-05-15 VCE IP Holding Company LLC Packaged application delivery for converged infrastructure
US9256473B1 (en) * 2012-09-26 2016-02-09 Emc Corporation Provision a virtual environment based on topology of virtual nodes, node dependencies and base node configuration information
CN103970581B (zh) * 2013-01-24 2017-09-12 国际商业机器公司 创建虚拟资源包的方法和设备
FR3004554B1 (fr) * 2013-04-16 2015-06-05 Bull Sas Configuration d'une machine virtuelle par injection d'une image
CN106161402B (zh) * 2015-04-22 2019-07-16 阿里巴巴集团控股有限公司 基于云环境的加密机密钥注入系统、方法及装置
US10324701B1 (en) * 2015-08-21 2019-06-18 Amazon Technologies, Inc. Rapid deployment of computing instances
CN105511911B (zh) * 2015-11-27 2019-02-12 青岛海信移动通信技术股份有限公司 系统固件升级包的生成方法及装置
CN107077379B (zh) * 2016-04-25 2019-03-15 深圳前海达闼云端智能科技有限公司 一种虚拟机创建方法和装置
US9705978B1 (en) * 2016-07-01 2017-07-11 Red Hat Israel, Ltd. Dependency graph management
US10474508B2 (en) * 2017-07-04 2019-11-12 Vmware, Inc. Replication management for hyper-converged infrastructures
WO2019193752A1 (ja) * 2018-04-06 2019-10-10 三菱電機株式会社 システム構築支援装置、システム構築支援方法およびシステム構築支援プログラム
US11372654B1 (en) * 2019-03-25 2022-06-28 Amazon Technologies, Inc. Remote filesystem permissions management for on-demand code execution
US11915059B2 (en) * 2022-07-27 2024-02-27 Oracle International Corporation Virtual edge devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10149347A (ja) * 1996-11-20 1998-06-02 Toshiba Corp 資源割り当て方法及び資源割り当て装置
JP2000035957A (ja) * 1998-07-21 2000-02-02 Toshiba Corp タイミング合成・最適化装置及び方法並びにタイミング合成・最適化用プログラムを記録した記録媒体
JP2005332223A (ja) * 2004-05-20 2005-12-02 Ntt Data Corp 仮想マシン管理システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2630267B2 (ja) 1994-08-30 1997-07-16 日本電気株式会社 情報出力履歴提示装置
CA2166253C (en) * 1995-12-28 2000-02-08 Robert James Blainey Connectivity based program partitioning
JP3360654B2 (ja) 1999-06-17 2002-12-24 日本電気株式会社 データ削除装置
JP3870112B2 (ja) * 2002-03-13 2007-01-17 インターナショナル・ビジネス・マシーンズ・コーポレーション コンパイル方法、コンパイル装置、及びコンパイル用プログラム
US20050102667A1 (en) * 2003-11-10 2005-05-12 International Business Machines (Ibm) Corporation Generating summaries for software component installation
JP4515314B2 (ja) 2005-04-08 2010-07-28 株式会社日立製作所 計算機システムの構成再現方法
JP4622835B2 (ja) 2005-12-07 2011-02-02 株式会社日立製作所 仮想計算機システム及びそのネットワーク通信方法
US9213513B2 (en) * 2006-06-23 2015-12-15 Microsoft Technology Licensing, Llc Maintaining synchronization of virtual machine image differences across server and host computers
US20080016115A1 (en) * 2006-07-17 2008-01-17 Microsoft Corporation Managing Networks Using Dependency Analysis
US8234641B2 (en) * 2006-10-17 2012-07-31 Managelq, Inc. Compliance-based adaptations in managed virtual systems
US8327350B2 (en) * 2007-01-02 2012-12-04 International Business Machines Corporation Virtual resource templates

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10149347A (ja) * 1996-11-20 1998-06-02 Toshiba Corp 資源割り当て方法及び資源割り当て装置
JP2000035957A (ja) * 1998-07-21 2000-02-02 Toshiba Corp タイミング合成・最適化装置及び方法並びにタイミング合成・最適化用プログラムを記録した記録媒体
JP2005332223A (ja) * 2004-05-20 2005-12-02 Ntt Data Corp 仮想マシン管理システム

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013520749A (ja) * 2010-02-26 2013-06-06 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェーブを用いたオブジェクト・マイグレーションのためのシステム及び方法
US11301439B2 (en) 2010-02-26 2022-04-12 International Business Machines Corporation System and method for object migration using waves
US10664456B2 (en) 2010-02-26 2020-05-26 International Business Machines Corporation System and method for object migration using waves
US9141919B2 (en) 2010-02-26 2015-09-22 International Business Machines Corporation System and method for object migration using waves
US10235439B2 (en) 2010-07-09 2019-03-19 State Street Corporation Systems and methods for data warehousing in private cloud environment
JP2016201133A (ja) * 2010-07-09 2016-12-01 ステイト・ストリート・コーポレーション プライベート・クラウド・コンピューティングためのシステムおよび方法
US20190294613A1 (en) * 2010-07-09 2019-09-26 State Street Corporation Systems and Methods for Data Warehousing
US10671628B2 (en) * 2010-07-09 2020-06-02 State Street Bank And Trust Company Systems and methods for data warehousing
JP2013537340A (ja) * 2010-09-15 2013-09-30 クアルコム,インコーポレイテッド ポータブルコンピューティングデバイスのリソースを管理するためのシステムおよび方法
JP2013152622A (ja) * 2012-01-25 2013-08-08 Ntt Data Corp 仮想マシン配置装置、仮想マシン配置方法
CN105867953A (zh) * 2015-01-21 2016-08-17 中国移动通信集团云南有限公司 应用程序升级包生成方法和应用程序升级方法及对应装置
WO2021024417A1 (ja) * 2019-08-07 2021-02-11 日本電信電話株式会社 更新装置、更新方法およびプログラム
JPWO2021024417A1 (ja) * 2019-08-07 2021-02-11
JP7216888B2 (ja) 2019-08-07 2023-02-02 日本電信電話株式会社 更新装置、更新方法およびプログラム

Also Published As

Publication number Publication date
US20110035747A1 (en) 2011-02-10
JPWO2009110616A1 (ja) 2011-07-14
US8615761B2 (en) 2013-12-24
JP5598762B2 (ja) 2014-10-01

Similar Documents

Publication Publication Date Title
JP5598762B2 (ja) 仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム
US12074937B2 (en) Architecture for managing i/o and storage for a virtualization environment using executable containers and virtual machines
US11048560B2 (en) Replication management for expandable infrastructures
CN105025095B (zh) 实现云计算弹性服务的集群架构
US11403146B2 (en) Method, apparatus, and server for managing image across cloud servers
JP5680961B2 (ja) 物理イメージと仮想イメージの統合的な提供
US8627310B2 (en) Capturing multi-disk virtual machine images automatically
JP5139987B2 (ja) 拡張可能メタデータ
JP5085590B2 (ja) 仮想マシンをフォークまたはマイグレートするための方法
US11086662B2 (en) Method and system of migrating applications to a cloud-computing environment
US20150172106A1 (en) Virtualization of groups of devices
US20130173771A1 (en) Automated policy management in a virtual machine environment
US9742435B1 (en) Multi-stage data compression for time-series metric data within computer systems
US9141364B2 (en) Caching and analyzing images for faster and simpler cloud application deployment
CN102693230B (zh) 用于存储区域网络的文件系统
US10892960B1 (en) System and method of unifying and deploying a microservice-based application platform
US8027817B2 (en) Simulation management within a grid infrastructure
US8495178B1 (en) Dynamic bandwidth discovery and allocation to improve performance for backing up data
US10747638B2 (en) Computing memory health metrics
WO2017017937A1 (ja) 配備装置、配備方法、及び、記録媒体
JP5609527B2 (ja) ネットワーク仮想化システム、ノード、ネットワーク仮想化方法、及び、ネットワーク仮想化プログラム
CN117193936A (zh) 超融合架构下的虚拟机管理方法、装置及设备
US20130173780A1 (en) Resource throttling and automated policy management in a virtual machine enviromnent
CN112398668B (zh) 一种基于IaaS集群的云平台和节点的切换方法
JP5033095B2 (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: 09717827

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010501990

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 12920768

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09717827

Country of ref document: EP

Kind code of ref document: A1