Method and apparatus for automatic dial-up dial-down web hosting

One embodiment of the present invention provides a system that automatically adjusts a web hosting service plan for a web site based upon measured usage of the web site. The system measures the usage statistics of the web site, compares the usage statistics against a set of available service plans for the web site, determines if staying with the current service plan results in a lowest cost, and switches the service plan to the plan with the lowest cost if applicable. In one embodiment of the present invention, the service plan specifies a fixed cost for a maximum amount of bandwidth, and an additional cost for additional bandwidth over the maximum bandwidth. In one embodiment of the present invention, the system measures the following usage statistics: bandwidth resulting from access to the web site, disk space used by the web site, response time of the web site, and memory space used by the web site.

BACKGROUND

1. Field of the Invention

The present invention relates to computers and the hosting of web sites. More specifically, the present invention relates to a method and apparatus for determining the most cost effective service plan for hosting a web site, and automatically switching to that service plan.

2. Related Art

The advent of e-commerce has led to the rapid expansion of the Internet and the web hosting business. The number of new web sites continues to grow exponentially. In addition, hundreds of new services are being created and offered daily. Making heads or tails of this can be a daunting task for the new-comer as well as the seasoned veteran in this electronic arena.

Currently, web hosting customers must select the type of web hosting account that they desire. They must consider numerous variables when choosing a web hosting plan. These variables range from the amount of bandwidth that the web site is going to consume, to the amount of disk space and memory that the web site is going to utilize, and to the amount of lag time that the system will allow before sending its content to the user.

The main problem with this situation involves choosing the service plan that best fits the user's needs. When entering into a web hosting agreement, it is difficult to anticipate the future requirements of a web site. How much bandwidth is needed How much disk space is required for the web site If these were static numbers, then the answer would be simple. Once all of the numbers are known, informed decision can be made, and the user is able to revise the service plan accordingly. Unfortunately, the web is dynamic in nature, and what might be the proper fit for today might not be appropriate tomorrow or next week. As this dynamic evolves, it takes dedicated observation and foresight to determine if changes need to be made, and to proactively implement those changes.

What is needed in this situation is a method and an apparatus that measures the statistics of a web site and compares those numbers against the set of available service plans in order to select the most cost effective service plan for hosting the web site.

SUMMARY

One embodiment of the present invention provides a system that automatically adjusts a web hosting service plan for a web site based upon measured usage of the web site. The system measures the usage statistics of the web site, compares the usage statistics against a set of available service plans for the web site, determines if staying with the current service plan results in a lowest cost, and switches the service plan to the plan with the lowest cost if applicable.

In one embodiment of the present invention, the service plan specifies a fixed cost for a maximum amount of bandwidth, and an additional cost for additional bandwidth over the maximum bandwidth.

In one embodiment of the present invention, the system measures the following usage statistics: bandwidth resulting from accesses to the web site, disk space used by the web site, response time of the web site, and memory space used by the web site.

In one embodiment of the present invention, the system switches service plans automatically.

In one embodiment of the present invention, the system switches service plans by notifying a user of the intended switch and by receiving a request back from the user to execute the switch.

In one embodiment of the present invention, the acts of measuring, comparing, determining, and switching are performed automatically by a computer system, without human intervention.

In one embodiment of the present invention, the system additionally accepts a selection of the current service plan from the set of available service plans.

In one embodiment of the present invention, the system additionally accepts a selection of the current service plan from the set of available service plans by setting an upper threshold for a fixed periodic cost for the current service plan and/or by setting a lower threshold for the fixed periodic cost for the current service plan.

DETAILED DESCRIPTION

Computer Systems

FIG. 1 illustrates computer systems 102 - 104 and 108 coupled together by network 106 in accordance with an embodiment of the present invention. Network 106 can include any type of wire or wireless communication channel capable of coupling together computer systems. This includes, but is not limited to, a local area network, a wide area network, or a combination of networks. In one embodiment of the present invention, network 106 includes the Internet. Network 106 can also include a communication pathway through a telephone line.

Note that computer systems 102 - 104 and 108 can generally include any type of computer system, including, but not limited to, a computer system based on a microprocessor, a mainframe computer, a digital signal processor, a personal organizer, a device controller, a cellular phone, and a computational engine within an appliance.

The computer systems illustrated in FIG. 1 include clients 102 - 104 and web server 108 . Clients 102 - 104 can include any node on a network including computational capability and including a mechanism for communicating across network 106 . In one embodiment of the present invention, clients 102 - 104 include web browsers (not shown) for communicating with web sites 110 - 111 on web server 108 . These browsers can include any type of web browser capable of viewing a web site, such as the INTERNET EXPLORER browser distributed by the Microsoft Corporation of Redmond, Wash.

Web server 108 can include any computational node including a mechanism for servicing requests from a client for computational and/or data storage resources. Web server 108 includes web sites 110 - 111 , usage monitor 112 , and service plan selector 113 . Web sites 110 - 111 can include inter-linked pages of textual and graphical information that can be navigated through by web browsers on clients 102 - 104 . Usage monitor 112 includes mechanisms for monitoring usage statistics for web sites 110 - 111 . This includes monitoring statistics on disk space usage, bandwidth, memory usage and processor usage of web sites 110 - 111 . Data from usage monitor 112 feeds into service plan selector 113 . Service plan selector 113 includes a mechanism to dynamically change a service plan for a web site as the usage statistics for the web site change over time.

Web server 108 is coupled with service plan database 114 that contains a set of available service plans. Note that service plan database 114 may exist within another computer system, such as web server 108 , or may exist in a stand-alone computer system.

Process of Changing Service Plans

FIG. 2 is a flow chart illustrating how the current service plan is determined in accordance with an embodiment of the present invention. Note that this process can take place at a number of different locations, including within web server 108 or at any other computer system that is capable of performing the process. Alternatively, the process can be split up between multiple computer systems.

In one embodiment of the present invention, the system starts by accepting a selection of the current service plan by a user for a web site (such as web site 110 ) (step 202 ). This current service plan may specify a fixed cost for a maximum bandwidth and an additional cost for additional bandwidth over the maximum bandwidth.

The process of selecting a current service plan may involve selecting an upper threshold for a fixed monthly cost for the service plan and a lower threshold for the fixed monthly cost. Note that the user is typically interested in fixing the upper threshold, whereas the hosting service provider is typically interested in fixing the lower threshold.

After this initial selection process, the system uses usage monitor 112 to measure usage statistics for web site 110 (step 204 ). These usage statistics may include the bandwidth resulting from accesses web site 110 , the disk space used by web site 110 , the response time for accesses to web site 110 and the memory space used by web site 110 .

Next, the system compares the measured usage statistics against the set of available service plans contained in service plan database 114 (step 206 ) to determine if staying with the current service plan results in a lower cost than switching to an alternative service plan (step 208 ). If staying with the current service plan results in the lowest cost, then the system returns to step 204 to continue to measure usage statistics for the web site.

If staying with the current service plan does not result in the lowest cost, the system determines if the new service plan is within the threshold values (step 212 ). If the new service plan is within the threshold values, the system switches the service plans (step 214 ) and continues to measure usage statistics for the web site (step 204 ). Note that the process of switching service plans may involve notifying the user that another service plan may result in a lower cost, and allowing the user to determine whether or not to switch service plans. If the new service plan is not within the threshold values, the system returns to step 204 to continue to measure usage statistics for the web site.

The foregoing descriptions of embodiments of the invention have been presented for purposes of illustration and description only. They are not intended to be exhaustive or to limit the present invention to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art. Additionally, the above disclosure is not intended to limit the present invention. The scope of the present invention is defined by the appended claims.