Automated system and method for extracting and adapting system configurations
First Claim
Patent Images
1. A method comprising:
- extracting, from a first node of a first hosting system, a configuration comprising a first operating system and a first kernel that accesses a first set of virtualized hardware corresponding to a first set of physical hardware of the first node, the first set of virtualized hardware provided by a first hypervisor of a first type that operates on the first node;
analyzing the configuration in order to determine compatibility with a second set of virtualized hardware corresponding to a second set of physical hardware of a second node of a second hosting system, the second set of virtualized hardware provided by a second hypervisor of a second type, different from the first type of the first hypervisor, that operates on the second node; and
determining that the first kernel is incompatible with the second set of virtualized hardware;
retrieving from a library, a second kernel that is compatible with a modified first operating system;
swapping out the first kernel of the configuration with the second kernel in order to host the configuration with the second kernel that is compatible with the second set of virtualized hardware of the second node of the second hosting system provided by the second hypervisor of the second type.
14 Assignments
0 Petitions
Accused Products
Abstract
Some embodiments provide a method for extracting and adapting system configuration. The method extracts a first configuration from a first node of a first hosting system. The first node includes several resources for hosting the first configuration. The method analyzes the first configuration in order to determine attributes of the first configuration. The determined attributes are relevant to hosting the first configuration on a second node of a second hosting system having several nodes. The method generates a second configuration based on the determined attributes. The method hosts the second configuration at the second node of the second hosting system.
164 Citations
34 Claims
-
1. A method comprising:
-
extracting, from a first node of a first hosting system, a configuration comprising a first operating system and a first kernel that accesses a first set of virtualized hardware corresponding to a first set of physical hardware of the first node, the first set of virtualized hardware provided by a first hypervisor of a first type that operates on the first node; analyzing the configuration in order to determine compatibility with a second set of virtualized hardware corresponding to a second set of physical hardware of a second node of a second hosting system, the second set of virtualized hardware provided by a second hypervisor of a second type, different from the first type of the first hypervisor, that operates on the second node; and determining that the first kernel is incompatible with the second set of virtualized hardware; retrieving from a library, a second kernel that is compatible with a modified first operating system; swapping out the first kernel of the configuration with the second kernel in order to host the configuration with the second kernel that is compatible with the second set of virtualized hardware of the second node of the second hosting system provided by the second hypervisor of the second type. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 32, 33, 34)
-
-
12. A non-transitory computer readable storage medium storing a computer program for execution by at least one processor, the computer program comprising:
-
a set of instructions for extracting, from a first node, a first configuration comprising an operating system and a kernel that interfaces with the operating system to allow the operating system to access a first set of virtualized hardware corresponding to a first set of physical hardware of the first node, the first set of virtualized hardware provided by a first hypervisor of a first type that operates on the first node; a set of instructions for analyzing a second set of virtualized hardware corresponding to a second set of physical hardware of a second node in order to determine if the kernel of the first configuration satisfies the second set of virtualized hardware, the second set of virtualized hardware provided by a second hypervisor of a second type, different from the first type of the first hypervisor, that operates on the second node; a set of instructions for determining that the kernel is incompatible with the second set of virtualized hardware; a set of instructions for retrieving from a library, a second kernel that is compatible with a modified first operating system; and a set of instructions for swapping the kernel of the first configuration with the second kernel in a second configuration for operating with the second set of virtualized hardware provided by the second hypervisor of the second type, the second set of virtualized hardware corresponding to the second set of physical hardware of the second node in order to host the second configuration on the second node.
-
-
13. A method for modifying a configuration that is hosted on a first node in a first hosting environment in order to host the configuration on a second node in a second hosting environment, the method comprising:
-
extracting an operating system and a kernel of the configuration, the operating system accessing a first set of virtual hardware devices through a set of device drivers, the first set of virtual hardware devices provided by a first hypervisor of a first type that operates on the first node, the first set of virtual hardware devices corresponding to a set of physical hardware devices of the first node; preparing a first configuration package comprising the operating system, the kernel, and a set of device drivers of the configuration; and outputting said first configuration package to an adaptation engine comprising; analyzing the configuration to determine compatibility with a second set of virtualized virtual hardware devices provided by a second hypervisor of a second type, different from the first type of the first hypervisor, that operates on the second node, the second set of virtual hardware devices corresponding to a set of physical hardware of the second node of the second hosting environment; determining that the first kernel is incompatible with the second set of virtualized hardware; retrieving from a library a second kernel that is compatible with the operating system being modified replacing each device driver of the first configuration package that is incompatible with any virtual hardware device of the second set of virtual hardware devices with a different device driver that is compatible with a virtual hardware device of the second set of virtual hardware devices; creating a second configuration package that is a modified version of the first configuration package including the replacement device driver for each replaced device driver and the second kernel; and providing the second configuration package to the second node for allowing the configuration to operate on the second set of virtual hardware devices provided by the second hypervisor of the second node. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. A non-transitory computer readable storage medium storing a computer program for execution by at least one processor, the computer program comprising:
-
a set of instructions for receiving a configuration extracted from a first node of a first hosting environment, said configuration comprising an operating system and a kernel that accesses a first set of virtualized hardware corresponding to a first set of physical hardware of the first node in order to allow the configuration to operate on the first node, the first set of virtualized hardware provided by a first hypervisor of a first type that operates on the first node; a set of instructions for identifying a modification of the extracted configuration that is required for the configuration to operate on a second set of virtualized hardware provided by a second hypervisor of a second type, different from the first type of the first hypervisor, the second set of virtualized hardware corresponding to a second set of physical hardware of a second node of a second hosting environment; a set of instructions for determining that the kernel is incompatible with the second set of virtualized hardware; a set of instructions for retrieving, from a library that stores data comprising different operating systems and different kernels for adapting different configurations to be operable on different nodes, data for at least one of an operating system and a kernel based on the identified modification required for the configuration to operate on the second set of virtualized hardware of the second node; a set of instructions for retrieving from the library, a second kernel that is compatible with the operating system being modified; and a set of instructions for modifying the configuration based on the similar second kernel from the library in order to allow the configuration to operate on the second set of virtualized hardware of the second node. - View Dependent Claims (30, 31)
-
-
22. A method for modifying a configuration that is hosted on a first node of a first hosting system in order to host the configuration on a second node of a second hosting system, the method comprising:
-
at the first hosting system, extracting an operating system, a kernel, and a set of device drivers that operate on a first set of virtualized hardware provided by a first hypervisor of a first type on the first node for hosting at the second hosting system; generating a configuration package comprising the operating system, the kernel, and the set of device drivers extracted from the first hosting system; analyzing the configuration package in order to determine compatibility with a second set of virtualized hardware provided by a second hypervisor of a second type, different from the first hypervisor that operates on the first node; determining that the kernel is incompatible with the second set of virtualized hardware; retrieving from a library, a second kernel that is compatible with the operating system being modified; and transmitting the configuration package with the second kernel to the second hosting system to adapt the operating system, the kernel, and the set of device drivers for hosting on the second set of virtualized hardware. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. A non-transitory computer readable storage medium storing a computer program for execution by at least one processor, the computer program comprising:
-
a set of instructions for remotely accessing a first node of a hosting environment, wherein the hosting environment comprises a plurality of nodes that forms a grid of nodes for hosting a plurality of configurations across the plurality of nodes for a plurality of customers; a set of instructions for extracting, from the first node, a configuration comprising an operating system, a kernel, and a set of device drivers that access a first set of virtualized hardware corresponding to a first set of physical hardware of the first node, the first set of virtualized hardware provided by a first hypervisor of a first type that operates on the first node; a set of instructions for generating a first configuration package comprising the operating system, the kernel, and the set of device drivers of the configuration; analyzing the first configuration package in order to determine compatibility with a second set of virtualized hardware provided by a second hypervisor of a second type, different from the first hypervisor that operates on the first node; and a set of instructions for providing said first configuration package to an adaptation engine, when the kernel is modified when compared to the original kernel, comprising; determining that the kernel is incompatible with the second set of virtualized hardware; retrieving from a library a second kernel that is compatible with the operating system being modified, creating a second configuration package that is a modified version of the first configuration package with the second kernel and device drivers for accessing the second set of virtual hardware; and providing the second configuration package to the second node in order to allow the second node to host the configuration. - View Dependent Claims (29)
-
Specification