Multiplex communications – Communication techniques for information carried in plural... – Adaptive
Reexamination Certificate
2000-05-04
2002-01-29
Olms, Douglas (Department: 2661)
Multiplex communications
Communication techniques for information carried in plural...
Adaptive
C370S464000, C370S465000
Reexamination Certificate
active
06343085
ABSTRACT:
TECHNICAL FIELD
This invention relates to host network servers for computer network systems. More particularly, this invention relates to a bandwidth management system that throttles bandwidth demands imposed by clients on the network systems when requesting various services from the network servers.
BACKGROUND
A computer network system has one or more host network servers connected to serve data to one or more client computers over a network.
FIG. 1
shows a simple computer network system
20
with a single host network server
22
connected to multiple clients
24
(
1
),
24
(
2
), . . . ,
24
(N) via a network
26
. The clients
24
(
1
)-
24
(N) send requests for data and/or services to the server
22
over the network
26
. For discussion purposes, suppose the server
22
is configured as an Internet service provider, or “ISP”. The ISP server
22
provides an email service
28
that handles electronic mail messages over the Internet
26
and a web service
30
that supports a web site accessible by the clients.
The network
26
is a medium with a predefined bandwidth capacity that is shared among the clients
24
(
1
)-
24
(N). The network
26
is represented in
FIG. 1
as a network pipeline to indicate a finite bandwidth capacity. The network
26
is representative of different network technologies (e.g., Ethernet, satellite, modem-based, etc.) and different configurations, including a LAN (local area network), a WAN (wide area network), and the Internet. The bandwidth capacity depends on the technology and configuration employed. For this example, suppose the network
26
has a total bandwidth capacity of 1,000 kilobits per second (Kb/s). Given this fixed bandwidth, the ISP administrator can allocate portions of the bandwidth for the various services
28
and
30
. For instance, the ISP administrator might allocate 400 Kb/s to the email service
28
and 600 Kb/s to the web service
30
.
As the clients
24
(
1
)-
24
(N) access the services
28
and
30
, they consume bandwidth on the network
26
. The responses from the host server
22
also consumer bandwidth. When the allocated bandwidth for a service becomes saturated with client requests and server responses (such as the web service when bandwidth consumption reaches 600 Kb/s), some of the requests are either delayed in transmission or not delivered to the intended destination.
To alleviate the problem of bandwidth saturation, network systems are often implemented with some form of request throttling that works to minimize network congestion and efficiently utilize the allocated bandwidth. The problem, however, becomes slightly more complicated in the case of multiple network servers on the same host system. Some network servers might disproportionately allocate bandwidth for their own tasks at the expense of excluding other concurrently running network servers from performing their requested operations. In this case, any bandwidth throttling mechanism must be effected among all of the network servers on the host computer network system.
One approach to a global bandwidth throttling system is described in a co-pending application Ser. No. 08/674,684, entitled “Adaptive Bandwidth Throttling for Network Services”, filed Jul. 2, 1996, in the name of Murali R. Krishnan. This application is assigned to Microsoft Corporation. The adaptive bandwidth throttling system operates on the computer network system to allocate bandwidth to the network servers as a function of thresholds defined by the administrator. The bandwidth throttling system implements a series of successively significant bandwidth throttling actions in response to increasing bandwidth consumption, with the effect to minimize congestion and improve efficiency.
The bandwidth throttling system measures bandwidth usage and compares the measured usage against administrator defined thresholds. In one implementation, for example, the administrator uses thresholds to define three usage zones. When the bandwidth usage is low (i.e., the first zone), all services are permitted. No throttling action is taken. As request traffic increases, the measured bandwidth usage rises to exceed a first threshold (i.e., the second zone). When this occurs, the bandwidth throttling system initiates a throttling action in the form of delaying a class of requests for the network server.
If the demand for bandwidth further increases and the measured usage exceeds a second threshold (i.e., the third zone), the bandwidth throttling system escalates to a more severe throttling response. As an example, the bandwidth throttling system blocks the one class of requests from execution and concurrently delays another class of requests, which were previously not impacted in the initial throttling action taken in zone two.
As a result of the hierarchical response to increasing network traffic, the administrator can customize the bandwidth throttling to specific request classes. Those classes deemed by the administrator to be low priority could be blocked or rejected in favor of allowing higher priority classes to execute. Thus, the adaptive bandwidth throttling system incrementally reduces demand for network bandwidth without disrupting the provision of desired network services.
The bandwidth throttling system described in the co-pending application applies to the total bandwidth used by all services on all servers connected to the network, and is based on a single set of thresholds specified by the administrator. However, current server technology allows for administrators to run multiple “virtual” services all running on a single machine and service.
FIG. 2
shows an example in which the ISP
22
supports multiple domains
32
(
1
)-
32
(M) on the same web service
30
. For instance, it is not uncommon for an ISP to support thousands of domains on the same web service. To the client, however, each domain functions as its own service as if running on its own HTTP (Hypertext Transfer Protocol) server on its own machine. Hence, the ISP
22
is effectively running multiple “virtual services” on multiple “virtual” HTTP servers, all from the same web service on the same machine. In such cases, network bandwidth control cannot be limited to applying globally to all the virtual servers. The all-or-nothing approach is unacceptable because the administrator often desires to designate some virtual services as more or less critical than others. For this reason, finer bandwidth control is required. Bandwidth throttling must be controllable at the virtual service level as well.
Accordingly, the inventors have developed a bandwidth throttling system that effectively controls bandwidth on a per virtual service basis. The bandwidth throttling system thus improves upon the system and technology described in the above noted patent application.
SUMMARY
This invention pertains to a bandwidth throttling system that controls bandwidth on a per virtual service basis. The bandwidth throttling system determines the amount of bandwidth used by each virtual service and selectively throttles requests for a particular virtual service independently of others based upon the bandwidth usage for the particular virtual service.
According to an aspect of the invention, the bandwidth throttling system maintains a bandwidth throttling (BT) object for each of the virtual services. The BT object tracks the bandwidth being presently used by its associated virtual service and maintains the bandwidth threshold set by the administrator to trigger throttling actions for that virtual service. When a request for a virtual service is received at the server, the bandwidth throttling system uses the data kept in the BT object to determine whether to allow, delay, or reject the request for that virtual service.
In one implementation, the bandwidth throttling system utilizes an adaptive, hierarchical throttling strategy that is applied to each virtual service independently. The bandwidth throttling system compares the bandwidth usage for the virtual service against the administrator-defined thresholds (both of which are obtained from the BT object)
Alam Bilal
Krishnan Murali R.
Lee & Hayes PLLC
Microsoft Corporation
Olms Douglas
Pizarro Ricardo M.
LandOfFree
Adaptive bandwidth throttling for individual virtual... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Adaptive bandwidth throttling for individual virtual..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Adaptive bandwidth throttling for individual virtual... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2875610