IP Library Granted Patent US 10,140,276
Granted Patent B1
US 10,140,276 · App. 14/248,234 · Granted Nov 27, 2018

System and method for dynamically generating client-side database forms

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 10,140,276
App. No.
14/248,234
Granted
Nov 27, 2018
Kind
B1
Abstract

In one embodiment, a method includes serving a webpage comprising a reference to a network location of a form-generator client application to a client device. Additionally, the method includes receiving a request from the client device for the form-generator client application and supplying the form-generator client application to the client device. In addition, the method includes receiving a request for an entity schema of at least one database entity of the plurality of database entities. The method further includes transmitting a standardized schema to the loaded form-generator client application so that a client-side database form can be dynamically generated. In addition, the method includes interacting with the dynamically-generated client-side database form to perform one or more persistent storage operations.

Claims (66)

1. A method comprising, on a backend computing system comprising at least one server computer:

centrally maintaining a plurality of form-generator client applications;

centrally maintaining a plurality of entity adapters, each entity adapter providing a standard interface to one or more of a plurality of database entities, the plurality of database entities logically representing data stored in a database on the backend computing system;

allowing a user of a client device to select a form-generation category from a plurality of form-generation categories;

identifying a form-generator client application of the plurality of form-generator client applications that is appropriate for the form-generation category;

generating a webpage comprising a reference to a network location of the form-generator client application;

serving the webpage to the client device;

receiving, at the network location, a request from the client device for the form-generator client application;

supplying the form-generator client application to the client device so that the form-generator client application can be loaded on the client device;

receiving, from the loaded form-generator client application, a request for an entity schema of at least one database entity of the plurality of database entities;

acquiring, using an entity adapter of the plurality of entity adapters that is associated with the at least one database entity, a standardized schema for the at least one database entity;

transmitting the standardized schema to the loaded form-generator client application so that a client-side database form can be dynamically generated by the loaded form-generator client application, on the client device, in accordance with a structure of the at least one database entity as represented by the standardized schema;

providing, to the dynamically-generated client-side database form, a web application programming interface (API) for performing a set of persistent storage operations, wherein the web API defines the set of persistent storage operations in terms of hypertext transfer protocol methods;

receiving, via the web API, from the dynamically-generated client-side database form on the client device, one or more persistent storage operations of the set relative to the at least one database entity; and

performing the one or more persistent storage operations in the database relative to the at least one database entity.

2. The method of claim 1 , wherein the web API comprises a RESTful web API.

3. The method of claim 1 , wherein the set of persistent storage operations comprise create, read, update, and delete operations.

4. The method of claim 1 , wherein the set of persistent storage operations are restricted to create, read, update, and delete operations.

5. The method of claim 1 , wherein the identified form-generator client application comprises a form-generator client application of the plurality of form-generator client applications that is mapped to the selected form-generation category.

6. The method of claim 1 , wherein the selected form-generation category is selected from the group consisting of: a name of a particular database, a name of a particular database table, and a functional category of data.

7. The method of claim 1 , wherein the acquiring comprises translating an entity schema of the at least one database entity into the standardized schema.

8. The method of claim 1 , comprising:

translating, via the entity adapter, the one or more persistent storage operations into one or more corresponding calls to the at least one database entity; and

wherein the performing comprises performing the one or more persistent storage operations in the database relative to the at least one database entity using the one or more corresponding calls.

9. The method of claim 1 , wherein the webpage comprises a plurality of initialization parameters for the form-generator client application.

10. An information handling system comprising a processor and memory, wherein the processor and memory in combination are operable to implement a method comprising:

centrally maintaining a plurality of form-generator client applications;

centrally maintaining a plurality of entity adapters, each entity adapter providing a standard interface to one or more of a plurality of database entities, the plurality of database entities logically representing data stored in a database on the backend computing system;

allowing a user of a client device to select a form-generation category from a plurality of form-generation categories;

identifying a form-generator client application of the plurality of form-generator client applications that is appropriate for the form-generation category;

generating a webpage comprising a reference to a network location of the form-generator client application;

serving the webpage to the client device;

receiving, at the network location, a request from the client device for the form-generator client application;

supplying the form-generator client application to the client device so that the form-generator client application can be loaded on the client device;

receiving, from the loaded form-generator client application, a request for an entity schema of at least one database entity of the plurality of database entities;

acquiring, using an entity adapter of the plurality of entity adapters that is associated with the at least one database entity, a standardized schema for the at least one database entity;

transmitting the standardized schema to the loaded form-generator client application so that a client-side database form can be dynamically generated by the loaded form-generator client application, on the client device, in accordance with a structure of the at least one database entity as represented by the standardized schema;

providing, to the dynamically-generated client-side database form, a web application programming interface (API) for performing a set of persistent storage operations, wherein the web API defines the set of persistent storage operations in terms of hypertext transfer protocol methods;

receiving, via the web API, from the dynamically-generated client-side database form on the client device, one or more persistent storage operations of the set relative to the at least one database entity; and

performing the one or more persistent storage operations in the database relative to the at least one database entity.

11. The information handling system of claim 10 , the method wherein the web API comprises a RESTful web API.

12. The information handling system of claim 10 , wherein the set of persistent storage operations comprise create, read, update, and delete operations.

13. The method of claim 10 , wherein the set of persistent storage operations are restricted to create, read, update, and delete operations.

14. The information handling system of claim 10 , wherein the identified form-generator client application comprises a form-generator client application of the plurality of form-generator client applications that is mapped to the selected form-generation category.

15. The information handling system of claim 10 , wherein the selected form-generation category is selected from the group consisting of: a name of a particular database, a name of a particular database table, and a functional category of data.

16. The information handling system of claim 10 , wherein the acquiring comprises translating an entity schema of the at least one database entity into the standardized schema.

17. The information handling system of claim 10 , the method comprising:

translating, via the entity adapter, the one or more persistent storage operations into one or more corresponding calls to the at least one database entity; and

wherein the performing comprises performing the one or more persistent storage operations in the database relative to the at least one database entity using the one or more corresponding calls.

18. The information handling system of claim 10 , wherein the webpage comprises a plurality of initialization parameters for the form-generator client application.

19. A computer-program product comprising a non-transitory computer-usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method comprising:

centrally maintaining a plurality of form-generator client applications;

centrally maintaining a plurality of entity adapters, each entity adapter providing a standard interface to one or more of a plurality of database entities, the plurality of database entities logically representing data stored in a database on the backend computing system;

allowing a user of a client device to select a form-generation category from a plurality of form-generation categories;

identifying a form-generator client application of the plurality of form-generator client applications that is appropriate for the form-generation category;

generating a webpage comprising a reference to a network location of the form-generator client application;

serving the webpage to the client device;

receiving, at the network location, a request from the client device for the form-generator client application;

supplying the form-generator client application to the client device so that the form-generator client application can be loaded on the client device;

receiving, from the loaded form-generator client application, a request for an entity schema of at least one database entity of the plurality of database entities;

acquiring, using an entity adapter of the plurality of entity adapters that is associated with the at least one database entity, a standardized schema for the at least one database entity;

transmitting the standardized schema to the loaded form-generator client application so that a client-side database form can be dynamically generated by the loaded form-generator client application, on the client device, in accordance with a structure of the at least one database entity as represented by the standardized schema;

providing, to the dynamically-generated client-side database form, a web application programming interface (API) for performing a set of persistent storage operations, wherein the web API defines the set of persistent storage operations in terms of hypertext transfer protocol methods;

receiving, via the web API, from the dynamically-generated client-side database form on the client device, one or more persistent storage operations of the set relative to the at least one database entity; and

performing the one or more persistent storage operations in the database relative to the at least one database entity.

20. The computer-program product of claim 19 , the method wherein the web API comprises a RESTful web API.

Assignments (26)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded Dec 6, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044719/0565 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
RELEASE OF REEL 033625 FRAME 0748 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0050 →
RELEASE OF REEL 033625 FRAME 0688 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0757 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF REEL 033625 FRAME 0711 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040016/0903 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033625/0748 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033625/0711 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 033625/0688 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2014
From: YAN, XILANG; QIN, YINGHUA
To: DELL SOFTWARE INC.
Reel/Frame 032647/0775 →