US8615761B2 - Virtual machine package generation system, virtual machine package generation method, and virtual machine package generation program - Google Patents

Virtual machine package generation system, virtual machine package generation method, and virtual machine package generation program Download PDF

Info

Publication number
US8615761B2
US8615761B2 US12/920,768 US92076809A US8615761B2 US 8615761 B2 US8615761 B2 US 8615761B2 US 92076809 A US92076809 A US 92076809A US 8615761 B2 US8615761 B2 US 8615761B2
Authority
US
United States
Prior art keywords
virtual machine
package
graph
machine package
computer system
Prior art date
Legal status (The legal status 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 status listed.)
Active, expires
Application number
US12/920,768
Other languages
English (en)
Other versions
US20110035747A1 (en
Inventor
Fumio Machida
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Assigned to NEC CORPORATION reassignment NEC CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MACHIDA, FUMIO
Publication of US20110035747A1 publication Critical patent/US20110035747A1/en
Application granted granted Critical
Publication of US8615761B2 publication Critical patent/US8615761B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

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, virtual machine package generation method, and virtual machine package generation program, and more specifically relates to a virtual machine package generation system, virtual machine package generation method, and virtual machine package generation program that is able to decrease dependency relationships between virtual machine packages when generating a plurality of virtual machine packages from an already constructed system to generate highly reusable virtual machine packages.
  • Virtual machine technologies use software to enable creation of a plurality of pseudo computer hardware pieces on a single computer hardware (a physical machine).
  • the pseudo computer hardware is called a virtual machine.
  • the virtual machine is able to run an operating system (an OS) and an application program (an application) just like a physical machine.
  • An OS and an application can be executed on a variety of physical machines with a virtual machine environment, without depending on a hardware configuration of a physical machine.
  • Non-Patent Document 1 discloses VMDK that is a virtual machine disk format of a virtual machine runtime environment, VMware ESX Server. A virtual machine stored in VMDK can be reproduced by being distributed to another VMware ESX Server environment.
  • Such a storage and reproduction technique of a virtual machine is expected to be used in a variety of industrial applications.
  • the technique is expected to be applied to disaster recovery that reproduces a system damaged in a time of a large-scale disaster at another site.
  • the technique can be used for a purpose to transfer a system constructed in a test environment to a real environment as is.
  • a first problem is that a virtual machine package generated from a distributed system has low reusability as a package and requires a lot of setting tasks at the time of distribution thereof. This is attributable to a large number of dependency relationships between virtual machine packages that remain when dividing a distributed system into the virtual machine packages, thereby requiring setting tasks to solve the dependency relationships in accordance with the environment to which the packages are distributed.
  • a second problem is that a virtual machine package generated from a distributed system on the assumption to run on a single physical machine places a heavy load on a network to which the package is distributed. This is because a large number of dependency relationships between virtual machine packages remain when dividing a distributed system into virtual machine packages, thereby requiring communications in the network to which the packages are distributed.
  • the object of the invention is to provide a virtual machine generation method that minimizes the dependency relationships between virtual machine packages to the extent possible when generating virtual machine packages from a distributed system.
  • the virtual machine package generation system of the invention comprises a virtual machine image generation function and a virtual machine package setting file generation function;
  • the virtual machine setting file generation function comprises an analysis information collection unit that collects the result of analyzing a program running in a subject system and setting information thereof, a graph structure conversion unit, a contracted graph generation unit, and a virtual machine package setting file generation unit;
  • the virtual machine package generation system operates to structure the dependency relationships of subject systems in a graph, contract the graph to minimize the weight of the edges, capture virtual machine packages candidates, and generate a setting file of the virtual machine packages.
  • the object of the invention can be achieved by employing such a structure to decrease the dependency relationships between virtual machine packages.
  • the virtual machine package generation method of the invention generates a virtual machine image from the configuration and connection relationship of a subject computer system, analyzes the dependency relationships between subject computer systems, generates a virtual machine package setting file, and stores the virtual machine image and the virtual machine package setting file as a virtual machine package.
  • the program of the invention causes a computer to run processes of generating a virtual machine image from the configuration and connection relationship of a subject computer system, analyzing the dependency relationships between subject computer systems, generating a virtual machine package setting file, and storing the virtual machine image and virtual machine package setting file as a virtual machine package.
  • a first advantage is that the reproduction of a distributed system by way of distributing a virtual machine package can be processed promptly.
  • a second advantage is enhanced reusability of a virtual machine package. This is because the decrease in dependency relationships between virtual machine packages realizes reproduction of the virtual machine packages in a different system with a small number of setting items.
  • a third advantage is that when distributing a virtual machine package by associating the package to a single physical server, the network load of the system to which the virtual machine package is distributed can be decreased.
  • FIG. 1 is a block diagram showing the configuration of the best mode for carrying out a first aspect of the invention.
  • FIG. 2 is a block diagram showing the configuration of a virtual machine package of the best mode for carrying out the first aspect of the invention.
  • FIG. 3 is a block diagram showing the configuration of a virtual machine package of the best mode for carrying out the first aspect of the invention.
  • FIG. 4 is a flowchart showing the operation of a virtual machine package generation process of the best mode for carrying out the first aspect of the invention.
  • FIG. 5 is a flowchart showing the operation of a virtual machine package setting file generation process of the best mode for carrying out the first aspect of the invention.
  • FIG. 6 is a flowchart of a method for extracting the dependency relationships of subject systems of the best mode for carrying out the first aspect of the invention.
  • FIG. 7 is diagram showing an illustrative example of the analysis result of the dependency relationships of subject systems of the best mode for carrying out the first aspect of the invention.
  • FIG. 8 is a diagram showing an illustrative example in which subject systems of the best mode for carrying out the first aspect of the invention are converted into a graph structure.
  • FIG. 9 is a diagram showing a graph configuration in which the graph structure representing subject systems of best mode for carrying out the first aspect of the invention is contracted.
  • FIG. 10 is a diagram showing an illustrative example of virtual machine package setting files of the best mode for carrying out the first aspect of the invention.
  • FIG. 11 is a block diagram showing the configuration of a virtual machine package setting file generation function of the best mode for carrying out a second aspect of the invention.
  • FIG. 12 is a flowchart showing the operation of a virtual machine package generation process of the best mode for carrying out the second aspect of the invention.
  • FIG. 13 is a diagram showing an illustrative example of network resource information of the best mode for carrying out the second aspect of the invention.
  • FIG. 14 is a diagram showing the configuration of a graph in which subject systems of the best mode for carrying out the second aspect of the invention are converted into a graph structure and edge-weighted using the network resource information.
  • FIG. 15 is a diagram showing the configuration of a graph in which the graph structure representing subject systems of the best mode for carrying out the second aspect of the invention is contracted.
  • FIG. 16 is a block diagram showing the configuration of a virtual machine package setting file generation function of the best mode for carrying out a third aspect of the invention.
  • FIG. 17 is a flowchart showing the operation of a virtual machine package generation process of the best mode for carrying out the third aspect of the invention.
  • FIG. 18 is a diagram showing an illustrative example of server capacity information of the best mode for carrying out the third aspect of the invention.
  • FIG. 19 is a diagram showing the configuration of a graph in which subject systems of the best mode for carrying out the third aspect of the invention are converted into a graph structure and point-weighted using the network resource information.
  • FIG. 20 is a diagram showing an illustrative example of physical server limitations of the best mode for carrying out the third aspect of the invention.
  • FIG. 21 is a diagram showing the configuration of a graph in which the graph structure representing subject systems of the best mode for carrying out the third aspect of the invention is contracted.
  • FIG. 22 is a diagram showing the configuration of a Web application system that is a subject of the example of the invention.
  • FIG. 23 is a diagram in which a subject system of the example of the invention is converted into a graph structure.
  • FIG. 24 is a diagram showing a graph structure in which a subject system of the example of the invention is point-weighted based on the server capacity information.
  • FIG. 25 is a flowchart in which a subject system of the example of the invention is point-weighted based on the server capacity information in accordance with FFD algorithm.
  • FIG. 26 is a diagram showing a configuration in which a graph representing a subject system of the example of the invention is contracted in accordance with fist Fit Decreasing algorithm.
  • FIG. 27 is a diagram showing a resulting structure of a graph contraction conducted to a graph representing a subject system of the example of the invention in a way to decrease dependency relationships.
  • FIG. 28 is a diagram showing an illustrative example of virtual machine package setting files of the example of the invention.
  • FIG. 29 is a diagram showing an illustrative example when distributing virtual machine packages generated in the example of the invention.
  • FIG. 30 is a diagram showing a graph structure in which subject systems of the second example of the invention is point-weighted based on the server capacity information.
  • a first embodiment of the present invention comprises a virtual machine package generation system 1 for generating a virtual machine package and a plurality of subject systems 2 constituting a subject distributed system.
  • a subject system 2 includes an operating system (OS) 23 and an application program (an application) 22 that run on a computer (a central processor; processor; data processing device) as well as a setting information and program analysis unit 21 that analyzes a program constituting the OS 23 or application 22 or setting information thereof.
  • OS operating system
  • application program an application 22 that run on a computer (a central processor; processor; data processing device) as well as a setting information and program analysis unit 21 that analyzes a program constituting the OS 23 or application 22 or setting information thereof.
  • a 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 storing unit 13 , and a virtual machine package setting file generation function 14 .
  • a configuration example of a case in which a virtual machine package generation system 1 comprises a computer including a single central processing unit and a memory element, such as a server, is shown in FIG. 2 .
  • the virtual machine package generation system 1 comprises a central processing unit 3 , a program memory, a virtual machine package storing unit 13 , and a network interface 5 , and the program memory stores a virtual machine package generation function 11 , a virtual machine image generation function 12 , and a virtual machine package setting file generation function 14 .
  • the virtual machine package generation system 1 is connected to a subject system A via the network interface 5 .
  • the program having such functions runs in combination with the central processing unit 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 creates a virtual machine image from the configuration of the subject system 2 and connection relationships thereof using the virtual machine image generation function 12 . Further, the virtual machine package generation function 11 creates a virtual machine package setting file using the virtual machine package setting file generation function 14 , then, stores the created virtual machine image and virtual machine package setting file as a virtual machine package in the virtual machine package storing unit 13 .
  • FIG. 3 shows an example of a virtual machine package.
  • the virtual machine package 131 stored in the virtual machine package storing unit 13 comprises a plurality of virtual machine images 132 and a setting file 133 that describes elements to be configured when distributing and using the virtual machine package.
  • the analysis information collection unit 141 collects information relating to the dependency relationships between subject systems obtained from the setting information and program analysis units 21 of the plurality of subject systems 2 .
  • the collected information is input to the graph structure conversion unit 142 and converted into a graph structure that expresses dependency relationships of the subject systems with points and lines.
  • the contracted graph generation unit 143 groups the subject 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 identifies the dependency relationships between virtual machine packages based on the generated contracted graph and describes setting elements for solving the dependency relationships in a setting file.
  • server identifier information that identifies each server is extracted from a file system stored in each server. Specifically, host name, IP address, and MAC address information is extracted ( 2200 ).
  • a setting file and the source file of an application are extracted from each server ( 2202 ).
  • the server identifier information extracted in 2200 is extracted and which setting files and servers have dependency relationships and which applications and servers have dependency relationships are extracted ( 2204 ).
  • the extractions are carried out server-by-server and dependency relationships are extracted until there is no server left ( 2206 ). If there is any server left, steps from 2202 are repeated and the process completes when extractions are carried out for all servers ( 2208 ).
  • the virtual machine package generation function 11 creates a virtual machine image of a subject system 2 using the virtual machine image generation function 12 (step 1000 of FIG. 5 ).
  • the virtual machine image is generated from each subject system, and virtual machine images are generated as many as the number of subject systems.
  • a first method is to use a virtualization function to reconstruct a virtual machine that has the same configuration as the subject system from scratch. Specifically, an administrator designs the specification of a virtual machine and the administrator completes the reconstruction by itself while creating a setting file according to the specification. This method requires the administrator to understand the construction of the system in detail, and takes tremendous man-hours.
  • a second method is a method in which a virtual machine whose setting is scalable and whose necessary setting file is prepared in advance is activated while, at the same time, a physical server to be transferred to the virtual machine is activated, then, the data in the physical server is sequentially copied to the virtual machine. In this case, the administrator's man-hours can be reduced by copying the data while extracting necessary information from the physical server.
  • the virtual machine image generation function 12 first, installs all data for generating a destination virtual machine in the destination device and generates the destination virtual machine.
  • the virtual machine image generation function 12 installs, in the original physical server and destination virtual machine, boot image systems that are boot files used when booting them up, respectively.
  • the original physical server and destination virtual machine are both reactivated, and acquire IP addresses from a DHCP server connected therewith.
  • the virtual machine image generation function 12 transfers files from the original physical server to the destination virtual machine using the boot image.
  • the system of the destination virtual machine including the drivers is modified.
  • the boot image systems are deleted and the transfer completes.
  • the virtual machine package generation function 11 uses a 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 stores the virtual machine image and virtual machine package setting file in an archive or a specific directory to create a virtual machine package (step 1002 ).
  • a file corresponding to the specific directory is generated, whose header includes the description of a file name, file mode, file owner name, file size, and each file name of files that collect file correction time information, checksum information, and link information, respectively, and whose real data is stored with the header as one piece of data.
  • tar command of UNIX registered trade mark
  • compress, gzip, or bzip2 command can also be used.
  • the created virtual machine package is stored in a predetermined storing place (step 1003 ). Specifically, virtual machine package data generated by the command is stored in the specific directory.
  • FIG. 5 is a flowchart for describing the operation of generating a virtual machine package setting file.
  • the network setting and communication relationship of the OS and application running in the subject system are extracted using the setting information and program analysis unit 21 (step 2000 ).
  • FIG. 7 shows an example of the analysis result in which three subject systems, A, B, and C, exist. In this example, FIG. 7 shows the relationship in which application A invokes application B, and application B invokes application C.
  • the analysis information collection unit 141 collects the analysis result (step 2001 ).
  • the collected analysis result is input into the graph structure conversion unit 142 so that the dependency relationships between the subject systems are converted into a graph structure (step 2002 ).
  • the graph structure shown in FIG. 8 is obtained.
  • the program defines one system as one node, defines one connection relationship between systems as one edge connecting the nodes, and abstracts each system shown in FIG. 6 as a node and the connection as an edge in a graph.
  • the contracted graph generation unit 143 generates a contracted graph in which nodes are contracted in a way to decrease the number of edges ( 2003 ).
  • subject systems A and B are contracted and only the edge connecting subject systems B and C is retained.
  • the problem is solved by a heuristic approach that is used to calculate an approximate solution.
  • the approximate solution is calculated from a subroutine using a heuristic approach.
  • a contracted graph the following describes a case in which the contracted graph shown in FIG. 9 is obtained.
  • subject systems A and B are contracted and expressed as one point.
  • One point in the generated contracted graph is treated as one virtual machine package, and a virtual machine package setting file is generated by the virtual machine package setting file generation unit 144 ( 2004 ).
  • FIG. 10 An example of the virtual machine package setting file is shown in FIG. 10 .
  • the setting file of virtual machine package AB that includes subject systems A and B, each system is contracted and the IP address and VLAN ID of the virtual machine package are set.
  • setting items of an address and a port to communicate with application C are added. These are settings required for application B to communicate with application C.
  • This embodiment can decrease dependency relationships between virtual machine packages, since the embodiment analyzes the dependency relationships between the subject systems from which a virtual machine package is generated, creates a graph structure based on the analysis result, generates a contracted graph in a way to reduce the number of edges, and generates a setting file by capturing virtual machine package candidates.
  • FIG. 11 shows the configuration of a virtual machine package setting file generation function 14 of the best mode for carrying out the second aspect of the invention.
  • a graph structure conversion unit 142 refers to a network resource information storing unit 145 , and weights the edges of the graph.
  • the network resource information storing unit 145 stores information relating to the network resource between the subject systems (e.g., statistics of the broadband and the traffic).
  • FIG. 12 is a flowchart showing the operation of the best mode for carrying out the second aspect of the invention.
  • the setting information and program analysis unit 21 is used to extract the network setting and communication relationship of the operating system and application running in the subject system (step 3000 ).
  • the analysis information collection unit 141 collects the analysis result (step 3001 ).
  • the collected analysis result is input to the graph structure conversion unit 1 . 42 to convert the dependency relationship between the subject systems into a graph structure (step 3002 ).
  • the edges of the graph are relatively weighted. For example, if there is network resource information such as in FIG. 13 , the edges are weighted as in FIG. 14 .
  • the weighting is determined with reference to network resource information, such as network transfer rates. Further, the weighting may be done based on the number of setting items.
  • the contracted graph generation unit 143 contracts the weighted graph to minimize the weight of the edge (step 3004 ).
  • FIG. 15 shows an example of the generated contracted graph. To minimize the weight, nodes with large edge weight are contracted.
  • a setting file of the virtual machine package is generated (step 2005 ).
  • the procedure for generating the whole virtual machine package is the same as the method shown in FIG. 4 .
  • the best mode for carrying out the invention can reduce a network load at the time of distribution of a virtual machine package since the graph is edge-weighted based on the network resource information and contracted in a way to minimize the weight of the edge. Particularly, when distributing the virtual machine package to a single physical server, the traffic between physical servers can be reduced.
  • FIG. 16 shows the configuration of a virtual machine package setting file generation function of the best mode for carrying out the third aspect of the invention.
  • a graph structure conversion unit 142 refers to a server performance information storing unit 146 to point-weight the graph.
  • a contracted graph generation unit 143 refers to a physical server limitation storing unit 147 to contract the graph in accordance with the capacity of the destination physical server.
  • the server performance information storing unit 146 stores information relating to the server performance of the subject system (e.g., a CPU utilization, CPU specification, memory capacity, memory utilization, disk bandwidth).
  • the physical server limitation storing unit stores the capacity information of a physical server to which the virtual machine package is distributed (e.g., the number of operable virtual machines, CPU specification, memory capacity).
  • FIG. 17 is a flowchart showing the operation of the best mode for carrying out the third aspect of the invention.
  • the setting information and program analysis unit 21 is used to extract the network setting and communication relationship of the OS and application running in the subject system (step 4000 ).
  • the analysis information collection unit 141 collects the analysis result (step 4001 ).
  • the collected analysis result is input into the graph structure conversion unit 142 so that the dependency relationships between subject systems are converted into a graph structure (step 4002 ).
  • the points of the graph are relatively weighted. For example, if there is server performance information as in FIG. 18 , the graph is point-weighted as in FIG. 19 (step 4003 ).
  • the contracted graph generation unit 143 refers to the physical server limitation storing unit 147 regarding the weighted graph, and contract the graph as far as the weight of each point does not become larger than a specified value (step 4004 ). For example, if there is physical machine limitation information as shown in FIG. 20 , relative processing capacity of the destination physical machine can be estimated as 1.0, and the graph is contracted as far as the weight of each point of the contracted graph becomes 1.0 or less. An example of the generated contracted graph is shown in FIG. 21 .
  • a setting file of the virtual machine package is generated (step 4005 ).
  • the procedure for generating the whole virtual machine package is the same as shown in FIG. 4 .
  • the best mode for carrying out the invention can generate a virtual machine package storable in a single physical server since the graph is point-weighted based on the capacity information of the server and a contracted graph is generated by limiting the weights of the points of the contracted graph based on the capacity information of the destination physical server. If the virtual machine package is stored in a physical server, the dependency relationships within the virtual machine package are not required to be considered at the time of distribution thereof, thereby making the distribution of the virtual machine package easy.
  • FIG. 22 shows an example where a Web application system is divided into and stored as virtual machine packages.
  • the subject system comprises two Web application systems. Both Web application systems accept requests from clients via a load balancer 500 .
  • Each line between servers represents invoking relationship between the servers.
  • a Web server 501 invokes an AP (application) server 505
  • the AP server 505 invokes a DB server 507 .
  • the virtual machine image generation function 12 generates a virtual machine image of each server that constitutes a Web application system.
  • the virtual machine image is generated on the assumption that the load balancer is realized as a software load balancer.
  • the setting information and program of each server and the load balancer are analyzed to extract the dependency relationships between servers and applications.
  • the configuration of FIG. 23 is obtained as the result of converting into a graph structure based on the dependency relationship information.
  • Each server is represented as a point and the dependency relationship between servers is represented by an edge.
  • the graph is point-weighted based on the processing volume of each server. For example, the processing volume of each server is relatively evaluated based on the maximum CPU utilization value over the last one month.
  • the point-weighted graph is shown in FIG. 24 .
  • the graph is contracted in such a way that the weight of each point of the contracted graph becomes 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 calculated by First-Fit Decrease algorithm of approximation algorithm.
  • FIG. 25 shows a flowchart that divides the subject system into the minimum number of packages without respect to dependency relationships using First-Fit Decrease algorithm.
  • each device is weighted.
  • the file server is set as 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.
  • the virtual machine image generation function 12 sorts out these devices in the order of the weight value (contraction value) ( 5000 ).
  • a device with the largest contraction value is determined ( 5002 ). If there is no device with the largest contraction value, there is no device to be divided, and the dividing process of the virtual package ends ( 5010 ). On the other hand, if there is a device with the largest contraction value, whether or not a virtual package that stores the device with the largest contraction value exists among the existing virtual packages is determined ( 5004 ). Here, the maximum contraction value for storing virtual package is set as 1.0.
  • the virtual package If a plurality of devices have been already stored in a virtual package and the value calculated by deducting the sum of the contracted values of the already stored devices from the maximum contraction value for storing virtual package, 1.0, is larger than the contraction value of the device with the largest contraction value among the presently existing contraction values, the virtual package is storable, and thus, the existing virtual package stores the device with the largest contraction value ( 5008 ). Then, the process goes to step 5002 again.
  • FIG. 26 shows the result of capturing virtual machine package candidates by applying First-Fit Decrease algorithm.
  • the number of virtual machine packages becomes four, achieving the minimum value, while the dependency relationships between virtual machine packages, that is, the number of edges, become nine.
  • FIG. 28 shows virtual machine package setting files generated based on the contracted graph in FIG. 27 .
  • the virtual machine image and virtual machine package setting files allow reproduction of a subject Web application system in other environment.
  • the number of the dependency relationships between virtual machine packages is small, setting tasks at the time of distributing the virtual machine package can be reduced.
  • the virtual machine package is deployed to a single physical server, the number of the dependency relationships between the virtual machine packages is small, thereby reducing a network load between the physical servers.
  • FIG. 29 shows configurations and setting files used when distributing the generated virtual machine packages to a network system of 172.16.0.0/24 and reproducing the virtual machine packages therein.
  • IP addresses and VLAN IDs of the virtual machine packages are modified in accordance with the destination system. With the modification of the addresses, the setting relating to application communications is required to be modified. Communications within the virtual machine packages can be realized without changing the addresses using virtual switches provided by the virtualization function. On the virtual switch, NAT and VLAN ID are configured to be adapted to the destination system.
  • the virtual package was divided in a condition in which the weight of each point of the contracted graph becomes 1.0 or less in an approach to divide a subject system with the minimum package number.
  • FIG. 30 shows a flowchart in which a subject system is divided into virtual packages in a case in which the weighting is limited to a predetermined value or less.
  • Whether or not a device with the largest contracted value exists is judged ( 6002 ). If there is no device with the largest contracted value, there is no device to be divided, thus, the step for dividing the virtual package completes ( 6010 ). On the other hand, if there is a device with the largest contracted value, whether or not a virtual package to store the device with the largest contraction value exists among the presently existing virtual packages ( 6004 ). Here, the maximum contraction value for storing virtual package is set as A.
  • the virtual package If a plurality of devices have been already stored in a virtual package and if the value calculated by deducting the sum of the contracted values of the already stored devices from the maximum contraction value for storing virtual package, A, is larger than the contraction value of the device with the largest contraction value among the presently existing contraction values, the virtual package is storable, and thus, the existing virtual package stores the device with the largest contraction value among the presently existing contraction values ( 6008 ). Then, the process goes to step 6002 again.
  • the system can be divided into virtual machine packages with arbitrary weighting by applying First-Fit Decrease algorithm.
  • the value of A may be a constant value for all packages or may vary for each package.
  • the invention can be applied to disaster recovery that reproduces a system damaged in a time of a large-scale disaster at another site. Also, when constructing a system, the invention can be used for a purpose to transfer a system constructed in a test environment to a real environment as is.
  • the invention can be applied to a purpose to construct another system in a new environment based on the system with which operation stability is confirmed.
  • the invention can be applied to a variety of subjects and the usability should not be limited in any way as long as the invention relates to a virtual machine package generation system, virtual machine package generation method, and virtual machine package generation program, and particularly, relates to a technique that is effective when applied to a virtual machine package generation system, virtual machine package generation method, and virtual machine package generation program that decrease dependency relationships between virtual machine packages when generating a plurality of virtual machine packages from an already constructed system to generate a virtual machine package with high reusability.

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)
US12/920,768 2008-03-07 2009-03-06 Virtual machine package generation system, virtual machine package generation method, and virtual machine package generation program Active 2030-02-25 US8615761B2 (en)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
US20110035747A1 US20110035747A1 (en) 2011-02-10
US8615761B2 true US8615761B2 (en) 2013-12-24

Family

ID=41056165

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/920,768 Active 2030-02-25 US8615761B2 (en) 2008-03-07 2009-03-06 Virtual machine package generation system, virtual machine package generation method, and virtual machine package generation program

Country Status (3)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130086271A1 (en) * 2011-09-29 2013-04-04 Oracle International Corporation System and method for supporting a dynamic resource broker in a transactional middleware machine environment

Families Citing this family (26)

* 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 ネットワークシステム、処理を提供するサーバの切替方法、処理を提供するサーバの切替プログラム、情報処理装置、仮想マシン構築方法および仮想マシン構築プログラム
US9141919B2 (en) 2010-02-26 2015-09-22 International Business Machines Corporation System and method for object migration using waves
US10514940B2 (en) * 2010-03-17 2019-12-24 Microsoft Technology Licensing, Llc Virtual application package reconstruction
US10235439B2 (en) 2010-07-09 2019-03-19 State Street Corporation Systems and methods for data warehousing in private cloud environment
US10671628B2 (en) * 2010-07-09 2020-06-02 State Street Bank And Trust Company Systems and methods for data warehousing
WO2012006638A1 (en) * 2010-07-09 2012-01-12 State Street Corporation Systems and methods for private cloud computing
US8718071B2 (en) 2010-09-10 2014-05-06 Futurewei Technologies, Inc. Method to pass virtual local area network information in virtual station interface discovery and configuration protocol
US8615755B2 (en) * 2010-09-15 2013-12-24 Qualcomm Incorporated System and method for managing resources of a portable computing device
US8645950B2 (en) 2011-06-28 2014-02-04 Microsoft Corporation Virtual machine image analysis
JP5887149B2 (ja) * 2012-01-25 2016-03-16 株式会社エヌ・ティ・ティ・データ 仮想マシン配置装置、仮想マシン配置方法
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
CN105867953B (zh) * 2015-01-21 2019-04-26 中国移动通信集团云南有限公司 应用程序升级包生成方法和应用程序升级方法及对应装置
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
JP6452922B1 (ja) * 2018-04-06 2019-01-16 三菱電機株式会社 システム構築支援装置、システム構築支援方法およびシステム構築支援プログラム
US11372654B1 (en) * 2019-03-25 2022-06-28 Amazon Technologies, Inc. Remote filesystem permissions management for on-demand code execution
WO2021024417A1 (ja) * 2019-08-07 2021-02-11 日本電信電話株式会社 更新装置、更新方法およびプログラム
US11915059B2 (en) * 2022-07-27 2024-02-27 Oracle International Corporation Virtual edge devices

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869364A (ja) 1994-08-30 1996-03-12 Nec Corp 情報出力履歴提示方法
JPH10149347A (ja) 1996-11-20 1998-06-02 Toshiba Corp 資源割り当て方法及び資源割り当て装置
US5797012A (en) * 1995-12-28 1998-08-18 International Business Machines Corporation Connectivity based program partitioning
JP2000035957A (ja) 1998-07-21 2000-02-02 Toshiba Corp タイミング合成・最適化装置及び方法並びにタイミング合成・最適化用プログラムを記録した記録媒体
JP2001005865A (ja) 1999-06-17 2001-01-12 Nec Corp データ削除装置
US20050102667A1 (en) * 2003-11-10 2005-05-12 International Business Machines (Ibm) Corporation Generating summaries for software component installation
JP2005332223A (ja) 2004-05-20 2005-12-02 Ntt Data Corp 仮想マシン管理システム
JP2006293592A (ja) 2005-04-08 2006-10-26 Hitachi Ltd 計算機システムの構成再現方法
US7197747B2 (en) * 2002-03-13 2007-03-27 International Business Machines Corporation Compiling method, apparatus, and program
JP2007158870A (ja) 2005-12-07 2007-06-21 Hitachi Ltd 仮想計算機システム及びそのネットワーク通信方法
US20070300221A1 (en) * 2006-06-23 2007-12-27 Sentillion, Inc. Accessing a Printer Resource Provided by a Real Computer From Within a Virtual Machine
US20080016115A1 (en) * 2006-07-17 2008-01-17 Microsoft Corporation Managing Networks Using Dependency Analysis
US20080163171A1 (en) * 2007-01-02 2008-07-03 David Michael Chess Virtual resource templates
US8234641B2 (en) * 2006-10-17 2012-07-31 Managelq, Inc. Compliance-based adaptations in managed virtual systems

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869364A (ja) 1994-08-30 1996-03-12 Nec Corp 情報出力履歴提示方法
US5797012A (en) * 1995-12-28 1998-08-18 International Business Machines Corporation Connectivity based program partitioning
JPH10149347A (ja) 1996-11-20 1998-06-02 Toshiba Corp 資源割り当て方法及び資源割り当て装置
JP2000035957A (ja) 1998-07-21 2000-02-02 Toshiba Corp タイミング合成・最適化装置及び方法並びにタイミング合成・最適化用プログラムを記録した記録媒体
JP2001005865A (ja) 1999-06-17 2001-01-12 Nec Corp データ削除装置
US7197747B2 (en) * 2002-03-13 2007-03-27 International Business Machines Corporation Compiling method, apparatus, and program
US20050102667A1 (en) * 2003-11-10 2005-05-12 International Business Machines (Ibm) Corporation Generating summaries for software component installation
JP2005332223A (ja) 2004-05-20 2005-12-02 Ntt Data Corp 仮想マシン管理システム
JP2006293592A (ja) 2005-04-08 2006-10-26 Hitachi Ltd 計算機システムの構成再現方法
JP2007158870A (ja) 2005-12-07 2007-06-21 Hitachi Ltd 仮想計算機システム及びそのネットワーク通信方法
US20070300221A1 (en) * 2006-06-23 2007-12-27 Sentillion, Inc. Accessing a Printer Resource Provided by a Real Computer From Within a Virtual Machine
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
US20080163171A1 (en) * 2007-01-02 2008-07-03 David Michael Chess Virtual resource templates

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Open Virtual Machine Format Specification (OVF)", OVF specification version 0.9, Sep. 7, 2009.
"VMware Virtual Disks, Virtual Disk Format 1.0", VMware Technical Note, pp. 1-13.
International Search Report of PCT Application No. PCT/JP2009/054342 mailed Jun. 9, 2009.

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130086271A1 (en) * 2011-09-29 2013-04-04 Oracle International Corporation System and method for supporting a dynamic resource broker in a transactional middleware machine environment
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
US9003397B2 (en) 2011-09-29 2015-04-07 Oracle International Corporation System and method for supporting automatically deploying/undeploying application components in a transactional middleware machine environment
US9559977B2 (en) 2011-09-29 2017-01-31 Oracle International Corporation System and method for supporting a dynamic resource broker in a transactionial middleware machine environment

Also Published As

Publication number Publication date
US20110035747A1 (en) 2011-02-10
JPWO2009110616A1 (ja) 2011-07-14
JP5598762B2 (ja) 2014-10-01
WO2009110616A1 (ja) 2009-09-11

Similar Documents

Publication Publication Date Title
US8615761B2 (en) Virtual machine package generation system, virtual machine package generation method, and virtual machine package generation program
US11368519B2 (en) Architecture for managing I/O and storage for a virtualization environment using executable containers and virtual machines
US10055306B1 (en) Optimized backup of clusters with multiple proxy servers
US20190384678A1 (en) System and method for managing backup and restore of objects over cloud platforms
US10050850B2 (en) Rack awareness data storage in a cluster of host computing devices
US11030053B2 (en) Efficient disaster rollback across heterogeneous storage systems
CN107431651B (zh) 一种网络服务的生命周期管理方法及设备
US8627310B2 (en) Capturing multi-disk virtual machine images automatically
US11403146B2 (en) Method, apparatus, and server for managing image across cloud servers
US9742435B1 (en) Multi-stage data compression for time-series metric data within computer systems
US20070028244A1 (en) Computer system para-virtualization using a hypervisor that is implemented in a partition of the host system
US20130173771A1 (en) Automated policy management in a virtual machine environment
US20070061441A1 (en) Para-virtualized computer system with I/0 server partitions that map physical host hardware for access by guest partitions
CN108886473B (zh) 一种管理方法及装置
CN102693230B (zh) 用于存储区域网络的文件系统
US8495178B1 (en) Dynamic bandwidth discovery and allocation to improve performance for backing up data
WO2016075671A1 (en) Elasticity for highly availabile applications
US10747638B2 (en) Computing memory health metrics
US8027817B2 (en) Simulation management within a grid infrastructure
CN112463290A (zh) 动态调整计算容器的数量的方法、系统、装置和存储介质
US11647103B1 (en) Compression-as-a-service for data transmissions
US20130173780A1 (en) Resource throttling and automated policy management in a virtual machine enviromnent
Rangarajan et al. Managing the availability of VNFs with the availability management framework
Herlicq et al. Nextgenemo: an efficient provisioning of edge-native applications
CN112398668B (zh) 一种基于IaaS集群的云平台和节点的切换方法

Legal Events

Date Code Title Description
AS Assignment

Owner name: NEC CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MACHIDA, FUMIO;REEL/FRAME:024937/0638

Effective date: 20100721

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8