IP Library › Granted Patent US 8,424,059
Granted Patent B2
US 8,424,059 · App. 12/235,225 · Granted Apr 16, 2013

Calculating multi-tenancy resource requirements and automated tenant dynamic placement in a multi-tenant shared environment

Inventors: Thomas Yu-Kiu Kwok (Washington Township, NY); Ajay Mohindra (Yorktown Heights, NY)
Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,424,059
App. No.
12/235,225
Granted
Apr 16, 2013
Kind
B2
Abstract

A method for assigning tenants of users to offering instances of an application or middleware includes representing a set of offerings as respective offering instances of the application or middleware available from a server, determining server resource capacity of the server, representing constraints associated with the tenants and the offering instances, generating a mapping of the tenants to the offering instances based on the server resource capacity and constraints, and assigning a tenant to an offering instance according to the mapping, wherein the offering instance is made accessible to the users of the assigned tenant.

Claims (40)

1. A non-transitory computer readable medium embodying instructions executable by a processor to perform a method for assigning tenants of users to offering instances of an application or middleware, the method comprising:

representing a set of offerings as respective offering instances of the application or middleware available from a server;

determining server resource capacity of the server;

representing constraints associated with the tenants and the offering instances;

generating a mapping of the tenants to the offering instances based on the server resource capacity and constraints; and

assigning at least one of the tenants to at least one of the offering instances according to the mapping, wherein the offering instance is made accessible to the users of the assigned tenant.

2. The computer readable medium of claim 1 , wherein the method further comprises provisioning a new offering instance if no offering instance maps to a tenant.

3. The computer readable medium of claim 1 , wherein the method further comprises migrating the offering instance assigned to the tenant to another server with a server resource capacity meeting a requirement of the tenant.

4. The computer readable medium of claim 1 , wherein the method further comprises satisfying a non-functional requirement.

5. The computer readable medium of claim 4 , wherein the non-functional requirement is a predetermined maximum number of tenants on each offering instance of the application.

6. The computer readable medium of claim 4 , wherein the non-functional requirement is a predetermined minimum number of offering instances on each server.

7. The computer readable medium of claim 1 , wherein the method further comprises imposing a security restriction.

8. The computer readable medium of claim 7 , wherein the security restriction prohibits two or more tenants deployed in the same offering instance or on the same server.

9. The computer readable medium of claim 1 , wherein the method further comprises summing resources with weighting factors for assigning the tenants of users to offering instances using of an effective residual resource score.

10. System for assigning tenants of users to offering instances of an application or middleware comprising:

a database for storing multi-tenant information; and

a processor for executing instructions of a plurality of modules processing the multi-tenant information, the modules comprising:

a multi-tenant application module representing a set of offerings as respective offering instances of the application or middleware available from a server;

an active placement module determining server resource capacity of the server;

a constraint generator module representing constraints associated with the tenants and the offering instances; and

a multi-tenant placement module generating a mapping of the tenants to the offering instances based on the server resource capacity and constraints and assigning a tenant to an offering instance according to the mapping, wherein the offering instance is made accessible to the users of the assigned tenant.

11. The system of claim 10 , wherein the multi-tenant placement module migrates the offering instance assigned to the tenant to another server with a server resource capacity meeting a requirement of the tenant.

12. The system of claim 10 , further comprising a constraint module imposing a security restriction.

13. The system of claim 10 , wherein the multi-tenant placement module sums resources with weighting factors for assigning the tenants of users to offering instances using of an effective residual resource score.

14. A non-transitory computer readable medium embodying instructions executable by a processor to perform a method for assigning, with constraints, tenants of users to offering instances, comprising:

collecting a resource usage profile of a plurality of offering instances of a software application or middleware on each server;

determining resource usage of the offering instances and a residual resource of each server;

retrieving constraints for a plurality of tenants on a shared offering instance of the application or middleware on a server;

determining required resources with the constraints for tenants in the shared offering instance on the server;

generating a mapping of the tenants to the shared offering instance based on the resource usage of the offering instance of the application or middleware, the resource capacity of the server and the constraints of the tenant; and

assigning the tenant to the shared offering instance according to the mapping, wherein the shared offering instance is made accessible to the users of the assigned tenant.

15. The computer readable medium of claim 14 , wherein the method further comprises providing a specification and multi-tenant resource usage model of the software application or middleware.

16. A non-transitory computer readable medium embodying instructions executable by a processor to perform a method for dynamic and rule-based multi-tenant placement, comprising:

determining a maximum resource demand of a plurality of tenants for a plurality of offering instances of an application, wherein at least one group of the plurality of tenants shares at least one of the offering instances;

determining constraints of the tenants;

determining a resource demand for each server with all offering instances;

constructing a rule-based placement list satisfying the constraints, according to a priority rule list;

locating a server and an offering instance on the server having a lowest residual resource among all servers; and

relocating the tenants from the server to increase a residual resource the server.

17. The computer readable medium of claim 16 , wherein the method further comprises creating an offering instance for a tenant if no offering instance is assigned.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2008
From: KWOK, THOMAS Y.; MOHINDRA, AJAY
To: INTERNATIONAL BUSINESS MACHINES CORPORTATION
Reel/Frame 021660/0474 →
Continuity (1)
Related Publication 20100077449A1 · Mar 25, 2010