IP Library Granted Patent US 7,003,512
Granted Patent B1
US 7,003,512 · App. 10/912,174 · Granted Feb 21, 2006

System and method for multiple pass cooperative processing

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 7,003,512
App. No.
10/912,174
Granted
Feb 21, 2006
Kind
B1
Abstract

A system for collaborative processing, comprising a controlling module with access to at least one relational database capable of performing a first set of functions on the data in the database and at least one external analytical engine, the external analytical engine being external to the relational database and being capable of a second set of functions on the data in the database. The controlling module is capable of iteratively processing a multi-step calculation including generating SQL statements to the relational database, passing preliminary results to an external analytical engine and saving data back into the relational database for further processing until the multi-step calculation is performed.

Claims (47)

1. A computer-based system for collaborative processing, comprising:

a controlling module operating on computer hardware with access to at least one relational database capable of performing a first set of functions on the data in the database and at least one external analytical engine, the external analytical engine being external to the relational database and being capable of a second set of functions on the data in the database;

wherein the controlling module performs the following steps:

receiving a request to generate a report based on data in the relational database, the request including at least one multi-step calculation to be performed on data in the relational database;

querying first data in the relational database to resolve a first step of the multi-step calculation;

passing data generated by the querying act to the external analytical engine, wherein the external analytical engine is directed to perform at least one operation on the data;

receiving externally-operated data from the external analytical engine after the at least one operation;

querying the relational database to resolve another step in the multi-step calculation, the query operating on at least part of the first data and at least part of the externally-operated data; and

generating a report in response to the request after the second querying step has been performed.

2. The computer-based system of claim 1 wherein the externally-operated data is inserted into the at least one relational database in which the first data is stored.

3. The computer-based system of claim 1 wherein the externally-operated data is inserted into a second relational database different from the relational database in which the first data is stored.

4. The computer-based system of claim 1 wherein the controlling module performs the following additional steps:

passing data generated by the second query step to the external analytical engine, wherein the external analytical engine is directed to perform at least one operation on the data;

receiving second externally-operated data from the external analytical engine after the at least one operation; and

querying the relational database to resolve another step in the multi-step calculation, the third query operating on at least part of the first data and at least part of the second externally-operated data.

5. The computer-based system of claim 4 wherein the controlling module performs the receiving, passing, receiving, inserting and generating steps at least one additional time, thus generating a fourth query prior to generating the report result.

6. The computer-based system of claim 1 wherein the first querying step comprises a fetch operation.

7. The computer-based system of claim 1 wherein the first querying step comprises a filtering operation.

8. The computer-based system of claim 1 wherein the first querying step comprises a calculating operation.

9. The computer-based system of claim 1 wherein the first querying step comprises an aggregation operation.

10. The computer-based system of claim 1 wherein the operation performed by the external analytical engine is an operation that the at least one relational database is incapable of performing.

11. A computer-implemented method for collaborative processing in system with access to a relational database capable of performing a first set of functions on the data in the database and at least one external analytical engine, the external analytical engine being external to the relational database and being capable of a second set of functions on the data in the database, the computer-implemented method comprising the following steps performed on a computer;

receiving at a controlling module external to a relational database a request to generate a report based on data in the relational database, the request including at least one multi-step calculation to be performed on data in the relational database;

querying first data in the relational database to resolve a first step of the multi-step calculation;

passing data generated by the first querying step to the external analytical engine, wherein the external analytical engine is directed to perform at least one operation on the data;

receiving externally-operated data from the external analytical engine after the at least one operation;

querying the relational database to resolve another step in the multi-step calculation, the second query operating on at least part of the fist data and at least part of the externally-operated data; and

generating a report in response to the request after the second querying step has been performed.

12. The computer-implemented method of claim 11 wherein the externally-operated data is inserted into the at least one relational database in which the first data is stored.

13. The computer-implemented method of claim 11 wherein the externally-operated data is inserted into a second relational database different from the relational database in which the first data is stored.

14. The computer-implemented method of claim 11 further comprising the steps of:

passing data generated by the second query to the external analytical engine, wherein the external analytical engine is directed to perform at least one operation on the data;

receiving second externally-operated data from the external analytical engine after the at least one operation; and

querying the relational database to resolve another step in the multi-step calculation, the third query operating on at least part of the first data and at least part of the second externally-operated data.

15. The computer-implemented method of claim 14 wherein the receiving, passing, receiving, inserting and generating steps are performed at least one additional time, thus generating a fourth query prior to generating the report result.

16. The computer-implemented method of claim 11 wherein the fist query comprises a fetch operation.

17. The computer-implemented method of claim 11 wherein the first query comprises a filtering operation.

18. The computer-implemented method of claim 11 wherein the first query comprises a calculation operation.

19. The computer-implemented method of claim 11 wherein the first query comprises an aggregation operation.

20. The computer-implemented method of claim 11 wherein the operation performed by the external analytical engine is an operation that the at least one relational database is incapable of performing.

21. A computer-based machine readable medium, the machine readable medium being readable to execute a method for collaborative processing, the method comprising:

receiving at a controlling module external to a relational database a request to generate a report based on data in the relational database, the request including at least one multi-step calculation to be performed on data in the relational database;

querying first data in the relational database to resolve a first step of the multi-step calculation;

passing data generated by the first querying step to the external analytical engine, wherein the external analytical engine is directed to perform at least one operation on the data;

receiving externally-operated data from the external analytical engine after the at least one operation;

querying the relational database to resolve another step in the multi-step calculation, the second query operating on at least part of the first data and at least part of the externally-operated data; and

generating a report in response to the request after the second querying step has been performed.

Assignments (2)
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT REEL/FRAME: 056647/0687, REEL/FRAME: 057435/0023, REEL/FRAME: 059256/0247, REEL/FRAME: 062794/0255 AND REEL/FRAME: 066663/0713 Recorded Sep 26, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS SUCCESSOR IN INTEREST TO U.S. BANK NATIONAL ASSOCIATION, IN ITS CAPACITY AS COLLATERAL AGENT FOR THE SECURED PARTIES
To: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
Reel/Frame 069065/0539 →
SECURITY INTEREST Recorded Jun 22, 2021
From: MICROSTRATEGY INCORPORATED
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 056647/0687 →