IP Library › Granted Patent US 12,293,220
Granted Patent B2
US 12,293,220 · App. 17/726,165 · Granted May 6, 2025

Context-driven framework to migrate the applications and its dependencies by analyzing the relationships

Inventors: Parmnder Singh Sethi (Ludhiana, IN); Lakshmi Nalam (Bangalore, IN); Madhuri Dwarakanath (Bangalore, IN); Shelesh Chopra (Bangalore, IN)
Assignee: Dell Products L.P.
G06F9/4856G06F3/0604G06F3/0647G06F3/067G06F9/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,293,220
App. No.
17/726,165
Filed
Apr 21, 2022
Granted
May 6, 2025
Kind
B2
Examiner
LEE, ADAM
Art Unit
2193
USPC
718/102
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 obtaining relationship information with regards to the applications that will be migrated from one device to another device or set of devices, and classifying the applications based on their relationships such as HAS-A and IS-A. Based on these classifications, one or more embodiments of the invention generate a relationship matrix in order to assign priority to the migration of each individual application. The applications are then migrated based on the matrix and assigned priorities.

Claims (55)

1. A method comprising:

migrating a first group of a plurality of applications from a source device to a first device based on a relationship matrix, wherein the first group is less than a total number of the plurality of applications; and

migrating a second group comprising all remaining applications of the plurality of applications from the source device to a second device based on the relationship matrix, wherein:

each of the source device, the first device, and the second device are distinct,

each of the plurality of applications has a type of relationship with at least one other application in its respective group,

each of the plurality of applications has a priority relative to other applications in the respective group based on its respective relationship type,

each relationship type is based on application traffic on port numbers used by the applications in the respective group,

the application traffic is at least one of: shared memory segments, pipes, message queues, semaphore arrays, and sockets, and

the relationship matrix is based on the respective relationship type and relative priority of each of the applications.

2. The method of claim 1 , wherein the relationship type is a HAS-A relationship with another application.

3. The method of claim 1 , wherein the relationship type is an IS-A relationship with another application.

4. The method of claim 1 , wherein each application is a parent application or a child application of another application.

5. The method of claim 4 , wherein the child application is migrated after the parent application is migrated and started successfully.

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

7. The method of claim 1 , wherein:

the relationship type of the first group of applications is a HAS-A relationship,

the relationship type of the second group of applications is an IS-A relationship, and

the first group is migrated prior to migrating the second group.

8. The method of claim 1 , wherein the relationship matrix is a database, a table, or a relationship tree.

9. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to execute a method comprising:

migrating a first group of a plurality of applications from a source device to a first device based on a relationship matrix, wherein the first group is less than a total number of the plurality of applications; and

migrating a second group comprising all remaining applications of the plurality of applications from the source device to a second device based on the relationship matrix, wherein:

each of the source device, the first device, and the second device are distinct,

each of the plurality of applications has a type of relationship with at least one other application in its respective group,

each of the plurality of applications has a priority relative to other applications in the respective group based on its respective relationship type,

each relationship type is based on application traffic on port numbers used by the applications in the respective group,

the application traffic is at least one of: shared memory segments, pipes, message queues, semaphore arrays, and sockets, and

the relationship matrix is based on the respective relationship type and relative priority of each of the applications.

10. The non-transitory computer readable medium of claim 9 , wherein the relationship type is a HAS-A relationship with another application.

11. The non-transitory computer readable medium of claim 9 , wherein the relationship type is an IS-A relationship with another application.

12. The non-transitory computer readable medium of claim 9 , wherein each application is a parent application or a child application of another application.

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

14. The non-transitory computer readable medium of claim 9 , wherein:

the relationship type of the first group of applications is a HAS-A relationship,

the relationship type of the second group of applications is an IS-A relationship, and

the first group is migrated prior to migrating the second group.

15. The non-transitory computer readable medium of claim 9 , wherein the relationship matrix is a database, a table, or a relationship tree.

16. A system comprising:

at least two devices comprising at least a first device and a second device; 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, executes a method comprising:

migrating a first group of a plurality of applications from the storage device to the first device based on a relationship matrix, wherein the first group is less than a total number of the plurality of applications; and

migrating a second group comprising all remaining applications of the plurality of applications from the storage device to the second device based on the relationship matrix, wherein:

each of the storage device, the first device, and the second device are distinct,

each of the plurality of applications has a type of relationship with at least one other application in its respective group,

each of the plurality of applications has a priority relative to other applications in the respective group based on its respective relationship type,

each relationship type is based on application traffic on port numbers used by the applications in the respective group,

the application traffic is at least one of: shared memory segments, pipes, message queues, semaphore arrays, and sockets, and

the relationship matrix is based on the respective relationship type and relative priority of each of the applications.

17. The system of claim 16 , wherein the relationship type is a HAS-A relationship with another application.

18. The system of claim 16 , wherein the relationship type is an IS-A relationship with another application.

19. The system of claim 16 , wherein each application is a parent application or a child application of another application.

20. The system of claim 16 , wherein the relationship matrix is a database, a table, or a relationship tree.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2022
From: SETHI, PARMINDER SINGH; NALAM, LAKSHMI; DWARAKANATH, MADHURI; CHOPRA, SHELESH
To: DELL PRODUCTS L.P.
Reel/Frame 060105/0316 →
Continuity (1)
Related Publication 20230342190A1 · Oct 26, 2023
References Cited (160)
US 6105035A · Monge · 2000 [cited by examiner]
US 6195760B1 · Chung et al. · 2001 [cited by applicant]
US 6393480B1 · Qin · 2002 [cited by examiner]
US 6563836B1 · Capps · 2003 [cited by applicant]
US 7251745B2 · Koch et al. · 2007 [cited by applicant]
US 7401248B2 · Nakahara et al. · 2008 [cited by applicant]
US 7525749B2 · Maejima et al. · 2009 [cited by applicant]
US 7590981B2 · Gupta et al. · 2009 [cited by applicant]
US 7966391B2 · Anderson et al. · 2011 [cited by applicant]
US 8078448B1 · Wohlberg et al. · 2011 [cited by applicant]
US 8364799B2 · Sakai · 2013 [cited by applicant]
US 8370592B1 · Specht et al. · 2013 [cited by applicant]
US 8918673B1 · Rangaiah et al. · 2014 [cited by applicant]
US 9015832B1 · Lachwani · 2015 [cited by examiner]
US 9026260B1 · Thornley et al. · 2015 [cited by applicant]
US 9397930B2 · Drobinsky et al. · 2016 [cited by applicant]
US 9417918B2 · Chin · 2016 [cited by examiner]
US 9495381B2 · Shvachko · 2016 [cited by applicant]
US 9514164B1 · Matic · 2016 [cited by examiner]
US 9515873B2 · Anumala · 2016 [cited by applicant]
US 9900215B2 · Yang et al. · 2018 [cited by applicant]
US 10303465B1 · Potter · 2019 [cited by examiner]
US 10572294B1 · Chawda · 2020 [cited by examiner]
US 10785123B2 · Gonguet · 2020 [cited by applicant]
US 10929428B1 · Brahmadesam et al. · 2021 [cited by applicant]
US 11128464B1 · Loladia · 2021 [cited by applicant]
US 11392402B1 · Carroll · 2022 [cited by examiner]
US 11424989B2 · Jeuk et al. · 2022 [cited by applicant]
US 11500678B2 · Sumangala et al. · 2022 [cited by applicant]
US 11588893B1 · Sharma · 2023 [cited by applicant]
US 11595269B1 · Ghosh et al. · 2023 [cited by applicant]
US 11846918B1 · Mazur · 2023 [cited by applicant]
US 20020095474A1 · Boys · 2002 [cited by applicant]
US 20020138226A1 · Doane · 2002 [cited by applicant]
US 20030233230A1 · Ammicht · 2003 [cited by examiner]
US 20030236819A1 · Greubel · 2003 [cited by applicant]
US 20050216800A1 · Bicknell et al. · 2005 [cited by applicant]
US 20050257090A1 · Santos · 2005 [cited by examiner]
US 20050273633A1 · Wilcox · 2005 [cited by applicant]
US 20060031842A1 · Neiman · 2006 [cited by applicant]
US 20060129771A1 · Dasgupta et al. · 2006 [cited by applicant]
US 20070079170A1 · Zimmer et al. · 2007 [cited by applicant]
US 20070198524A1 · Branda et al. · 2007 [cited by applicant]
US 20070198968A1 · Shenfield · 2007 [cited by examiner]
US 20070239500A1 · Barrett et al. · 2007 [cited by applicant]
US 20080222218A1 · Richards et al. · 2008 [cited by applicant]
US 20090157882A1 · Kashyap · 2009 [cited by examiner]
US 20090307522A1 · Olson et al. · 2009 [cited by applicant]
US 20100142447A1 · Schlicht · 2010 [cited by applicant]
US 20110035755A1 · Huang · 2011 [cited by examiner]
US 20110066879A1 · Nakai · 2011 [cited by applicant]
US 20110087672A1 · Hui · 2011 [cited by examiner]
US 20110113224A1 · Isshiki et al. · 2011 [cited by applicant]
US 20110151023A1 · Wernet · 2011 [cited by applicant]
US 20110154104A1 · Swanson et al. · 2011 [cited by applicant]
US 20110251998A1 · Moore · 2011 [cited by examiner]
US 20110307903A1 · Vaddagiri · 2011 [cited by examiner]
US 20120054581A1 · Grube · 2012 [cited by applicant]
US 20120072571A1 · Orzell et al. · 2012 [cited by applicant]
US 20120089711A1 · Zager · 2012 [cited by examiner]
US 20120151061A1 · Bartfai-Walcott · 2012 [cited by examiner]
US 20120254849A1 · Wang · 2012 [cited by examiner]
US 20130103977A1 · Zimmermann · 2013 [cited by applicant]
US 20130246623A1 · Seth · 2013 [cited by applicant]
US 20130346714A1 · Solihin · 2013 [cited by examiner]
US 20140172782A1 · Schuenzel · 2014 [cited by examiner]
US 20140376385A1 · Boss et al. · 2014 [cited by applicant]
US 20150019909A1 · Griffith · 2015 [cited by applicant]
US 20150169329A1 · Barrat · 2015 [cited by examiner]
US 20150222702A1 · Salle · 2015 [cited by examiner]
US 20150261518A1 · Viswanathan · 2015 [cited by applicant]
US 20150278219A1 · Phipps · 2015 [cited by applicant]
US 20150326542A1 · Serebrin · 2015 [cited by applicant]
US 20150347573A1 · Hosokawa · 2015 [cited by examiner]
US 20160048408A1 · Madhu et al. · 2016 [cited by applicant]
US 20160162280A1 · Murayama et al. · 2016 [cited by applicant]
US 20160239395A1 · Madsen et al. · 2016 [cited by applicant]
US 20160266875A1 · Takahashi · 2016 [cited by examiner]
US 20160359678A1 · Madani · 2016 [cited by applicant]
US 20160378168A1 · Branover · 2016 [cited by applicant]
US 20160378525A1 · Bjorkengren · 2016 [cited by examiner]
US 20160378648A1 · Ekambaram · 2016 [cited by applicant]
US 20170046202A1 · Bao · 2017 [cited by applicant]
US 20170272419A1 · Kumar · 2017 [cited by applicant]
US 20170337088A1 · Wang · 2017 [cited by examiner]
US 20180039519A1 · Kumar et al. · 2018 [cited by applicant]
US 20180074855A1 · Kambatla · 2018 [cited by applicant]
US 20180113728A1 · Musani et al. · 2018 [cited by applicant]
US 20180124182A1 · Orman · 2018 [cited by examiner]
US 20180157723A1 · Chougule · 2018 [cited by examiner]
US 20180196655A1 · Kapoor · 2018 [cited by examiner]
US 20180239677A1 · Chen · 2018 [cited by applicant]
US 20180262979A1 · Wang et al. · 2018 [cited by applicant]
US 20180322276A1 · Brown · 2018 [cited by examiner]
US 20190087224A1 · Vrind · 2019 [cited by applicant]
US 20190104019A1 · Makovsky · 2019 [cited by examiner]
US 20190171472A1 · Wyble · 2019 [cited by applicant]
US 20190199687A1 · Lan · 2019 [cited by applicant]
US 20190310872A1 · Griffin · 2019 [cited by applicant]
US 20190311041A1 · Shah · 2019 [cited by examiner]
US 20190379595A1 · Ur et al. · 2019 [cited by applicant]
US 20190386849A1 · Yu · 2019 [cited by applicant]
US 20200099773A1 · Myers · 2020 [cited by applicant]
US 20200110655A1 · Harwood et al. · 2020 [cited by applicant]
US 20200110675A1 · Wang · 2020 [cited by applicant]
US 20200133772A1 · Dalmatov et al. · 2020 [cited by applicant]
US 20200156243A1 · Ghare et al. · 2020 [cited by applicant]
US 20200169921A1 · Zhu · 2020 [cited by applicant]
US 20200264930A1 · Mandagere et al. · 2020 [cited by applicant]
US 20200344658A1 · Huang · 2020 [cited by applicant]
US 20200349238A1 · Tyagi · 2020 [cited by examiner]
US 20200351900A1 · Zhang · 2020 [cited by applicant]
US 20200366604A1 · Banerjee · 2020 [cited by examiner]
US 20210026707A1 · Rosenberg · 2021 [cited by applicant]
US 20210064401A1 · Vichare · 2021 [cited by applicant]
US 20210096776A1 · Kim et al. · 2021 [cited by applicant]
US 20210153044A1 · Ramanathan et al. · 2021 [cited by applicant]
US 20210165768A1 · D'halluin et al. · 2021 [cited by applicant]
US 20210173945A1 · Karr et al. · 2021 [cited by applicant]
US 20210200814A1 · Tal · 2021 [cited by examiner]
US 20210294704A1 · Rosenberg · 2021 [cited by applicant]
US 20210373947A1 · Kweon · 2021 [cited by examiner]
US 20220070648A1 · Krishan · 2022 [cited by applicant]
US 20220075613A1 · Ramachandran · 2022 [cited by applicant]
US 20220091980A1 · Kayiran · 2022 [cited by applicant]
US 20220138081A1 · Varma et al. · 2022 [cited by applicant]
US 20220158926A1 · Wennerstrom et al. · 2022 [cited by applicant]
US 20220164186A1 · Pamidala · 2022 [cited by applicant]
US 20220167363A1 · Sun · 2022 [cited by applicant]
US 20220171856A1 · Bhatt · 2022 [cited by examiner]
US 20220179683A1 · Verma et al. · 2022 [cited by applicant]
US 20220229573A1 · Ramasamy · 2022 [cited by applicant]
US 20220240105A1 · Shaw · 2022 [cited by applicant]
US 20220272142A1 · Li et al. · 2022 [cited by applicant]
US 20220283784A1 · Degen et al. · 2022 [cited by applicant]
US 20220300198A1 · Gao et al. · 2022 [cited by applicant]
US 20220317912A1 · Darji et al. · 2022 [cited by applicant]
US 20220337493A1 · Sant et al. · 2022 [cited by applicant]
US 20220337501A1 · Sant et al. · 2022 [cited by applicant]
US 20220342697A1 · Macfarlane · 2022 [cited by applicant]
US 20220368602A1 · Adhav et al. · 2022 [cited by applicant]
US 20220413845A1 · Mathew · 2022 [cited by applicant]
US 20230033886A1 · Goswami et al. · 2023 [cited by applicant]
US 20230037124A1 · Mengwasser et al. · 2023 [cited by applicant]
US 20230080047A1 · Bashir · 2023 [cited by applicant]
US 20230098941A1 · Rizzi · 2023 [cited by examiner]
US 20230229625A1 · Nerurkar · 2023 [cited by applicant]
US 20230350708A1 · Draznin et al. · 2023 [cited by applicant]
US 20240037011A1 · Zheng · 2024 [cited by applicant]
US 20240248768A1 · Sethi · 2024 [cited by applicant]
US 20240251021A1 · Sethi · 2024 [cited by applicant]
CN 106649091A · 2017 [cited by applicant]
JP 2017027496A · 2017 [cited by applicant]
WO 2017095382A1 · 2017 [cited by applicant]
WO 2021122516A1 · 2021 [cited by applicant]
WO 2022104396A1 · 2022 [cited by applicant]
Wu, Suzhen et al., Proactive Data Migration for Improved Storage Availability in Large-Scale Dat Centers, 2015, IEEE 15 pages. [cited by applicant]
Okuda et al., “Migration system and method for container”. JP 2017027496 A (Eng), Feb. 2, 2017. 13 Pages. (Year 2017). [cited by applicant]
Steven D. Young, “In-Time Safety Assurance Systems for Emerging Autonomous Flight Operations”, pp. 1-10, https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber-8569689 (Year: 2018) (10 pages). [cited by applicant]
Mona Elsaadawy et al., Enabling efficient application monitoring in cloud data centers using SDN, Enabling efficient application monitoring in cloud data centers using SDN, 1902.11292, (Year: 2019) (14 pages). [cited by applicant]