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 PDFInfo
- 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
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2869—Operational details of access network equipments
- H04L12/287—Remote access server, e.g. BRAS
- H04L12/2874—Processing of data for distribution to the subscribers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/72—Admission control; Resource allocation using reservation actions during connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/781—Centralised allocation of resources
Definitions
- the invention relates to the delivery of content from a server to clients in a manner that provides guaranteed quality of service.
- 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.
- ISP Internet Service Providers
- Tier 1 backbone "Tier 1” providers
- TCP Transfer Control Protocol
- IP Internet Protocol
- TCP/IP Internet Protocol
- 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.
- IP packets often pass through a large number of interconnected systems between their source and destination.
- 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.
- 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.
- 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.
- 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:
- NAP Network Access Point
- LAN/MAN User ISP internal infrastructure
- 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.
- 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.
- 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.
- ISP LAN infrastructure capacity will be a multiple of the aggregated bandwidth potentially utilized by users
- 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.
- 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.
- NAPs Network Access Points
- ISPs Internet Protocol Security
- network exchange points where backbones of different carriers exchange data
- peak traffic hours are often major contention points during peak traffic hours.
- 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.
- 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.
- 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.
- an email system in another embodiment, 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).
- POPs internet service provider points of presence
- 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.
- a video conference system in another embodiment, 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.
- an internet cache system in another embodiment, 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.
- FIG 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
- FIG 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.
- FIG 2 illustrates an exemplary implementation of the invention in conjunction with the conventional internet infrastructure.
- 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.
- IP internet protocol
- the servers may for example be web servers that make hyper text markup language (html) files available using the hypertext transfer protocol (http).
- ISP internet service provider
- POPs internet service provider points of presence
- 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.
- ATM network 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.
- ATM asynchronous transfer mode
- MPLS multiprotocol label switching
- SONET synchronous optical network
- 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.
- data transferred from the centralized server to the POP through this network will be reliably delivered.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- the file is received with reliable speed and accuracy, limited only by the bandwidth of the user's last mile connection.
- the system of Figure 2 provides video conferencing services.
- 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.
- the system of Figure 2 provides enhanced file transfer between internet users.
- 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.
- the file is an attachment to an email message.
- the system of Figure 2 enables an ISP POP uses the centralized server as a remote level of POP cache.
- 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.
- FIG. 3 shows the architecture of a centralized server in accordance with a preferred embodiment of the invention.
- 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
- 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.
- data retrieval and pushing tasks are distributed among the nodes of the server to provide balanced utilization of server resources.
- load balancing may be implemented using the IBM END load leveler application.
- 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.
- FIG. 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.
- the system includes a WAN/MAN interface, a cache manager and cache, and an access manager providing a last mile connection to user systems.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- specification of the delivery type is deferred until immediately prior to the beginning of the transfer.
- the client content manager 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- the client content manager schedules presentation of the token for the time of requested transfer.
- the client content manager 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.
- the resource manager 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- the devices described above are utilized to provide streaming of data for real time use from the centralized server to
- 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
- 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
- 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.
- the devices described above are utilized to provide video conferencing.
- 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.
- the streaming engine constructs IP packets as data is received from participants and pushes the packets to the other participants of 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.
- the devices described above are utilized to provide transfer of files between internet users.
- 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.
- 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.
- the client content manager initiates contact with the centralized server to schedule upload of the file.
- 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.
- the client manager 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.
- the recipient client content manager 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.
- 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.
- the devices described above are utilized to provide a remote cache for ISP POPs.
- 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.
- 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.
- the cache manager sends a request for an immediate download of the file from a centralized server, in the manner of downloads described previously.
- the cache manager treats the file as unavailable and proceeds to retrieve the requested file from the remote internet server where it is hosted.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims
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 Ceased 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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| WO2006132611A1 (en) * | 2005-06-02 | 2006-12-14 | Thomson Licensing | Content timing method and system |
Family Cites Families (4)
| 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 |
-
2001
- 2001-07-20 AU AU2001277064A patent/AU2001277064A1/en not_active Abandoned
- 2001-07-20 WO PCT/US2001/022996 patent/WO2002008856A2/en not_active Ceased
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 distribution system, a method of distributing digital content, a computer-readable recording medium storing a program for executing the method, and a server and a client therefor | |
| 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 | |
| US20070104096A1 (en) | Next generation network for providing diverse data types | |
| 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 | |
| EP2095257A2 (en) | Reserving resources for data streams in a communication network | |
| CN113301096A (en) | Method, system and node equipment for data transmission between nodes in content distribution network | |
| US20070233874A1 (en) | System and method for multi-tier multi-casting over the Internet | |
| JP2004201299A (en) | Promotion of traffic management function in DSLAM | |
| 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 | |
| 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 | |
| JP4423331B2 (en) | Method and apparatus for managing multicast transmission costs | |
| Watanabe et al. | Study on merge of overlapped TCP traffic using reliable multicast transport | |
| Blackford et al. | An experimental investigation of the Internet integrated services model using the resource reservation protocol (RSVP) | |
| Ashok Kumar et al. | M-chaining scheme for VoD application on cluster-based Markov process | |
| Peuhkuri | Applications-Real-time vs. near real-time |
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 |
Ref country code: JP |