IP Library Granted Patent US 9,098,549
Granted Patent B2
US 9,098,549 · App. 13/212,109 · Granted Aug 4, 2015

Method for bundled preparation and execution of multiple database statements

Inventors: Boris Gruschko (Heidelberg, DE); Christian Mohr (Heidelberg, DE); Martin Strenge (Nussloch, DE)
Assignee: SAP SE
G06F17/30442G06F17/30448G06F17/30463
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 9,098,549
App. No.
13/212,109
Granted
Aug 4, 2015
Kind
B2
Abstract

A system and method for preparing and executing multiple database statements to minimize communication overhead between a client application and a database, the method is presented. Multiple database statements are registered for preparation and execution, the registering further including bundling of preparation operations for the multiple database statements and bundling of execution operations for multiple database statements. All of the bundled preparation operations and execution operations for the multiple database statements are executed in a single transaction between the client application and the database, and thereafter results of the preparation operations and the execution operations are accessible by a client application.

Claims (30)

1. A computer-implemented method for preparing and executing multiple database statements to minimize communication overhead between a client application and a database, the method comprising:

registering the multiple database statements for preparation and execution, the registering further comprising bundling of preparation operations for the multiple database statements, bundling of execution operations for multiple database statements, and defining dependencies between the multiple database statements prior to executing the bundled preparation operations and the execution operations of the multiple statements, wherein the defining further comprises explicitly defining dependencies between the multiple database statements prior to executing the bundled preparation operations and the execution operations of the multiple statements;

executing, by a processor in a server system associated with the database, all of the bundled preparation operations and execution operations for the multiple database statements in a single transaction between the client application and the database to generate at least one instance of a class statement representative of at least one executed statement and at least one instance of a class prepared statement representative of at least one prepared statement; and

accessing, by a processor in the client application, results of the preparation operations and the execution operations, the results containing the at least one instance of the class statement and the at least one instance of the class prepared statement.

2. The method in accordance with claim 1 , wherein the defining further comprises at least one of the following: implicitly defining dependencies between the multiple database statements prior to executing the bundled preparation operations and the execution operations of the multiple statements, and explicitly defining dependencies between the multiple database statements prior to executing the bundled preparation operations and the execution operations of the multiple statements.

3. The method in accordance with claim 1 , wherein the bundled preparation operations and execution operations are executed in order of the multiple statements and dependencies defined between the multiple statements.

4. The method in accordance with claim 1 , further comprising:

transferring input data for the multiple database statements to the database during the executing.

5. The method in accordance with claim 4 , further comprising:

transferring output data for the multiple database statements to the client application.

6. A computer-implemented method for minimizing communication overhead between a client application and a database, the method comprising:

bundling preparation operations for multiple database statements;

defining dependencies between the multiple database statements, wherein the defining further comprises explicitly defining dependencies between the multiple database statements prior to executing the bundled preparation operations and the execution operations of the multiple statements;

bundling execution operations for the multiple database statements;

processing the multiple database statements in a single transaction between the client application and the database;

executing, by a processor in a database management system associated with the database, all of the bundled preparation operations and bundled execution operations for the multiple database statements to generate at least one instance of a class statement representative of at least one executed statement and at least one instance of a class prepared statement representative of at least one prepared statement, and

accessing, by a processor in the client application, results of the processing, the results containing the at least one instance of the class statement and the at least one instance of the class prepared statement.

7. The method in accordance with claim 6 , wherein the bundled preparation operations and execution operations are executed in order of the multiple statements and dependencies defined between the multiple statements.

8. The method in accordance with claim 6 , further comprising:

transferring input data for the multiple database statements to the database during the executing.

9. The method in accordance with claim 6 , further comprising:

transferring output data for the multiple database statements to the client application.

10. A system for minimizing communication overhead between a client application and a database, the system comprising:

a server system that hosts the database;

a client system hosting the client application and including one or more client application programming interfaces (APIs) for communicating with a system query language layer of the database on the server system;

a bundled execution and preparation service associated with the one or more client APIs, the bundled execution and preparation service bundling preparation operations for multiple database statements, bundling execution operations for the multiple database statements, and defining dependencies between the multiple database statements prior to executing the bundled preparation operations and the execution operations of the multiple statements, wherein the defining further comprises explicitly defining dependencies between the multiple database statements prior to executing the bundled preparation operations and the execution operations of the multiple statements; and

a processor in the server system that processes the multiple database statements in a single transaction between the client application and the database, the processor executes all of the bundled preparation operations and execution operations for the multiple database statements in a single transaction between the client application and the database to generate at least one instance of a class statement representative of at least one executed statement and at least one instance of a class prepared statement representative of at least one prepared statement;

wherein a processor in the client application accesses the results of the preparation operations and the execution operations, the results containing the at least one instance of the class statement and the at least one instance of the class prepared statement.

11. The system in accordance with claim 10 , wherein the bundled execution and preparation service defines dependencies between the multiple database statements by performing at least one of the following: implicitly defining dependencies between the multiple database statements prior to executing the bundled preparation operations and the execution operations of the multiple statements, and explicitly defining dependencies between the multiple database statements prior to executing the bundled preparation operations and the execution operations of the multiple statements.

12. The system in accordance with claim 10 , wherein the bundled execution and preparation service is hosted on client system.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2011
From: GRUSCHKO, BORIS; MOHR, CHRISTIAN; STRENGE, MARTIN
To: SAP AG
Reel/Frame 027041/0923 →
Continuity (1)
Related Publication 20130046743A1 · Feb 21, 2013