IP Library Granted Patent US 9,973,571
Granted Patent B2
US 9,973,571 · App. 14/748,776 · Granted May 15, 2018

Migrating legacy applications to a multi-tenant computing environment

Inventors: Rania Y. Khalaf (Cambridge, MA); Vinod Muthusamy (Toronto, CA); David E. Shepard (Rye Brook, NY); Aleksander Slominski (Riverdale, NY)
Assignee: International Business Machines Corporation
H04L67/1002G06F9/445G06F9/45558H04L12/4641H04L67/34H04L67/42G06F2009/4557G06F2009/45562G06F2009/45595
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 9,973,571
App. No.
14/748,776
Granted
May 15, 2018
Kind
B2
Abstract

Various embodiments migrate a legacy application to a multi-tenant computing environment. In one embodiment, at least one virtualized computing container is instantiated on a host system in a multi-tenant computing environment. An instance of the legacy application is executed within the virtualized computing container. The legacy application having been initially configured to run on premise and serve one tenant at a time. The virtualized computing container securely isolates the executing instance of the legacy application from other executing instances of the legacy application. At least one request received from a first client is sent to the instance of the legacy application executing within the virtualized computing container. The virtualized computing container is quiesced based on at least one quiescing criterion having been satisfied by the instance of the legacy application.

Claims (38)

1. A method for migrating a legacy application to a multi-tenant computing environment, the method comprising:

analyzing a set of attributes associated with the legacy application;

determining, based on analyzing the set of attributes, if the legacy application satisfies a plurality of migration criteria for migrating the multi-tenant computing environment;

in response to determining that the legacy application fails to satisfy the plurality of migration criteria, notifying a user that the legacy application cannot be migrated to the multi-tenant computing environment; and

in response to determining that the legacy application satisfying the plurality of migration criteria:

instantiating at least one virtualized computing container on a host system in a multi-tenant computing environment;

executing an instance of the legacy application within the virtualized computing container, the legacy application being initially configured to run on premise and serve one tenant at a time, and where the virtualized computing container securely isolates the executing instance of the legacy application from other executing instances of the legacy application;

processing, based on the executing, at least one request received from a first client by the instance of the legacy application; and

quiescing the virtualized computing container based on at least one quiescing criterion having been satisfied by the instance of the legacy application.

2. The method of claim 1 , further comprising:

instantiating at least one additional virtualized computing container on the host system; and

executing an additional instance of the legacy application within the additional virtualized computing container, where the virtualized computing container serves the first client and the additional virtualized computing container serves a second client.

3. The method of claim 1 , further comprising:

receiving, by a load balancer, the request from the client;

selecting, by the load balancer, at least one request dispatcher; and

sending the request to the at least one request dispatcher.

4. The method of claim 3 , wherein instantiating the at least one virtualized computing container is based on:

extracting, by the request dispatcher, a tenant identifier from the request, the tenant identifier uniquely identifying the first client;

comparing, by the request dispatcher, the tenant identifier to a set of mapping information, where the set of mapping information maps each of a set of clients to at least one virtualized computing container;

determining, by the request dispatcher and based on the comparing, that a virtualized computing container fails to be mapped to the tenant identifier; and

dynamically performing the instantiating based on determining that a virtualized computing container fails to be mapped to the tenant identifier.

5. The method of claim 4 , further comprising:

sending, by the request dispatcher, the request to the virtualized computing container after the container has been initialized that the instance of the legacy application has been executed.

6. The method of claim 3 , further comprising:

extracting, by the request dispatcher, a tenant identifier from the request, the tenant identifier uniquely identifying the first client;

comparing, by the request dispatcher, the tenant identifier to a set of mapping information, where the set of mapping information maps each of a set of clients to at least one virtualized computing container;

determining, by the request dispatcher and based on the comparing, that the virtualized computing container is mapped to the tenant identifier; and

sending, by the request dispatcher, the request to the virtualized computing container.

7. The method of claim 1 , wherein the at least one quiescing criterion comprises one of:

the instance of the legacy application performing an exit operation, the exit operation stopping executing of the instance of the legacy application; and

the instance of the legacy application comprising an idle state.

8. The method of claim 1 , wherein the instance of the legacy application writes its current state to a persistent storage prior to the virtualized computing container being quiesced.

9. The method of claim 1 , further comprising:

receiving the request from the client;

determining, based on an identifier within the request, that the request is state-full and related to other requests;

analyzing a set of mapping information, where the set of mapping information maps each of a set of clients to a set of virtualized computing containers and further maps each of the set of virtualized computing containers to a set of related requests;

determining, based on the analyzing, the virtualized computing container is mapped to the request; and

sending the request to the virtualized computing container based on determining that the virtualized computing container is mapped to the request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2015
From: KHALAF, RANIA Y.; MUTHUSAMY, VINOD; SHEPARD, DAVID E.; SLOMINSKI, ALEKSANDER
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 035895/0549 →
Continuity (2)
Continuation 14635501 · Mar 2, 2015
Related Publication 20160261716A1 · Sep 8, 2016