IP Library Granted Patent US 10,637,958
Granted Patent B1
US 10,637,958 · App. 16/453,247 · Granted Apr 28, 2020

Supporting complex arrays in a data-driven user interface

Inventors: Sarmishta Akkala (Sandy Springs, GA); Colleen Caporal (Johns Creek, GA); Bhavesh Krishna Kumar (Atlanta, GA); Eric Matthew Stillman (Cumming, GA); Adarsh Subhash Chandra Jain (Roswell, GA)
Assignee: VMware, Inc.
H04L67/303G06F3/04847H04L67/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 10,637,958
App. No.
16/453,247
Granted
Apr 28, 2020
Kind
B1
Abstract

Systems and methods are provided for an improved GUI workflow that supports complex bundle arrays for configuring devices. The method can also include displaying, on a GUI, a first top-level array of configuration fields described in a schema file having configuration options for a user device. A top-level array can include at least one group of nested (or “lower-level”) configuration options, where the grouping is represented by a graphical element in the top-level array. In response to a selection of a second-level array, the example method can include extracting lower-level configuration information from the schema file, generating a lower-level array based on the extracted information, and displaying, within the first top-level array, the first lower-level array of configuration fields. The method can also include various options for copying stored settings into a new array. The settings can be implemented on a device through a management server.

Claims (85)

1. A method for configuring a complex array of configuration information on a graphical user interface (“GUI”), comprising:

receiving, at the management server from an application repository, a schema file, wherein the schema file includes configuration options for the user device based on the device type;

storing the schema file in a database accessible to the management server;

displaying, on the GUI, a first top-level array of configuration fields described in the schema file, wherein the first top-level array comprises a plurality of graphical elements corresponding to a respective plurality of lower-level arrays of configuration options described in the schema file;

in response to a selection of a first graphical element corresponding to a first of the plurality of second-level arrays:

extracting lower-level configuration information from the schema file;

generating a first lower-level array based on the extracted configuration information; and

displaying, within the first top-level array, the first lower-level array of configuration fields comprising the extracted lower-level configuration information;

receiving user input at a data field of the first lower-level array; and

sending, from the management server to the user device, settings to be applied to the user device, wherein the settings reflect the user input at the data field of the first lower-level array.

2. The method of claim 1 , further comprising:

receiving, at the GUI, a user selection of a copy element corresponding to the first lower-level array; and

in response to receiving the user selection of the copy element:

generating a second lower-level array having configuration fields matching the configuration fields of the first lower-level array;

retrieving, from the database, a file describing entries in the configuration fields of the first lower-level array; and

automatically inputting the entries from the retrieved file into the configuration fields of the second lower-level array.

3. The method of claim 1 , further comprising:

receiving, at the GUI, a user selection of a copy element corresponding to the first top-level array; and

in response to receiving the user selection of the copy element:

generating a second top-level array having configuration fields matching the configuration fields of the first top-level array and having a third lower-level array matching the first lower-level array of the first top-level array;

retrieving, from the database, a file describing entries in the configuration fields of the first top-level array; and

automatically inputting the entries from the retrieved file into the configuration fields of the second top-level array.

4. The method of claim 3 , wherein automatically inputting the entries from the retrieved file into the configuration fields of the second top-level array includes automatically inputting the entries into the third lower-level array.

5. The method of claim 1 , wherein user entries in the fields of the first top-level array and first lower-level array are stored at the database in a JSON file.

6. The method of claim 1 , further comprising:

retrieving an updated schema file from the application repository; and

dynamically updating the GUI to reflect the updated schema file.

7. The method of claim 1 , wherein the configuration options of the schema file are provided by an OEM of the user device.

8. A non-transitory, computer-readable medium containing instructions that, when executed by a hardware-based processor, performs stages for configuring a complex array of configuration information on a graphical user interface (“GUI”), the stages comprising:

receiving, at the management server from an application repository, a schema file, wherein the schema file includes configuration options for the user device based on the device type;

storing the schema file in a database accessible to the management server;

displaying, on the GUI, a first top-level array of configuration fields described in the schema file, wherein the first top-level array comprises a plurality of graphical elements corresponding to a respective plurality of lower-level arrays of configuration options described in the schema file;

in response to a selection of a first graphical element corresponding to a first of the plurality of second-level arrays:

extracting lower-level configuration information from the schema file;

generating a first lower-level array based on the extracted configuration information; and

displaying, within the first top-level array, the first lower-level array of configuration fields comprising the extracted lower-level configuration information;

receiving user input at a data field of the first lower-level array; and

sending, from the management server to the user device, settings to be applied to the user device, wherein the settings reflect the user input at the data field of the first lower-level array.

9. The non-transitory, computer-readable medium of claim 8 , the stages further comprising:

receiving, at the GUI, a user selection of a copy element corresponding to the first lower-level array; and

in response to receiving the user selection of the copy element:

generating a second lower-level array having configuration fields matching the configuration fields of the first lower-level array;

retrieving, from the database, a file describing entries in the configuration fields of the first lower-level array; and

automatically inputting the entries from the retrieved file into the configuration fields of the second lower-level array.

10. The non-transitory, computer-readable medium of claim 8 , the stages further comprising:

receiving, at the GUI, a user selection of a copy element corresponding to the first top-level array; and

in response to receiving the user selection of the copy element:

generating a second top-level array having configuration fields matching the configuration fields of the first top-level array and having a third lower-level array matching the first lower-level array of the first top-level array;

retrieving, from the database, a file describing entries in the configuration fields of the first top-level array; and

automatically inputting the entries from the retrieved file into the configuration fields of the second top-level array.

11. The non-transitory, computer-readable medium of claim 10 , wherein automatically inputting the entries from the retrieved file into the configuration fields of the second top-level array includes automatically inputting the entries into the third lower-level array.

12. The non-transitory, computer-readable medium of claim 8 , wherein user entries in the fields of the first top-level array and first lower-level array are stored at the database in a JSON file.

13. The non-transitory, computer-readable medium of claim 8 , the stages further comprising:

retrieving an updated schema file from the application repository; and

dynamically updating the GUI to reflect the updated schema file.

14. The non-transitory, computer-readable medium of claim 8 , wherein the configuration options of the schema file are provided by an OEM of the user device.

15. A system for configuring a complex array of configuration information on a graphical user interface (“GUI”), comprising:

a memory storage including a non-transitory, computer-readable medium comprising instructions; and

a computing device including a hardware-based processor that executes the instructions to carry out stages comprising:

receiving, at the management server from an application repository, a schema file, wherein the schema file includes configuration options for the user device based on the device type;

storing the schema file in a database accessible to the management server;

displaying, on the GUI, a first top-level array of configuration fields described in the schema file, wherein the first top-level array comprises a plurality of graphical elements corresponding to a respective plurality of lower-level arrays of configuration options described in the schema file;

in response to a selection of a first graphical element corresponding to a first of the plurality of second-level arrays:

extracting lower-level configuration information from the schema file;

generating a first lower-level array based on the extracted configuration information; and

displaying, within the first top-level array, the first lower-level array of configuration fields comprising the extracted lower-level configuration information;

receiving user input at a data field of the first lower-level array; and

sending, from the management server to the user device, settings to be applied to the user device, wherein the settings reflect the user input at the data field of the first lower-level array.

16. The system of claim 15 , the stages further comprising:

receiving, at the GUI, a user selection of a copy element corresponding to the first lower-level array; and

in response to receiving the user selection of the copy element:

generating a second lower-level array having configuration fields matching the configuration fields of the first lower-level array;

retrieving, from the database, a file describing entries in the configuration fields of the first lower-level array; and

automatically inputting the entries from the retrieved file into the configuration fields of the second lower-level array.

17. The system of claim 15 , the stages further comprising:

receiving, at the GUI, a user selection of a copy element corresponding to the first top-level array; and

in response to receiving the user selection of the copy element:

generating a second top-level array having configuration fields matching the configuration fields of the first top-level array and having a third lower-level array matching the first lower-level array of the first top-level array;

retrieving, from the database, a file describing entries in the configuration fields of the first top-level array; and

automatically inputting the entries from the retrieved file into the configuration fields of the second top-level array.

18. The system of claim 17 , wherein automatically inputting the entries from the retrieved file into the configuration fields of the second top-level array includes automatically inputting the entries into the third lower-level array.

19. The system of claim 15 , wherein user entries in the fields of the first top-level array and first lower-level array are stored at the database in a JSON file.

20. The system of claim 15 , the stages further comprising:

retrieving an updated schema file from the application repository; and

dynamically updating the GUI to reflect the updated schema file.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2019
From: AKKALA, SARMISHTA; CAPORAL, COLLEEN; KUMAR, BHAVESH KRISHNA; STILLMAN, ERIC MATTHEW; JAIN, ADARSH SUBHASH CHANDRA
To: VMWARE, INC.
Reel/Frame 049596/0797 →