IP Library Granted Patent US 10,198,142
Granted Patent B1
US 10,198,142 · App. 13/225,372 · Granted Feb 5, 2019

Multi-server control panel

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,198,142
App. No.
13/225,372
Granted
Feb 5, 2019
Kind
B1
Abstract

Some embodiments of the invention provide a graphical user interface for receiving a server configuration (e.g., receiving a new configuration or a modification to an existing configuration). The graphical user interface (UI) includes several UI control elements for defining components of the server configuration. It also includes a display area for displaying graphical representations of the defined components of the server configuration. Examples of control elements in some embodiments include control elements for adding, deleting, and modifying servers. In some embodiments, at least one control element is displayed when a cursor control operation is performed on the UI. The cursor control operation (e.g., a right hand click operation) in some embodiments opens a display area that shows the control element. In some embodiments, at least two different components in the server configuration correspond to two different layers (e.g., a web server layer and a data storage layer) in the server configuration. The display area of some embodiments includes multiple tiers, where each tier is for displaying graphical representation of components in a particular layer of the server configuration. At least two tiers in some embodiments are displayed simultaneously in the display area.

Claims (54)

1. A non-transitory computer readable medium storing a computer program, which when executed by at least one processing unit, causes the at least one processing unit to perform operations for specifying a virtual server configuration through a graphical user interface (GUI), the operations comprising:

providing a plurality of user interface (UI) control elements for defining a set of virtual servers of the virtual server configuration that is to be implemented on a set of physical computers;

displaying, in a first display area, one or more graphical items representing web servers, data servers, or load balancers of the set of virtual servers of the virtual server configuration, wherein each graphical item of the graphical items representing web servers comprises (i) a graphical indication of a web server of the set of virtual servers, and (ii) a resource meter that graphically indicates real-time usage of a set of resources of the web server;

receiving a selection of a graphical item of the graphical items displayed, that represents a particular virtual server of the virtual server configuration;

in response to receiving the selection of the graphical item, determining and displaying a first UI control element of the plurality of UI control elements, wherein a selection of the first UI control element facilitates a provision of a second display area that displays a virtual Internet Protocol (IP) address associated with the particular virtual server and a set of real IP addresses to which communications addressed to the virtual IP address are mapped;

receiving a selection of the first UI control element;

in response to the receiving the selection of the first UI control element, displaying the second display area;

providing a second UI control element associated with the virtual IP address for display within the second display area, wherein a selection of the second UI control element associated with the virtual IP address suspends operation of the virtual IP address by preventing incoming requests from being routed to each real IP address of the set of real IP addresses associated with the virtual IP address;

providing a set of third UI control elements, each associated with a real IP address of the set of real IP addresses, for display within the second display area, wherein a selection of one of the set of third UI control elements suspends operation of the associated real IP address with respect to the virtual IP address by preventing communications associated with the virtual IP address from being routed to the associated real IP address; and

providing a selectable item that, when selected, starts an automated process that causes the virtual server configuration to be deployed on the set of physical computers without human intervention.

2. The non-transitory computer readable medium of claim 1 , wherein the plurality of UI control elements includes an add control element for adding a virtual server to the virtual server configuration.

3. The non-transitory computer readable medium of claim 1 , wherein a control element of the plurality of UI control elements is for deleting a virtual server from the virtual server configuration.

4. The non-transitory computer readable medium of claim 1 , wherein a control element of the plurality of UI control elements is for editing a configuration of a virtual server in the virtual server configuration.

5. The non-transitory computer readable medium of claim 1 , wherein the receiving the selection of the first UI control element comprises a cursor control operation performed on the GUI.

6. The non-transitory computer readable medium of claim 5 , wherein the second display area overlaps the first display area in response to the cursor control operation.

7. The non-transitory computer readable medium of claim 5 , wherein the cursor control operation is a right click operation.

8. The non-transitory computer readable medium of claim 1 , wherein different types of virtual servers correspond to different layers in the virtual server configuration, wherein the first display area comprises multiple tiers, each tier for displaying graphical items of virtual servers in a particular layer of the virtual server configuration, and wherein at least two tiers of the multiple tiers are displayed simultaneously in the first display area.

9. The non-transitory computer readable medium of claim 8 , wherein the different layers comprise a web server layer and a data storage layer.

10. The non-transitory computer readable medium of claim 1 , wherein the operations further comprise:

receiving a modification to a previously provisioned virtual server configuration; and

implementing the modification on at least one physical computer of the set of physical computers.

11. The transitory computer readable medium of claim 6 , wherein in response to a selection made on the second display area, a next selection on the second display area is limited to executable choices.

12. The non-transitory computer readable medium of claim 1 , wherein the first display area comprises a plurality of tier regions, including a first tier region that displays a first graphical item representing a web server, a second tier region that displays a second graphical item representing a load server, and a third tier region that displays a third graphical item representing a database server, and wherein the first, second, and third tier regions are parallel.

13. A method for specifying a configuration of a set of virtual servers through a graphical user interface (GUI), the method comprising:

displaying, in a first display area, graphical items representing web servers, data servers, or load balancers of the set of virtual servers of the configuration;

providing a plurality of user interface (UI) control elements for defining the set of virtual servers for the configuration;

receiving a selection of a graphical item of the graphical items displayed, that represents a particular virtual server in the set of virtual servers of the configuration;

in response to receiving the selection of the graphical item, determining and displaying a first UI control element of the plurality of UI control elements, wherein a selection of the first UI control element facilitates a provision of a second display area that displays a virtual Internet Protocol (IP) address associated with the particular virtual server and a set of real IP addresses to which communications addressed to the virtual IP address are mapped;

receiving a selection of the first UI control element;

in response to the receiving the selection of the first UI control element, displaying the second display area;

providing a second UI control element associated with the virtual IP address for display within the second display area, wherein a selection of the second UI control element associated with the virtual IP address suspends operation of the virtual IP address by preventing incoming requests from being routed to each real IP address of the set of real IP addresses associated with the virtual IP address;

providing a set of third UI control elements, each associated with a real IP address of the set of real IP addresses, for display within the second display area, wherein a selection of one of the set of third UI control elements suspends operation of the associated real IP address with respect to the virtual IP address by preventing communications associated with the virtual IP address from being routed to the associated real IP address; and

providing a selectable item that, when selected, starts an automated process that causes the set of virtual servers to be deployed onto a set of physical computers without human intervention.

14. The method of claim 13 , wherein a third UI control element of the plurality of UI control elements is for deleting a virtual server from the configuration.

15. The method of claim 13 , wherein a third UI control element of the plurality of UI control elements is for editing a configuration of a second virtual server in the configuration, wherein the third UI control element is displayed when a graphical item of the second virtual server is selected in the first display area.

16. The method of claim 13 , wherein the receiving the selection of the first UI control element of the plurality of UI control elements comprises a cursor control operation performed on the GUI.

17. The method of claim 16 , wherein the first display area is overlapped by the second display area in response to the cursor control operation performed on the GUI.

18. The method of claim 13 , further comprising:

displaying a first number of UI control elements of the plurality of UI control elements when a first graphical item of a first virtual server of a first type is selected; and

displaying a second number of UI control elements of the plurality of UI control elements when a second graphical item of a second virtual server of a second type is selected, wherein the first type is different from the second type and the first number is different from the second number.

19. The method of claim 13 , wherein the set of virtual servers includes a plurality of different types of virtual servers that are organized in a plurality of different layers in the configuration, wherein the first display area provides a multi-tiered presentation, wherein a tier of the multi-tiered presentation corresponds to a particular layer in the configuration, and wherein the tier includes a graphical item of a virtual server in a corresponding layer the configuration.

20. The method of claim 13 , wherein the configuration is a modification to a previously provisioned configuration.

21. A system for specifying a configuration of a set of virtual servers through a graphical user interface (GUI), comprising:

a memory; and

a processor coupled to the memory, wherein the processor is configured to:

displaying, in a first display area, one or more graphical items representing web servers, data servers, or load balancers of the set of virtual servers of the configuration;

provide a plurality of user interface (UI) control elements for defining the set of virtual servers for the configuration;

receive a selection of a graphical item of the graphical items displayed, that represents a particular virtual server in the set of virtual servers of the configuration;

in response to receiving the selection of the graphical item, determine and display a first UI control element of the plurality of UI control elements, wherein a selection of the first UI control element facilitates a provision of a second display area that displays a virtual Internet Protocol (IP) address associated with the particular virtual server and a set of real IP addresses to which communications addressed to the virtual IP address are mapped;

receive a selection of the first UI control element;

in response to receiving the selection of the first UI control element, display the second display area;

provide a second UI control element associated with the virtual IP address for display within the second display area, wherein a selection of the second UI control element associated with the virtual IP address suspends operation of the virtual IP address by preventing incoming requests from being routed to each real IP address of the set of real IP addresses associated with the virtual IP address;

provide a set of third UI control elements, each associated with a real IP address of the set of real IP addresses, for display within the second display area, wherein a selection of one of the set of third UI control elements suspends operation of the associated real IP address with respect to the virtual IP address by preventing communications associated with the virtual IP address from being routed to the associated real IP address; and

provide a selectable item that, when selected, starts an automated process that causes the set of virtual servers to be deployed onto a set of physical computers without human intervention.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2022
From: OPEN INVENTION NETWORK LLC
To: GOOGLE LLC
Reel/Frame 058657/0744 →
RELEASE OF SECURITY INTEREST Recorded Aug 30, 2019
From: CITIBANK, N.A.
To: GOGRID, LLC; DATAPIPE, INC.
Reel/Frame 050224/0321 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2019
From: GOGRID, LLC
To: OPEN INVENTION NETWORK LLC
Reel/Frame 047895/0811 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2018
From: LAPPAS, PAUL; KEAGY, JOHN MARTIN; PETERSON, NICHOLAS F.
To: SERVEPATH, LLC
Reel/Frame 047123/0750 →
CHANGE OF NAME Recorded Oct 10, 2018
From: SERVEPATH, LLC
To: GOGRID, LLC
Reel/Frame 047683/0488 →
SECURITY AGREEMENT Recorded Dec 15, 2017
From: GOGRID, LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 044895/0784 →
RELEASE OF SECURITY INTEREST Recorded Nov 16, 2017
From: TORONTO DOMINION (TEXAS) LLC (SUCCESSOR BY ASSIGNMENT TO MORGAN STANLEY SENIOR FUNDING, INC.)
To: GOGRID, LLC, AS GRANTOR
Reel/Frame 044150/0514 →
RELEASE OF SECURITY INTEREST Recorded Nov 16, 2017
From: TORONTO DOMINION (TEXAS) LLC (SUCCESSOR BY ASSIGNMENT TO MORGAN STANLEY SENIOR FUNDING, INC.)
To: GOGRID, LLC, AS GRANTOR
Reel/Frame 044150/0497 →
RELEASE OF PATENT SECURITY INTEREST RECORDED AT REEL 030602/FRAME 0657 Recorded Jan 22, 2015
From: PARTNERS FOR GROWTH III, L.P.
To: GOGRID, LLC
Reel/Frame 034793/0396 →
RELEASE OF PATENT SECURITY INTEREST RECORDED AT REEL 032970/FRAME 0944 Recorded Jan 22, 2015
From: GOGRID INVESTORS LLC
To: GOGRID, LLC
Reel/Frame 034793/0438 →
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Jan 22, 2015
From: GOGRID, LLC
To: TORONTO DOMINION (TEXAS) LLC, SUCCESSOR BY ASSIGNMENT TO MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 034793/0448 →
PATENT SECURITY AGREEMENT (SECOND LIEN) Recorded Jan 22, 2015
From: GOGRID, LLC
To: TORONTO DOMINION (TEXAS) LLC, SUCCESSOR BY ASSIGNMENT TO MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 034793/0483 →
SECURITY INTEREST Recorded May 20, 2014
From: GOGRID, LLC
To: GOGRID INVESTORS LLC
Reel/Frame 032970/0909 →
SECURITY AGREEMENT Recorded Jun 13, 2013
From: GOGRID, LLC
To: PARTNERS FOR GROWTH III, L.P.
Reel/Frame 030602/0657 →