IP Library › Granted Patent US 9,465,822
Granted Patent B2
US 9,465,822 · App. 14/321,200 · Granted Oct 11, 2016

Data model generation based on user interface specification

Inventor: Daniel Nicholas Quine (London, GB)
Assignee: GOOGLE INC.
G06F17/30294G06F8/34
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,465,822
App. No.
14/321,200
Filed
Jul 1, 2014
Granted
Oct 11, 2016
Kind
B2
Art Unit
2142
USPC
715/744
Abstract

Systems, devices, and methods for providing data model generation based on user interface specifications are presented. On a client device, an execution platform may provide a graphical user interface (GUI) through which a software designer can visually develop an application. The execution platform may represent the application as pages with each page containing zero or more widgets. From this representation, a database schema is automatically created and populated, and then stored on a server device.

Claims (45)

1. A method comprising:

creating, via a computing device, a database schema based on a graphical user interface (GUI), the GUI including a web page, and the web page including a widget, wherein the database schema data defines a relationship between the web page and the widget; and

displaying, via the computing device, at least part of the GUI based on the database schema;

where the widget is associated with a data type and the database schema specifies a data format for the widget based on the data type.

2. The method of claim 1 , the data format being specified for a field in a database table; and

the method further comprising storing values in the field, the values being determined by program logic that operates on the widget.

3. The method of claim 1 , the web page including a plurality of widgets; and

creating the database schema including defining a relationship between the web page and each of the plurality of widgets such that each of the plurality of widgets is associated with a data type and the database schema specifies a data format for each of the plurality of widgets based on the data type associated with that widget.

4. The method of claim 1 , further comprising:

determining that the GUI has changed; and

in response to determining that the GUI has changed, updating the database schema to incorporate the change.

5. The method of claim 4 , wherein updating the database schema to incorporate the change includes at least one of (i) defining a new relationship between the web page and a new widget in the database schema in response to determining that the new widget has been added to the web page, and (ii) removing a relationship definition between the web page and a deleted widget in the database schema in response to determining that the deleted widget has been removed from the web page.

6. The method of claim 4 , wherein creating the database schema comprises transmitting a representation of the database schema to a server device, and wherein updating the database schema to incorporate the change comprises transmitting a representation of the change to the server device.

7. The method of claim 5 , the method further comprising displaying, via the computing device, at least part of the GUI based on the updated database schema.

8. A non-transitory computer-readable medium having embodied thereon instructions which, when executed by a processor, cause the processor to perform a method comprising:

creating a database schema based on a graphical user interface (GUI), the GUI including a web page, and the web page including a widget, wherein the database schema data defines a relationship between the web page and the widget; and

generating data to enable the display of at least part of the GUI based on the database schema;

where the widget is associated with a data type and the database schema specifies a data format for the widget based on the data type.

9. The medium of claim 8 , the data format being specified for a field in a database table; and

the method further comprising storing values in the field, the values being determined by program logic that operates on the widget.

10. The medium of claim 8 , the web page including a plurality of widgets; and

creating the database schema including defining a relationship between the web page and each of the plurality of widgets such that each of the plurality of widgets is associated with a data type and the database schema specifies a data format for each of the plurality of widgets based on the data type associated with that widget.

11. The medium of claim 8 , further comprising:

determining that the GUI has changed; and

in response to determining that the GUI has changed, updating the database schema to incorporate the change.

12. The medium of claim 11 , wherein updating the database schema to incorporate the change includes at least one of (i) defining a new relationship between the web page and a new widget in the database schema in response to determining that the new widget has been added to the web page, and (ii) removing a relationship definition between the web page and a deleted widget in the database schema in response to determining that the deleted widget has been removed from the web page.

13. The medium of claim 12 , wherein creating the database schema comprises transmitting a representation of the database schema to a server device, and wherein updating the database schema to incorporate the change comprises transmitting a representation of the change to the server device.

14. The medium of claim 13 , the method further comprising generating data to enable the display of at least part of the GUI based on the updated database schema.

15. A system comprising:

a processor;

a display device operably connected to the processor; and

a processor-readable memory having embodied thereon instructions which, when executed by the processor, cause the processor to perform a method comprising:

creating a database schema based on a graphical user interface (GUI), the GUI including a web page, and the web page including a widget, wherein the database schema data defines a relationship between the web page and the widget; and

causing the display device to display of at least part of the GUI based on the database schema;

where the widget is associated with a data type and the database schema specifies a data format for the widget based on the data type.

16. The medium of claim 15 , the data format being specified for a field in a database table; and

the method further comprising storing values in the field, the values being determined by program logic that operates on the widget.

17. The medium of claim 15 , the web page including a plurality of widgets; and

creating the database schema including defining a relationship between the web page and each of the plurality of widgets such that each of the plurality of widgets is associated with a data type and the database schema specifies a data format for each of the plurality of widgets based on the data type associated with that widget.

18. The medium of claim 17 , further comprising:

determining that the GUI has changed; and

in response to determining that the GUI has changed, updating the database schema to incorporate the change.

19. The medium of claim 18 , wherein updating the database schema to incorporate the change includes at least one of (i) defining a new relationship between the web page and a new widget in the database schema in response to determining that the new widget has been added to the web page, and (ii) removing a relationship definition between the web page and a deleted widget in the database schema in response to determining that the deleted widget has been removed from the web page.

20. The medium of claim 18 , wherein creating the database schema comprises transmitting a representation of the database schema to a server device, and wherein updating the database schema to incorporate the change comprises transmitting a representation of the change to the server device.

21. The medium of claim 19 , the method further comprising causing the display device to display of at least part of the GUI based on the updated database schema.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2015
From: QUINE, DANIEL NICHOLAS
To: GOOGLE INC.; GOOGLE INC.
Reel/Frame 036339/0220 →
Continuity (2)
Continuation 13106112 · May 12, 2011
Related Publication 20140317045A1 · Oct 23, 2014