Tenant virtualization controller for exporting tenant without shifting location of tenant data in a multi-tenancy environment
First Claim
1. A method of controlling movement of tenants in a multitenancy computing environment using one or more processors of a tenant virtualization controller, the method comprising:
- defining a new tenant at a first system of the multi-tenancy computing environment, the first system being communicatively connected to the tenant virtualization controller via a first network link;
starting the new tenant at the first system;
storing data associated with the new tenant in a data container stored in a virtual storage, wherein the data container comprises a database and a file system;
determining whether the first system is overloaded; and
if the first system is overloaded, performing operations comprising;
stopping the new tenant at the first system;
de-registering the new tenant from the database of the data container;
unmounting the file system in the data container from the new tenant at the first system;
determining a second system that is not overloaded, the second system being communicatively connected to the tenant virtualization controller via a second network link;
exporting the new tenant from the first system to the determined second system of the multi-tenancy computing environment without shifting storage location of the data associated with the new tenant;
mounting the file system in the data container on the exported new tenant at the second system;
registering the exported new tenant with the database of the data container that remained stored in the virtual storage; and
starting the tenant at the second system, wherein the first system and the second system are multi-tenancy computing systems.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for performing load balancing of systems in a multi-tenancy computing environment by shifting tenants from an overloaded system to a non-overloaded system. Initially, a determination is made as to whether a first tenant desires an access to an instance of a software application. The same instance of the software application is being accessed by other tenants of a first system. If the tenant desires access to the same instance of the software application, the tenant is created at the first system. The created first tenant and the other tenants exist in a multi-tenancy computing environment that enables the first tenant and the other tenants to access a same instance of a software application. Then, it is checked whether the first system is overloaded. If the first system is overloaded, load balancing is performed as follows. The first tenant is exported from the overloaded first system to a lesser loaded second system. The data containers of the first tenant remain stationary at a virtual storage. The first tenant is enabled to access the same instance of the software application that it was accessing while at the first system, but now using memory resources and processing resources of the second system. Related apparatus, systems, techniques and articles are also described.
33 Citations
18 Claims
-
1. A method of controlling movement of tenants in a multitenancy computing environment using one or more processors of a tenant virtualization controller, the method comprising:
-
defining a new tenant at a first system of the multi-tenancy computing environment, the first system being communicatively connected to the tenant virtualization controller via a first network link; starting the new tenant at the first system; storing data associated with the new tenant in a data container stored in a virtual storage, wherein the data container comprises a database and a file system; determining whether the first system is overloaded; and if the first system is overloaded, performing operations comprising; stopping the new tenant at the first system; de-registering the new tenant from the database of the data container; unmounting the file system in the data container from the new tenant at the first system; determining a second system that is not overloaded, the second system being communicatively connected to the tenant virtualization controller via a second network link; exporting the new tenant from the first system to the determined second system of the multi-tenancy computing environment without shifting storage location of the data associated with the new tenant; mounting the file system in the data container on the exported new tenant at the second system; registering the exported new tenant with the database of the data container that remained stored in the virtual storage; and starting the tenant at the second system, wherein the first system and the second system are multi-tenancy computing systems. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor of a tenant virtualization controller to perform operations comprising:
-
defining a new tenant at a first system, the first system being communicatively connected to the tenant virtualization controller via a first network link; starting the new tenant at the first system; storing data associated with the new tenant in a data container stored in a virtual storage, wherein the data container comprises a database and a file system; determining whether the first system is overloaded; and if the system is overloaded, performing further operations comprising; stopping the new tenant at the first system; de-registering the new tenant from the database of the data container; unmounting the file system in the data container from the new tenant at the first system; determining that a second system is non-overloaded, the second system being communicatively connected to the tenant virtualization controller via a second network link; exporting the new tenant from the first system to the non-overloaded second system without shifting location of the data associated with the new tenant; mounting the file system in the data container on the exported new tenant at the second system; registering the exported new tenant with the database of the data container that remained stored in the virtual storage; and starting the tenant at the second system, wherein the first system and the second system are multi-tenancy computing systems. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A system comprising:
-
at least one programmable processor; and a machine-readable medium storing instructions that, when executed by the at least one processor of a tenant virtualization controller, cause the at least one programmable processor to perform operations comprising; defining a new tenant at a first system communicatively connected to the tenant virtualization controller via a first communication network; starting the new tenant at the first system; storing data associated with the new tenant in a data container stored in a virtual storage, wherein the data container comprises a database and a file system; determining whether the first system is overloaded; and if the system is overloaded, performing functions comprising; stopping the new tenant at the first system; de-registering the new tenant from the database of the data container; unmounting the file system in the data container from the new tenant at the first system; determining whether a second system is overloaded, the second system being communicatively connected to the tenant virtualization controller via a second communication network; exporting the new tenant from the first system to the second system when the second system is non-overloaded without shifting location of the data associated with the new tenant; mounting the file system in the data container on the exported new tenant at the second system; registering the exported new tenant with the database of the data container that remained stored in the virtual storage; and starting the tenant at the second system, wherein the first system and the second system are multi-tenancy computing systems. - View Dependent Claims (15, 16, 17, 18)
-
Specification