IP Library Granted Patent US 11,429,365
Granted Patent B2
US 11,429,365 · App. 16/776,743 · Granted Aug 30, 2022

Systems and methods for automated retrofitting of customized code objects

Inventors: Albrecht Gass (Fullerton, CA); Nikolaos Faradouris (Mannheim, DE); Oliver Flach (Leinfelden-Echterdingen, DE); Stefan Hetges (Mannheim, DE)
Assignee: SMARTSHIFT TECHNOLOGIES, INC.
G06F8/61G06F8/65G06F9/44526
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,429,365
App. No.
16/776,743
Granted
Aug 30, 2022
Kind
B2
Abstract

The present application is directed towards systems and methods for automatic retrofitting of customized code objects during transformation of a system from a source installation to a target installation. In many instances, new objects may be created or objects modified on an online or production system while a development system is being upgraded. Simply copying the upgraded development system to the production system when complete would delete these new objects or modifications. Accordingly, the modifications or new objects may need to be retrofitted, or propagated to the development system and upgraded or transformed for compatibility with the new software, prior to placing the system online.

Claims (83)

1. A method for automated retrofitting of customized code objects, comprising:

detecting, by a retrofit engine executed by a processor of a client device, a modification to a first object of a source installation, wherein:

the modification to the first object of the source installation was made during an upgrade process of the source installation to a target installation, and

the pre-modification first object of the source installation corresponds to an upgraded first object of the target installation;

determining, by the retrofit engine, that the modification to the first object does not involve the same entities as transformed portions of the upgraded first object of the target installation; and

merging, responsive to the determination and following completing the upgrade process, the modified first object of the source installation, by the retrofit engine, with the upgraded first object of the target installation,

wherein the merging comprises re-applying, to the modified first object, one or more transformation rules applied during the upgrade process to the pre-modification first object.

2. The method of claim 1 , wherein at least a portion of the one or more transformation rules are generated during transformation of the objects of the source installation to the target installation.

3. The method of claim 1 , wherein detecting the modification to the first object of the source installation further comprises monitoring write commands of the source installation, by the retrofit engine.

4. The method of claim 1 , further comprising applying a conversion rule to rename the modified first object with a valid name when the modified first object has an invalid name.

5. A method for automated retrofitting of customized code objects, comprising:

detecting, by a retrofit engine executed by a processor of a client device, a modification to a first object of a source installation made during an upgrade process of the source installation to a target installation, wherein the pre-modification first object of the source installation corresponds to an upgraded first object of the target installation;

determining, by the retrofit engine, that the modification to the first object involves the same entities as transformed portions of the upgraded first object of the target installation;

responsive to the determination that the modification to the first object involves the same entities, identifying the first object as conflicted, by the retrofit engine;

applying, to the modified first object to create an upgraded version of the modified first object, one or more transformation rules applied during the upgrade process to the pre-modification first object; and

determining, by the retrofit engine, that upgraded portions of the upgraded pre-modification first object are identical to corresponding portions of the upgraded version of the modified first object, and in response:

merging the upgraded pre-modification first object and the upgraded modified first object, wherein the merging follows completing the upgrade process; and

identifying, by the retrofit engine, the conflict as resolved.

6. The method of claim 5 , further comprising setting a priority for the conflict based on a type of the first object.

7. The method of claim 5 , further comprising determining whether the first object comprises automatic, semi-automatic, or manual code.

8. The method of claim 7 , wherein the applying, to the modified first object, the one or more transformation rules applied during the upgrade process to the pre-modification first object is responsive to a determination that the first object comprises automatic or semi-automatic code.

9. The method of claim 7 , further comprising setting a priority for the conflict based on the determination whether the first object comprises automatic, semi-automatic, or manual code.

10. The method of claim 5 , further comprising generating a conflict report identifying the modified first object of the source installation and the corresponding object of the target installation.

11. The method of claim 5 , further comprising applying a conversion rule to rename the upgraded pre-modification first object with a valid name when the upgraded pre-modification first object has an invalid name.

12. A system for automated retrofitting of customized code objects, comprising:

a bridge system, in communication with a source system comprising a source installation and a target system comprising a target installation, the bridge system comprising a processor executing a retrofit engine; and

an analyzer client, in communication with the bridge system, comprising a processor executing a transformer;

wherein the transformer is configured to perform an upgrade of objects of a source installation to a target installation;

wherein the retrofit engine is configured to:

detect a modification to a first object of the source installation made during the upgrade process of the source installation to the target installation, wherein the pre-modification first object of the source installation corresponds to an upgraded first object of the target installation, and

determine the modification to the first object does not involve the same entities as transformed portions of the upgraded first object of the target installation;

wherein the transformer is further configured to merge, responsive to the determination and following completing the upgrade process, the modified first object of the source installation with the upgraded first object of the target installation, and

wherein the merging comprises applying, to the modified first object, one or more transformation rules applied during the upgrade process to the pre-modification first object.

13. The system of claim 12 , wherein at least a portion of the one or more transformation rules are generated during transformation of the objects of the source installation to the target installation.

14. The system of claim 12 , wherein the retrofit engine is further configured to monitor write commands of the source installation during the upgrade process.

15. The system of claim 12 , wherein the retrofit engine is further configured to identify the first object as conflicted, responsive to a determination that the modification to the first object involves the same entities as transformed portions of the upgraded first object of the target installation.

16. The system of claim 15 , wherein the retrofit engine is further configured to set a priority for the conflict based on a type of the first object.

17. The system of claim 15 , wherein the retrofit engine is further configured to determine whether the first object comprises automatic, semi-automatic, or manual code.

18. The system of claim 17 , wherein the transformer is further configured to apply, to the modified first object, the one or more transformation rules applied during the upgrade process to the pre-modification first object in response to a determination that the first object comprises automatic or semi-automatic code.

19. The system of claim 17 , wherein the retrofit engine is further configured to set a priority for the conflict based on the determination whether the first object comprises automatic, semi-automatic, or manual code.

20. A system for automated retrofitting of customized code objects, comprising:

a bridge system, in communication with a source system comprising a source installation and a target system comprising a target installation, the bridge system comprising a processor executing a retrofit engine; and

an analyzer client, in communication with the bridge system, comprising a processor executing a transformer;

wherein the transformer is configured to perform an upgrade of objects of a source installation to a target installation;

wherein the retrofit engine is configured to:

detect a modification to a first object of the source installation made during the upgrade process of the source installation to the target installation, wherein the pre-modification first object of the source installation corresponds to an upgraded first object of the target installation, and

determine the modification to the first object involves the same entities as transformed portions of the upgraded first object of the target installation;

wherein the transformer is further configured to identify the first object as conflicted, responsive to the determination;

wherein the transformer is further configured to apply, to the modified first object to create an upgraded version of the modified first object, one or more transformation rules applied during the upgrade process to the pre-modification first object; and

wherein the retrofit engine is further configured to determine that upgraded portions of the upgraded pre-modification first object are identical to corresponding portions of the upgraded version of the modified first object, and in response:

merge the upgraded pre-modification first object and the upgraded modified first object, wherein the merging follows completing the upgrade process; and

identify, by the retrofit engine, the conflict as resolved.

21. The system of claim 20 , wherein at least a portion of the one or more transformation rules are generated during transformation of the objects of the source installation to the target installation.

22. The system of claim 20 , wherein the retrofit engine is further configured to monitor write commands of the source installation during the upgrade process.

23. The system of claim 20 , wherein the retrofit engine is further configured to identify the first object as conflicted, responsive to a determination that the modification to the first object involves the same entities as transformed portions of the upgraded first object of the target installation.

24. The system of claim 23 , wherein the retrofit engine is further configured to set a priority for the conflict based on a type of the first object.

25. The system of claim 23 , wherein the retrofit engine is further configured to determine whether the first object comprises automatic, semi-automatic, or manual code.

26. The system of claim 25 , wherein the transformer is further configured to apply, to the modified first object, the one or more transformation rules applied during the upgrade process to the pre-modification first object in response to a determination that the first object comprises automatic or semi-automatic code.

27. The system of claim 25 , wherein the retrofit engine is further configured to set a priority for the conflict based on the determination whether the first object comprises automatic, semi-automatic, or manual code.

28. A non-transitory software installation device storing processor-executable instructions configured to cause a computing device to perform automated retrofitting of customized code objects by executing a method comprising:

detecting, by a retrofit engine executed by a processor of a client device, a modification to a first object of a source installation, wherein:

the modification to the first object of the source installation was made during an upgrade process of the source installation to a target installation, and

the pre-modification first object of the source installation corresponds to an upgraded first object of the target installation;

determining, by the retrofit engine, that the modification to the first object does not involve the same entities as transformed portions of the upgraded first object of the target installation; and

merging, responsive to the determination and following completing the upgrade process, the modified first object of the source installation, by the retrofit engine, with the upgraded first object of the target installation,

wherein the merging comprises applying, to the modified first object, one or more transformation rules applied during the upgrade process to the pre-modification first object.

29. The software installation device of claim 28 , wherein the method further comprises applying a conversion rule to rename the modified first object with a valid name when the modified first object has an invalid name.

30. The software installation device of claim 28 , wherein at least a portion of the one or more transformation rules are generated during transformation of the objects of the source installation to the target installation.

31. The software installation device of claim 28 , wherein detecting the modification to the first object of the source installation further comprises monitoring write commands of the source installation, by the retrofit engine.

32. A non-transitory software installation device storing processor-executable instructions configured to cause a computing device to perform automated retrofitting of customized code objects by executing a method comprising:

detecting, by a retrofit engine executed by a processor of a client device, a modification to a first object of a source installation made during an upgrade process of the source installation to a target installation, wherein the pre-modification first object of the source installation corresponds to an upgraded first object of the target installation;

determining, by the retrofit engine, that the modification to the first object involves the same entities as transformed portions of the upgraded first object of the target installation;

responsive to the determination that the modification to the first object involves the same entities, identifying the first object as conflicted, by the retrofit engine;

applying, to the modified first object to create an upgraded version of the modified first object, one or more transformation rules applied during the upgrade process to the pre-modification first object; and

determining, by the retrofit engine, that upgraded portions of the upgraded pre-modification first object are identical to corresponding portions of the upgraded version of the modified first object, and in response:

merging the upgraded pre-modification first object and the upgraded modified first object, wherein the merging follows completing the upgrade process; and

identifying, by the retrofit engine, the conflict as resolved.

33. The software installation device of claim 32 , wherein the method further comprises applying a conversion rule to rename the upgraded pre-modification first object with a valid name when the upgraded pre-modification first object has an invalid name.

34. The software installation device of claim 32 , wherein the method further comprises setting a priority for the conflict based on a type of the first object.

35. The software installation device of claim 32 , wherein the method further comprises determining whether the first object comprises automatic, semi-automatic, or manual code.

36. The software installation device of claim 35 , wherein the applying, to the modified first object, the one or more transformation rules applied during the upgrade process to the pre-modification first object is performed in response to a determination that the first object comprises automatic or semi-automatic code.

37. The software installation device of claim 35 , wherein the method further comprises setting a priority for the conflict based on the determination whether the first object comprises automatic, semi-automatic, or manual code.

38. The software installation device of claim 32 , wherein the method further comprises generating a conflict report identifying the modified first object of the source installation and the corresponding object of the target installation.

Assignments (2)
SECURITY INTEREST Recorded Sep 1, 2023
From: SMARTSHIFT TECHNOLOGIES, INC.
To: BARINGS FINANCE LLC, AS AGENT
Reel/Frame 064777/0315 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2020
From: FARADOURIS, NIKOLAOS; FLACH, OLIVER; HETGES, STEFAN
To: SMARTSHIFT TECHNOLOGIES, INC.
Reel/Frame 053948/0931 →
Continuity (2)
Continuation 15164490 · May 25, 2016
Related Publication 20200167143A1 · May 28, 2020
Cited By (5)
US 12,379,908 US 12,393,401 US 12,498,915 US 12,524,217 US 12,717,766