IP Library Granted Patent US 8,903,797
Granted Patent B2
US 8,903,797 · App. 13/452,654 · Granted Dec 2, 2014

System and method for loading objects for object-relational mapping

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,903,797
App. No.
13/452,654
Granted
Dec 2, 2014
Kind
B2
Abstract

Disclosed are systems and methods for creating data objects, which includes querying a database to locate a first table associated with a first data type to be created, loading a plurality of rows from the first table during the query associated with the first table, creating a first set of data objects associated with the first data type, wherein each data object of the first set is created from data stored in each of the rows loaded from the first table. The systems and methods also include querying the database to locate a second data type to be created, wherein the second data type depends from the first data type, wherein the data objects of the second set depend from the data objects of the first set, and associating each data object of the second set to an associated parent object of the first set.

Claims (58)

1. A method for creating data objects, the method comprising:

performing a first query of a database to locate a first table associated with a first data type to be created;

loading a plurality of rows from only the first table during the query associated with the first table;

creating a first set of data objects associated with the first data type, wherein each data object of the first set is created from only data stored in each of the rows loaded from the first table;

performing a second query of the database to locate a second table associated with a second data type to be created, wherein the second data type depends from the first data type;

loading a plurality of rows from only the second table during the query associated with the second table;

creating a second set of data objects associated with the second data type, wherein each data object of the second set is created from only data stored in each of the rows loaded from the second table, wherein the data objects of the second set depend from the data objects of the first set; and

associating each data object of the second set to an associated parent object of the first set,

wherein the database is queried only once for the first table and the database is queried only once for the second table.

2. The method of claim 1 , wherein the method further comprises:

querying the database to locate a third table associated with a third data type to be created, wherein the third data type depends from the second data type;

loading a plurality of rows from the third table during the query associated with the third table;

creating a third set of data objects associated with the third data type, wherein each data object of the third set is created from data stored in each of the rows loaded from the third table, wherein the data objects of the third set depend from the data objects of the second set; and

associating each data object of the third set to an associated parent object of the second set.

3. The method of claim 2 , wherein the three sets of objects having a dependent relationship with one another are created based on three queries to the database.

4. The method of claim 1 , wherein the two sets of objects having a dependent relationship with one another are created based on two queries to the database.

5. The method of claim 1 , wherein the first table and the second table are the same table.

6. The method of claim 1 , wherein a portion of the database having the second table is located on a different machine than another portion of the database having the first table.

7. The method of claim 1 , wherein the data objects are associated with classes of an object oriented programming language.

8. A system for creating data objects, the system comprising:

a machine comprising a processor, wherein the machine is operable to:

perform a first query of a database to locate a first table associated with a first data type to be created;

load a plurality of rows from only the first table during the query associated with the first table;

create a first set of data objects associated with the first data type, wherein each data object of the first set is created from only data stored in each of the rows loaded from the first table;

perform a second query of the database to locate a second table associated with a second data type to be created, wherein the second data type depends from the first data type;

load a plurality of rows from only the second table during the query associated with the second table;

create a second set of data objects associated with the second data type, wherein each data object of the second set is created from only data stored in each of the rows loaded from the second table, wherein the data objects of the second set depend from the data objects of the first set; and

associate each data object of the second set to an associated parent object of the first set,

wherein the database is queried only once for the first table and the database is queried only once for the second table.

9. The system of claim 8 , wherein the machine is further operable to:

query the database to locate a third table associated with a third data type to be created, wherein the third data type depends from the second data type;

load a plurality of rows from the third table during the query associated with the third table;

create a third set of data objects associated with the third data type, wherein each data object of the third set is created from data stored in each of the rows loaded from the third table, wherein the data objects of the third set depend from the data objects of the second set; and

associate each data object of the third set to an associated parent object of the second set.

10. The system of claim 8 , wherein the three sets of objects having a dependent relationship with one another are created based on three queries to the database.

11. The system of claim 8 , wherein the two sets of objects having a dependent relationship with one another are created based on two queries to the database.

12. The system of claim 8 , wherein the first table and the second table are the same table.

13. The system of claim 8 , wherein a portion of the database having the second table is located on a different machine than another portion of the database having the first table.

14. The system of claim 8 , wherein the data objects are associated with classes of an object oriented programming language.

15. Logic for creating data objects, the logic being embodied in a non-transitory computer-readable medium and when executed operable to:

performing a first query of a database to locate a first table associated with a first data type to be created;

load a plurality of rows from only the first table during the query associated with the first table;

create a first set of data objects associated with the first data type, wherein each data object of the first set is created from only data stored in each of the rows loaded from the first table;

performing a second query of the database to locate a second table associated with a second data type to be created, wherein the second data type depends from the first data type;

load a plurality of rows from only the second table during the query associated with the second table;

create a second set of data objects associated with the second data type, wherein each data object of the second set is created only from data stored in each of the rows loaded from the second table, wherein the data objects of the second set depend from the data objects of the first set; and

associate each data object of the second set to an associated parent object of the first set,

wherein the database is queried only once for the first table and the database is queried only once for the second table.

16. The logic of claim 15 , wherein the logic is further operable to:

query the database to locate a third table associated with a third data type to be created, wherein the third data type depends from the second data type;

load a plurality of rows from the third table during the query associated with the third table;

create a third set of data objects associated with the third data type, wherein each data object of the third set is created from data stored in each of the rows loaded from the third table, wherein the data objects of the third set depend from the data objects of the second set; and

associate each data object of the third set to an associated parent object of the second set.

17. The logic of claim 15 , wherein the three sets of objects having a dependent relationship with one another are created based on three queries to the database.

18. The logic of claim 15 , wherein the two sets of objects having a dependent relationship with one another are created based on two queries to the database.

19. The logic of claim 15 , wherein the first table and the second table are the same table.

20. The logic of claim 15 , wherein a portion of the database having the second table is located on a different machine than another portion of the database having the first table.

21. The logic of claim 15 , wherein the data objects are associated with classes of an object oriented programming language.

Assignments (15)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
CHANGE OF NAME Recorded Feb 7, 2023
From: TIBCO SOFTWARE INC.
To: CLOUD SOFTWARE GROUP, INC.
Reel/Frame 062714/0634 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
RELEASE REEL 052115 / FRAME 0318 Recorded Oct 3, 2022
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: TIBCO SOFTWARE INC.
Reel/Frame 061588/0511 →
RELEASE (REEL 034536 / FRAME 0438) Recorded Sep 30, 2022
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 061574/0963 →
RELEASE (REEL 054275 / FRAME 0975) Recorded May 7, 2021
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 056176/0398 →
SECURITY AGREEMENT Recorded Nov 2, 2020
From: TIBCO SOFTWARE INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 054275/0975 →
SECURITY AGREEMENT Recorded Mar 6, 2020
From: TIBCO SOFTWARE INC.
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 052115/0318 →
SECURITY INTEREST Recorded Dec 5, 2014
From: TIBCO SOFTWARE INC.; TIBCO KABIRA LLC; NETRICS.COM LLC
To: JPMORGAN CHASE BANK., N.A., AS COLLATERAL AGENT
Reel/Frame 034536/0438 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2014
From: LAGERBLAD, BO JONAS; BAILEY, ASQUITH A.; KATKERE, ARUN L.; IYER, SITARAM KRISHNAMURTHY
To: TIBCO SOFTWARE INC.
Reel/Frame 033996/0877 →