IP Library Granted Patent US 10,481,884
Granted Patent B2
US 10,481,884 · App. 15/672,004 · Granted Nov 19, 2019

Systems and methods for dynamically replacing code objects for code pushdown

Inventors: Albrecht Gass (Fullerton, CA); Nikolaos Faradouris (Mannheim, DE); Oliver Flach (Leinfelden-Echterdingen, DE); Stefan Hetges (Mannheim, DE)
Assignee: SmartShift Technologies, Inc.
G06F8/51G06F8/76G06F9/541G06F8/72
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 10,481,884
App. No.
15/672,004
Granted
Nov 19, 2019
Kind
B2
Abstract

The present application is directed towards systems and methods for automated analysis and transformation of applications and automated pushdown of code from application layer to database layer, or from a data-to-code to code-to-data paradigm, including analyzing and extracting application layer code, relocating to and restructuring the code for the database layer, optimizing the code for better performance at the database layer, and adding communication interconnections between other applications and the pushed down code.

Claims (31)

1. A method for automated transformation of application layer executable code to execution in a database layer of a business management system, comprising:

identifying, by an analyzer client executed by a processor of a client device, a first segment of executable code from an application layer of a business management system comprising the application layer and a database layer;

determining, by the analyzer client, to transform the first segment of executable code for execution at the database layer of the business management system;

modifying, by a transformer executed by the processor, the first segment of executable code according to one or more transformation rules;

storing, by the transformer, a first portion of the first segment of executable code at the database layer of the business management system; and

removing, by the transformer, the first portion of the first segment of executable code from the application layer of the business management system.

2. The method of claim 1 , wherein identifying the first segment of executable code further comprises selecting the first segment of executable code, responsive to the first segment comprising code to retrieve data from the database layer.

3. The method of claim 1 , further comprising determining the time to transfer input data for the first segment by performing a test query, by the analyzer client, for the input data.

4. The method of claim 1 , further comprising determining the processing time of the first segment of executable code based on the number, type, or complexity of processing operations to be performed.

5. The method of claim 1 , wherein determining to transform the first segment of executable code further comprises determining that a size of input data for the first segment of executable code exceeds a size of output data from the first segment of executable code.

6. The method of claim 5 , further comprising determining the size of input data by performing a test query, by the analyzer client, for the input data.

7. The method of claim 5 , further comprising determining the size of output data based on the type of processing operation to be performed.

8. The method of claim 1 , wherein modifying the first segment of executable code according to the one or more transformation rules further comprises generating a remote procedure call from the application layer to the database layer.

9. The method of claim 8 , further comprising generating a callback from the database layer to the application layer, responsive to execution of a portion of the first segment of executable code by a database server of the business management system.

10. A system for automated transformation of application layer executable code to execution in a database layer of a business management system, comprising:

a client device in communication with a business management system, the client device comprising a processor executing an analyzer client and a transformer;

wherein the analyzer client is configured for:

identifying a first segment of executable code from an application layer of a business management system comprising the application layer and a database layer, and

determining to transform the first segment of executable code for execution at the database layer of the business management system; and

wherein the transformer is configured for:

modifying the first segment of executable code according to one or more transformation rules,

storing a first portion of the first segment of executable code at the database layer of the business management system, and

removing the first portion of the first segment of executable code from the application layer of the business management system.

11. The system of claim 10 , wherein the analyzer is further configured for selecting the first segment of executable code, responsive to the first segment comprising code to retrieve data from the database layer.

12. The system of claim 10 , wherein the analyzer is further configured for determining the time to transfer input data for the first segment by performing a test query, by the analyzer client, for the input data.

13. The system of claim 10 , wherein the analyzer is further configured for determining the processing time of the first segment of executable code based on the number, type, or complexity of processing operations to be performed.

14. The system of claim 10 , wherein the analyzer is further configured for determining that a size of input data for the first segment of executable code exceeds a size of output data from the first segment of executable code.

15. The system of claim 14 , wherein the analyzer is further configured for determining the size of input data by performing a test query, by the analyzer client, for the input data.

16. The system of claim 14 , wherein the analyzer is further configured for determining the size of output data based on the type of processing operation to be performed.

17. The system of claim 10 , wherein the transformer is further configured for generating a remote procedure call from the application layer to the database layer.

18. The system of claim 17 , wherein the transformer is further configured for generating a callback from the database layer to the application layer, responsive to execution of a portion of the first segment of executable code by the database server of the business management system.

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 Aug 15, 2017
From: GASS, ALBRECHT; FARALOURIS, NIKOLAOS; FLACH, OLIVER; HETGES, STEFAN
To: SMARTSHIFT TECHNOLOGIES, INC.
Reel/Frame 043298/0414 →
Cited By (4)
US 12,379,908 US 12,498,915 US 12,524,217 US 12,717,766