IP Library Granted Patent US 8,762,408
Granted Patent B2
US 8,762,408 · App. 13/450,774 · Granted Jun 24, 2014

Optimizing software applications

Inventors: Hartwig Brand (Walldorf, DE); Dirk Debertin (Walldorf, DE); Carsten Dietze-Selent (Walldorf, DE); Peter Goebbels (Walldorf, DE); Cornelia Haase (Walldorf, DE); Christian Hansen (Walldorf, DE); Kerstin Hoeft (Walldorf, DE); Uwe Hommel (Walldorf, DE); Ulrich Koch (Walldorf, DE); Harald Kuck (Walldorf, DE); Jens Otto (Walldorf, DE); Thomas Raupp (Walldorf, DE); Tobias Wenner (Walldorf, DE); Michael Schafft (Bohl-Iggelheim, DE); Matthias Schwarz (Walldorf, DE); Jemin Tanna (Bangalore, IN)
Assignee: SAP AG
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 8,762,408
App. No.
13/450,774
Granted
Jun 24, 2014
Kind
B2
Abstract

Techniques for optimizing a software application include receiving, at a local computing system, a query from an application for data stored on a database table, the query including a context defined by a name of the database table; comparing the context of the query to a context of a predefined query scenario; based on the context of the query matching the context of the predefined query scenario, retrieving data stored on a secondary database replicated from data stored on a main database; and passing the retrieved data from the secondary database to the application.

Claims (60)

1. A method performed with a computing system for optimizing a performance of an enterprise application, the method comprising:

receiving, at the local computing system that comprises an enterprise computing system, from a remote computing system that executes a hosted application, one or more configuration tables defining a predefined query scenario for querying and retrieving data from the hosted application for data stored on a database table;

replicating a database table from a main database to a secondary database, the main database comprising updated data relative to data contained in the database table of the secondary database, the secondary database comprising an in-memory database and the main database comprising a magnetic memory;

receiving, at the local computing system, a query from the enterprise application for data stored on the database table, the query comprising a query return time and a context;

comparing the context of the query to a context of the predefined query scenario, the context of the query comprising at least one of a database table name, a scenario application name, or a scenario job name;

based on the context of the query matching the context of the predefined query scenario, retrieving data stored on the secondary database replicated from data stored on the main database; and

passing the retrieved data from the secondary database to the enterprise application.

2. The method of claim 1 , wherein the predefined query scenario comprises a scenario table name, and comparing the context of the query to a context of a predefined query scenario comprises comparing the name of the database table to the scenario table name.

3. The method of claim 1 , wherein the predefined query scenario further comprises a scenario application name, and comparing the context of the query to a context of a predefined query scenario further comprises:

comparing a name of the application to the scenario application name.

4. The method of claim 1 , wherein the predefined query scenario further comprises a scenario job name, and comparing the context of the query to a context of a predefined query scenario further comprises:

comparing a name of a background job to the scenario job name.

5. The method of claim 1 , further comprising:

receiving, at the local computing system, a second query from the application for data stored on a database table, the second query comprising a second context defined by a name of the database table;

comparing the second context of the query to the context of the predefined query scenario;

based on the second context of the second query not matching the context of the predefined query scenario, retrieving the data from the main database; and

passing the retrieved data from the main database to the application.

6. The method of claim 5 , wherein the data is retrieved, in response to the second query, from the main database through a primary connection, and the data is retrieved, in response to the query, from the secondary database through a secondary connection.

7. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

receiving, at the local computing system that comprises an enterprise computing system from a remote computing system that executes a hosted application, one or more configuration tables defining a predefined query scenario for querying and retrieving data from the hosted application for data stored on a database table;

replicating a database table from a main database to a secondary database, the main database comprising updated data relative to data contained in the database table of the secondary database, the secondary database comprising an in-memory and the main database comprising a magnetic memory;

receiving, at the local computing system, a query from the enterprise application for data stored on the database table, the query comprising a query return time and a context;

comparing the context of the query to a context of the predefined query scenario, the context of the query comprising at least one of a database table name, a scenario application name or a scenario job name;

based on the context of the query matching the context of the predefined query scenario, retrieving data stored on the secondary database replicated from data stored on the main database; and

passing the retrieved data from the secondary database to the enterprise application.

8. The computer storage medium of claim 7 , wherein the operations further comprise:

receiving, at the local computing system, the predefined query scenario from a remote computing system.

9. The computer storage medium of claim 7 , wherein the predefined query scenario comprises a scenario table name, and comparing the context of the query to a context of a predefined query scenario comprises comparing the name of the database table to the scenario table name.

10. The computer storage medium of claim 7 , wherein the predefined query scenario further comprises a scenario application name, and comparing the context of the query to a context of a predefined query scenario further comprises:

comparing a name of the application to the scenario application name.

11. The computer storage medium of claim 7 , wherein the predefined query scenario further comprises a scenario job name, and comparing the context of the query to a context of a predefined query scenario further comprises:

comparing a name of a background job to the scenario job name.

12. The computer storage medium of any claim 7 , wherein the secondary database comprises an in-memory database that comprises volatile RAM memory, and the main database comprises magnetic memory.

13. The computer storage medium of claim 7 , wherein the operations further comprise:

receiving a second query from the application for data stored on a database table, the second query comprising a second context defined by a name of the database table;

comparing the second context of the query to the context of the predefined query scenario;

based on the second context of the second query not matching the context of the predefined query scenario, retrieving the data from the main database; and

passing the retrieved data from the main database to the application.

14. The computer storage medium of claim 13 , wherein the data is retrieved, in response to the second query, from the main database through a primary connection, and the data is retrieved, in response to the query, from the secondary database through a secondary connection.

15. A system of one or more computers configured to perform operations comprising:

receiving, at the local computing system that comprises an enterprise computing system from a remote computing system that executes a hosted application, one or more configuration tables defining a predefined query scenario for querying and retrieving data from the hosted application for data stored on a database table;

replicating a database table from a main database to a secondary database, the main database comprising updated data relative to data contained in the database table of the secondary database, the secondary database comprising an in-memory database and the main database comprising a magnetic memory;

receiving, at the local computing system, a query from the enterprise application for data stored on the database table, the query comprising a query return time and a context;

comparing the context of the query to a context of the predefined query scenario, the context of the query comprising at least one of a database table name, a scenario application name or a scenario job name;

based on the context of the query matching the context of the predefined query scenario, retrieving data stored on the secondary database replicated from data stored on the main database; and

passing the retrieved data from the secondary database to the enterprise application.

16. The system of claim 15 , wherein the operations further comprise:

receiving, at the local computing system, the predefined query scenario from a remote computing system.

17. The system of claim 15 , wherein the predefined query scenario comprises a scenario table name, and comparing the context of the query to a context of a predefined query scenario comprises comparing the name of the database table to the scenario table name.

18. The system of claim 15 , wherein the predefined query scenario further comprises a scenario application name, and comparing the context of the query to a context of a predefined query scenario further comprises:

comparing a name of the application to the scenario application name.

19. The system of claim 15 , wherein the predefined query scenario further comprises a scenario job name, and comparing the context of the query to a context of a predefined query scenario further comprises:

comparing a name of a background job to the scenario job name.

20. The system of claim 15 , wherein the secondary database comprises an in-memory database that comprises volatile RAM memory, and the main database comprises magnetic memory.

21. The system of claim 15 , wherein the operations further comprise:

receiving a second query from the application for data stored on a database table, the second query comprising a second context defined by a name of the database table;

comparing the second context of the query to the context of the predefined query scenario;

based on the second context of the second query not matching the context of the predefined query scenario, retrieving the data from the main database; and

passing the retrieved data from the main database to the application.

22. The system of claim 21 , wherein the data is retrieved, in response to the second query, from the main database through a primary connection, and the data is retrieved, in response to the query, from the secondary database through a secondary connection.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2012
From: BRAND, HARTWIG; DEBERTIN, DIRK; DIETZE-SELENT, CARSTEN; GOEBBELS, PETER; HAASE, CORNELIA; HANSEN, CHRISTIAN; HOEFT, KERSTIN; HOMMEL, UWE; KOCH, ULRICH; KUCK, HARALD; OTTO, JENS; RAUPP, THOMAS; WENNER, TOBIAS; SCHAFFT, MICHAEL; SCHWARZ, MATTHIAS; TANNA, JEMIN
To: SAP AG
Reel/Frame 028187/0958 →
Priority Claims (1)
IN 867/CHE/2012 · Mar 7, 2012 · national
Continuity (1)
Related Publication 20130238657A1 · Sep 12, 2013