IP Library Granted Patent US 12,468,569
Granted Patent B2
US 12,468,569 · App. 17/871,619 · Granted Nov 11, 2025

Application usage and auto maintenance driven migration of applications and their dependencies

Inventors: Parminder Singh Sethi (Ludhiana, IN); Lakshmi Nalam (Bengaluru, IN); Shelesh Chopra (Bangalore, IN)
Assignee: DELL PRODUCTS L.P.
G06F9/4856G06F9/4881
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 12,468,569
App. No.
17/871,619
Granted
Nov 11, 2025
Kind
B2
Abstract

Embodiments described herein relate to methods, systems, and non-transitory computer readable mediums storing instructions for creating and executing migration workflows to replicate or migrate data (collectively referred to herein as ‘migration’) from one device or set of devices to another device or set of devices (e.g., from one computing environment to another). The method of migration involves determining periods of time when the application has decreased use or idle time. This decreased use or idle time is used to determine the optimal time to perform a migration of the application. Based on the calculated migration time as well as the time it takes to load the application after migration, the maintenance planner can alert users and help insure a successful migration.

Claims (61)

1 . A method for performing a migration, the method comprising:

receiving a request to migrate applications;

in response to receiving the request, performing dynamic strategizing to determine a priority of each application of the applications;

identifying relationships between the applications,

wherein identifying the relationships comprises analyzing shared memory segments, message queues, semaphore arrays, and sockets associated with the applications;

generating, based on the relationships, a relationship matrix;

identifying reduced use times of each application;

organizing the applications based on the relationship matrix, the priority of each application, a current level of usage of each application, and the reduced use times of each application;

determining, based on the organizing of the applications, an application of the applications that needs to be migrated,

wherein, based on the determining, the application is placed in a maintenance mode prior to the application being migrated;

performing migration of the application; and

once the migration of the application is completed:

taking the application out of the maintenance mode, and

sending a notification to a user to indicate that the application is available for use.

2 . The method of claim 1 , wherein identifying the reduced use times for each of the applications comprises receiving and parsing the applications' usage history.

3 . The method of claim 1 , wherein identifying the relationships between applications further comprises determining if an application has a HAS-A relationship with another application.

4 . The method of claim 1 , wherein identifying the relationships between applications further comprises determining if an application has an IS-A relationship with another application.

5 . The method of claim 1 , wherein the relationship matrix specifies at least one IS-A relationship and at least one HAS-A relationship.

6 . The method of claim 1 , wherein the organizing the applications comprises ordering the applications to be migrated during an idle time or during a period when the application's use is lower.

7 . A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for performing a migration, the method comprising:

receiving a request to migrate applications;

in response to receiving the request, performing dynamic strategizing to determine a priority of each application of the applications;

identifying relationships between the applications,

wherein identifying the relationships comprises analyzing shared memory segments, message queues, semaphore arrays, and sockets associated with the applications;

generating, based on the relationships, a relationship matrix;

identifying reduced use times of each application;

organizing the applications based on the relationship matrix, the priority of each application, a current level of usage of each application, and the reduced use times of each application;

determining, based on the organizing of the applications, an application of the applications that needs to be migrated,

wherein, based on the determining, the application is placed in a maintenance mode prior to the application being migrated;

performing migration of the application;

once the migration of the application is completed:

taking the application out of the maintenance mode, and

sending a notification to a user to indicate that the application is available for use.

8 . The non-transitory computer readable medium of claim 7 , wherein identifying the reduced use times for each of the applications comprises receiving and parsing the applications' usage history.

9 . The non-transitory computer readable medium of claim 7 , wherein identifying the relationships between applications further comprises determining if an application has a HAS-A relationship with another application.

10 . The non-transitory computer readable medium of claim 7 , wherein identifying the relationships between applications further comprises determining if an application has an IS-A relationship with another application.

11 . The non-transitory computer readable medium of claim 7 , wherein the relationship matrix specifies at least one IS-A relationship and at least one HAS-A relationship.

12 . The non-transitory computer readable medium of claim 7 , wherein the organizing the applications comprises ordering the applications to be migrated during an idle time or during a period when the application's use is lower.

13 . A system comprising:

at least two devices; and

a migrator which comprises:

at least one processor;

a storage device; and

at least one memory that includes instructions, which when executed by the processor, perform a method for performing a migration of a plurality of applications between a first device and at least a second device of the at least two devices, the method comprising:

receiving a request to migrate applications;

in response to receiving the request, performing dynamic strategizing to determine a priority of each application of the applications;

identifying relationships between the applications,

wherein identifying the relationships comprises analyzing shared memory segments, message queues, semaphore arrays, and sockets associated with the applications;

generating, based on the relationships, a relationship matrix;

identifying reduced use times of each application;

organizing the applications based on the relationship matrix, the priority of each application, a current level of usage of each application, and the reduced use times of each application;

determining, based on the organizing of the applications, an application of the applications that needs to be migrated,

wherein, based on the determining, the application is placed in a maintenance mode prior to the application being migrated;

performing migration of the application; and

once the migration of the application is completed:

taking the application out of the maintenance mode, and

sending a notification to a user to indicate that the application is available for use.

14 . The system of claim 13 , wherein identifying the reduced use times for each of the applications comprises receiving and parsing the applications' usage history.

15 . The system of claim 13 , wherein identifying the relationships between applications further comprises determining if an application has a HAS-A relationship with another application.

16 . The system of claim 13 , wherein the relationship matrix specifies at least one IS-A relationship and at least one HAS-A relationship.

17 . The system of claim 13 , wherein the organizing the applications comprises ordering the applications to be migrated during an idle time or during a period when the application's use is lower.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2022
From: SETHI, PARMINDER SINGH; NALAM, LAKSHMI; CHOPRA, SHELESH
To: DELL PRODUCTS L.P.
Reel/Frame 060604/0735 →
Continuity (1)
Related Publication 20240028388A1 · Jan 25, 2024
References Cited (41)
US 6105035A · Monge · 2000 [cited by examiner]
US 8103486B1 · Rolia · 2012 [cited by examiner]
US 9015832B1 · Lachwani · 2015 [cited by examiner]
US 10353764B1 · Cazzanti · 2019 [cited by examiner]
US 11487878B1 · Zhang · 2022 [cited by examiner]
US 11803413B2 · Verma · 2023 [cited by examiner]
US 12020070B2 · Chen · 2024 [cited by examiner]
US 20020138226A1 · Doane · 2002 [cited by examiner]
US 20040205120A1 · Dar · 2004 [cited by examiner]
US 20050257090A1 · Santos · 2005 [cited by examiner]
US 20110251998A1 · Moore · 2011 [cited by examiner]
US 20120151061A1 · Bartfai-Walcott · 2012 [cited by examiner]
US 20120254660A1 · He · 2012 [cited by examiner]
US 20120291138A1 · Haga · 2012 [cited by examiner]
US 20140172782A1 · Schuenzel · 2014 [cited by examiner]
US 20140189677A1 · Curzi · 2014 [cited by examiner]
US 20140298338A1 · Doi · 2014 [cited by examiner]
US 20150149393A1 · Hwang · 2015 [cited by examiner]
US 20160085219A1 · Paul · 2016 [cited by examiner]
US 20160371130A1 · Mullins · 2016 [cited by examiner]
US 20160378525A1 · Bjorkengren · 2016 [cited by examiner]
US 20180046489A1 · Onoue · 2018 [cited by examiner]
US 20190253485A1 · Jyoti Banerjee · 2019 [cited by examiner]
US 20200004648A1 · Xu · 2020 [cited by examiner]
US 20200349238A1 · Tyagi · 2020 [cited by examiner]
US 20210200616A1 · Xu · 2021 [cited by examiner]
US 20220070648A1 · Krishan · 2022 [cited by examiner]
US 20220091915A1 · Perneti · 2022 [cited by examiner]
US 20220138081A1 · Varma · 2022 [cited by examiner]
US 20220158926A1 · Wennerström · 2022 [cited by examiner]
US 20220179683A1 · Verma · 2022 [cited by examiner]
US 20220334870A1 · Chen · 2022 [cited by examiner]
US 20220337493A1 · Sant · 2022 [cited by examiner]
US 20230023625A1 · Shah · 2023 [cited by examiner]
US 20230138877A1 · Nadeau · 2023 [cited by examiner]
US 20230342190A1 · Sethi · 2023 [cited by examiner]
US 20240028387A1 · Sethi · 2024 [cited by examiner]
US 20240028388A1 · Sethi · 2024 [cited by examiner]
US 20240303123A1 · Chen · 2024 [cited by examiner]
WO 2021122516A1 · 2021 [cited by applicant]
WO 2022104396A1 · 2022 [cited by applicant]