IP Library Granted Patent US 9,009,195
Granted Patent B2
US 9,009,195 · App. 12/140,569 · Granted Apr 14, 2015

Software framework that facilitates design and implementation of database applications

Inventor: David M. Dillon (Aurora, CO)
Assignee: RPX Corporation
G06F17/3056Y10S707/99943Y10S707/99942
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,009,195
App. No.
12/140,569
Granted
Apr 14, 2015
Kind
B2
Abstract

An intelligent framework is provided that is disposed between a high-level language environment and a database system environment. According to one embodiment, a software framework infers the need for one or more integrity constraints. The software framework programmatically receives (a) information regarding definitions of a multiple data structures associated with multiple objects participating in a software application, and (b) information regarding relationships among the data structures, where each object represents an instance of a data structure of the multiple data structures. Then, the software framework infers the need for one or more integrity constraints based upon the information regarding definitions of the data structures and the information regarding relationships among the data structures. Finally, the software framework instructs a storage system to apply the one or more integrity constraint.

Claims (27)

1. A computer-implemented method comprising:

automatically and programmatically receiving from a software application by an intelligent framework coupled between a high-level language environment and a storage system (a) information regarding definitions of a plurality of data structures associated with a plurality of objects participating in the software application, and (b) information regarding relationships among the plurality of data structures by interrogating the plurality of objects;

programmatically and dynamically generating a data definition expression (DDE) to define a structure of a data store inferred by the relationships;

causing the storage system to create the structure of the data store by directing the storage system based upon the data definition expression;

analyzing, by the intelligent framework, a plurality of compiled classes of a database application, the plurality of compiled classes associated with objects that are persisted in a data store of a storage system;

determining, by the intelligent framework, use of one or more database integrity constraints based upon said analyzed compiled classes;

configuring the storage system, by the intelligent framework, instructing the storage system to apply the one or more database integrity constraints;

wherein the intelligent framework is implemented in one or more processors and one or more non-transitory computer-readable storage media of one or more computer systems, the one or more non-transitory computer-readable storage media having instructions tangibly embodied therein representing the intelligent framework that are executable by the one or more processors.

2. The computer-implemented method of claim 1 , wherein the plurality of compiled classes includes information regarding relationships among the plurality of complied classes.

3. The computer-implemented method of claim 1 , wherein the DDE includes one or more statements comprising language statements associated with the storage system.

4. The computer-implemented method of claim 2 , wherein the information regarding relationships is implemented as one or more properties of those of the plurality of compiled classes that embody the relationships.

5. The computer-implemented method of claim 2 , wherein complex relationships among the plurality of compiled classes are supported, and include one or more of child, parent, peer, children, recursive peer, recursive parent, foreign parent, foreign child, and constant.

6. The computer-implemented method of claim 1 , wherein the storage system comprises a relational database management system.

7. The computer-implemented method of claim 3 , wherein the language statements comprise Structured Query Language (SQL) statements.

8. A program storage device readable by a computer system, tangibly embodying a program of instructions executable by one or more processors of the computer system to perform a method comprising:

automatically and programmatically receiving from a software application by an intelligent framework coupled between a high-level language environment and a storage system (a) information regarding definitions of a plurality of data structures associated with a plurality of objects participating in the software application, and (b) information regarding relationships among the plurality of data structures by interrogating the plurality of objects;

programmatically and dynamically generating a data definition expression (DDE) to define a structure of a data store inferred by the relationships;

causing the storage system to create the structure of the data store by directing the storage system based upon the data definition expression;

analyzing a plurality of compiled classes of a database application, the plurality of compiled classes associated with objects that are persisted in a data store of the storage system;

determining whether to apply one or more database integrity constraints based upon said analyzed compiled classes; and

instructing the storage system to evaluate the one or more database integrity constraints during operations involving the objects.

9. The program storage device of claim 8 , wherein the plurality of compiled classes includes information regarding relationships among the plurality of complied classes.

10. The program storage device of claim 8 , wherein the DDE includes one or more statements comprising language statements associated with the storage system.

11. The program storage device of claim 9 , wherein the information regarding relationships is implemented as one or more properties of those of the plurality of compiled classes that embody the relationships.

12. The program storage device of claim 9 , wherein complex relationships among the plurality of compiled classes are supported, and include one or more of child, parent, peer, children, recursive peer, recursive parent, foreign parent, foreign child, and constant.

13. The program storage device of claim 8 , wherein the storage system comprises a relational database management system.

14. The program storage device of claim 10 , wherein the language statements comprise Structured Query Language (SQL) statements.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2013
From: DILLON, DAVID M.
To: DILLON SOFTWARE SERVICES, LLC
Reel/Frame 031590/0270 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2013
From: DILLON SOFTWARE SERVICES, LLC
To: RPX CORPORATION
Reel/Frame 031460/0468 →
Continuity (3)
Continuation 10836580 · Apr 30, 2004
Provisional Application 60466939 · Apr 30, 2003
Related Publication 20080249972A1 · Oct 9, 2008