IP Library Granted Patent US 8,280,790
Granted Patent B2
US 8,280,790 · App. 12/353,246 · Granted Oct 2, 2012

System and method for billing for hosted services

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,280,790
App. No.
12/353,246
Granted
Oct 2, 2012
Kind
B2
Abstract

Some embodiments provide a system and method for projecting billing of a specified server configuration. In some embodiments, the projected billing is determined by identifying a set of allocated resources for the server configuration. In some embodiments, the set of resources include an amount of allocated RAM, network bandwidth, disk storage, processing power, etc. The set of resources are then projected over a billing period. Some embodiments determine a projection for the configuration as each component of the configuration is specified within a graphical user interface. Additionally, some embodiments determine a projection for the configuration after the entire configuration is specified within the graphical user interface.

Claims (58)

1. For a computer hosting service that provides a plurality of physical computers for hosting a plurality of different virtual server configurations for a plurality of different users, a machine implemented method comprising:

receiving a particular virtual server configuration for a particular user that (1) specifies a set of virtual servers that is to be deployed across a set of physical computers and (2) specifies, for each virtual server in the set of virtual servers, first and second amounts of first and second computer hosting resources that are to be allocated to the particular virtual server configuration across the set of physical computers for a billing period;

receiving a first billing plan for the particular virtual server configuration that specifies a first allotment amount for each of the first and second computer hosting resources that the particular virtual server configuration is allowed to use in the billing period before incurring overage charges;

in an automated manner, computing in real time an overall amount of projected usage for each of the first and second computer hosting resources by the particular virtual server configuration for the entire billing period based on the sets of amounts of the first and second computer hosting resources that are to be allocated across the set of physical computers;

when the computed overall amount of projected usage of one of the computer hosting resources exceeds the corresponding first allotment amount:

displaying to the particular user a notification to notify the particular user that the amount of projected usage of one of the computer hosting resources by the particular virtual server configuration across the set of physical computers exceeds the corresponding allotted amount of the computer hosting resource; and

providing the particular user with a second billing plan that specifies a second allotment amount of the one computer hosting resource that is equal to or greater than the overall amount of projected usage of the one computer hosting resource that is to be allocated across the set of physical computers.

2. The machine implemented method of claim 1 , wherein the first computer hosting resource is random access memory (RAM).

3. The machine implemented method of claim 1 further comprising deploying the particular virtual server configuration by allocating the first and second computer hosting resources across the set of physical computers.

4. The machine implemented method of claim 3 , wherein computing the overall amounts of projected usage occurs prior to deploying the particular virtual server configuration.

5. The machine implemented method of claim 3 , wherein computing the overall amounts of projected usage occurs after deploying the virtual server configuration.

6. The machine implemented method of claim 1 further comprising:

receiving a modification to the particular virtual server configuration; and

in an automated manner, recomputing in real time the overall amount of projected usage for each of the first and second computer hosting resources by the particular virtual server configuration that is to be allocated across the set of physical computers based on the modification.

7. The machine implemented method of claim 6 , wherein the modification comprises removing a previously specified virtual server of the particular virtual server configuration.

8. The machine implemented method of claim 6 , wherein the modification comprises reducing the amount of one of the computer hosting resources that is to be allocated across the set of physical computers.

9. A computer-implemented method for simultaneously hosting virtual server configurations for a plurality of users on a plurality of shared physical computers, the method comprising:

receiving a first plan for a particular virtual server configuration of a particular user that specifies a first allotted amount of at least one computer hosting resource that the particular virtual server configuration is allowed to use in a particular billing period before incurring overage charges;

deploying the particular virtual server configuration by allocating an amount of the computer hosting resource across a set of said shared physical computers, wherein at least one physical computer in the set of said shared physical computers is also used to deploy another virtual server configuration for another user;

at a subsequent point in time within the particular billing period, receiving a second plan for the particular virtual server configuration that specifies a second allotted amount of the computer hosting resource for the particular billing period;

calculating a difference between (i) the second allotted amount of the computer hosting resource for the particular billing period and (ii) usage of the computer hosting resource from a start of the particular billing period to the point in time within the particular billing period;

computing an amount of projected usage of the computer hosting resource by the particular virtual server configuration for a portion of the particular billing period based on the amount of the computer hosting resource allocated across the set of shared physical computers, wherein the portion of the particular billing period is an interval within the particular billing period from the point in time within the particular billing period to an end of the particular billing period; and

when the computed amount of projected usage of the computer hosting resource is determined to exceed the calculated difference, providing to the particular user a third plan that specifies a third allotted amount of the computer hosting resource for the particular billing period.

10. The computer-implemented method of claim 9 , wherein the computer hosting resource is random access memory (RAM) expressed in terms of RAM per unit of time.

11. The computer-implemented method of claim 9 , wherein computing the amount of projected usage occurs after deploying the particular virtual server configuration.

12. The computer-implemented method of claim 9 , wherein the second allotted amount of the computer hosting resource is greater than the first allotted amount of the computer hosting resource.

13. The computer-implemented method of claim 10 , wherein the unit of time is an hour.

14. The machine implemented method of claim 1 , wherein computing the overall amounts of projected usage comprises determining an amount for each of the first and second computer hosting resources allocated to the particular virtual server configuration over a plurality of periods of the billing period.

15. The machine implemented method of claim 1 , wherein the second computer hosting resource is network bandwidth.

16. For a computer hosting service that provides a plurality of physical computers for hosting a plurality of different virtual server configurations for a plurality of different users, a computer readable medium storing a computer program executable by at least one processor, the computer program comprising sets of instructions for:

receiving a particular virtual server configuration for a particular user that (1) specifies a set of virtual servers that is to be deployed across a set of physical computers and (2) specifies, for each virtual server in the set of virtual servers, first and second amounts of first and second computer hosting resources that are to be allocated to the particular virtual server configuration across the set of physical computers for a billing period;

receiving a first billing plan for the particular virtual server configuration that specifies a first allotment amount for each of the first and second computer hosting resources that the particular virtual server configuration is allowed to use in the billing period before incurring overage charges;

computing, in an automated manner, in real time an overall amount of projected usage for each of the first and second computer hosting resources by the particular virtual server configuration for the entire billing period based on the sets of amounts of the first and second computer hosting resources that are to be allocated across the set of physical computers;

when the computed overall amount of projected usage of one of the computer hosting resources exceeds the corresponding first allotment amount:

displaying to the particular user a notification to notify the particular user that the amount of projected usage of one of the computer hosting resources by the particular virtual server configuration across the set of physical computers exceeds the corresponding allotted amount of the computer hosting resource; and

providing the particular user with a second billing plan that specifies a second allotment amount of the one computer hosting resource that is equal to or greater than the overall amount of projected usage of the one computer hosting resource that is to be allocated across the set of physical computers.

17. The computer readable medium of claim 16 , wherein the first computer hosting resource is random access memory (RAM).

18. The computer readable medium of claim 16 , wherein the computer program further comprises a set of instructions for deploying the particular virtual server configuration by allocating the first and second computer hosting resources across the set of physical computers.

19. The computer readable medium of claim 18 , wherein the set of instructions for computing the overall amounts of projected usage is executed prior to the set of instructions for deploying the particular virtual server configuration.

20. The computer readable medium of claim 18 , wherein the set of instructions for computing the overall amounts of projected usage is executed after the set of instructions for deploying the virtual server configuration.

21. The computer readable medium of claim 16 , wherein the computer program further comprises sets of instructions for:

receiving a modification to the particular virtual server configuration; and

recomputing, in an automated manner, in real time the overall amount of projected usage for each of the first and second computer hosting resources by the particular virtual server configuration that is to be allocated across the set of physical computers based on the modification.

22. The computer readable medium of claim 21 , wherein the modification comprises removing a previously specified virtual server of the particular virtual server configuration.

23. The computer readable medium of claim 21 , wherein the modification comprises reducing the amount of one of the computer hosting resources that is to be allocated across the set of physical computers.

24. The computer readable medium of claim 16 , wherein the set of instructions for computing the overall amounts of projected usage comprises a set of instructions for determining an amount for each of the first and second computer hosting resources allocated to the particular virtual server configuration over a plurality of periods of the billing period.

25. The computer readable medium of claim 16 , wherein the second computer hosting resource is network bandwidth.

26. A computer readable medium storing a computer program which when executed by at least one processor simultaneously hosts virtual server configurations for a plurality of users on a plurality of shared physical computers, the computer program comprising sets of instructions for:

receiving a first plan for a particular virtual server configuration of a particular user that specifies a first allotted amount of at least one computer hosting resource that the particular virtual server configuration is allowed to use in a particular billing period before incurring overage charges;

deploying the particular virtual server configuration by allocating an amount of the computer hosting resource across a set of said shared physical computers, wherein at least one physical computer in the set of said shared physical computers is also used to deploy another virtual server configuration for another user;

receiving, at a subsequent point in time within the particular billing period, a second plan for the particular virtual server configuration that specifies a second allotted amount of the computer hosting resource for the particular billing period;

calculating a difference between (i) the second allotted amount of the computer hosting resource for the particular billing period and (ii) usage of the computer hosting resource from a start of the particular billing period to the point in time within the particular billing period;

computing an amount of projected usage of the computer hosting resource by the particular virtual server configuration for a portion of the particular billing period based on the amount of the computer hosting resource allocated across the set of shared physical computers, wherein the portion of the particular billing period is an interval within the particular billing period from the point in time within the particular billing period to an end of the particular billing period; and

providing to the particular user a third plan that specifies a third allotted amount of the computer hosting resource for the particular billing period when the computed amount of projected usage of the computer hosting resource is determined to exceed the calculated difference.

27. The computer-implemented method of claim 26 , wherein the computer hosting resource is random access memory (RAM) expressed in terms of RAM per unit of time.

28. The computer-implemented method of claim 27 , wherein the unit of time is an hour.

29. The computer-implemented method of claim 26 , wherein the set of instructions for computing the amount of projected usage is executed after the set of instructions for deploying the particular virtual server configuration.

30. The computer-implemented method of claim 26 , wherein the second allotted amount of the computer hosting resource is greater than the first allotted amount of the computer hosting resource.

Assignments (15)
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE PATENT ASSIGNMENT AGREEMENT DATED NOVEMBER 30, 2021 PREVIOUSLY RECORDED AT REEL: 058426 FRAME: 0791. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2022
From: OPEN INVENTION NETWORK LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058736/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2021
From: OPEN INVENTION NETWORK LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058426/0791 →
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/0025 →
CHANGE OF NAME Recorded Oct 10, 2018
From: SERVEPATH, LLC
To: GOGRID, LLC
Reel/Frame 047211/0455 →
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 →
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 →
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 →
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 →