WO2002008856A2 - Method and system for data delivery with guaranteed quality of service - Google Patents

Method and system for data delivery with guaranteed quality of service Download PDF

Info

Publication number
WO2002008856A2
WO2002008856A2 PCT/US2001/022996 US0122996W WO0208856A2 WO 2002008856 A2 WO2002008856 A2 WO 2002008856A2 US 0122996 W US0122996 W US 0122996W WO 0208856 A2 WO0208856 A2 WO 0208856A2
Authority
WO
WIPO (PCT)
Prior art keywords
packets
file
pop
user
internet
Prior art date
Application number
PCT/US2001/022996
Other languages
French (fr)
Other versions
WO2002008856A3 (en
Inventor
Laurent Martin
Pascal Favre
Original Assignee
Burstband Technology Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Burstband Technology Corporation filed Critical Burstband Technology Corporation
Priority to AU2001277064A priority Critical patent/AU2001277064A1/en
Publication of WO2002008856A2 publication Critical patent/WO2002008856A2/en
Publication of WO2002008856A3 publication Critical patent/WO2002008856A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2869Operational details of access network equipments
    • H04L12/287Remote access server, e.g. BRAS
    • H04L12/2874Processing of data for distribution to the subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources

Abstract

The method and system address the contentions that occur upstream from home and business internet users by providing a centralized server that pushes data from a single stored instance to one or more multiple clients with guaranteed quality sevice. The centralized server preferably links to internet service provider points of presence (POP's) through guaranteed quality of service circuits. In various embodiments of the system and method, the centalized server: provides files to internet users through the guaranteed quality of service virtual circuits to their POP's; may further regulate the rate at which the data is pushed to provide a requested degree of saturation of the users' last mile connections to their POP's; and various other embodiments enhance the providing of e-mail attachements,video conference data, remote cache for mulitple POP's, etc. Other aspects pertain to servers, POP systems and user systems used with the above.

Description

METHOD AND SYSTEM FOR DATA DELIVERYWITH
GUARANTEED QUALITY OF SERVICE
Related Applications
The present application claims priority under 35 USC §119(e) from United States provisional application serial number 60/219,884, filed 21 July 2000 and entitled Data Delivery with Guaranteed Quality of Service.
The present application also claims priority from United States application serial number 09/657,131 filed on September 7, 2000.
Field of the Invention
The invention relates to the delivery of content from a server to clients in a manner that provides guaranteed quality of service.
Background of the Invention
The internet is a collection of public and private networks. Within the United States, the internet includes the interconnected resources of over 5000 local, regional and national Internet Service Providers (ISP), nearly 50 backbone "Tier 1" providers, and an assortment of telephone, cable and other communication companies.
Communication over the internet is achieved using the Transfer Control Protocol (TCP) and the Internet Protocol (IP), sometimes referred together as TCP/IP. TCP breaks data into packets and attaches a header that includes source, destination, sequence and checksum information. TCP is responsible for ensuring that all packets are received and that they are assembled in the appropriate order. IP is responsible for routing packets from source to destination. IP attaches a further header to the TCP packets that includes source and destination information. IP routing is a dynamic process in which different packets may follow different routes following complex algorithms and rules depending on routers configurations, weights, network congestion, etc. In general, each system that receives an IP packet makes a determination as to which of the systems to which it is connected is the appropriate next system for getting the packet to its destination. As a result, IP packets often pass through a large number of interconnected systems between their source and destination. At any point a router or gateway can decide to discard packets due to its contention level. The variations among the intermeshed networks and the various alternate routes also result in lost packets (discarded along the path) and interrupted access links. Thus, establishing a steady data flow from the source web server to the client depends on numerous factors that cannot be controlled by either the source or the destination of the data flow. If packets are lost, the source must re-send these packets, further reducing the overall efficiency of the network. The larger the file, the more chances are that an error occurs, thus making downloads of large files over the internet a time consuming and aggravating experience that very often ends up in failure. In addition, since IP protocol tends to evenly distribute resources amongst all active communication channels, the internet's throughput capacity for a specific data flow fully depends on the current load of each of network components involved.
Figure 1 provides an illustration of the structure of the internet and the contention points that generate the problems described above. Referring to Figure 1 , when a user requests a file from a source web server, the file is not available at the user's browser until all data comprising the file travel through the following infrastructure:
Web server and Web access device
Web server connection to ISP point of presence (POP)
Web server ISP internal infrastructure (LAN/MAN)
Web server ISP uplink to internet
Network Access Point (NAP)
Internet backbones and network exchange points
User ISP uplink to internet
User ISP internal infrastructure (LAN/MAN)
User ISP access device connection to ISP POP User dial-up connection to ISP POP (last mile connection)
User access device (modem)
Any of these points can become a contention point depending on its size and utilization rate. A network component or communication link becomes a contention point when its throughput capacity and usage rate do not allow it to support the complete data flow requested by its connected devices and lines. At that point it begins to discard requests and packets that it cannot transport.
Although a web server usually has the I/O capacity to fill the communication link that connects it to the Internet (dedicated or shared link), the processing resources it needs to manage a large number of concurrent Internet user's connection can be sometimes insufficient. In addition, contention can appear at the disk level when a large number of user request pieces of information located on the same drive. The server's contention can result from under-sized server I/O capacity, under-sized server computing capacity, under-sized private connection to ISP, and under-sized ISP connection to internet gateway, each of which is becoming increasingly common.
Although in most situations ISP LAN infrastructure capacity will be a multiple of the aggregated bandwidth potentially utilized by users, the ISP WAN/MAN infrastructure interconnecting its various POPs is often tightly sized and assumes low user usage rates. Since the WAN/MAN infrastructure is one of the major operating costs of an ISP, it is generally undersized, thus making it a bottleneck when a large number of users are connected. Routing, firewall and proxy devices may also become bottlenecks depending on the type of traffic and number of users connected.
The connection of the ISP with its network access points often accounts for most of the ISP operating cost, and consequently ISPs tends to maximize utilization of these connections and have as many users as possible on it, sharing the available bandwidth. Thus this connection becomes another bottleneck.
Network Access Points (NAPs), where ISPs connect to the internet backbone, and network exchange points, where backbones of different carriers exchange data, are often major contention points during peak traffic hours. Although numerous carriers are now using alternate exchanges, they remain a location where traffic goes from one infrastructure and technology to the other with all of the configuration and optimization issues involved.
Backbones can also become points of contention occurs when carriers have over-subscribed their infrastructure capacity and see large number of users requesting the service they subscribed at the same time.
Consequently, the structure of the internet makes it impossible for a content provider to have control over a whole delivery channel, or to guarantee a quality of service for the delivery of content to end users. All of the contentions described above reduce the efficiency of data transfer through the internet, and thus impair the ability of the end user to obtain content from content providers. Thus, while the increasing size and complexity of internet continues to improve the consumer's opportunities to identify desirable content on the internet, these same factors degrade the user's ability to receive that content in an efficient and reliable manner.
Summary of the Invention
Embodiments of the invention address the contentions that occur upstream from home and business internet users by providing a centralized server that pushes data from a single stored instance to one or multiple clients with a guaranteed quality of service.
In one embodiment of the invention, a system for providing a file to an internet user includes a centralized server and virtual circuits of a guaranteed quality of service network that provide communication between the centralized server and internet service provider points of presence (POPs). The centralized server provides files to internet users through the guaranteed quality of service virtual circuits to their POPs. The server may further regulate the rate at which the data is pushed so that it provides a requested degree of saturation of the users' last mile connections to their POPs. Related embodiments of the invention pertain to servers, POP systems and user systems that may be employed in such a system, and processes that are performed in those devices. In another embodiment of the invention, an email system includes a centralized server and virtual circuits of a guaranteed quality of service network that provide communication between the centralized server and internet service provider points of presence (POPs). User systems transfer email attachments to recipients by way of the central server and guaranteed quality of service network. Related embodiments of the invention pertain to servers, POP systems and user systems that may be employed in such a system, and processes that are performed in those devices.
In another embodiment of the invention, a video conference system includes a centralized server and virtual circuits of a guaranteed quality of service network that provide communication between the centralized server and internet service provider points of presence (POPs). Video data from video conference participants is routed from internet users through their POPs to the centralized server using the guaranteed quality of service network. From there it is pushed through the guaranteed quality of service network to POPs of the other participants. Related embodiments of the invention pertain to servers, POP systems and user systems that may be employed in such a system, and processes that are performed in those devices.
In another embodiment of the invention, an internet cache system includes a centralized server and virtual circuits of a guaranteed quality of service network that provide communication between the centralized server and internet service provider points of presence (POPs). The central server is used by the POPs as a remote cache, and a file cached by any POP is available to all other POPs using the server as a remote cache. Related embodiments of the invention pertain to servers, POP systems and user systems that may be employed in such a system, and processes that are performed in those devices.
Description of the Drawings:
Figure 1 illustrates the system architecture involved in conventional file transfer through the internet;
Figure 2 illustrates a system level implementation of an embodiment of the invention; Figure 3 illustrates a server infrastructure in accordance with an embodiment of the invention;
Figure 4 illustrates application level components of the server of Figure 3; and Figure 5 illustrates an ISP POP in accordance with an embodiment of the invention.
Description of Embodiments of the Invention
Figure 2 illustrates an exemplary implementation of the invention in conjunction with the conventional internet infrastructure. As shown in Figure 2, a number of internet servers are connected to the internet through network access points (NAPs). The servers include internet protocol (IP) routers for enabling communication over the internet. The servers may for example be web servers that make hyper text markup language (html) files available using the hypertext transfer protocol (http).
Also connected to the internet are internet service provider (ISP) points of presence (POPs), which are the physical systems of the ISP that provide connectivity to the internet. Internet user systems are connected to POPs through last mile connections. The last mile connections may be serviced by 56k modems, DSL modems or cable modems. In the alternative, the end users may be located at ports on a LAN. Any other conventional last mile connection may be employed as well.
Also connected to the internet is a centralized server. The centralized server is connected to ISP POPs, and to network exchange points through point to point virtual circuits of a guaranteed quality of service network. A "guaranteed quality of service" network is one that provides at all times a predetermined level of accuracy, dependability, and speed of data transmission. Examples of parameters that are guaranteed in such networks include maximum cell loss ratio, availability (downtime), throughput, packet delivery delay, jitter, sustained bandwidth, peek bandwidth, and burst capacity. One type a network that provides guaranteed quality of service is an asynchronous transfer mode (ATM) network, which provides permanent virtual circuits having a guaranteed quality of service. Another type of network that provides guaranteed quality of service is a multiprotocol label switching (MPLS) network, which provides switched virtual circuits having a guaranteed quality of service. Other networks such as frame relay and synchronous optical network (SONET) may also be employed to provide delivery of IP packets with guaranteed quality of service. Such delivery is contrasted with that of the internet, in which the quality of service is degraded in proportion to the number of users contending for system resources and therefore cannot be guaranteed.
The guaranteed quality of service point to point circuits between the centralized server and the POPs of Figure 2 enables data transfer from the centralized server to the POPs at a reliable speed, accuracy, and dependability. Thus, data transferred from the centralized server to the POP through this network will be reliably delivered. In contrast, the speed, accuracy and dependability of data transfer from the centralized server to the POP through the internet would largely unpredictable. The guaranteed quality of service point to point circuits between the centralized server and the network exchange points of Figure 2 enable data transfer from the centralized server to a POP for which there is no guaranteed quality of service circuit by sending the data to the POP's nearest network exchange. This circumvents many of the internet bottlenecks, thus improving the quality of data transfer available to such POPs.
The system illustrated in Figure 2 enables a variety of embodiments of the invention. In one embodiment, content providers promote the availability of various content files, such as downloadable files or files for real time streaming such as audio and video files. While the availability of the files is promoted on web sites hosted on internet web servers, the content files themselves are stored at the centralized server, and are provided to requesters' systems by way of the guaranteed quality of service circuits between the centralized server and the requesters'POPs, thus circumventing internet bottlenecks.
The operation of the system in this embodiment of the invention may be illustrated through comparison with conventional internet file download or streaming. Conventionally, an internet user using a web browser to access web pages on a web server may encounter a web page indicating that a content file, such as a video file or an application file, may be transferred to the user by clicking on an icon displayed on the web page. When the user clicks the icon, the web server transfers the file from the web server to the user through the internet as a series of IP packets. Because transfer through the internet is subject to unpredictable and potentially extreme degradation as a result of the bottlenecks discussed above, it is not known whether all of the packets will arrive, or at what time they will arrive. As a result, download times are unpredictable, and the quality streaming applications are unsatisfactory.
In contrast, in accordance with this embodiment of the invention, when the user clicks the icon on the web page, a transfer of the content file from the centralized server to the user is initiated. The file is transferred as IP packets routed through the guaranteed quality of service circuit between the centralized server and the user's ISP POP, and from the POP to the user. Because the quality of service available over this circuit is known, the transfer time to the POP is completely predictable, and can be controlled such that, for example, the rate of data transmission is sufficient to consistently saturate the user's last mile connection to the POP. Accordingly, from the user's perspective, the system operates in a manner very similar to that which the user is conventionally accustomed to, in' that the user locates the file through the internet and initiates the file transfer process in a familiar manner. However, in contrast to the user's conventional experience, the file is received with reliable speed and accuracy, limited only by the bandwidth of the user's last mile connection.
In another embodiment of the invention, the system of Figure 2 provides video conferencing services. Particularly, users who desire to establish a video conference may connect to their respective POPs and establish contact with the centralized server through the guaranteed quality of service circuits linking their POPs to the centralized server. Transfer of data between the POPs then takes place through the guaranteed quality of service circuit and the centralized server. This enables video conferencing using typical consumer or business computers through a connection to the internet service provider but with a level of quality that could not be achieved using the internet infrastructure.
In a further embodiment of the invention, the system of Figure 2 provides enhanced file transfer between internet users. Particularly, an internet user who wishes to transfer a file to another internet user provides the file to the centralized server through the guaranteed quality of service circuit that links the users POP to the centralized server. The file is subsequently downloaded or streamed to the recipient's POP through the guaranteed quality of service circuit linking the centralized server to the POP. The file transfer is accomplished at a rate and accuracy that could not be achieved using the internet infrastructure. In a preferred embodiment, the file is an attachment to an email message.
In another embodiment of the invention, the system of Figure 2 enables an ISP POP uses the centralized server as a remote level of POP cache. Particularly, the POP employs a cache manager for determining the data that should be stored in various available levels of the POP cache. The centralized server is designated as one of the levels of cache, and a file assigned that level of the cache is transferred to the centralized server through the guaranteed quality of service circuit. Subsequently, when a cache hit occurs for a file cached in the centralized server, the file is transferred to the POP through the guaranteed quality of service circuit. Because of the reliable speed and accuracy provided by" the guaranteed quality of service circuit, the transfer time from the centralized server is not noticeable from the user's perspective. Further, because of the server's ability to serve multiple users from a single instance of a file, a file once cached by any POP is available to all other POPs using the server as a cache. This embodiment vastly increases POP caching capacity without the need for extensive infrastructure investment.
SERVER HARDWARE
Figure 3 shows the architecture of a centralized server in accordance with a preferred embodiment of the invention. In the preferred embodiment, the server is implemented on an IBM SP2 supercomputer having a scalable parallel computing architecture. The server includes a plurality of processing nodes, each of which comprises a workstation that may include up to 16 processors. The nodes are connected through a non-blocking switch. Multiple switches may be staged to provide scalability. The nodes of the server are further coupled to a giga-ethernet router. The nodes push IP packets to the router, which converts the packets to appropriate transport level units. The router preferably provides multicast services such that a single packet provided to the router can be transmitted to multiple destinations simultaneously. The router is coupled to a switch. The switch provides connections to one or more internet uplink channels that connect to NAPs for purposes of internet communication. The switch further provides connections to virtual circuits of guaranteed quality of service networks that provide point to point communication with ISP POPs.
Each of the nodes is also connected to multiple data storage units such as hard disk drives, and every storage unit is directly accessible by at least two nodes. Data stored in any storage device is accessible by any node through a request that is routed by the non-blocking switch to a node having direct access to the data
In general, the server stores a single instance of each file that it makes available. Exceptions may occur where it is required to asynchronously and concurrently provide the same content file to a very large number of users (for example, more than 20,000) at high speeds. An example of such an instance is providing on demand access to a popular movie.
Each content file is striped across multiple storage devices so that the physical throughput limitation of a single storage device access mechanism (for example, a hard drive head) does not limit the rate at which the entire content file can be retrieved. Accordingly, a node requesting a file works in collaboration with other nodes having access to the storage devices containing pieces of the content file to retrieve all pieces so that the content file can be reconstructed. It is preferred to distribute content file stripes across storage devices in a manner that evenly distributes the overall retrieval load across the nodes of the server regardless of the specific content file being retrieved. Parameters considered in formulating this distribution may include storage device characteristics (throughput, average access time, storage capacity), the number of different content files stored by the server, the individual file sizes, the number of storage devices and the way they are attached to the nodes that control them, the node bandwidth, and the assumed distribution of content file requests. Content file striping and retrieval functions may be implemented through the IBM GPFS file management application. Reconstruction of corrupted files is preferably provided using the IBM RAID file reconstruction application.
Each node is enabled to simultaneously retrieve data and push data to the giga- ethernet router. In the preferred embodiment, data retrieval and pushing tasks are distributed among the nodes of the server to provide balanced utilization of server resources. Such load balancing may be implemented using the IBM END load leveler application.
SERVER APPLICATION LAYER COMPONENTS
Figure 5 provides an illustration of application layer components of a preferred embodiment of the server. These components include an access manager, a client manager, a content manager, a resources manager, an account manager, a streaming engine, and a resend engine.
The access manager serves as the gateway for communications between the server components and outside devices. All communications directed to the server's IP address are received by the access manager and forwarded to the appropriate component within the server. The access manager further provides interaction with trusted third party systems for determining authorization of access to restricted content.
The client manager maintains information concerning user systems. This information may include user system IP addresses and their associated ISP POP IP addresses, user system nominal last mile throughputs, and user system file request histories.
The content manager provides services for importing, updating and deleting content files. Content files may be supplied by third party content providers whose content is hosted on the centralized server. Content files may also be provided by internet users for such purposes as video conferencing and routing of email attachments. Content files may be supplied by ISP POPs for purposes of caching at the centralized server. The account manager maintains billing records for allocating charges assessed in relation to content file transfers. These costs may be allocated to either the third party provider of a content file, or to the user system that receives the file. Billing records may include identification of the requested content, and the transfer time, speed, and degree of last mile saturation provided.
The resources manager manages controls utilization of server resources and utilization of guaranteed quality of service network resources to ensure that all services provided by the server achieve required quality of service standards. The resources manager reserves resources for use in satisfying content requests, taking into account all previously reserved resources. The resource manager refuses requests for which there are not sufficient resources. In this manner, resources reserved for a given requester cannot be degraded by future granted requests.
The streaming engine pushes content file data to the router for delivery to user systems. The streaming engine converts content data into IP packets, and pushes the packets to the router a rate that is paced to achieve a requested quality of service at the recipient user system's last mile connection. The rate at which packets are forwarded to the router is determined in accordance with the user system last mile throughput, the type of delivery service requested, and the availability of buffering at the ISP POP.
The resend engine prepares and sends individual IP packets or groups of packets that have been reported as corrupted or lost during initial transfer from a streaming engine. Packets are provided by the resend engine to the user system when requested by the user system and are pushed at a rate calculated to provide a desired degree of saturation.
ISP POP SYSTEM AND FUNCTIONS
Figure 5 illustrates a preferred embodiment of an ISP POP system in accordance with the invention. The POP system is an enhancement of a conventional ISP POP system. Like a conventional POP system, the system includes a WAN/MAN interface, a cache manager and cache, and an access manager providing a last mile connection to user systems. However, in accordance with the preferred embodiment of the invention, the WAN/MAN interface provides communication through both an internet uplink, and through a guaranteed quality of service point to point circuit to the centralized server. The routing protocol used in the interface provides routing of packets addressed to the IP address of the centralized server through the guaranteed quality of service circuit, rather than routing such packets through the internet. Packets addressed to other IP addresses are routed in a conventional manner through the internet. Such routing may be accomplished by augmentation of the BGP routing protocol to provide intelligent routing, or by implementation of static routing mechanisms. The POP is preferably designed to provided a guaranteed minimum throughput of packets received from the centralized server so that the guaranteed quality of service provided by the centralized server and guaranteed quality of service circuit are not degraded at the POP.
The server of the POP system is augmented with a buffer and a buffer manager. The buffer selectively stores those IP packets that are received from the centralized server, and provides them to appropriate users at rates calculated to provide requested degrees of saturation of their last mile connections. The buffer manager is IP addressable and provides communication with user systems for resending packets requested by the user system. The buffer manager also includes logic for marking packets for which resend has been requested, and maintaining those packets in the buffer as long as possible so that the request for resend can be serviced directly from the buffer rather than from the centralized server. Where requested packets are no longer available in the buffer, the request for the packets is forwarded to the centralized server. Preferably, the buffer may be flushed or bypassed by the centralized server as needed. The use of the buffer and helps to provide saturation of the user's last mile connection by maintaining packets in excess of what is required to saturate the connection. The buffer also detaches the transmission rate calculations in the server from the variability of the last mile connection. The buffer manager preferably provides multicasting services. The POP server is further augmented with a cache manager that uses the centralized server as a remote cache. In this implementation, the cache manager is IP addressable, and the server is used for storage of data that did not originate on the server, but rather originated on other internet servers accessed by internet users connected to the POP, for example, web pages hosted on remote web sites. The centralized server is preferably used as a level of cache storage that is secondary to or further removed from a primary cache. The cache manager monitors user data usage and assigns frequently accessed data to an appropriate cache level. Where data is assigned to the cache level provided by the centralized server, the data is forwarded to the POP router where it is transferred as IP packets to the centralized server. Similarly, where the cache manager determines that requested data is assigned to the cache level provided by the centralized server, the cache manager sends a request to the centralized server for transmission of the data to the POP.
USER SYSTEM AND FUNCTIONS
The user system typically is a personal computer or workstation. A user system in accordance with a preferred embodiment of the invention includes a client content manager for communicating directly with the centralized server and the ISP POP buffer manager, thus- enabling the user system to send files to and receive files from the centralized server through the guaranteed quality of service circuit between the centralized server and the user's POP. The client content manager is preferably a stand-alone application, but could be implemented in a variety of other forms such as a plug in for a web browser or email application.
The client content manager communicates with the centralized server to request file transfers, and provides control information to the centralized server, or to an intermediate POP buffer manager, for managing data transfer rates. Information preferably communicated for managing data transfer rates includes instantaneous data throughput and packet loss ratio. Other information collected and reported to the centralized server includes file size, file name, duration of transfer, start/end date/time, line interruption and line nominal speed. The client content manager is also responsible for buffering and storing received packets, reconstructing files from packets, and storing the downloaded files or forwarding streamed data to an appropriate application. For downloads, the client content manager preferably employs an enhanced network level protocol enabling it to request resend of individual IP packets from the centralized server, or from the ISP buffer manager.
The client content manager provides a user interface for enabling a user to select data transfer parameters. For example, in the case of receiving a file, the user may request immediate (next available) transfer, transfer at a specified time, or overnight transfer at a time to be determined by the server. The use may also specify a desired type of delivery. Available types of delivery may include a specific degree of saturation of the user's last mile connection, for example, total saturation or saturation of a percentage, and interleaved delivery in which the file transfer is suspended at any time that another application such as a web browser needs to use the last mile connection.
A variety of other management and housekeeping functions are also provided. These include maintaining a schedule of files to be transferred, providing transfer status, initiating dial-up, disabling other applications during transfer, providing encryption and decryption functions, initiating retries of failed transfers in the event of line interruption, and shutting down the system after a transfer is complete.
DESCRIPTION OF A FILE DOWNLOAD
In a preferred embodiment of the invention, the devices described above are utilized to provide file download from the centralized server to a user system. A sequence of operations performed in accordance with this embodiment is now described.
Initially, a file is supplied to the centralized server by a content provider. The file may be supplied through a network such as the internet, or may be provided on a physical medium such as an optical disk. The file is loaded onto the server where it is received and processed by the content manager. The content manager assigns a file identifier to the file that identifies the instance of the file stored on the server. The content manager then provides the file identifier to the content provider, and the content provider incorporates the file identifier in a web page where it promotes the availability of the file to internet users. The web page preferably includes an icon that the user can operate to request receipt of the file from the centralized server. The icon preferably initiates a call function for alerting a client content manager in the user's system of the request and the identifier of the requested file.
Subsequently, when a user surfs the internet using a conventional web browser and encounters a web page promoting the availability of a file for download, the user can operate the icon to request delivery of the file from the centralized server. The client content manager then generates a user interface that allows the user to specify desired aspects of the file transfer. One aspect of the transfer that the user specifies is the desired time at which the transfer is to occur. The user may request immediate (next available) transfer, transfer at a specified time, or overnight transfer at a time to be determined by the server.
Another aspect of the transfer that the user specifies is a desired type of delivery. Available types of delivery include saturation of the user's last mile connection, saturation of a percentage of the user's last mile connection, and interleaved delivery in which the file transfer is suspended whenever another application such as a web browser needs to use the last mile connection. Preferably, where transfer at a later time is requested, specification of the delivery type is deferred until immediately prior to the beginning of the transfer.
Upon receiving the user specifications, the client content manager communicates a request for the content file to the centralized server. The request includes the content file identifier, the requested type of delivery and the requested time of delivery. The request further includes user system information including the user system's IP address, the POP's range of addresses, and the user's nominal last mile throughput. While the user system information is preferably already stored at the client manager in the server, it is preferable to send it with each request so that current information is always available. The request is addressed to the centralized server's IP address.
The request is routed from the client content manager through the last mile connection to the ISP POP, where the centralized server IP address is recognized and the request is routed to the server over the guaranteed quality of service circuit. In the event that the POP does not have a guaranteed quality of service circuit to the centralized server, the request will be routed in a conventional manner through the internet to the centralized server.
The request is received at the centralized server by the server's access manager through the server's router and is forwarded to the resource manager where a time slot for delivery of the content file is reserved. Upon receiving the request, the resource manager first determines whether the sever has a guaranteed quality of service circuit to the user's POP. In the event that there is no such circuit to the POP, the server returns a message to the user indicating that transfer is not available to the user's POP. If the user system employs a dial up connection, it is preferable at this time for the client content manager to prompt the user to initiate a dial-up to an alternate POP to which the server has a circuit so that the transfer may be provided. Alternatively, the user may be offered to receive the file through a guaranteed quality of service connection to the network exchange point nearest the user's POP. Assuming there is a circuit to the POP, the resource manager then determines whether the requested service can be provided at the requested time. First, the network resources needed to provide the transfer of the file are determined from the size of the requested file and the transmission rate needed to provide the requested type of delivery . The required resources can be characterized in terms of a required throughput and a required duration. The nominal throughput of the user's last mile connection may be used in making this determination.
After determining the required network resources, the resource manager determines whether those resources are available at the requested time. If the user has requested immediate delivery or delivery at a specific time, the resource manager determines a next available time slot providing at which sufficient resources are available on the server and the virtual circuit to the ISP POP to provided the required transmission rate for the required length of time to satisfy the request at the requested time. An entry is made in a scheduling table to reserve the bandwidth at that time.
Where transfer has been requested a specific later time, a similar determination is made as to whether sufficient resources are available at that time. If sufficient resources are available, and entry is made in the scheduling table to reserve the resources at that time. If sufficient resources are not available at the requested time, the resource manager determines a closest available time at which the requested level of service can be provided, and makes a conditional reservation of the resources at that time. A message proposing the alternative time is returned to the client content manager. The user may then confirm the suggested time. Upon confirmation, the resources are unconditionally reserved. If confirmation is not received within a predetermined time, the conditional reservation is voided.
Where the user has requested overnight delivery, the resource manager determines, from among times having sufficient available resources, the time that entails minimum cost to the party bearing the cost of the transfer. An entry is then made in the scheduling table to reserve the resources at that time.
In all cases, once resources have been reserved in the scheduling table, a token granting rights to the requested resources is returned to the client content manager through the guaranteed quality of service circuit. Transfer may then be initiated by the user system by presenting the token to the centralized server in the form of a message sent to the centralized server. Where the user has requested immediate transfer, the client content manager will immediately present the token. Preferably, at this time the client content manager disables other user system applications that could attempt to use last mile resources.
Where the user has requested transfer at a later time, or overnight, the client content manager schedules presentation of the token for the time of requested transfer. In conjunction with such transfers, if the user system employs a dial-up connection to its ISP, it is desirable for the client content manager to be able to initiate dial-up to the ISP at the time at which the token is to be presented, so that the user system does not need to be left on-line continuously prior to the time of transfer. Where overnight delivery is used, it is further desirable for the client content manager to shut down the user system after completion of the delivery.
Upon receiving and validating a token, the resource manager requests the streaming engine to perform the file transfer. The streaming engine then retrieves the content file and then begins the processes of constructing IP packets addressed to the user system that contain pieces of the content file. The packets are constructed using a uniform payload size.
The manner in which data is pushed by the streaming engine varies in accordance with the requested type of delivery, the availability of buffering at the POP, and feedback provided by the client content manager. Generally, packets are pushed to the router at a rate that is paced to provide the requested type of delivery at the last mile connection. The specific rate at which cells are pushed depends on the maximum last mile throughput and the availability of buffering at the ISP POP. Last mile throughput is determined prior to commencement of transfer by sending a short test file to the client content manager at the user system and receiving back from the client content manager a report of the actual last mile throughput achieved.
The availability of buffering is known to the streaming engine through reference to information stored by the client manager. Where buffering is available at the POP, it is assumed that packets received at the POP will not be discarded due to a lack of storage capacity. Accordingly, the streaming engine pushes packets at a rate that is proportional to the desired last mile throughput rate, and the buffer manager pushes the packets to the client content manager at a rate chosen to provide requested degrees of saturation of respective user's last mile connections to the POP. The POP buffer manager thereafter provides the IP packets to the client content manager of the user system at a rate chosen to provide the requested degree of saturation. Where buffering is not available at the POP, the push rate at the server is reduced slightly from an amount proportional to the desired last mile throughput since the risk of discarded packets is much greater. In either case, feedback is provided from the client content manager indicating whether the rate should be increased or decreased to optimize last mile throughput. For example, by reporting a rate of packet loss or corruption, the client content manager effectively instructs the POP buffer manager or server to increase or decrease the rate of packet transmission so that an optimal throughput is achieved and the available last mile bandwidth is most effectively used.
Interleaved delivery may be used where buffering is available at the POP. Where interleaved delivery is requested, the server pushes packets at the rate calculated to saturate the last mile throughput. However, transmission of packets from the POP to the client content manager is halted upon detecting that another application is using the last mile connection. Data pushing is resumed upon detection that the last mile connection is available again. Suspension and re-initiation of transfer may be done in response to signals provided by the client content monitor, or may be done through intelligent monitoring of other packets routed to or from the user system IP address.
AT the POP, IP packets are received from the centralized server as well as from other servers. IP packets received from the centralized server through the guarantee quality of service circuit are selectively buffered by the POP and are provided to the client content manager of the user system through the last mile connection. Preferably, the client content manager provides a display indicating the progress of the download, such as a percentage completed. The client content manager stores the IP packets in a buffer, and notes missing and corrupted IP packets as the IP packet train is received. Upon detection, missing and corrupted packets are specified in a resend request that indicates the beginning and ending packet of a series of one or more missing packets. Where the POP includes a buffer manager, the request is directed to the POP buffer manager, which locates the requested packet or group of packets and marks them for retention in the buffer. The marked packets are stored for as long as possible in accordance with a buffering priority scheme to enable direct retransmission to the client content manager. If the POP buffer no longer contains the specified packets, or if one or more of the specified packets are missing from the POP buffer or corrupted in the POP buffer, the request is forwarded to the centralized server, where it is serviced by a resend engine. Alternatively, the POP buffer may simply not respond. In this event, the client content manager detects that requested packets have not been received, and sends a request for resend to the centralized server. When ail transmissions of packets are completed, the client content manager determines that the requested packets have not been delivered by the POP buffer manager, and issues a request for the packets to the centralized server.
In the centralized server, the resend engine determines the portions of the content file contained in each requested packet based on the uniform payload size, and reconstructs the requested packets. In the case of resend from either the POP buffer manager or the centralized, transmission of the packets is delayed until transmission of all of the originally constructed packets has been completed. Once all packets are correctly received, the client content manager rebuilds the file and saves it to a predetermined location in user system storage. Upon completion of the transfer, the account manager in the server adds an entry to the appropriate party's account noting the transferred content file, the time and rate of transfer. The account may be that of a content provider where the file is one that is intended to be freely accessible, for example, an advertisement video or a demo version of an application. The account may be that of a requester where the file is one that is intended to be available for a fee, such a as a pay-per-view movie or a commercial version of an application.
ASYNCHRONOUS MULTICASTING OF DOWNLOAD FILES
An alternative method for providing file download may be employed by the resource manager and streaming engine to facilitate multiple user downloads from a single streaming engine. In this method, when a transfer of a file has been initiated by a first user, and transfer of the file is subsequently requested by a second user, the second user is made a party to a multicast of the transfer to the first user that is already in progress and begins receiving the same IP packets as the first user. Because the packets of the file will be sequenced by the client content manager of the user system when the transfer is complete, they can be received in any order. Accordingly, when the end of the file is reached, the streaming engine cycles back to the beginning of the file and continues to send IP packets to the second user up to the point where the second user joined the multicast. Any necessary resending of packets is initiated by 5 the individual user systems and packets are resent to users on an individual basis.
DESCRIPTION OF FILE STREAMING
In another preferred embodiment of the invention, the devices described above are utilized to provide streaming of data for real time use from the centralized server to
10 a user system. This embodiment may be employed for providing audio or video services using data that is static on the centralized server, or data that is received in real time from live events. The sequence of operations performed in accordance with this embodiment is similar to that of the download embodiment described above. Particularly, the process of scheduling and initiating the transfer is essentially the
15 same. However, since the requested content file is intended for real time use, as in the case of a video or audio file, it is not possible or necessary for every packet to be received by the user system prior to use of the file. Accordingly, the client content manager does not detect or send requests for lost or corrupted packets. Rather, once the client content manager begins to receive IP packets, their contents are extracted
>o and buffered. The buffered data is provided to an appropriate application such as a video player once enough data has been received such that variations in last mile throughput will not cause the buffer to become emptied. The use of the client content manager buffer in this manner provides a smooth data feed to the video player so that no slowing or freezing of the video occurs.
>5
DESCRIPTION OF VIDEO CONFERENCING
In another preferred embodiment of the invention, the devices described above are utilized to provide video conferencing. In particular, participants in a video conference send data generated at their systems to the centralized server through the so guaranteed quality of service circuits joining the server to their respective POPs. At the centralized server, the streaming engine constructs IP packets as data is received from participants and pushes the packets to the other participants of the video conference. In reserving resources for the video conference, the resource manager of the centralized server determines the availability of resources providing a two way connection between the centralized server and each participant. The client content manager simultaneously receives packets and provides data to a media player, and receives data from a video input device and constructs and sends packets addressed to the centralized server that contain the video data. Each user preferably receives a data stream at a rate calculated to saturate the user's last mile connection to the POP.
FILE TRANSFER BETWEEN INTERNET USERS
In another preferred embodiment of the invention, the devices described above are utilized to provide transfer of files between internet users. In this embodiment, the files are preferably transferred as attachments to email messages, and the client content manager is preferably implemented as a plug-in to a client email program.
In this embodiment, the attachment to an email of a file greater than a threshold size causes the client content manager to present a user interface enabling the user to transfer the .file through the centralized server and guaranteed quality of service circuits. Upload may be scheduled to occur immediately, at another specified time, or overnight. Once the user has specified scheduling parameters, the client content manager initiates contact with the centralized server to schedule upload of the file. In a manner similar to file download scheduling, the centralized server resources manager determines if resources are available, and provides a token entitling the client content manager to those resources. The client content manager presents the token at the scheduled time for upload and transfers the file by constructing and sending IP packets addressed to the centralized server.
Before the email is sent, the client manager also replaces the file identifier attached to the email with a message that indicates to a client content manager at the recipient system that an attachment is being transferred through the centralized server. When the email is received at the recipient system, the recipient client content manager is alerted by the message attached to the email, and generates a user interface enabling the user to schedule download of the file. Scheduling of the download occurs in essentially the manner of the downloading embodiment described above, in that the user requests a time and a type of download, resources are reserved, and a token is provided.
While this preferred embodiment utilizes email as a messaging service for indicating to the recipient the availability of a file for download, it will be appreciated that alternative messaging may be implemented completely through the centralized server. For example, a stand-alone client content manager may be utilized to schedule upload of the file to the server, and messaging may be provided by the centralized server.
REMOTE CACHING
In another preferred embodiment of the invention, the devices described above are utilized to provide a remote cache for ISP POPs. Particularly, the POP employs a cache manager for determining whether files should be stored in various available levels of the POP cache, and the centralized server is designated as one of the levels of cache. When. a file is assigned to the remote cache level, the cache manager sends a request for uploading the file to a centralized server connected to the POP through a guaranteed quality of service circuit, in the manner of uploads to the server described previously. Similarly, when it is determined that a file requested by a user is stored in the remote cache, the cache manager sends a request for an immediate download of the file from a centralized server, in the manner of downloads described previously. In the event that the file cannot be immediately downloaded from the server, the cache manager treats the file as unavailable and proceeds to retrieve the requested file from the remote internet server where it is hosted.
While the above description addresses implementations of the invention that are presently preferred, these implementations are merely illustrative. Those of ordinary skill in the art will recognize from these examples a wide variety of alternative implementations, and all such alternative implementations are considered to be within the scope of the invention as defined by the claims presented below.

Claims

What is claimed is:
5 1. A method for providing files to internet users, comprising: providing file identifiers from internet servers; receiving requests from internet users containing file identifiers at a centralized server storing files associated with the file identifiers; and providing files to the internet users from the centralized server through o guaranteed quality of service circuits connecting the centralized server to respective internet user's internet service provider points of presence (POPs).
2. The method claimed in claim 1 , wherein a file is provided by an internet server in a web page.
5 ■ •
3. The method claimed in claim 1, wherein a request from the user system further includes a requested degree of saturation of a last mile connection between the internet user's system and the POP.
:o 4. The method claimed in claim 3, wherein providing a file comprises reserving resources to provide the file with a guaranteed requested quality of service.
5. The method claimed in claim 4, wherein providing a file further comprises pushing IP packets to an internet user's POP in a manner providing a requested
,5 degree of saturation of the internet user's last mile connection to the POP.
6. The method claimed in claim 5, further comprising: selectively storing IP packets received from the centralized server in a buffer in the POP; and providing stored IP packets to the internet user's system at a rate calculated to provide a requested degree of saturation of a last mile connection between the internet user's system and the POP.
7. The method claimed in claim 5, further comprising: selectively storing IP packets received from the centralized server in a buffer in the POP; providing stored IP packets to the internet user's system from the POP buffer; receiving at the POP a request to resend specified IP packets to the internet user's system; and resending the specified IP packets from the POP buffer to the internet user's system.
8. The method claimed in claim 5, further comprising: receiving at the centralized server a request from a user for resend of lost and corrupted packets; and resending from the centralized server the lost and corrupted packets.
9. The method claimed in claim 1, further comprising recording information concerning a transfer of a requested file in an account of a third-party provider of the requested file.
10. The method claimed in claim 1 , further comprising recording information concerning a transfer of a requested file in an account of an internet user requesting the file.
11. A system for providing a file to an internet user, comprising: an internet server storing a file identifier; a centralized server storing a file associated with the file identifier; a virtual circuit of a guaranteed quality of service network providing communication between the centralized server and an internet service provider point of presence (ISP POP); and an internet user system connected to the POP, the centralized server providing the file to the internet user through the virtual circuit to the POP in response to a request from the internet user system including the file identifier.
12. The system claimed in claim 1 1 , wherein the centralized server comprises a resource manager for reserving resources to provide a requested file with a guaranteed requested quality of service.
13. The system claimed in claim 1 1 , wherein the file is provided by the internet server in a web page
14. The system claimed in claim 11 , wherein the centralized server comprises: a plurality of nodes each having associated storage devices storing data; and a non-blocking switch connecting the nodes, each of the nodes being enabled to retrieve data stored at other nodes through the switch and to push data through the virtual circuit.
15. The system claimed in claim 1 1 , wherein file data is pushed to the POP in a manner providing a requested degree of saturation of the internet user's last mile connection to the POP.
16. The system claimed in claim 11 , wherein the centralized server comprises an account manager for recording, in an account of a third-party provider of a requested file, information concerning transfers of the file.
17. The system claimed in claim 11, wherein the centralized server comprises an account manager for recording, in an account of an internet user requesting a file, information concerning a transfer of a requested file.
18. The system claimed in claim 11 , wherein the internet user's system comprises a client content manager requesting resend of lost and corrupted IP packets.
19. The system claimed in claim 11, wherein the request from the user system further includes a requested degree of saturation of a last mile connection between the internet user's system and the POP.
20. The system claimed in claim 11 , wherein the POP comprises: a buffer; and a buffer manager selectively storing IP packets received from the centralized server in the buffer and providing stored IP packets to the internet user's system at a rate calculated to provide a requested degree of saturation of a last mile connection between the internet user's system and the POP.
21. The system claimed in claim 11 , wherein the POP comprises: a buffer; and a buffer manager selectively storing IP packets received from the centralized server in the buffer and providing stored IP packets to the internet user's system, and providing specified IP packets to the internet user's system in response to a request from the internet user's system for resend of the specified packets.
22. A method in a server comprising: receiving a file from a content provider; assigning a file identifier to the file; providing the file identifier to the content provider; 5 receiving the file identifier from an internet user; and providing the file to the internet user through a guaranteed quality of service circuit to the internet user's ISP POP.
23. The method claimed in claim 22, wherein the file is provided at a rate o chosen to provide a requested degree of saturation of the internet user's last mile connection to the POP.
24. The method claimed in claim 23, wherein providing the file is preceded by reserving resources needed to provide the file in a manner achieving a requested
5 degree of saturation of the internet user's last mile connection.
25. The method claimed in claim 24, wherein reserving the resources comprises: determining resources required to provide the file with the requested degree of o saturation; determining availability of the required resources at a requested time using a schedule of reserved resources; and if the required resources are determined to be available at the requested time, reserving the required resources.
5
26. The method claimed in claim 25, wherein providing the file is further preceded by: issuing to internet the user a token granting rights to the reserved resources; and o receiving the token from the user.
27. The method claimed in claim 22, wherein providing the file comprises: forming IP packets containing portions of the file; and pushing the IP packets to the POP through the virtual circuit at a rate providing 5 the requested degree of saturation of the last mile connection.
28. The method claimed in claim 22, further comprising updating an account of a provider of the requested file to indicate transfer of the file.
o 29. The method claimed in claim 22, further comprising updating an account of the user to indicate transfer of the file.
30. The method claimed in claim 22, wherein the guaranteed quality of service network is one of an asynchronous transfer mode (ATM) network, a
5 multiprotocol label switching (MPLS) network, a frame relay network, and a synchronous optical network (SONET).
31. The method claimed in claim 22, wherein providing the file comprises: if the file is presently being provided to a previous requester, multicasting IP o packets containing the file to the previous requester and the internet user, and upon providing all packets containing the file to the previous requester, providing packets to the internet user that were not provided during multicasting.
32. A server comprising:
5 a content manager for receiving a file from a third party, assigning a file identifier to the file and providing the file identifier to the third party; an access manager for receiving from an internet user a request for the file including the file identifier; a streaming engine for providing the file to the internet user through a guaranteed quality of service circuit to the internet user's internet service provider point of presence (POP).
33. The server claimed in claim 32, further comprising a resource manager for reserving resources needed to provide the file in a manner achieving a requested degree of saturation of the internet user's last mile connection.
34. The server claimed in claim 33, wherein reserving the resources comprises: determining resources required to provide the file with the requested degree of saturation; determining availability of the required resources at a requested time using a schedule of reserved resources; and if the required resources are determined to be available at the requested time, reserving the required resources.
35. The server claimed in claim 33, wherein the resource manager further issues to the internet user a token granting rights to the reserved resources.
36. The server claimed in claim 33, wherein the streaming engine forms IP packets containing portions of the file and pushes the IP packets to the POP through the circuit at a rate providing the requested degree of saturation of the last mile connection.
37. The server claimed in claim 32, further comprising an account manager for updating an account of a provider of a requested file to indicate transfer of the file.
38. The server claimed in claim 32, further comprising an account manager updating an account of a user to indicate transfer of the file.
39. The server claimed in claim 32, wherein the guaranteed quality of service network is one of an asynchronous transfer mode (ATM) network, a multiprotocol label switching (MPLS) network, a frame relay network, and a synchronous optical network (SONET).
40. A method in a server comprising: receiving a request for a file from an internet user; and providing the file to the internet user through a guaranteed quality of service circuit connecting the server to the internet user's internet service provider (ISP) point of presence (POP) at a rate chosen to provide a requested degree of saturation of the internet user's last mile connection to the POP.
41. The method claimed in claim 40, wherein providing the file is preceded by reserving resources needed to provide the file in a manner achieving a requested degree of saturation of the internet user's last mile connection.
42. The method claimed in claim 41 , wherein reserving the resources comprises: determining resources required to provide the file with the requested degree of saturation; determining availability of the required resources at a requested time using a schedule of reserved resources; and if the required resources are determined to be available at the requested time, reserving the required resources.
43. The method claimed in claim 42, wherein providing the file is further preceded by: issuing to internet the user a token granting rights to the reserved resources; and receiving the token from the user.
44. The method claimed in claim 40, wherein providing the file comprises: forming IP packets containing portions of the file; and pushing the IP packets to the POP through the virtual circuit at a rate chosen to provide the requested degree of saturation of the last mile connection.
45. The method claimed in claim 40, further comprising updating an account of a provider of the requested file to indicate transfer of the file.
46. The method claimed in claim 40, further comprising updating an account of the user to indicate transfer of the file.
47. The method claimed in claim 40, wherein the guaranteed quality of service network is one of an asynchronous transfer mode (ATM) network, a multiprotocol label switching (MPLS) network, a frame relay network, and a synchronous optical network (SONET).
48. A server comprising: an access manager for receiving a request for a file from an internet user; and a streaming engine for providing the file to the internet user through a guaranteed quality of service circuit to the internet user's internet service provider point of presence (POP) at a rate chosen to provide a requested degree of saturation of the internet user's last mile connection to the POP.
49. The server claimed in claim 48, further comprising a resource manager for reserving resources needed to provide the file in a manner achieving the requested degree of saturation of the internet user's last mile connection.
50. The server claimed in claim 49, wherein reserving the resources comprises: determining resources required to provide the file with the requested degree of saturation; determining availability of the required resources at a requested time using a schedule of reserved resources; and if the required resources are determined to be available at the requested time, reserving the required resources.
51. The server claimed in claim 49, wherein the resource manager further issues to the internet user a token granting rights to the reserved resources.
52. The server claimed in claim 49, wherein the streaming engine forms IP packets containing portions of the file and pushes the IP packets to the POP through the circuit at a rate chosen to provide the requested degree of saturation of the last mile connection.
53. The server claimed in claim 48, further comprising an account manager for updating an account of a provider of a requested file to indicate transfer of the file.
54. The server claimed in claim 48, further comprising an account manager updating an account of a user to indicate transfer of the file.
55. The server claimed in claim 48, wherein the guaranteed quality of service network is one of an asynchronous transfer mode (ATM) network, a multiprotocol label switching (MPLS) network, a frame relay network, and a synchronous optical network
(SONET).
56. A method in a server comprising: receiving a request for a file from an internet user, the request including a time and a requested degree of saturation of the internet user's last mile connection to the internet user's internet service provider (ISP) point of presence (POP); and reserving resources needed to provide the file in a manner achieving the requested degree of saturation.
57. The method claimed in claim 56, wherein reserving the resources comprises: determining resources required to provide the file with the requested degree of saturation; determining availability of the required resources at a requested time using a schedule of reserved resources; and if the required resources are determined to be available at the requested time, reserving the required resources.
58. The method claimed in claim 56, further comprising: issuing to the internet user a token granting rights to the reserved resources; and receiving the token from the user.
59. The method claimed in claim 56, further comprising providing the file to the internet user using the reserved resources.
60. The method claimed in claim 59, wherein providing the file comprises: forming IP packets containing portions of the file; and pushing the IP packets to the POP through a guaranteed quality of service circuit between the server and the POP at a rate providing the requested degree of saturation of the last mile connection.
61. The method claimed in claim 56, further comprising updating an account of a provider of the requested file to indicate transfer of the file.
62. The method claimed in claim 56, further comprising updating an account of the user to indicate transfer of the file.
63. The method claimed in claim 56, wherein the guaranteed quality of service network is one of an asynchronous transfer mode (ATM) network, a multiprotocol label switching (MPLS) network, a frame relay network, and a synchronous optical network (SONET).
64. A server comprising: an access manager for receiving a request for a file from an internet user; and a resource manager for reserving resources needed to provide the file in a manner achieving a requested degree of saturation of the internet user's last mile connection.
65. The server claimed in claim 64, wherein reserving the resources comprises: determining resources required to provide the file with the requested degree of saturation; determining availability of the required resources at a requested time using a schedule of reserved resources; and if the required resources are determined to be available at the requested time, reserving the required resources.
66. The server claimed in claim 64, wherein the resource manager further issues to the internet user a token granting rights to the reserved resources.
67. The server claimed in claim 64, further comprising a streaming engine for providing the file to the internet user through a guaranteed quality of service circuit to the internet user's internet service provider point of presence (POP).
68. The server claimed in claim 67, wherein the streaming engine forms IP packets containing portions of the file and pushes the IP packets to the POP through the circuit at a rate providing the requested degree of saturation of the last mile connection.
69. The server claimed in claim 64, further comprising an account manager for updating an account of a provider of a requested file to indicate transfer of the file.
70. The server claimed in claim 64, further comprising an account manager updating an account of a user to indicate transfer of the file.
71. The' server claimed in claim 64, wherein the guaranteed quality of service network is one of an asynchronous transfer mode (ATM) network, a multiprotocol label switching (MPLS) network, a frame relay network, and a synchronous optical network (SONET).
72. A method in an internet service provider point of presence (POP) system comprising: receiving IP packets addressed to internet users; selectively storing IP packets received from a centralized server through a 5 guaranteed quality of service circuit in a buffer; providing the IP packets received from the centralized server to users at a rate calculated to provide requested degrees of saturation of respective user's last mile connections to the POP.
o 73. The method claimed in claim 72, wherein providing the IP packets comprises adjusting a rate of packet transmission in accordance with at least one of instantaneous data throughput and packet loss ratio.
74. The method claimed in claim 72, further comprising: 5 receiving a request from a user for resend of specified IP packets; determining whether the specified IP packets are stored in the buffer; and if the specified packets are stored in the buffer, resending the specified IP packets to the user.
!0 75. The method claimed in claim 74, wherein the specified IP packets are provided to the user at a rate calculated to provide the requested degree of saturation of the user's last mile connection to the POP.
76. The method claimed in claim 74, further comprising:
•5 if the specified packets are stored in the buffer, marking the specified packets for retention in the buffer until resend of the specified IP packets.
77. The method claimed in claim 74, further comprising: if the specified packets are not stored in the buffer, forwarding the request for ιo the specified IP packets to the centralized server.
78. The method claimed in claim 74, wherein the request for resend is received during providing the IP packets to the user, and resending the specified IP packets to the user is delayed until completion of providing IP packets to the user.
79. An internet service provider point of presence (POP) system comprising: an interface receiving IP packets addressed to internet users; a buffer; and a buffer manager for selectively storing IP packets received from a centralized server through a guaranteed quality of service circuit in the buffer, and for providing IP packets received from the centralized server to users at rates calculated to provide requested degrees of saturation of respective users' last mile connections to the POP.
80. The system claimed in claim 79, wherein the buffer manager adjusts a rate of packet transmission in accordance with at least one of instantaneous data throughput and packet loss ratio.
81. The system claimed in claim 79, the buffer manager further: receiving a request from a user for resend of specified IP packets; determining whether the specified IP packets are stored in the buffer; and if the specified packets are stored in the buffer, resending the specified IP packets to the user.
82. The system claimed in claim 81 , wherein the buffer manager provides the specified IP packets to the user at a rate calculated to provide the requested degree of saturation of the user's last mile connections to the POP.
83. The system claimed in claim 81 , wherein, if the specified packets are stored in the buffer, the buffer manager marks the specified packets for retention in the buffer until resend of the specified IP packets.
84. The system claimed in claim 81 , wherein, if the specified packets are not stored in the buffer, the buffer manager forwards the request for the specified IP packets to the centralized server.
85. The system claimed in claim 81 , wherein, if the request for resend is received during providing the IP packets to the user, the buffer manager delays resending the specified IP packets to the user until completion of providing IP packets to the user.
86. A method in an internet user's computer system, comprising: obtaining a file identifier through the internet from an internet server; and sending a request for transfer of a file to a centralized server including the file identifier and a requested degree of saturation of a last mile connection between the internet user's system and the internet user's internet service provider (ISP) point of presence (POP).
87. The method claimed in claim 86, wherein the request specifies one of total saturation of the last mile connection, saturation of a portion of the last mile connection, and interleaved use of the last mile connection.
88. The method claimed in claim 86, wherein the request further specifies a transfer at a time that is one of a next available time, a specified time, and a time entailing a minimum resource cost.
89. The method claimed in claim 86, further comprising receiving a token granting a right to resources of the centralized server for receiving the file at the requested time with the requested degree of saturation.
90. The method claimed in claim 89, further comprising presenting the token to the centralized server and receiving the file.
91. The method claimed in claim 90, further comprising receiving IP packets containing file data.
92. The method claimed in claim 91 , further comprising: determining lost packets and corrupted packets; and if packets are buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the POP.
93. The method claimed in claim 91 , further comprising: determining lost packets and corrupted packets; if packets are buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the POP; and if packets are not buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the centralized server.
94. The method claimed in claim 91 , further comprising: reconstructing the file; and storing the file.
95. The method claimed in claim 91, further comprising: extracting file data from the IP packets; storing the file data in a buffer; and providing the file data from the buffer to an application for processing the file data.
96. The method claimed in claim 91, further comprising: requesting suspension of IP packet transfer when an alternate use of the last mile connection is required; and requesting continuation of IP packet transfer when the alternate use of the last mile connection is no longer required.
97. An internet user system, comprising: a web browser for obtaining a file identifier through the internet from an internet server; and a client content manager for sending a request for transfer of a file to a centralized server including the file identifier and a requested degree of saturation of a last mile connection between the internet user system and the internet user system's internet service provider point of presence (POP).
98. The system claimed in claim 97, wherein the request specifies one of total saturation of the last mile connection, saturation of a portion of the last mile connection, and interleaved use of the last mile connection.
99. The system claimed in claim 97, wherein the request further specifies a transfer at a time that is one of a next available time, a specified time, and a time entailing a minimum resource cost.
100. The system claimed in claim 97, the client content manager further receiving a token granting a right to resources of the centralized server for receiving the file at the requested time with the requested degree of saturation.
101. The system claimed in claim 100, the client content manager further presenting the token to the centralized server and receiving the file.
102. The system claimed in claim 101 , the client content manager further .receiving IP packets containing file data.
103. The system claimed in claim 102, the client content manager further: determining lost packets and corrupted packets; and if packets are buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the POP.
104. The system claimed in claim 102, the client content manager further: determining lost packets and corrupted packets; if packets are buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the POP; and if packets are not buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the centralized server.
105. The system claimed in claim 102, the client content manager further: reconstructing the file; and storing the content file.
106. The system claimed in claim 102, the client content manager further: extracting file data from the IP packets; storing the file data in a buffer; and providing the file data from the buffer to an application for processing the file data.
107. The system claimed in claim 102, the client content manager further: requesting suspension of IP packet transfer when an alternate use of the last mile connection is required; and requesting continuation of IP packet transfer when the alternate use of the last mile connection is no longer required.
108. A method in an internet user's computer system, comprising: obtaining a file identifier through the internet from an internet server; and sending a request for the file to a centralized server that is connected to the internet user's system and the internet user's internet service provider (ISP) point of 5 presence (POP) by a guaranteed quality of service circuit.
109. The method claimed in claim 108, wherein the request includes the file identifier and a requested degree of saturation of a last mile connection between the internet user's system and the internet user's internet service provider (ISP) point of lo presence (POP).
110. The method claimed in claim 108, wherein the request specifies one of total saturation of the last mile connection, saturation of a portion of the last mile connection, and interleaved use of the last mile connection.
15
111. The method claimed in claim 108, wherein the request further specifies a transfer at a time that is one of a next available time, a specified time, and a time entailing a minimum resource cost.
>o 112. The method claimed in claim 108, further comprising receiving a token granting a right to resource of the centralized server for receiving the file with the requested .
113. The method claimed in claim 112, further comprising presenting the token is to the centralized server and receiving the file.
114. The method claimed in claim 113, further comprising receiving IP packets containing file data.
iθ 115. The method claimed in claim 114, further comprising: determining lost packets and corrupted packets; if packets are buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the POP.
1 16. The method claimed in claim 114, further comprising: determining lost packets and corrupted packets; if packets are buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the POP; and if packets are not buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the centralized server.
1 17. The method claimed in claim 114, further comprising: reconstructing the file; and storing the file.
118. The method claimed in claim 114, further comprising: extracting file data from the IP packets; storing the file data in a buffer; and providing the file data from the buffer to an application for processing the file data.
119. The method claimed in claim 114, further comprising: requesting suspension of IP packet transfer when an alternate use of the last mile connection is required; and requesting continuation of IP packet transfer when the alternate use of the last mile connection is no longer required.
120. An internet user system, comprising: a web browser for obtaining a file identifier through the internet from an internet server; and a client content manager for sending a request for the file to a centralized server that is connected to the internet user's system and the internet user's internet service provider (ISP) point of presence (POP) by a guaranteed quality of service circuit.
121. The system claimed in claim 120, wherein the request specifies one of total saturation of the last mile connection, saturation of a portion of the last mile connection, and interleaved use of the last mile connection.
122. The system claimed in claim 120, wherein the request further specifies a transfer at a time that is one of a next available time, a specified time, and a time entailing a minimum resource cost.
123. The system claimed in claim 120, the client content manager further receiving a token granting a right to resources of the centralized server for receiving the file at the requested time with the requested degree of saturation.
124. The system claimed in claim 123, the client content manager further presenting the token to the centralized server and receiving the file.
125. The system claimed in claim 124, the client content manager further receiving IP packets containing file data.
126. The system claimed in claim 125, the client content manager further: determining lost packets and corrupted packets; and if packets are buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the POP.
127. The system claimed in claim 125, the client content manager further: determining lost packets and corrupted packets; if packets are buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the POP; and if packets are not buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the centralized server.
128. The system claimed in claim 125, the client content manager further: reconstructing the file; and storing the content file.
129. The system claimed in claim 125, the client content manager further: extracting file data from the IP packets; storing the file data in a buffer; and providing the file data from the buffer to an application for processing the file data.
130. The system claimed in claim 125, the client content manager' further, requesting suspension of IP packet transfer when an alternate use of the last mile connection is required; and requesting continuation of IP packet transfer when the alternate use of the last mile connection is no longer required.
131. A method in a server comprising: receiving a request from a user for a file; constructing IP packets having uniform payloads containing the file; pushing the IP packets to the user; receiving a request for resend of specified IP packets from the user; determining portions of the file contained in payloads of the specified IP packets; reconstructing the specified IP packets; and pushing the specified IP packets to the user.
132. The method claimed in claim 131 , wherein the request for resend is received during pushing of the IP packets to the user, and pushing the specified IP packets to the user is delayed until completion of pushing the IP packets to the user.
133. A server comprising: an access manager for receiving requests from internet users for files, and for receiving requests for resend of specified IP packets from internet users; a streaming engine for constructing IP packets having uniform payloads containing portions of files and pushing the IP packets to users; and a resend engine for determining portions of a file contained in payloads of specified IP packets, reconstructing the specified IP packets, and pushing the specified IP packets to a requesting internet user.
134. The server claimed in claim 133, wherein, if the request for resend is received during pushing of IP packets by the streaming engine to the requesting the user, the resend engine delays pushing the specified IP packets to the user until completion of pushing the IP packets to the user by the streaming engine.
135. A method in an internet service provider point of presence (POP) system comprising: receiving IP packets addressed to internet users; selectively storing IP packets received from a centralized server through a guaranteed quality of service circuit in a buffer; providing the IP packets received from the centralized server to respective users; receiving a request from a user for resend of specified IP packets; determining whether the specified IP packets are stored in the buffer; if the specified packets are stored in the buffer, resending the specified IP packets to the user.
136. The method claimed in claim 135, further comprising: if the specified packets are not stored in the buffer, forwarding the request for the specified IP packets to the centralized server.
137. The method claimed in claim 135, wherein the IP packets received from the centralized server are provided to respective users at rates calculated to provide a requested degrees of saturation of respective user's last mile connections to the POP.
138. The method claimed in claim 137, wherein providing the IP packets comprises adjusting a rate of packet transmission in accordance with at least one of instantaneous data throughput and packet loss ratio.
138. The method claimed in claim 135, wherein the specified IP packets are provided to the user at a rate calculated to provide the requested degree of saturation of the user's last mile connections to the POP.
139. The method claimed in claim 135, wherein the request for resend is received during providing the IP packets to the user, and resending the specified IP packets to the user is delayed until completion of providing IP packets to the user.
140. An internet service provider point of presence (POP) system comprising: an interface for receiving IP packets addressed to internet users; a buffer; and a buffer manager for selectively storing IP packets received from a centralized server through a guaranteed quality of service circuit in the buffer, providing the IP packets received from the centralized server to respective users, receiving a request from a user for resend of specified IP packets, determining whether the specified IP packets are stored in the buffer, and, if the specified packets are stored in the buffer, resending the specified IP packets to the user.
141. The system claimed in claim 140, wherein, if the specified packets are not stored in the buffer, the buffer manager forwards the request for the specified IP packets to the centralized server.
142. The system claimed in claim 140, wherein the buffer manager provides IP packets received from the centralized server to respective users at rates calculated to provide requested degrees of saturation of respective users' last mile connections to the POP.
143. The system claimed in claim 142, wherein the buffer manager adjusts a rate of packet transmission in accordance with at least one of instantaneous data throughput and packet loss ratio.
144. The system claimed in claim 140, wherein the buffer manager provides the specified IP packets to the user at a rate calculated to provide the requested degree of saturation of the user's last mile connections to the POP.
145. The system claimed in claim 140, wherein, if the request for resend is received during providing the IP packets to the user, the buffer manager delays resending the specified IP packets to the user until completion of providing IP packets to the user.
146. A method in an internet user's system, comprising: receiving IP packets from a centralized server connected to the internet user's system's internet service provider (ISP) point of presence (POP) through a guaranteed quality of service circuit; determining IP packets for which resend is required; and if the POP includes a buffer manager for selectively buffering packets received through the guaranteed quality of service circuit, sending to the buffer manager of the
POP a request for resend of specified IP packets.
147. The method claimed in claim 146, wherein the request specifies a first packet and a last packet of a series of consecutive packets to be resent.
148. The method claimed in claim 146, wherein, subsequent to sending the request for resend, if the specified IP packets are not received, sending the centralized server a request for resend of the specified IP packets.
149. The method claimed in claim 146, further comprising, if the POP does not include a buffer manager for selectively buffering packets received through the guaranteed quality of service circuit, sending to the centralized server a request for resend of specified IP packets.
150. The method claimed in claim 146, wherein IP packets for which resend is required comprise lost packets and corrupted packets.
151. An internet user system, comprising: an access device for communication with an internet service provider (ISP) point of presence (POP); and a client content manager receiving IP packets from a centralized server connected to the internet user's system's internet service provider (ISP) point of presence (POP) through a guaranteed quality of service circuit, determining IP packets for which resend is required, and, if the POP includes a buffer manager for selectively buffering packets received through the guaranteed quality of service circuit, sending to the buffer manager of the POP a request for resend of specified IP packets.
152. The system claimed in claim 151 , wherein the request specifies a first packet and a last packet of a series of consecutive packets to be resent.
153. The system claimed in claim 151 , wherein, subsequent to sending the request for resend, if the specified IP packets are not received, the client content manager sends the centralized server a request for resend of the specified IP packets.
154. The system claimed in claim 151, wherein, if the POP does not include a buffer manager for selectively buffering packets received through the guaranteed quality of service circuit, the client content manager sends to the centralized server a request for resend of specified IP packets.
155. The system claimed in claim 151, wherein IP packets for which resend is required comprise lost packets and corrupted packets.
156. An email system, comprising: a plurality of internet service provider (ISP) points of presence (POPs) each having a plurality of users connected thereto; and a centralized server connected to the POPs through respective guaranteed quality of service circuits and including a resource manager for reserving resources of the server and guaranteed quality of service circuits to provide guaranteed quality of service file transfer between the centralized server and the POPs, the centralized server receiving an email attachment sent by a user through a guaranteed quality of service circuit to the user's POP, and delivering the email attachment to a recipient user.
157. The system claimed in claim 156, wherein the email attachment is delivered to the recipient user upon request by the recipient user.
158. The system claimed in claim 156, wherein the email attachment is delivered to the recipient user's POP through a guaranteed quality of service circuit between the centralized server and the recipient user's POP.
159. A method in an internet user's system, comprising: receiving input from the user specifying a text portion of an email message and a file to be attached to the email; sending the text portion through the internet in an email message; and uploading the attached file to a centralized server that is connected to the user system's internet service provider (ISP) point of presence (POP) through a guaranteed quality of service circuit.
160. A method as claimed in claim 159, wherein uploading the attached file comprises: sending a request to the centralized server to upload the file; receiving a token granting rights to resources for uploading the file; and presenting thetoken.
161. A method as claimed in claim 159, wherein the email message includes an indication that the attached file is available at the centralized server.
162. An internet user system, comprising: an email application for receiving input from a user specifying a text portion of an email message and a file to be attached to the email message; and a client content manager for uploading the attached file to a centralized server that is connected to the user system's internet service provider (ISP) point of presence (POP) through a guaranteed quality of service circuit.
163. A system as claimed in claim 162, the client content manager: sending a request to the centralized server to upload the file; receiving a token granting rights to resources for uploading the file; and presenting thetoken.
164. A system as claimed in claim 162, the client content manager further including in the email message includes an indication that the attached file is available at the centralized server.
165. A method in an internet user's system, comprising: receiving an email message; identifying in the email message an indication that a file is available at a centralized server that is connected to the user system's internet service provider (ISP) point of presence (POP) through a guaranteed quality of service circuit; and sending a request for the file to the centralized server, the request including a requested degree of saturation of a last mile connection between the internet user's system and the POP.
166. The method claimed in claim 165, wherein the request specifies one of total saturation of the last mile connection, saturation of a portion of the last mile connection, and interleaved use of the last mile connection.
167. The method claimed in claim 165, wherein the request further specifies a transfer at a time that is one of a next available time, a specified time, and a time entailing a minimum resource cost.
168. The method claimed in claim 165, further comprising receiving a token granting a right to resources of the centralized server for receiving the file with the requested .
169. The method claimed in claim 168, further comprising presenting the token to the centralized server and receiving the file.
170. The method claimed in claim 169, further comprising receiving IP packets containing file data.
171. The method claimed in claim 170, further comprising: determining lost packets and corrupted packets; if packets are buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the POP.
172. The method claimed in claim 170, further comprising: determining lost packets and corrupted packets; if packets are buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the POP; and if packets are not buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the centralized server.
173. The method claimed in claim 170, further comprising: reconstructing the file; and storing the file.
174. The method claimed in claim 170, further comprising: extracting file data from the IP packets; storing the file data in a buffer; and providing the file data from the buffer to an application for processing the file data.
175. The method claimed in claim 170, further comprising: requesting suspension of IP packet transfer when an alternate use of the last mile connection is required; and requesting continuation of IP packet transfer when the alternate use of the last mile connection is no longer required.
176. An internet user system, comprising: an email application for receiving an email message; and a client content manager for identifying in the email message an indication that a file is available at a centralized server that is connected to the user system's internet service provider (ISP) point of presence (POP) through a guaranteed quality of service circuit, and for sending a request for the file to the centralized server, the request including a requested degree of saturation of a last mile connection between the internet user's system and the POP.
177. The system claimed in claim 176, wherein the request specifies one of total saturation of the last mile connection, saturation of a portion of the last mile connection, and interleaved use of the last mile connection.
178. The system claimed in claim 176, wherein the request further specifies a transfer at a time that is one of a next available time, a specified time, and a time entailing a minimum resource cost.
179. The system claimed in claim 176, the client content manager further receiving a token granting a right to resources of the centralized server for receiving the file with the requested .
180. The system claimed in claim 179, the client content manager further presenting the token to the centralized server and receiving the file.
181. The system claimed in claim 180, the client content manager further receiving IP packets containing file data.
182. The system claimed in claim 181 , the client content manager further: determining lost packets and corrupted packets; if packets are buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the POP.
183. The system claimed in claim 181 , the client content manager further: determining lost packets and corrupted packets; if packets are buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the POP; and if packets are not buffered at the POP, requesting retransmission of the lost packets and corrupted packets from the centralized server.
184. The system claimed in claim 181 , the client content manager further: reconstructing the file; and storing the content file.
185. The system claimed in claim 181 , the client content manager further: extracting file data from the IP packets; storing the file data in a buffer; and providing the file data from the buffer to an application for processing the file data.
186. The system claimed in claim 181 , the client content manager further: requesting suspension of IP packet transfer when an alternate use of the last mile connection is required; and requesting continuation of IP packet transfer when the alternate use of the last mile connection is no longer required.
187. A caching system comprising: a plurality of internet service provider (ISP) points of presence (POPs) each having a plurality of users connected thereto; and a centralized server connected to each of the POPs through respective guaranteed quality of service circuits and including a resource manager for reserving resources of the server and the guaranteed quality of service circuits to provide guaranteed quality of service file transfers between the centralized server and the
POPs, each of the POPs including a cache manager employing the centralized server as a remote cache level.
188. The system claimed in claim 187, wherein a file cached in the centralized server by multiple POPs is stored as a single instance in the centralized server.
189. A method in an internet service provider point of presence (POP) system comprising: assigning one of predetermined cache levels to files requested by internet users having connections to the POP, the predetermined cache levels including a primary cache and a remote cache; if a file is assigned to the primary cache level, storing the file in a primary cache; and if a file is assigned to the remote cache level, sending a request for uploading the file to a centralized server connected to the POP through a guaranteed quality of service circuit.
190. The method claimed in claim 189, further comprising: receiving a token authorizing uploading of the file, and uploading the file to the centralized server through the guaranteed quality of service circuit.
191. An internet service provider point of presence (POP) system comprising: a primary cache; and a cache manager for assigning one of predetermined cache levels to files requested by internet users having connections to the POP, the predetermined cache levels including a primary cache level and a remote cache level, and if a file is assigned to the remote cache level, sending a request for uploading the file to a centralized server connected to the POP through a guaranteed quality of service circuit.
192. The system claimed in claim 191 , the cache manager further: receiving a token authorizing uploading of the file, and uploading the file to the centralized server through the guaranteed quality of service circuit.
193. A method in an internet service provider point of presence (POP) system comprising: receiving requests for files from internet users having a connections to the POP; determining whether a requested file is stored in one of predetermined cache levels including a primary cache and a remote cache; if a file is stored in a remote cache level, sending a request for an immediate download of the file from a centralized server connected to the POP through a guaranteed quality of service circuit.
194. The method claimed in claim 193, further comprising: receiving a message from the server denying immediate download of the file; and retrieving the requested file from an internet server.
195. An internet service provider point of presence (POP) system comprising: a primary cache; and a cache manager for determining whether a file requested by an internet user is stored in one of predetermined cache levels including the primary cache and a remote cache, and, if a file is stored in the remote cache, sending a request for an immediate download of the file from a centralized server connected to the POP through a guaranteed quality of service circuit.
196. The system claimed in claim 195, the cache manager further retrieving the requested file from an internet server upon receiving a message from the server denying immediate download of the file.
197. A video conference system, comprising: a plurality of internet service provider (ISP) points of presence (POPs) each having a plurality of users connected thereto; and a centralized server connected to each of the POPs through respective guaranteed quality of service circuits and including a resource manager for reserving resources of the server and guaranteed quality of service circuits to provide guaranteed quality of service data transfer between the centralized server and the POPs, the centralized server receiving video data from a user through a guaranteed quality of service circuit to the user's POP, and delivering the video data through a guaranteed quality of service circuit to a recipient user's POP at a rate calculated to provide a requested degree of saturation of a last mile connection between the recipient user and the recipient user's POP.
PCT/US2001/022996 2000-07-21 2001-07-20 Method and system for data delivery with guaranteed quality of service WO2002008856A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001277064A AU2001277064A1 (en) 2000-07-21 2001-07-20 Method and system for data delivery with guaranteed quality of service

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US21988400P 2000-07-21 2000-07-21
US60/219,884 2000-07-21
US65713100A 2000-09-07 2000-09-07
US09/657,131 2000-09-07

Publications (2)

Publication Number Publication Date
WO2002008856A2 true WO2002008856A2 (en) 2002-01-31
WO2002008856A3 WO2002008856A3 (en) 2002-05-30

Family

ID=26914359

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/022996 WO2002008856A2 (en) 2000-07-21 2001-07-20 Method and system for data delivery with guaranteed quality of service

Country Status (2)

Country Link
AU (1) AU2001277064A1 (en)
WO (1) WO2002008856A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004004332A2 (en) * 2002-06-27 2004-01-08 Koninklijke Philips Electronics N.V. System for providing a personalized tv channel
WO2006083171A1 (en) * 2005-02-04 2006-08-10 Tandberg Telecom As Method of monitoring and configuring
WO2006132611A1 (en) * 2005-06-02 2006-12-14 Thomson Licensing Content timing method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5918013A (en) * 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
US5944795A (en) * 1996-07-12 1999-08-31 At&T Corp. Client-server architecture using internet and guaranteed quality of service networks for accessing distributed media sources
US5991810A (en) * 1997-08-01 1999-11-23 Novell, Inc. User name authentication for gateway clients accessing a proxy cache server
US6144996A (en) * 1998-05-13 2000-11-07 Compaq Computer Corporation Method and apparatus for providing a guaranteed minimum level of performance for content delivery over a network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5918013A (en) * 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
US5944795A (en) * 1996-07-12 1999-08-31 At&T Corp. Client-server architecture using internet and guaranteed quality of service networks for accessing distributed media sources
US5991810A (en) * 1997-08-01 1999-11-23 Novell, Inc. User name authentication for gateway clients accessing a proxy cache server
US6144996A (en) * 1998-05-13 2000-11-07 Compaq Computer Corporation Method and apparatus for providing a guaranteed minimum level of performance for content delivery over a network

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004004332A2 (en) * 2002-06-27 2004-01-08 Koninklijke Philips Electronics N.V. System for providing a personalized tv channel
WO2004004332A3 (en) * 2002-06-27 2004-06-03 Koninkl Philips Electronics Nv System for providing a personalized tv channel
WO2006083171A1 (en) * 2005-02-04 2006-08-10 Tandberg Telecom As Method of monitoring and configuring
US8713662B2 (en) 2005-02-04 2014-04-29 Cisco Technology, Inc. Method of monitoring and configuring
US9160635B2 (en) 2005-02-04 2015-10-13 Cisco Technology, Inc. Method of monitoring and configuring
WO2006132611A1 (en) * 2005-06-02 2006-12-14 Thomson Licensing Content timing method and system
JP2008542907A (en) * 2005-06-02 2008-11-27 トムソン ライセンシング Content timing method and system
JP4859072B2 (en) * 2005-06-02 2012-01-18 トムソン ライセンシング Content timing method and system
US8447876B2 (en) 2005-06-02 2013-05-21 Thomson Licensing Content timing method and system

Also Published As

Publication number Publication date
AU2001277064A1 (en) 2002-02-05
WO2002008856A3 (en) 2002-05-30

Similar Documents

Publication Publication Date Title
KR100754293B1 (en) Digital content delivery system, digital content delivery method, program for executing the method, computer-readable recording medium storing thereon the program, and server and client for it
Pan et al. YESSIR: A simple reservation mechanism for the Internet
US6304578B1 (en) Packet routing and queuing at the headend of shared data channel
US7209437B1 (en) Computer communication providing quality of service
JP3923863B2 (en) Request router device
JP3321043B2 (en) Data terminal in TCP network
White et al. The integrated services in the internet: State of the art
US20030099202A1 (en) System and method for distribution of data packets utilizing an intelligent distribution network
US20090248886A1 (en) Network-Optimized Content Delivery for High Demand Non-Live Contents
WO2007010408A2 (en) Next generation network for providing diverse data types
US20080155101A1 (en) Reserving resources for data streams in a communication network
US20070233874A1 (en) System and method for multi-tier multi-casting over the Internet
JP2004201299A (en) Facilitating dslam-hosted traffic management functionality
Reinhardt Advance resource reservation and its impact on reservation protocols
Zhang Designing a new architecture for packet switching communication networks.
Oran Considerations in the Development of a QoS Architecture for CCNx-Like Information-Centric Networking Protocols
El-Marakby et al. Towards managed real-time communications in the Internet environment
WO2002008856A2 (en) Method and system for data delivery with guaranteed quality of service
Balafoutis et al. The impact of replacement granularity on video caching
El-Marakby et al. Delivery of real-time continuous media over the Internet
Lowery Protocols for Providing Performance Guarantees in a Packet Switching Internet
Da Silva et al. MUSLIN demo: high QoE fair multi-source live streaming
Tran et al. Layered range multicast for video on demand
JP3895603B2 (en) Multicast system
EP2400749A1 (en) Access network controls distributed local caching upon end-user download

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP