US 7139815 System and method for transferring data over a network

ABSTRACT – A system and method are provided for transferring a set of data over a network by monitoring the level of actual network bandwidth utilization. The method identifies a maximum monitored level of actual utilization and calculates a threshold level of utilization as a function of the maximum monitored level of utilization. If the actual level of utilization is less than the threshold level, at least a portion or segment of the data is received over the network. Each time a portion of the data is received, the monitoring step is repeated and a counter is incremented. The size of the discrete portions of the data is a function of the value of the counter and is increased when the value of the counter is greater than a predetermined value.

TECHNICAL FIELD

The present invention relates to computer software and, more particularly, to a system and method for transferring data over a network such as the Internet.

BACKGROUND OF THE INVENTION

A computer system in which one or more client machines communicate with one or more servers over a network is a common arrangement. For example, there are millions of personal computers (PCs) connected to the Internet for communication with various servers. Many of these PC users acquire new or updated software on their PCs by downloading the software from a remote server over the Internet.

Conventional methods of downloading new and updated software to a PC over a network such as the Internet interfere with the PC user’s ability to browse the Internet or to otherwise communicate over the network during the download. With increased processing speeds for PCs, it is the bandwidth to the Internet which is becoming a significant bottleneck to the user’s browsing experience. Because conventional downloads typically occupy 100% of the user’s available communication bandwidth until the download is complete, the user is unable to utilize the network for other tasks during the download. Moreover, if the download is interrupted for some reason (e.g., the network connection is lost), it may be necessary to restart the download from the beginning of the file, thus wasting significant network resources. Other conventional downloading software permits the user to schedule the download for a designated time. In any event, conventional methods for downloading software over a network such as the Internet severely limit the user’s ability to engage in other network activity.

Providing software updates is beneficial to PC users because it corrects problems and improves the performance of their PCs. Additionally, the software vendor benefits from a reduction in the number of product support calls, which in turn reduces the substantial resources the vendor might otherwise allocate to handling such calls.

Microsoft Corporation provides a software update service in connection with its WINDOWS 98 operating system under the mark “WINDOWS UPDATE”. By accessing the “WINDOWS UPDATE” Internet website, WINDOWS 98 users can have their system evaluated and download both critical and non-critical software updates (e.g., a fix or a patch) over the Internet. Upon determining there are updates available that are not already loaded on the user’s PC, the user is notified that such updates are available, and the user is prompted to select one or more of them for downloading over the Internet. While this is a convenient method for providing software updates to users, such downloads could interfere with other network activity. Moreover, it is likely that many users will not take the initiative to navigate to the “WINDOWS UPDATE” website and download operating system updates for their PCs. Consequently, users who have not yet downloaded critical updates are more likely to encounter problems with their PCs, and they will likely call the vendor’s product support line when a problem arises.

Accordingly, there is a need for an effective method for downloading software updates over a network so that interference with other network activity is minimized. One potential solution is simply to increase network bandwidth. However, increased bandwidth is expensive and has historically been followed by increased user demands. Thus, even as available bandwidth increases with technological advances, there will continue to be a need to eliminate interference with other network activity because of the corresponding increases in user demands.

SUMMARY OF THE INVENTION

The present invention is directed to a system, method, and one or more computer-readable media for transferring a set of data over a network. In one aspect, an exemplary embodiment of the invention is directed to a method. The method includes the steps of monitoring the level of actual network bandwidth utilization and identifying a maximum monitored level of actual utilization. Then, the method calculates a threshold level of utilization as a function of the maximum monitored level of utilization. If the actual level is less than the threshold level, a number of discrete portions of the set of data are separately received over the network. The monitoring step is repeated and a counter is incremented each time a discrete portion of the set of data is received. The size of the discrete portions of the data may be a function of the value of the counter. The method increases the size of the discrete portions of data when the value of the counter is greater than a predetermined value.

In another aspect, an exemplary embodiment of the invention takes the form of one or more computer-readable media having computer-useable instructions embodied thereon for performing a method for transferring a set of data over a network. The method includes the steps of monitoring the level of actual network bandwidth utilization and identifying a maximum monitored level of actual utilization. The method then calculates a threshold level of utilization as a function of the maximum monitored level of utilization. If the actual level is less than the threshold level, a number of discrete portions of the set of data are separately received over the network. The monitoring step is repeated and a counter is incremented each time a discrete portion of the data is received over the network. The size of the discrete portions of the data is a function of the value of the counter and is increased when the value of the counter is greater than a predetermined value.

Yet another aspect of the invention is directed to a system for transferring a set of data over a network. The system includes a monitoring component, an identifying component, a calculating component, a receiving component, and a counter. The monitoring component monitors the level of actual network bandwidth utilization. The identifying component identifies a maximum monitored level of actual utilization. The calculating component calculates a threshold level of utilization as a function of the maximum monitored level of utilization. The receiving component separately receives a number of discrete portions of the set of data over the network if the actual level is less than the threshold level. The counter is incremented each time a discrete portion of the data is received over the network. The size of the discrete portions of the data is a function of the value of the counter and is increased when the value of the counter is greater than a predetermined value.

 

 

 

Related Posts