`(12) Patent Application Publication (10) Pub. No.: US 2002/0091825 A1
`(43) Pub. Date:
`Jul. 11, 2002
`Shuster
`
`US 2002009 1825A1
`
`(54) METHOD AND APPARATUS FOR
`IMPROVING BANDWIDTH EFFICIENCY IN
`A COMPUTER NETWORK
`(76) Inventor: Gary Stephen Shuster, Fresno, CA
`(US)
`Correspondence Address:
`O’MELVENY & MYERS LLP
`400 So. Hope Street
`Los Angeles, CA 90071-2899 (US)
`(21) Appl. No.:
`09/932,431
`(22) Filed:
`Aug. 17, 2001
`Related U.S. Application Data
`(63) Non-provisional of provisional application No.
`60/225,888, filed on Aug. 17, 2000.
`
`Publication Classification
`
`(51) Int. Cl." ............................................. G06F 15/173
`
`(52) U.S. Cl. .............................................................. 709/226
`
`(57)
`
`ABSTRACT
`
`A method for operating a server to improve bandwidth
`efficiency in a computer network is disclosed. The Server is
`operable to transmit files between a memory of the server
`and destinations on the computer network through a com
`munication link having a finite bandwidth. The files are
`distinguishable by type and the Server is provided with a rule
`Set for prioritizing transmission of files by type. The method
`comprises monitoring a bandwidth usage of the communi
`cation link, and triggering application of the rule Set when
`the bandwidth usage exceeds a threshold amount. The
`threshold amount is determined relative to the finite band
`width. The method further comprises distinguishing
`between the files according to type, and prioritizing trans
`mission of the files according to type and according to the
`rule Set.
`
`w
`
`/- Ol
`
`(
`I ?ale.
`
`--- -
`
`s - r". :
`J.
`-----------
`,..., Baadi/d h f
`:
`
`- a
`
`---------- Sa-x-xx-swar - r-
`
`|
`
`
`
`--- fe 7
`
`/14 Sf- fg- la SC 7
`?t/e 4/or &
`6anada, af. A
`
`-- 1/S
`
`
`
`
`
`ele? in he ty, e4 Specié, c
`Kle to Are Y
`
`
`
`
`
`
`
`TO ?eprop?. . . lved Servers
`
`
`
`
`
`
`
`-1-
`
`Amazon Exhibit 1015
`IPR Petition - USP 9,264,483
`
`
`
`Patent Application Publication
`
`Jul. 11, 2002. Sheet 1 of 2
`
`US 2002/0091825 A1
`
`
`
`-2-
`
`
`
`Patent Application Publication
`
`Jul. 11, 2002 Sheet 2 of 2
`
`US 2002/0091825 A1
`
`----------, M Ol
`70, % Koat?. (h)-
`(al
`J
`-t:
`| (al... ..., Band...d. Af
`-- to
`
`------------
`
`r-ra-res
`
`:
`
`:
`
`
`
`
`
`
`
`
`
`| 1) (a le.
`
`-\/
`efe/ are (/hick Specié, C.
`ld Age l/
`
`/ 2d
`
`
`
`-3-
`
`
`
`US 2002/009 1825 A1
`
`Jul. 11, 2002
`
`METHOD AND APPARATUS FOR IMPROVING
`BANDWIDTH EFFICIENCY IN A COMPUTER
`NETWORK
`
`CROSS-REFERENCE TO RELATED
`APPLICATION
`0001. This application claims priority pursuant to 35
`U.S.C. S 119(e) to U.S. Provisional Application No. 60/225,
`888, filed Aug. 17, 2000, which application is specifically
`incorporated herein, in its entirety, by reference.
`
`BACKGROUND OF THE INVENTION
`0002) 1. Field of the Invention
`0003. The present invention relates to a method and
`apparatus for improving bandwidth efficiency in a computer
`network. More Specifically, this invention pertains to a
`bandwidth management tool that implements a set of rules
`for directing network traffic according to current network
`bandwidth levels.
`0004 2. Description of Related Art
`0005 Bandwidth is a critical resource and a key cost for
`Internet service providers (ISPs) in particular. Reliable
`bandwidth usage auditing and monitoring is important in
`two types of Web hostings offered by ISPs, i.e., “co
`location' and “dedicated/shared-services. The Internet is a
`collection of interconnected (public and/or private) net
`works linked together by a set of Standard protocols (Such as
`TCP/IP and HTTP) to form a global, distributed network. As
`used herein, “Internet' is intended to refer to what is now
`commonly known as the Internet, it is also intended to
`encompass variations which may be made in the future,
`including changes and additions to existing Standard proto
`cols.
`0006 Bandwidth refers to maximum available bit rate for
`a specific application. In the context of a communication
`link of a computer network, bandwidth refers the maximum
`information rate that may be transmitted through the link. AS
`used herein, the bandwidth capacity of a communication
`link includes any limitations Such as arise from character
`istics of Servers, routers, and other network devices along a
`link.
`0007 Overuse of available bandwidth is generally unde
`Sirable. Although certain latency is inherently associated
`with any computer network (latency refers to the delay
`experienced by a packet from the Source to destination),
`when bandwidth usage of a communication link approaches
`or Saturates the bandwidth (capacity) of a communication
`link, increased latency and/or transmission failure results.
`Therefore, it is desirable to operate a computer network So
`as to preserve a margin of exceSS bandwidth at all times.
`0008 Bandwidth is also a commodity that may be
`assigned a definite economic value. In co-location Services,
`a customer owns a dedicated Web Server located at an
`Internet Service Provider's (ISPs) facility, and purchases
`Internet bandwidth from the ISP. The ISP buys bandwidth in
`bulk and resells it to each customer. Bandwidth is typically
`purchased in blockS. For example, a company may pay a
`fixed amount for a block of one hundred megabits of
`bandwidth. When bandwidth usage exceeds this amount, the
`company either incurs Surcharges (in the event that it has
`
`acquired the ability to “burst' over the paid amount) or hits
`a cap, and is unable to Serve all of the content that has been
`requested of it. The former results in undesired extra
`charges, with the latter results portions of the content being
`indiscriminately not served.
`0009. In dedicated-server service, customers rent dedi
`cated servers that are owned and maintained by the ISP. In
`shared-server Service, customers rent disk space, and Share
`CPU and ETHERNET bandwidth with other website cus
`tomers on the ISP's equipment. While this provides a low
`cost Service for the customer, it frequently results in an
`overcrowding of the equipment and long delayS or inacces
`sibility of the sites sharing the server. When the ISP has a
`clear picture of usage patterns, users can be relocated onto
`Servers that do not clash with other users, or changed to
`dedicated-server Service.
`0010. Accordingly, customers and ISP's alike desire
`accurate auditing, monitoring, and allocation of the band
`width usage by each Web hosting customer. Current soft
`ware tools for these tasks are not optimal.
`0011. The Web hosting business is becoming increasingly
`competitive. Customers are demanding guaranteed Serviced
`and accountability for the access bandwidth charges by their
`ISPs. The customers too desire to monitor their own usage
`patterns in real time. It is further desirable to provide a
`guaranteed quality of Service to improve customer Satisfac
`tion. In addition, unlike hit-rate data provided by other
`Software, bandwidth usage patterns give web site owners a
`different way for gauging responses to changes in content on
`their sites.
`0012 Aprior art pure-software approach to bandwidth
`management implements a priority-based queuing algorithm
`completely in UNIX or WINDOWS. These implementations
`usually have too much operating System overhead and
`throughput rarely exceeds 1,000 Kb/s. A prior art pure
`hardware approach implements a control algorithm in logic.
`But only very Simple algorithms are practical, Such as packet
`counting and dropping when a bandwidth limit is reached.
`These basic approaches can drop too many packets unnec
`essarily, which results in massive re-transmission on the
`Internet. Instead of improving throughput, these algorithms
`may actually degrade the network. A further disadvantages
`of hardware methods is that new features, e.g., Internet
`Protocol versions upgrades, generally require replacement
`of hardware equipment.
`0013 Routers are commonly used in the art and typically
`implement the use of headers and a forwarding table to
`determine the path in which data packets are sent. Very little
`filtering of data is done through routers. In fact, most routers
`do not distinguish between the different types of data being
`transmitted. Nevertheless, bandwidth management Strate
`gies are typically implemented at the router level. In net
`Works where files of various types and sizes are frequently
`passed, however, these Strategies are often inefficient.
`0014. Accordingly, it would be desirable to provide a
`method and apparatus for monitoring and optimizing band
`width usage.
`
`SUMMARY OF THE INVENTION
`0015 The present invention provides a system and
`method for operating a server to improve bandwidth effi
`
`-4-
`
`
`
`US 2002/009 1825 A1
`
`Jul. 11, 2002
`
`ciency in a computer network, that overcomes the limita
`tions of the prior art. The server is operable to transmit files
`between a memory of the Server and destinations on the
`computer network through a communication link having a
`finite bandwidth. The files are distinguishable by type and
`the Server is provided with a rule Set for prioritizing trans
`mission of files by type. The method comprises monitoring
`a bandwidth usage of the communication link, and trigger
`ing application of the rule Set when the bandwidth usage
`exceeds a threshold amount. The threshold amount is deter
`mined relative to the finite bandwidth. The method further
`comprises distinguishing between the files according to
`type, and prioritizing transmission of the files according to
`type and according to the rule Set.
`0016 Bandwidth conditions of a given link may vary
`under different environmental conditions. In practice, Syn
`chronous, interactive, and real-time applications, which are
`bandwidth-sensitive, can require minimum bandwidth guar
`antees, and can require Sustained and burst-Scale bit rates.
`On the other hand, network administrators may want to limit
`bandwidth taken by non-productive traffic. Even though
`bandwidth may be allocated for Specified applications, it
`does not mean that these applications are necessarily using
`that bandwidth. Therefore, the invention provides for
`enforcing bandwidth restrictions and rules for allocating
`bandwidth differently, depending on transient network con
`ditions.
`0017. A rule set will herein be defined to be a set of
`techniqueS or mechanisms including policies that can be
`applied in a network to manage limited network resources
`Such as bandwidth and the like. These techniques are
`intended to improve overall network performance and effi
`ciency. They are also intended to provide for more predict
`ability and orderliness in the event of network congestion.
`The techniques should also isolate faults and provide vis
`ibility into performance problems. Additionally, they should
`meet the diverse user and application requirements as per an
`organization’s busineSS goals. Furthermore, rule Sets are
`intended to increase the "goodput traffic, i.e., economically
`desirable traffic, and prevent the abuse of network resources.
`0.018. The invention further provides various methods for
`distinguishing between files and thus enables classification
`of any given file by file type. The rule Set is then applied to
`control the rate of transmission of the file, or whether to
`allow transmission of a file at all, depending on its file type
`and on other parameterS Such as the bandwidth usage and
`network conditions. The file type may be determined when
`a file is requested for transfer, or by a disk (memory)
`crawling agent at periodic intervals. Furthermore, a group of
`file Servers, Such as in a Server farm, may be instructed to
`operate according to the same rule Set. Modified rule Sets or
`portions thereof may periodically be broadcast to Servers in
`the farm from a master Server.
`0019. When a predetermined bandwidth threshold is
`reached on a communication link, a rule Set for reducing
`bandwidth demand may be applied by the server. The rule
`Set preferably provides different rules for application under
`different conditions. For example, if bandwidth is being used
`at 80% of capacity, a first rule may be applied. If bandwidth
`usage increases to 90%, a Second rule may be applied, that
`reduces network demand more than the first rule. In general,
`the rule Set operates to restrict demand by restricting acceSS
`to bandwidth according to file priority.
`
`0020. A more complete understanding of a method and
`apparatus for improving bandwidth efficiency in a computer
`network will be afforded to those skilled in the art, as well
`as a realization of additional advantages and objects thereof,
`by a consideration of the following detailed description of
`the preferred embodiment. Reference will be made to the
`appended sheets of drawings which will first be described
`briefly.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0021
`FIG. 1 is a block diagram demonstrating a pre
`ferred embodiment of the invention; and
`0022 FIG. 2 is a flow chart outlining the operation of a
`bandwidth management System according to a preferred
`embodiment of the invention.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`0023 The present invention is directed towards a method
`and apparatus for improving bandwidth efficiency in a
`computer network. Combining Servers and processing
`power into a Single entity has been relatively common for
`many years in research and academic institutions. In the
`detailed description that follows, like element numerals are
`used to describe like elements illustrated in one or more
`figures.
`0024. A rule set will herein be defined to be a set of
`techniqueS or mechanisms including policies that can be
`applied in a network to manage limited network resources
`Such as bandwidth and the like. These techniques are
`intended to improve overall network performance and effi
`ciency. They are also intended to provide for more predict
`ability and orderlineSS in the event of network congestion.
`The techniques should also isolate faults and provide vis
`ibility into performance problems. Additionally, they should
`meet the diverse user and application requirements as per an
`organization’s business goals. Furthermore, rule Sets are
`intended to improve bandwidth efficiency based on the
`economic value of network resources.
`0025 Preferred embodiments of the present invention
`operate in accordance with a plurality of networked com
`puters, Such as, for example, a user computer and a Server
`computer which are coupled together on a communications
`network, Such as the Internet or a wide area network. FIG.
`1 depicts a block diagram demonstrating a preferred
`embodiment of the invention. As illustrated, an ISP com
`puter system 10 is shown to communicate with a plurality of
`user computer systems 30 via the Internet 20. It should be
`appreciated that user computerS 30 may include any type of
`computing device that allows a user to interactively browse
`websites, Such as a personal computer (PC) that includes a
`Web browser application 32(e.g., Microsoft Internet Explor
`erTM or Netscape CommunicatorTM). Suitable user comput
`ers 30 equipped with browsers 32 are available in many
`configurations, including handheld devices (e.g., PalmPi
`lot"), personal computers (PC), laptop computers, work
`Stations, television Set-top devices, multi-functional cellular
`phones, and So forth.
`0026. In a preferred embodiment of the invention, ISP
`computer system 10 further comprises a bandwidth man
`agement tool 12 coupled to a router unit 14 and to a Web
`
`-5-
`
`
`
`US 2002/009 1825 A1
`
`Jul. 11, 2002
`
`server farm 16 connected to an HTML documents database
`17. Router unit 14 may comprise a plurality of routers
`connecting any number of computers in a network. The type
`of routers used in a preferred embodiment can be of any
`Standard type as known in the art.
`0027 Web server farms such as Web server farm 16 are
`generally known in the art and are typically comprised of a
`plurality of Web servers. In practice, a Web server farm
`typically refers to an ISP that provides Web hosting services
`using multiple Servers. More specifically, a Server farm is a
`group of networked Web servers that are housed in one
`location. In a preferred embodiment, Web server farm 16
`Streamlines internal processes by distributing the workload
`between the individual components of the farm and expe
`dites computing processes by harnessing the power of its
`multiple servers. Web server farms such as Web server farm
`16 typically rely on load-balancing Software that accom
`plishes Such tasks as tracking demand for processing power
`from different machines, prioritizing the tasks and Schedul
`ing and rescheduling them depending on priority and
`demand that users put on the network. When one server in
`the farm fails, another Server may be used as a backup.
`0028 AS is also generally known in the art, Web servers
`such as those in Web farm 16 access a plurality of Web
`pages, distributable applications, and other electronic files
`containing information of various types stored in HTML
`document databases 17. As a result, Web pages may be
`Viewed on various user computers 30, for example, a par
`ticular Web page or other electronic file may be viewed
`through a Suitable application program residing on a user
`computer 30, such as a browser 32, or by a distributable
`application provided to the user computer 30 by a Web
`Server. It should be appreciated that many different user
`computers, many different Web servers, and many different
`Search Servers of various types may be communicating with
`each other at the same time.
`0029. It should be further appreciated that a user identi
`fies a Web page that is desired to be viewed at the user
`computer 30 by communicating an HTTP (Hyper-Text
`Transport Protocol) request from the browser application 32.
`The HTTP request includes the Uniform Resource Locator
`(URL) of the desired Web page, which may correspond to an
`HTML document stored in the HTML documents databases
`17. The HTTP request is routed to the Web servers via the
`Internet 20. The Web servers then retrieve the HTML
`document identified by the URL, and communicate the
`HTML document across the Internet 20 to the browser
`application 32. The HTML document may be communicated
`in the form of plural message packets as defined by Standard
`protocols, such as the Transport Control Protocol/Internet
`Protocol (TCP/IP).
`0.030. In a preferred embodiment of the invention, a
`Software agent is created and Stored within the bandwidth
`management tool 12 in order to monitor bandwidth usage in
`a computer network. More specifically, a network manager
`creates a general Set of formulas that can be used to create
`rules applicable at different bandwidth levels either con
`Stantly or at appropriate intervals. For example, the rule for
`“mp3 files might be: full speed until 90% of bandwidth is
`achieved; then between 90% and 95%, slow service to a
`maximum of 1 kbps multiplied by the current bandwidth
`percentage minus 90, then above 95%, slow service to a
`
`maximum of 0.5 kbps multiplied by the current bandwidth
`percentage minus 90. So, there is a master rule Set that is
`created which can be used by the Software agent to generate
`the specified rule set in light of the then-current bandwidth
`level.
`0031. For further example, the rule set may be as follows:
`0032) Maintain below 95% of the 100 megabit cap
`by invoking as many of the rules (in order) as are
`necessary:
`0.033
`1. Block service of any files of non-stan
`dard types;
`0034) 2. Block service of any “Zip' files;
`0.035
`3. Cap the speed by which portions of any
`file exceeding 500 k are served;
`0.036
`4. Block service of any file larger than 1
`megabyte;
`0037) 5. Block service of any files from the “fun
`downloads' directory.
`0038. In addition, the rule set may include formulaic
`rules, Such as “reduce the maximum file Size that may be
`served by 50 k every minute until a bandwidth threshold is
`no longer exceeded.”
`0039 So long as the bandwidth usage remains below a
`Specified cap, no limitations are placed on file types or sizes
`available for download. Once bandwidth usage passes a
`specified amount (e.g., 95% of the cap, or 95 megabits out
`of a 100 megabit pipe), the Software agent issues commands
`(either via a network connection, altering the contents of a
`shared file, or otherwise) that change the behavior of the web
`server to limit bandwidth based on a specified rule set. The
`rule Set may limit the download Speed of Specified files
`(potentially based upon file size), may limit the file types
`that may be downloaded, the sites that may be downloaded
`from, may limit the file sizes that may be downloaded, or
`may otherwise change the behavior of the web servers based
`upon overall enterprise bandwidth use. In the above descrip
`tion, it should be appreciated that Such rules may also apply
`to file uploads.
`0040. In a preferred embodiment, a software agent
`obtains a list of all file names and their corresponding file
`sizes in order to determine which files match specific
`rule-Set criteria. The Software then manipulates the file
`names to determine whether they are in fact likely to be parts
`of a single, larger file. As a first Step, the Software agent may
`delete all numbers from selected file names. Any files that
`are identically named after the elimination of all numbers
`would then be marked as potentially restrictive and their
`names and aggregate size would be reported. Of course, this
`can be limited to numbers in conjunction with Specified
`letters (such as r00, r41, etc., as the “r” denotation often
`indicates file compression and division via the RAR
`method). Similarly, this can be limited to specified file types
`or files other than specified types (for example, graphics files
`Such as *.jpg are often Sequentially numbered and may be a
`good candidate for exclusion).
`0041
`FIG. 2 shows a flow chart outlining exemplary
`operation of a bandwidth management tool 12 according to
`an embodiment of the invention. This procedure begins at
`step 100 with a query being made of all routers within router
`
`-6-
`
`
`
`US 2002/009 1825 A1
`
`Jul. 11, 2002
`
`unit 14. Individual results from this query are then compiled
`by the bandwidth management tool 12 in order to calculate
`the total network bandwidth at step 105. A comparison is
`then made at step 110 between the master rule set and the
`calculated network bandwidth. Depending on how much
`network bandwidth is being used, the bandwidth manage
`ment tool 12 then continues at step 115 by determining
`whether a particular rule-driven action should be made. If an
`action is indeed required at step 115, then the bandwidth
`management tool 12 next determines which Specific rule
`corresponds to the current bandwidth conditions of the
`network at Step 120; otherwise, the procedure repeats itself
`by simply returning to step 100 where the bandwidth man
`agement tool 12 again queries router unit 14. Once a specific
`rule is selected at step 120, the selected rule is then broadcast
`to all appropriate Web servers within Web server farm 16 at
`step 125 and then executed accordingly at step 130. The
`bandwidth management tool 12 then repeats this procedure
`by returning to step 100 where another router unit 14 query
`is made.
`0042. It should be appreciated that alternative embodi
`ments of the invention may be implemented in which the
`described master rule Set is programmed into each Web
`server in Web server farm 16 instead of a centralized
`location (i.e., the bandwidth management tool). In Such
`embodiments, however, it should be further appreciated that
`router unit 14 queries, such as those described in step 100 of
`the flow chart in FIG. 2, must be made by each server in
`Web server farm 16.
`0.043
`Various methods may be used for classifying files
`for purposes of prioritization. Files may be classifies at the
`time a file is requested for transmittal to or from the Server.
`In the alternative, software may “crawl' through the file
`Storage memory of a web server to classify files found there.
`For example a disk crawling agent may seek to identify files
`that are grouped according to a file naming or directory
`naming Scheme that would permit aggregation of the group
`files into a single file. Such files are likely to be illicit or
`undesirable. For example, the Software may crawl through
`the directory Structure and obtains a list of all file names and
`the corresponding file sizes. The Software then manipulates
`the file names to determine whether they are in fact likely to
`be parts of a single, larger file. Similarly, file crawling may
`be used to identify specified file types or files other than
`Specified types (for example, graphics files Such as *.jpg are
`often Sequentially numbered.
`0044) A web crawling agent may also employ a method
`for identifying data files that are Stored on a file Server of one
`Web Site but not referenced in any hypertext coding on that
`website. In this embodiment, the software crawls through a
`directory and identifies hypertext files. Similarly, all non
`hypertext files that exceed a user defined size threshold are
`marked. Then, each of the hypertext files is analyzed by the
`Software in a Search for references to the data files previ
`ously identified. Any data file that is not referenced by a
`hypertext file in that directory may marked as low priority or
`illicit. It should be appreciated that many other methods for
`classifying files are possible, and will of necessity be
`adapted as the Internet and its uses evolve over time.
`0.045 According to an embodiment of the invention,
`bandwidth regulation-i.e., the applied rule Set-is modified
`based upon geographic origin of the request and/or language
`
`of the request. The geographic origin of a request may be
`determined from a purchased table of IP addresses and
`location. Also, the language of an HTTP request from any
`major browser Software may be determined from a language
`preference command in the request header. In the alterna
`tive, language may be used as an indicator for location or
`origin. For example, a message requesting EN-GB, which
`Stands for English, Great Britain dialect, is most likely
`located in Great Britain. The rule set may be configured to
`restrict traffic from or to certain geographic areas or in
`designated languages. For example, by throughput rate to
`people requesting content in Japanese may be limited to a
`portion, Such as 60%, of comparable rates for requests
`designating EN-US (English-U.S.). The economic benefit of
`this approach may be Substantial. For example, if a free web
`hosting operation is able to Sellads for all Japanese traffic for
`S1 per 1000 displays, but on English-US displays the price
`is S5 per 1000 displays, an enormous financial benefit may
`follow from reducing Japanese traffic in favor of EN-US
`traffic when bandwidth limitations require a reduction in
`traffic. Vice-versa, if the rate for Japanese-language display
`ads is higher, the English-US traffic may be reduced.
`0046 Having thus described a preferred embodiment of
`a method and apparatus for improving bandwidth efficiency
`in a computer network, it should be apparent to those skilled
`in the art that certain advantages of the within System have
`been achieved. It should also be appreciated that various
`modifications, adaptations, and alternative embodiments
`thereof may be made within the Scope and Spirit of the
`present invention. The invention is further defined by the
`following claims.
`What is claimed is:
`1. A method for operating a Server to improve bandwidth
`efficiency in a computer network, wherein the Server is
`operable to transmit files between a memory of the server
`and destinations on the computer network through a com
`munication link having a finite bandwidth, wherein the files
`are distinguishable by type and the Server is provided with
`a rule Set for prioritizing transmission of files by type, the
`method comprising:
`monitoring a bandwidth usage of the communication link,
`triggering application of the rule Set when the bandwidth
`usage exceeds a threshold amount, the threshold
`amount being determined relative to the finite band
`width
`distinguishing between the files according to type; and
`prioritizing transmission of the files according to type and
`according to the rule Set.
`2. The method of claim 1, wherein the distinguishing Step
`further comprises assigning a type to ones of the files
`according to a file name of the ones of the files.
`3. The method of claim 2, wherein the distinguishing Step
`further comprises assigning the type to the ones of the files
`according to a file name extension of the ones of the files.
`4. The method of claim 1, wherein the distinguishing Step
`further comprises crawling through a memory of the Server
`to identify associated groups of files, wherein each of the
`groups of files is a group configured to be aggregated into a
`larger file.
`5. The method of claim 1, wherein the distinguishing step
`further comprises crawling through files Stored in a memory
`
`-7-
`
`
`
`US 2002/009 1825 A1
`
`Jul. 11, 2002
`
`of the server to identify files that do not contain hyper links
`and are not identified by hyperlinks in other files in the
`memory of the server.
`6. The method of claim 1, wherein the prioritizing step
`further comprises Selecting a rule from the rule Set according
`to the bandwidth usage.
`7. The method of claim 6, further comprising broadcast
`ing the rule Selected from the rule Set to a Second Server
`connected to the Server.
`8. The method of claim 1, wherein the prioritizing step
`further comprises applying a rule that Selectively slows
`transmission of the files according to type.
`9. The method of claim 1, wherein the prioritizing step
`further comprises applying a rule that Selectively slows
`transmission of the files having at least one property Selected
`from a .mp3 filename extension, being located in a directory
`with a name containing the term “mp3', or being located in
`a directory with a name containing the term “warez.”
`10. The method of claim 1, wherein the prioritization step
`further comprises slowing transmission of Selected files
`from the server, wherein the selected files are determined by
`application of the rule Set.
`11. A System for operating a Server to improve bandwidth
`efficiency in a computer network, the System comprising:
`a Server operable to connect to a computer network
`through a communication link having a finite band
`width; and
`program instructions in a memory of the Server operable
`to transmit files between a memory of the server and
`destinations on the computer network through the com
`munication link, wherein the files are distinguishable
`by type and the server is provided with a rule set for
`prioritizing transmission of files by type, the program
`instructions operable to perform the Steps of:
`monitoring a bandwidth usage of the communication
`link,
`triggering application of the rule Set when the band
`width usage exceeds a threshold amount, the thresh
`old amount being determined relative to the finite
`bandwidth
`distinguishing between the files according to type, and
`prioritizing transmission of the files according to type
`and according to the rule Set.
`
`12. The System of claim 1, wherein the program instruc
`tions are further operable to perform the distinguishing Step
`further comprising assigning a type to ones of the files
`according to a file name of the ones of the files.
`13. The System of claim 2, wherein the program instruc
`tions are further operable to perform the distinguishing Step
`further comprising assigning the type to the ones of the files
`according to a file name extension of the ones of the files.
`14. The System of claim 1, wherein the program instruc
`tions are further operable to perform the distinguishing Step
`further comprising crawling through a memory of the Server
`to identify associated groups of files, wherein each of the
`groups of files is a group configured to be aggregated into a
`larger file.
`15. The System of claim 1, wherein the program instruc
`tions are further operable to perform the distinguishing Step
`further comprising crawling through files Stored in a
`memory of the server to identify files that do not contain
`hyper links and are not identified by hyperlinks in other files
`in the memory of the server.
`16. The System of claim 1, wherein the program instruc
`tions are further operable to perform the prioritizing Step
`further comprising Selecting a rule from the rule Set accord
`ing to the bandwidth usage.
`17. The system of claim 6, wherein the program instruc
`tions are further ope