IP Library Granted Patent US 8,489,995
Granted Patent B2
US 8,489,995 · App. 12/050,865 · Granted Jul 16, 2013

Systems and methods for efficiently managing and configuring virtual servers

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,489,995
App. No.
12/050,865
Granted
Jul 16, 2013
Kind
B2
Abstract

The present invention is related to providing faster and more efficient ways to deploy and manage virtual server configurations in a hosted virtual server service. Broadly, a web interface allows a user to set conditions upon which specific types of virtual servers will be instantiated or terminated on a third-party hosted virtual server service. For example, the user may wish to instantiate a new virtual server each time the load on existing virtual servers exceeds a predetermined threshold. The web interface may also allow a user to select from among a plurality of hosted virtual server services. The web interface may further allow a user to incorporate dynamic variables into configurations of instantiated virtual servers.

Claims (41)

1. A method for providing a configuration and instantiation interface to a hosted virtual server service, the method comprising:

providing, by a virtual server manager, an interface to a plurality of hosted virtual server services, each of the plurality of hosted virtual server services comprising a plurality of physical machines each hosting one or more virtual servers, the interface comprising:

input means allowing a user to select one or more virtual server configurations from among a plurality of virtual server configurations, each virtual server configuration comprising a boot image and configuration information; and

input means for a user to set a policy for dynamically selecting one of the plurality of hosted virtual server services and for dynamically instantiating one or more virtual servers on the selected hosted virtual server service using the selected one or more virtual server configurations, the policy comprising at least one condition;

determining, by the virtual server manager, that the at least one condition has been met;

transmitting, by the virtual server manager, responsive to determining that the at least one condition has been met, to one of the plurality of hosted virtual server services, instructions to instantiate a first virtual server according to a first selected virtual server configuration boot image and instructions to instantiate a second virtual server according to a second selected virtual server configuration boot image;

determining, by the virtual server manager, that instantiation of the first boot image and the second boot image on the physical machines comprising the one of the plurality of hosted virtual server services is complete; and

transmitting, by the virtual server manager, responsive to determining that instantiation of the boot images is complete, respective configuration information to the instantiated boot images, wherein an information item in the second virtual server configuration information depends on the first virtual server configuration and the virtual server manager obtains a value for the information item from the first virtual server, wherein the virtual server manager initially transmits incomplete configuration information to the second virtual server and subsequently transmits the obtained value.

2. The method of claim 1 , wherein at least one of the hosted virtual server services is a third-party hosted virtual server service.

3. The method of claim 2 , wherein providing comprises providing, on a subscription basis, one interface to the plurality of hosted virtual server services.

4. The method of claim 1 , wherein the condition specifies one or more parameters, each parameter indicating a utilization of one or more virtual servers.

5. The method of claim 4 , wherein determining that the at least one condition has been met comprises receiving information indicating a value of the one or more parameters; and determining the value exceeds a threshold specified by the condition.

6. The method of claim 5 , further comprising: receiving information indicating a second measurement of a virtual server utilization parameter; determining the measurement is below a threshold specified by the condition; and transmitting, to the one of the plurality of hosted virtual server services, instructions to terminate a virtual server instance.

7. The method of claim 1 , wherein the interface comprises input means for a user to configure at least one policy for dynamically scaling virtual server instantiations responsive to a network utilization parameter.

8. The method of claim 1 , wherein the condition comprises a failure of an instantiated virtual server.

9. The method of claim 1 , wherein the condition comprises a predicted failure of an instantiated virtual server.

10. The method of claim 1 , wherein the plurality of virtual server configurations comprise at least one virtual server configuration created by a second user.

11. The method of claim 1 , wherein the interface further comprises inputs allowing a user to share created virtual server configurations with other users.

12. The method of claim 1 , wherein the input means for a user to select a virtual server configuration comprise input means for the user to specify at least one configuration variable with a value to be determined based on a property of at least one other instantiated virtual server at the time of instantiation.

13. The method of claim 12 , further comprising the steps of:

determining a value for each of the specified at least one configuration variables; and

transmitting the determined value to the instantiated virtual server.

14. The method of claim 1 , wherein the input means for a user to select a virtual server configuration comprise input means for the user to specify at least one configuration variable with a value to be determined based on a property of the hosted virtual server service at the time of instantiation.

15. The method of claim 14 , further comprising the steps of:

determining a value for each of the specified at least one configuration variables; and

transmitting the determined value to the instantiated virtual server.

16. A system for providing a configuration and instantiation interface to a hosted virtual server service, the system comprising:

a web server which provides an interface to a plurality of hosted virtual server services, each of the plurality of hosted virtual server service comprising a plurality of physical machines each of which hosts at least one virtual server, the interface comprising:

input means allowing a user to select one or more virtual server configurations from among a plurality of virtual server configurations, each virtual server configuration comprising a boot image and configuration information; and

input means for a user to set a policy for dynamically selecting one of the plurality of hosted virtual server services and for dynamically instantiating one or more virtual servers on the selected hosted virtual server service using the selected one or more virtual server configurations, the policy comprising at least one condition;

a computing device, in communication with the web server, which determines that the at least one condition has been met; transmits, responsive to determining that the at least one condition has been met, to one of the plurality of hosted virtual server services, instructions to instantiate a first virtual server according to a first selected virtual server configuration boot image and instructions to instantiate a second virtual server according to a second selected virtual server configuration boot image; determines that instantiation of the first boot image and the second boot image on the physical machines comprising the selected one of the plurality of hosted virtual server services is complete; and transmits, responsive to determining that instantiation of the boot images is complete, respective configuration information to the instantiated boot images,

wherein an information item in the second virtual server configuration information depends on the first virtual server configuration and the computing device obtains a value for the information item from the first virtual server, wherein the computing device initially transmits incomplete configuration information to the second virtual server and subsequently transmits the obtained value.

17. The system of claim 16 , wherein at least one of the plurality of hosted virtual server services is a third-party hosted virtual server service.

18. The system of claim 16 , wherein the condition specifies one or more parameters, each parameter indicating a utilization of one or more virtual servers.

19. The system of claim 18 , wherein the computing device receives information indicating a value of the one or more parameters; and determines the value exceeds a threshold specified by the condition.

20. The system of claim 19 , wherein the computing device receives information indicating a second measurement of a virtual server utilization parameter; determines the measurement is below a threshold specified by the condition; and transmits, to the one of the plurality of hosted virtual server services, instructions to terminate a virtual server instance.

21. The system of claim 16 , wherein the interface comprises input means for a user to configure at least one policy for dynamically scaling virtual server instantiations responsive to a network utilization parameter.

22. The system of claim 16 , wherein the condition comprises a failure of an instantiated virtual server.

23. The system of claim 16 , wherein the condition comprises a predicted failure of an instantiated virtual server.

24. The system of claim 16 , wherein the plurality of virtual server configurations comprise at least one virtual server configuration created by a second user.

25. The system of claim 16 , wherein the interface further comprises inputs allowing a user to share created virtual server configurations with other users.

Assignments (9)
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS - REEL/FRAME 047719-0112 Recorded Aug 22, 2025
From: JEFFERIES FINANCE LLC
To: RIGHTSCALE, INC.
Reel/Frame 072565/0841 →
SECURITY INTEREST Recorded Aug 15, 2025
From: FLEXERA SOFTWARE LLC
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL GENT
Reel/Frame 072460/0828 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Apr 18, 2024
From: JEFFERIES FINANCE LLC
To: BDNA CORPORATION; FLEXERA SOFTWARE LLC; PALAMIDA, INC.; RIGHTSCALE, INC.; RISC NETWORKS, LLC; REVULYTICS, INC.
Reel/Frame 067636/0534 →
SECOND LIEN SECURITY AGREEMENT Recorded Mar 3, 2021
From: BDNA CORPORATION; FLEXERA SOFTWARE LLC; PALAMIDA, INC.; RIGHTSCALE, INC.; RISC NETWORKS, LLC; REVULYTICS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 055487/0354 →
RELEASE OF SECOND LIEN SECURITY INTEREST Recorded Feb 28, 2020
From: JEFFERIES FINANCE LLC
To: FLEXERA SOFTWARE LLC; PALAMIDA, INC.; BDNA CORPORATION; RIGHTSCALE, INC.; RISC NETWORKS, LLC
Reel/Frame 052049/0560 →
SECOND LIEN SECURITY AGREEMENT Recorded Dec 5, 2018
From: RIGHTSCALE, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 047720/0472 →
FIRST LIEN SECURITY AGREEMENT Recorded Dec 4, 2018
From: RIGHTSCALE, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 047719/0112 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE COMPANY WHICH WAS MISIDENTIFIED AS AN LLC, PREVIOUSLY RECORDED ON REEL 021591 FRAME 0346. ASSIGNOR(S) HEREBY CONFIRMS THE COMPANY SHOULD BE RIGHTSCALE, INC., RATHER THAN RIGHTSCALE, LLC. Recorded Nov 4, 2008
From: EICKEN, THORSTEN VON; SAAVEDRA, RAFAEL
To: RIGHTSCALE, INC.
Reel/Frame 021780/0709 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2008
From: EICKEN, THORSTEN VON; SAAVEDRA, RAFAEL
To: RIGHTSCALE, LLC
Reel/Frame 021591/0346 →