IP Library Granted Patent US 11,803,413
Granted Patent B2
US 11,803,413 · App. 17/110,486 · Granted Oct 31, 2023

Migrating complex legacy applications

Inventors: Dinesh C. Verma (New Castle, NY); Shahrokh Daijavad (Morgan Hill, CA); Bijan Davari (Mahopac, NY)
Assignee: International Business Machines Corporation
G06F9/4856G06F8/76H04L43/045H04L43/08H04L67/10H04L67/34
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 11,803,413
App. No.
17/110,486
Granted
Oct 31, 2023
Kind
B2
Abstract

A set of network traffic among a plurality of legacy applications is monitored. From the set of network traffic, a communication graph is generated for the plurality. From the communication graph, a set of migratable applications within the plurality is identified. The set of migratable applications is migrated to a cloud edge layer, and a user is notified of the migration.

Claims (73)

1. A method for migrating complex applications, the method comprising:

monitoring a set of network traffic among a plurality of applications, wherein each of the plurality of applications comprises a plurality of components and wherein at least some of the components are interconnected with other applications;

generating, from the set of monitored network traffic, a communication graph, wherein the communication graph includes an average latency between the respective pluralities of components and other applications;

identifying, from the average latencies of the communication graph, some of the components and other applications for migration;

migrating the identified components and the identified other applications to an edge layer; and

notifying a user of the migration.

2. The method of claim 1 , wherein generating the communication graph further comprises:

identifying a server address and a port number for each of the components and other applications;

identifying, using the server address and the port number, a set of client requests associated with each of the components and other applications; and

generating, from the identified set of client requests, the communication graph.

3. The method of claim 2 , wherein the communication graph further includes:

a set of addresses and port numbers correlating to a set of origins for the set of client requests;

a set of addresses and port numbers correlating to a set of destinations for the set of client requests; and

a volume of network traffic.

4. The method of claim 3 , wherein identifying the migratable components and other applications further comprises:

analyzing the communication graph to identify one or more groups of related components and other applications; and

determining, from the one or more groups of related components and other applications, a set components and other applications for migration.

5. The method of claim 4 , wherein the edge layer includes an appliance based on native architecture of a first application from the migratable components and other applications.

6. The method of claim 5 , wherein software is provided as a service in the edge layer to host the first application.

7. The method of claim 1 , further comprising:

monitoring a second set of network traffic occurring between the migrated components and other applications and a remainder of the plurality of components and other applications;

determining, in response to the monitoring, at least one timing error has occurred between the migrated components and other applications and a remainder of the plurality of components and other applications;

introducing, at the edge layer, a network rate control filter to resolve the timing error, wherein a criteria of the network rate control filter is based on the at least one timing error; and

notifying the user of the criteria.

8. A non-transitory computer program product for migrating complex applications, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a device to cause the device to:

monitor a set of network traffic among a plurality of applications, wherein each of the plurality of applications utilize one or more dependent applications and wherein at least some of the dependent applications are also utilized by one or more of the plurality of applications;

generate, from the set of monitored network traffic, a communication graph, wherein the communication graph includes an average latency between the respective pluralities applications;

identify, from the average latencies of the communication graph, some of the applications for migration;

migrate only the identified applications to an edge layer; and

notify a user of the migration.

9. The computer program product of claim 8 , wherein generating the communication graph further comprises:

identifying a server address and a port number for each of the applications;

identifying, using the server address and the port number, a set of client requests associated with each of the applications; and

generating, from the identified set of client requests, the communication graph.

10. The computer program product of claim 9 , wherein the communication graph further includes:

a set of addresses and port numbers correlating to a set of origins for the set of client requests;

a set of addresses and port numbers correlating to a set of destinations for the set of client requests; and

a volume of network traffic.

11. The computer program product of claim 10 , wherein identifying the migratable components and other applications further comprises:

analyzing the communication graph to identify one or more groups of related applications; and

determining, from the one or more groups of related applications, a set of applications for migration.

12. The computer program product of claim 11 , wherein the edge layer includes an appliance based on native architecture of a first application from migratable components and other applications.

13. The computer program product of claim 12 , wherein software is provided as a service in the edge layer to host the first application.

14. The computer program product of claim 8 , wherein the program instructions further cause the device to:

monitor a second set of network traffic occurring between the identified applications and a remainder of the applications;

determine, in response to the monitoring, at least one timing error has occurred between the migrated applications and the remainder of the plurality of applications;

introduce, at the edge layer, a network rate control filter to resolve the timing error, wherein a criteria of the network rate control filter is based on the at least one timing error; and

notifying the user of the criteria.

15. A system for migrating complex applications, the system comprising:

a memory subsystem, with program instructions included thereon; and

a processor in communication with the memory subsystem, wherein the program instructions cause the processor to:

monitor a set of network traffic among a plurality of applications, wherein each of the plurality of applications comprises a plurality of components and wherein at least some of the components are interconnected with other applications;

generate, from the set of monitored network traffic, a communication graph, wherein the communication graph includes an average latency between the respective pluralities of components and other applications;

identify, from the average latencies of the communication graph, some of the components and other applications for migration;

migrate the identified components and the identified other applications to an edge layer; and

notify a user of the migration.

16. The system of claim 15 , wherein generating the communication graph further comprises:

identifying a server address and a port number for each of the components and other applications;

identifying, using the server address and the port number, a set of client requests associated with each of the components and other applications; and

generating, from the identified set of client requests, the communication graph.

17. The system of claim 16 , wherein the communication graph further includes:

a set of addresses and port numbers correlating to a set of origins for the set of client requests;

a set of addresses and port numbers correlating to a set of destinations for the set of client requests; and

a volume of network traffic.

18. The system of claim 17 , wherein identifying the migratable components and other applications further comprises:

analyzing the communication graph to identify one or more groups of related components and other applications; and

determining, from the one or more groups of related components and other applications, a set components and other applications for migration.

19. The system of claim 18 , wherein the edge layer includes an appliance based on native architecture of a first application from migratable components and other applications.

20. The system of claim 15 , wherein the program instructions further cause the processor to:

monitor a second set of network traffic occurring between the migrated components and other applications and a remainder of the plurality of components and other applications;

determine, in response to the monitoring, at least one timing error has occurred between the migrated components and other applications and a remainder of the plurality of components and other applications;

introduce, at the edge layer, a network rate control filter to resolve the timing error, wherein a criteria of the network rate control filter is based on the at least one timing error; and

notifying the user of the criteria.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2020
From: VERMA, DINESH C.; DAIJAVAD, SHAHROKH; DAVARI, BIJAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 054528/0046 →
Continuity (1)
Related Publication 20220179683A1 · Jun 9, 2022
Cited By (2)
US 12,468,569 US 12,493,486