US20050071496A1 - Method and system for media object streaming - Google Patents

Method and system for media object streaming Download PDF

Info

Publication number
US20050071496A1
US20050071496A1 US10/995,703 US99570304A US2005071496A1 US 20050071496 A1 US20050071496 A1 US 20050071496A1 US 99570304 A US99570304 A US 99570304A US 2005071496 A1 US2005071496 A1 US 2005071496A1
Authority
US
United States
Prior art keywords
media object
streaming
computer
media
prefix
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.)
Abandoned
Application number
US10/995,703
Inventor
Sanjay Singal
Satish Menon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kasenna Inc
Original Assignee
Kasenna Inc
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 Kasenna Inc filed Critical Kasenna Inc
Priority to US10/995,703 priority Critical patent/US20050071496A1/en
Publication of US20050071496A1 publication Critical patent/US20050071496A1/en
Assigned to KASENNA, INC. reassignment KASENNA, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MENON, SATISH N., SINGAL, SANJAY S.
Assigned to SILICON VALLEY BANK reassignment SILICON VALLEY BANK SECURITY AGREEMENT Assignors: KASENNA, INC.
Assigned to VENTURE LENDING & LEASING IV, INC. reassignment VENTURE LENDING & LEASING IV, INC. SECURITY AGREEMENT Assignors: KASENNA, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the present invention relates broadly to computer networks and streaming media objects delivered over computer networks. Specifically, the present invention relates to caching portions of a video stream at various locations on a computer network, transmitting remaining portions once the cached segment is requested by a user, and delivering video data according to strict timing requirements.
  • Broadband Internet network infrastructure is developing at rates that exceed the most aggressive analyst predictions.
  • telecommunications, cable and wireless companies have accelerated deployment of broadband capability to the home with xDSL, cable modem or wireless last mile rollouts.
  • broadband infrastructure is already available for desktop computing applications.
  • Broadband provides a foundation for the use of good quality IP video in Internet applications.
  • broadband Internet connectivity is paving the way for video-based applications such as Internet advertising with video, rich media on web pages, video-assisted e-commerce (video catalogs, travel, etc.), event webcasting, personalized information on demand (news, sports, medicine, lectures, movies, etc.), personal video exchanges, and training and corporate communications.
  • DCS distributed content services
  • portions of web pages containing large amounts of content such as images are replicated (“pushed”) on a number of edge servers deployed in last-mile service provider locations close to the edges of the network, as shown in FIG. 1 .
  • the edge server closer to the user is directed to serve the replicated content to the user.
  • This solution avoids moving large files through the network backbone for frequently used content. Avoiding the backbone can improve performance (since there are fewer hops between a strategically placed edge server and the client) and is a more cost-effective and scalable solution.
  • Content delivery networks generally use private satellite and terrestrial networks to connect the originating server to the edge servers. This solution has been widely deployed to improve the delivery of small media types such as static images and streaming audio on web pages.
  • Caching servers are placed at strategic points in a network (typically an ISP network) that are closer to the end users. On subsequent access of the same pages, the cached content is served directly to the end user ( FIG. 2 ).
  • Caching systems consist of specialized equipment at the service provider locations that monitor URL requests for web objects. Serving content from cached server can reduce Internet backbone traffic up to 50% thus reducing bandwidth costs. Serving content from a cache closer to the end user also improves performance for the reasons outlined in the first approach.
  • Customized delivery of information rich in video content is a growing application segment on the broadband Internet.
  • a five-minute video segment at 1.0 Mbps amounts to 37.5 megabytes.
  • One such channel of video, which is a 24-hour segment split into 5 minute segments amount to about 10 gigabytes of storage.
  • a hundred such channels amount to 1 terabyte.
  • Such media stored on 1000 edge servers amount to 1 petabyte of storage for one day's worth of video.
  • Networks that use pure caching solutions also suffer from problems due to the sheer size of the objects they are required to cache. If a media object is not found in the cache, it takes a certain amount of time before the requested media object is found and the cache is loaded. To most users, this latency is unacceptable. Once cached, the system behaves as a content delivery system described above. However, for any reasonable size cache, the number of objects that can be cached is fairly small leading to high rate of cache misses.
  • the present invention solves the problems described above by providing high quality media content distribution over global computer networks based on admission control in a prefix caching system.
  • a relatively small portion of a media object (prefix) is stored at a server located proximate to a user.
  • the prefix is streamed to the user while the remaining portion of the media object is fetched as quickly as possible from another location and delivered to the user while maintaining the timing requirements of audio and/or video, thus without interrupting or delaying the delivery to the user.
  • This method eliminates the latency experienced in prior caching solutions.
  • the information stored on the server corresponding to the URL is examined to determine the status of the corresponding media object is in the edge server's cache.
  • the status of a media object may be as follows: A) The object is fully contained in the cache. In this case no further action is needed and the media object is streamed to the user. B) The prefix of the media object is in the cache. In this case, a request to fetch the rest of the media is made and the media prefix is streamed to the user, and the remaining portion of the media object is streamed after the prefix is streamed. C) no part of the media object is available stored on the edge server. In this case, the user is made to wait until a sufficient amount of the media object is fetched before the streaming begins.
  • FIG. 1 is an illustration in block diagram form of a prior art system employing an origin server and a network of edge servers;
  • FIG. 2 is an illustration in block diagram form of a prior art system employing a network of caching servers
  • FIG. 3 is an illustration in block diagram form of the system of the present invention as deployed in a global computer network
  • FIG. 4 is an illustration in block diagram form of the major components included in the system of the present invention.
  • FIG. 5 is a flowchart illustrating the logical sequence of steps executed to perform the method of the present invention.
  • FIG. 6 is an illustration in block diagram form of the major components of a computer as used in conjunction with the system of the present invention.
  • a media object is audio and/or video content that is divided into a beginning portion (prefix), and a remaining portion (suffix).
  • prefix can be stored (cached) on an edge server and streamed to a user while the suffix is being fetched from an origin server.
  • Prefix caching for streaming media objects is more, complex than caching all other data types.
  • a locally stored prefix can aid in the presentation of the stream to the end user with minimal startup latencies.
  • the content transfer system must ensure that after the prefix has been streamed to the user, enough data is available for the streaming to continue uninterrupted. Otherwise, the user will experience jerky playback for audio and video.
  • a critical issue is the amount of data in a prefix that is stored on an edge server. Prior to starting the stream from the prefix cache available on disk, the following requirements must be met:
  • the size of the prefix is large enough to ensure that given adequate resources, the streaming can continue uninterrupted, once started.
  • the available bandwidth between the origin server and edge server drops down to one Mbps due to multiple transfers in progress, there is very little tolerance for error. Larger prefixes in this case provide a cushion to compensate for spikes in available bandwidth. If the available bandwidth for fetching the suffix falls below the consumption rate (or encoded rate of the media object), possibility for starvation exists. In this case, the system cannot start the streaming right away; it needs to ensure that given the available bandwidth, there is enough cached data so that starvation will not occur before the media object is completely played back. If there is insufficient cached data, the edge server will first fetch more data into the prefix cache so that this constraint is satisfied prior to the start of streaming.
  • Admission control is performed to ensure that the prefix cache is large enough under the current network conditions (as measured by the two ends—the origin server and the edge server).
  • T Total size of the media object (video and/or audio file).
  • P Size of the prefix currently available at an edge.
  • B bitrate of the asset (for variable bit rate asset, this could be the average bitrate).
  • the duration of the media is T/B.
  • the duration of the prefix is P/B.
  • the transfer rate R required by is given by: (T ⁇ P)/(T/B).
  • the present invention provides services to ensure that once admitted, resources are available and locked down to ensure that starvation will not occur.
  • the storage manager provides accounting services for disk bandwidth. Disk bandwidth resource management is required to ensure that at the origin server as well as the edge server, data can be read and written according to the needs of the admission control system.
  • the connection manager ensures that the network interfaces have the sufficient bandwidth for streaming as well as transfers to caches by providing accounting at the network interface level. However, this accounting may be inaccurate in a public network where traffic in the network cannot be completely measured by any two end points, if the end points are not point-to-point connections. This is not a problem in managed networks, where the network activity in the system can be completely accounted for.
  • an embodiment of the present invention incorporates a computer network 100 having a client server or peer to peer architecture.
  • Origin subsystem 102 includes an origin server 104 , and media store module 108 .
  • the origin subsystem 102 is connected to edge subsystems 110 - 1 , 110 - 2 , . . . , 110 -n (where n is a desirable number of computers), via computer network 100 , and provides media objects to the edge subsystems 110 on demand.
  • Each edge subsystem 110 includes an edge server 114 having a connection manager 116 and storage manager 117 .
  • Prefix cache 118 is also included in edge subsystem 110 .
  • the edge subsystems 110 in turn delivers the media objects to users at remote locations.
  • the prefix is distributed to the prefix cache 118 a priori, thus avoiding initial latencies involved in copying media objects from an origin server to an edge server.
  • Prefix size can be determined manually or automatically based on network capacity and/or other conditions.
  • the prefix caching distribution of the present invention involves distribution of prefixes to the edge servers 114 based on characteristics such as anticipated demand, measured usage and the type of connection between the origin server 104 and the edge server 114 . For example, a larger prefix may be pushed to the edge servers 114 based on anticipated demand and service level agreements.
  • streaming can begin upon demand, while the suffix is fetched in parallel (pipelined) from the origin server 104 and cached at the edge server 114 . This reduces the a priori storage space requirements while eliminating latencies of initial access. When cache is recycled, prefixes are retained.
  • FIG. 4 illustrates the components utilized in connection with origin subsystem 102 and edge subsystem 110 .
  • Content store module 108 provides for acquisition, hosting and distribution of media. Media distribution formats are open and published, enabling content from a hosted system to be injected into content delivery networks.
  • the content store module 108 includes a media streaming module 122 .
  • Media streaming module 122 can include data pumps for MPEG-1 (system streams), MPEG-2 (transport streams), MP3, QuickTime and H.263.
  • Real Server G2 can also be used, providing streaming for Real Audio and Real Media. Windows Media Server can also be used to provide ASF streaming, running on NT servers.
  • the media management module 124 performs acquisition management over content, stores the content in file systems and manages storage on the server.
  • the media distribution module 126 manages transfer of content for scheduled transfers, on demand transfers, as well as unicast and multicast transfers.
  • the system of the present invention provides an optimal solution for media delivery where storage capacity available at the network core can be efficiently utilized as backing store for edge servers 114 .
  • the system of the present invention is format-independent and provides streaming for a variety of formats that cover the range of narrowband to broadband media.
  • the system provides streaming of formats such as H.263, MPEG-1, MP3, MPEG-2, QuickTime, RealAudio and RealVideo formats, thus allowing more than one representation of a media object associated with a URL.
  • a URL representing a video stream may be backed by a QuickTime video encoded at 128 Kbps as well as an MPEG-1 video encoded at 1.5 Mbps.
  • FIG. 5 illustrates the logical sequence of operative steps that carry out the method of the present invention. These steps may be embodied in a computer program 150 .
  • a user connected to an edge server 114 requests delivery of a media object associated with a URL. This request can take the form of a URL for the desired media object being sent from the user to the edge server 114 .
  • the edge server 114 searches the prefix cache 118 to see if object information matching the media object requested by the user is stored. If there is object information, control proceeds to decision step 156 , where the object information is evaluated to determine the status of the requested media object. Status of a media object can be fully available, partially available, or unavailable.
  • step 158 If the media object is unavailable, control proceeds to step 158 where available bandwidth is examined and a transfer rate R is reserved where R is greater than zero and less than or equal to the available bandwidth.
  • step. 162 data (d) is loaded. If d is less than the new prefix size p′ (decision step 164 ), then control returns to step 162 and more data is loaded.
  • step 166 the media suffix is loaded in parallel, and the media object is streamed to the user (step 168 ). While steps 166 and 168 are shown in a sequential order, streaming in step 168 may also begin before or concurrently with step 166 .
  • step 156 if the status of the media object is evaluated to be fully available, control proceeds directly to step 168 . However, if the status of the media object is evaluated as partially available, control proceeds to step 170 , where the rate R is computed as T ⁇ P divided by T/B. Continuing to decision step 172 , admission control is performed by examining whether sufficient bandwidth R is available. If sufficient bandwidth is available, control proceeds to step 166 where the suffix is loaded in parallel and the media object is streamed to the user at step 168 . However, if sufficient bandwidth is not available, control proceeds to steps 158 through 168 as described above.
  • FIG. 6 illustrates in high level block diagram form the major hardware components of a computer that may be used to implement the origin subsystem 102 and edge subsystem of the present invention.
  • Computer 200 incorporates a processor 202 utilizing a central processing unit (CPU) and supporting integrated circuitry.
  • CPU central processing unit
  • Memory 204 may include RAM and NVRAM such as flash memory, to facilitate prefix cache 118 and storage of software modules executed by processor 202 , such as computer program 150 .
  • keyboard 206 pointing device 208
  • monitor 210 which allow a user to interact with computer 200 during execution of software programs.
  • Mass storage devices such as disk drive 212 and CD ROM 214 may also be in computer 200 to provide storage for computer programs, media objects and associated files.
  • Memory 204 , disk drive 212 , and CD ROM 214 may be used to implement the content store module 108 , and prefix cache 118 .
  • Computer 200 may communicate with other computers via communication connection 216 and communication line 218 to allow the computer 200 to be operated remotely, or utilize files stored at different locations.
  • the components described above may be operatively connected by a communications bus 220 .

Abstract

A method, system, and computer readable medium for delivering media object to a user over a computer network. Media object is divided into first portions and remaining portions, and the first portions are stored on edge server computers in communication with client computers. Upon receiving a request for delivery from a user, the edge server computer transmits the first portion of the media object to the client computer. The edge server computer then requests delivery of the remaining portion of the media object from the origin server computer. Upon receipt of the remaining portion of the media object from the origin server computer, the edge server computer transmits the remaining portion of the media object to the user such that delivery of both portions of the media object to the client computer is continuous and uninterrupted.

Description

    RELATED APPLICATIONS
  • This application is a divisional of and claims the benefit of priority under 35 U.S.C. 120 to U.S. patent application Ser. No. 09/774,204 filed 29 Jan. 2001 entitled Prefix Caching For Media Objects, which application is hereby incorporated by reference.
  • FIELD OF THE INVENTION
  • The present invention relates broadly to computer networks and streaming media objects delivered over computer networks. Specifically, the present invention relates to caching portions of a video stream at various locations on a computer network, transmitting remaining portions once the cached segment is requested by a user, and delivering video data according to strict timing requirements.
  • BACKGROUND OF THE INVENTION
  • Broadband Internet network infrastructure is developing at rates that exceed the most aggressive analyst predictions. In the consumer market sector, telecommunications, cable and wireless companies have accelerated deployment of broadband capability to the home with xDSL, cable modem or wireless last mile rollouts. In the corporate market sector, broadband infrastructure is already available for desktop computing applications.
  • Broadband provides a foundation for the use of good quality IP video in Internet applications. Traditionally limited to Intranets or private networks, broadband Internet connectivity is paving the way for video-based applications such as Internet advertising with video, rich media on web pages, video-assisted e-commerce (video catalogs, travel, etc.), event webcasting, personalized information on demand (news, sports, medicine, lectures, movies, etc.), personal video exchanges, and training and corporate communications.
  • Compared to the low frame-rate, small sized videos traditionally found on the Internet and delivered on narrowband connections, advances in compression technologies have made reasonable quality video possible at connection rates of 300 Kbits/sec (Kbps) or higher. News stories and lectures with very little motion or action can be sent at lower bit rates of approximately 100 Kbps to 200 Kbps. Video with a lot of movement, like a fashion show, needs a higher bit rate to capture the motion and detail of the scene. For a content provider considering Internet distribution, 300 Kbps could be considered acceptable, and 1 to 1.5 Mbps, excellent. Video catalogues, advertisements, and other commerce-related uses of video require that the product be presented at the highest quality levels possible. Broadband rates of 1.5 Mbps and higher afford 30 frames per second (fps) video with CD quality audio. Content with a lot of movement, such as auto racing, needs even higher bit rate, as high as 3 to 4 Mbps.
  • As Broadband connections proliferate, demand for better performance has fostered an industry focused on speeding up the delivery of Internet content. The majority of these solutions have centered on smaller objects such as text and images. Due to its sheer size, video is one of the most difficult data types to manage on the Internet. A five-minute video clip, encoded and compressed at 1.5 Mbs is 56 Megabytes in size. Video also has strict timing requirements. A frame arriving past its presentation time ({fraction (1/30)} sec in the case of a 30 fps video) is useless and the user experiences jerky playback. Given these stringent requirements, delivering quality video over broadband is a challenging problem.
  • While deployment of the broadband infrastructure is an important step in enabling streaming video over the Internet, upgrades to connectivity and bandwidth alone do not assure the delivery of quality video to large audiences with minimal start-up latencies. When video is streamed to the end user via the Internet backbone, video quality is often impacted by problems. When the source of the video is not close enough to the end user, packet losses can severely compromise video quality. Packet losses result from congestion buffering introduced by network switches and routers between the video source and the end user. Current bandwidth costs (satellite and terrestrial) make it impractical to stream high-quality video from a server to the end user on a point-to-point basis.
  • Existing solutions geared towards improving the performance of accessing web pages containing rich media (typically images) are increasingly being used to address the problems with streaming video on the Internet. Currently, there are two classes of solutions that have been employed for improving performance on the Internet: content delivery networks and caching solutions.
  • Content Delivery Networks
  • Most content delivery networks employ architecture commonly referred to as distributed content services (DCS). Under DCS, portions of web pages containing large amounts of content such as images are replicated (“pushed”) on a number of edge servers deployed in last-mile service provider locations close to the edges of the network, as shown in FIG. 1. When a user accesses such a web page, the edge server closer to the user is directed to serve the replicated content to the user. This solution avoids moving large files through the network backbone for frequently used content. Avoiding the backbone can improve performance (since there are fewer hops between a strategically placed edge server and the client) and is a more cost-effective and scalable solution. Content delivery networks generally use private satellite and terrestrial networks to connect the originating server to the edge servers. This solution has been widely deployed to improve the delivery of small media types such as static images and streaming audio on web pages.
  • Caching Solutions
  • In the caching solutions approaches, when a user first accesses a web page containing static content (images, audio, video), content is served directly (“pushed”) from the origin server and is subsequently cached by a caching server. Caching servers are placed at strategic points in a network (typically an ISP network) that are closer to the end users. On subsequent access of the same pages, the cached content is served directly to the end user (FIG. 2). Caching systems consist of specialized equipment at the service provider locations that monitor URL requests for web objects. Serving content from cached server can reduce Internet backbone traffic up to 50% thus reducing bandwidth costs. Serving content from a cache closer to the end user also improves performance for the reasons outlined in the first approach.
  • The current methods for content delivery and caching are not optimal for the delivery of high-quality video. Current content delivery networks ensure guaranteed response times by storing all of the response-time sensitive data at the edges of the network. Users ensure response times by paying for storage costs. The main assumption here is that storage costs are significantly lower than bandwidth costs associated with transporting data over the backbone. The sheer sizes of high-quality, full-frame rate video on broadband networks require a reexamination of the storage vs. bandwidth issue. To illustrate this issue, consider emerging applications of broadband video on the Internet:
  • Delivery of Personalized Information On Demand
  • Customized delivery of information rich in video content (new, sports, entertainment, personal health etc.) is a growing application segment on the broadband Internet. A five-minute video segment at 1.0 Mbps amounts to 37.5 megabytes. One such channel of video, which is a 24-hour segment split into 5 minute segments amount to about 10 gigabytes of storage. A hundred such channels amount to 1 terabyte. Such media stored on 1000 edge servers amount to 1 petabyte of storage for one day's worth of video.
  • Content Delivery Network Approach Issues
  • From hardware cost perspective, it is impractical to store all of the data inside the edge networks. Additionally, floor space is at a premium at central offices and cable head-ends where the servers and storage need to be deployed. An intelligent placement of data based on measured and anticipated usage is certainly more practical. Storage issues involve more than just disk space. An 18-gigabyte disk may be large enough to hold approximately two days of one channel at an edge server. However, at current disk bandwidth rates (approximately 50 Mbps), a disk may have capacity to serve 50 users simultaneously. To serve more users, the data need to be replicated appropriately, adding—to the storage costs significantly.
  • Caching Approach Issues
  • Networks that use pure caching solutions also suffer from problems due to the sheer size of the objects they are required to cache. If a media object is not found in the cache, it takes a certain amount of time before the requested media object is found and the cache is loaded. To most users, this latency is unacceptable. Once cached, the system behaves as a content delivery system described above. However, for any reasonable size cache, the number of objects that can be cached is fairly small leading to high rate of cache misses.
  • Thus, an optimal solution for streaming video over the Internet is greatly needed. The current popular solutions have been designed for delivering static images and streaming audio over the Internet and are unable to meet streaming video requirements.
  • SUMMARY OF THE INVENTION
  • The present invention solves the problems described above by providing high quality media content distribution over global computer networks based on admission control in a prefix caching system. In an embodiment of the present invention, a relatively small portion of a media object (prefix) is stored at a server located proximate to a user. When the user requests the media object to be played, the prefix is streamed to the user while the remaining portion of the media object is fetched as quickly as possible from another location and delivered to the user while maintaining the timing requirements of audio and/or video, thus without interrupting or delaying the delivery to the user. This method eliminates the latency experienced in prior caching solutions.
  • When a user makes a URL selection for a media object on an edge server, the information stored on the server corresponding to the URL is examined to determine the status of the corresponding media object is in the edge server's cache. The status of a media object may be as follows: A) The object is fully contained in the cache. In this case no further action is needed and the media object is streamed to the user. B) The prefix of the media object is in the cache. In this case, a request to fetch the rest of the media is made and the media prefix is streamed to the user, and the remaining portion of the media object is streamed after the prefix is streamed. C) no part of the media object is available stored on the edge server. In this case, the user is made to wait until a sufficient amount of the media object is fetched before the streaming begins.
  • These and other attendant advantages of the present invention will be readily understood by one skilled in the art upon reading the following detailed description in view of the figures, in which:
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is an illustration in block diagram form of a prior art system employing an origin server and a network of edge servers;
  • FIG. 2 is an illustration in block diagram form of a prior art system employing a network of caching servers;
  • FIG. 3 is an illustration in block diagram form of the system of the present invention as deployed in a global computer network;
  • FIG. 4 is an illustration in block diagram form of the major components included in the system of the present invention;
  • FIG. 5 is a flowchart illustrating the logical sequence of steps executed to perform the method of the present invention; and
  • FIG. 6 is an illustration in block diagram form of the major components of a computer as used in conjunction with the system of the present invention.
  • DETAILED DESCRIPTION
  • According to the present invention, a media object is audio and/or video content that is divided into a beginning portion (prefix), and a remaining portion (suffix). A prefix can be stored (cached) on an edge server and streamed to a user while the suffix is being fetched from an origin server. Prefix caching for streaming media objects is more, complex than caching all other data types. A locally stored prefix can aid in the presentation of the stream to the end user with minimal startup latencies. However, because of the strict timing requirements of audio and video, the content transfer system must ensure that after the prefix has been streamed to the user, enough data is available for the streaming to continue uninterrupted. Otherwise, the user will experience jerky playback for audio and video.
  • A critical issue is the amount of data in a prefix that is stored on an edge server. Prior to starting the stream from the prefix cache available on disk, the following requirements must be met:
  • 1. The size of the prefix is large enough to ensure that given adequate resources, the streaming can continue uninterrupted, once started.
  • 2. It is possible to reserve resources (network bandwidth, disk bandwidth, CPU, memory, etc.) so that once started, the resources will continue to be available to service the stream uninterrupted.
  • These requirements are related. The larger the network bandwidth available, the smaller the prefix that needs to be cached. For example, if there is 10 Mbps available bandwidth between an origin server and an edge server and a 5 minute video clip at 1 Mbps (constant bit rate), the prefix only needs to be large enough to hide the round-trip messaging latency as well as latencies involved in setting up the stream between the origin server and the edge server. The rest of the data can be fetched as fast as the network allows (in this case, 10 times faster than the rate at which the data would be consumed).
  • If the available bandwidth between the origin server and edge server drops down to one Mbps due to multiple transfers in progress, there is very little tolerance for error. Larger prefixes in this case provide a cushion to compensate for spikes in available bandwidth. If the available bandwidth for fetching the suffix falls below the consumption rate (or encoded rate of the media object), possibility for starvation exists. In this case, the system cannot start the streaming right away; it needs to ensure that given the available bandwidth, there is enough cached data so that starvation will not occur before the media object is completely played back. If there is insufficient cached data, the edge server will first fetch more data into the prefix cache so that this constraint is satisfied prior to the start of streaming.
  • Admission control is performed to ensure that the prefix cache is large enough under the current network conditions (as measured by the two ends—the origin server and the edge server). The basic operation of the admission control system is as follows: T=Total size of the media object (video and/or audio file). P=Size of the prefix currently available at an edge. B=bitrate of the asset (for variable bit rate asset, this could be the average bitrate). The duration of the media is T/B. The duration of the prefix is P/B. The transfer rate R required by is given by: (T−P)/(T/B). Thus the admission control system needs to guarantee that the available bandwidth at that instant exceeds R. If R were less than the current network capacity, then starvation would occur. Since T and B are constant, starvation is avoided by adjusting P. The present invention provides information on what the value of P should be that would prevent starvation. The value of P is adjusted as necessary to compensate for spikes in network bandwidth.
  • The present invention provides services to ensure that once admitted, resources are available and locked down to ensure that starvation will not occur. The storage manager provides accounting services for disk bandwidth. Disk bandwidth resource management is required to ensure that at the origin server as well as the edge server, data can be read and written according to the needs of the admission control system. The connection manager ensures that the network interfaces have the sufficient bandwidth for streaming as well as transfers to caches by providing accounting at the network interface level. However, this accounting may be inaccurate in a public network where traffic in the network cannot be completely measured by any two end points, if the end points are not point-to-point connections. This is not a problem in managed networks, where the network activity in the system can be completely accounted for.
  • Directing attention to FIG. 3, an embodiment of the present invention incorporates a computer network 100 having a client server or peer to peer architecture. Origin subsystem 102 includes an origin server 104, and media store module 108. The origin subsystem 102 is connected to edge subsystems 110-1, 110-2, . . . , 110-n (where n is a desirable number of computers), via computer network 100, and provides media objects to the edge subsystems 110 on demand. Each edge subsystem 110 includes an edge server 114 having a connection manager 116 and storage manager 117. Prefix cache 118, as well as other storage for media objects, is also included in edge subsystem 110. The edge subsystems 110 in turn delivers the media objects to users at remote locations. Media objects are also stored on the origin subsystem 102's media content store. The prefix is distributed to the prefix cache 118 a priori, thus avoiding initial latencies involved in copying media objects from an origin server to an edge server. Prefix size can be determined manually or automatically based on network capacity and/or other conditions. The prefix caching distribution of the present invention involves distribution of prefixes to the edge servers 114 based on characteristics such as anticipated demand, measured usage and the type of connection between the origin server 104 and the edge server 114. For example, a larger prefix may be pushed to the edge servers 114 based on anticipated demand and service level agreements. If a hit occurs for media object having a prefix stored at the edge server, streaming can begin upon demand, while the suffix is fetched in parallel (pipelined) from the origin server 104 and cached at the edge server 114. This reduces the a priori storage space requirements while eliminating latencies of initial access. When cache is recycled, prefixes are retained.
  • Broadband Media System
  • To build the media content delivery network of the present invention, a service provider can deploy the system in a centrally hosted, edge-served distributed architecture. FIG. 4 illustrates the components utilized in connection with origin subsystem 102 and edge subsystem 110. Content store module 108 provides for acquisition, hosting and distribution of media. Media distribution formats are open and published, enabling content from a hosted system to be injected into content delivery networks. The content store module 108 includes a media streaming module 122. Media streaming module 122 can include data pumps for MPEG-1 (system streams), MPEG-2 (transport streams), MP3, QuickTime and H.263. Real Server G2 can also be used, providing streaming for Real Audio and Real Media. Windows Media Server can also be used to provide ASF streaming, running on NT servers.
  • The media management module 124 performs acquisition management over content, stores the content in file systems and manages storage on the server. The media distribution module 126 manages transfer of content for scheduled transfers, on demand transfers, as well as unicast and multicast transfers.
  • Currently available content delivery networks are optimized for small web objects. Serving broadband media to millions of users requires solutions geared specifically for addressing the technical demands imposed by media objects. The system of the present invention provides an optimal solution for media delivery where storage capacity available at the network core can be efficiently utilized as backing store for edge servers 114.
  • The system of the present invention is format-independent and provides streaming for a variety of formats that cover the range of narrowband to broadband media. As discussed above, the system provides streaming of formats such as H.263, MPEG-1, MP3, MPEG-2, QuickTime, RealAudio and RealVideo formats, thus allowing more than one representation of a media object associated with a URL. For example, a URL representing a video stream may be backed by a QuickTime video encoded at 128 Kbps as well as an MPEG-1 video encoded at 1.5 Mbps.
  • FIG. 5 illustrates the logical sequence of operative steps that carry out the method of the present invention. These steps may be embodied in a computer program 150. Beginning at step 152, a user connected to an edge server 114 requests delivery of a media object associated with a URL. This request can take the form of a URL for the desired media object being sent from the user to the edge server 114. At decision step 154, the edge server 114 searches the prefix cache 118 to see if object information matching the media object requested by the user is stored. If there is object information, control proceeds to decision step 156, where the object information is evaluated to determine the status of the requested media object. Status of a media object can be fully available, partially available, or unavailable. If the media object is unavailable, control proceeds to step 158 where available bandwidth is examined and a transfer rate R is reserved where R is greater than zero and less than or equal to the available bandwidth. Continuing to step 160, a new prefix size P′ is calculated P=T(1−R/B). Continuing to step. 162, data (d) is loaded. If d is less than the new prefix size p′ (decision step 164), then control returns to step 162 and more data is loaded. Continuing to step 166, the media suffix is loaded in parallel, and the media object is streamed to the user (step 168). While steps 166 and 168 are shown in a sequential order, streaming in step 168 may also begin before or concurrently with step 166. Returning to step 156, if the status of the media object is evaluated to be fully available, control proceeds directly to step 168. However, if the status of the media object is evaluated as partially available, control proceeds to step 170, where the rate R is computed as T−P divided by T/B. Continuing to decision step 172, admission control is performed by examining whether sufficient bandwidth R is available. If sufficient bandwidth is available, control proceeds to step 166 where the suffix is loaded in parallel and the media object is streamed to the user at step 168. However, if sufficient bandwidth is not available, control proceeds to steps 158 through 168 as described above.
  • If transfer rates are slow, due to high network traffic, the amount of data that must be cached before streaming is larger than the amount required if network conditions are optimal; in this manner, strict timing requirements of streaming media are met and jerky playback and other problems associated with timing are avoided.
  • FIG. 6 illustrates in high level block diagram form the major hardware components of a computer that may be used to implement the origin subsystem 102 and edge subsystem of the present invention. Computer 200 incorporates a processor 202 utilizing a central processing unit (CPU) and supporting integrated circuitry. In the preferred embodiment, work stations such as Sun Ultra computers available from Sun Microsystems can be used as computer 200. Memory 204 may include RAM and NVRAM such as flash memory, to facilitate prefix cache 118 and storage of software modules executed by processor 202, such as computer program 150. Also included in computer 200 are keyboard 206, pointing device 208, and monitor 210, which allow a user to interact with computer 200 during execution of software programs. Mass storage devices such as disk drive 212 and CD ROM 214 may also be in computer 200 to provide storage for computer programs, media objects and associated files. Memory 204, disk drive 212, and CD ROM 214 may be used to implement the content store module 108, and prefix cache 118. Computer 200 may communicate with other computers via communication connection 216 and communication line 218 to allow the computer 200 to be operated remotely, or utilize files stored at different locations. The components described above may be operatively connected by a communications bus 220.
  • Having disclosed exemplary embodiments and the best mode, modifications and variations may be made to the disclosed embodiments while remaining within the scope of the present invention as defined by the following claims.

Claims (50)

1. A method for streaming a media object stored at an origin server from an edge server at a bit rate, the method comprising:
determining a size of a prefix stored on the edge server;
determining a necessary transfer rate, based on the size of the prefix, for streaming at the bit rate; and
reserving bandwidth between the origin server and the edge server to achieve the necessary transfer rate.
2. A method according to claim 1 wherein the media object is stored on a disk, further comprising:
reserving disk bandwidth on the disk to achieve the necessary transfer rate.
3. A method according to claim 1, wherein the necessary transfer rate is greater than a threshold rate, the method further comprising:
increasing the size of the prefix based on the necessary transfer rate and re-calculating the necessary transfer rate based on the increased size of the prefix.
4. A method according to claim 1, wherein the media object comprises an audio and video movie media object.
5. A method for streaming a media object stored on a storage device from a first server to a second server, the media object having a minimum playback rate, the method comprising:
reserving an amount of network bandwidth between the first and second servers;
reserving an amount of disk bandwidth on the storage device;
storing a prefix comprising a portion of the media object at the edge server; and
initiating playback of the prefix and transferring a remaining portion of the media object to the edge server if the prefix is large enough to playback the media object at the minimum playback rate using the amount of network bandwidth and the amount of disk bandwidth.
6. A method according to claim 5, further comprising increasing a size of the prefix if the prefix is not large enough to playback the media object at the minimum playback rate using the amount of network bandwidth and the amount of disk bandwidth.
7. A method according to claim 5, wherein a size of the prefix is determined by the amount of network bandwidth and the amount of disk bandwidth.
8. A method according to claim 5, wherein the act of reserving the amount of network bandwidth comprises reserving the amount of network bandwidth for a duration of playback of the media object.
9. A method according to claim 5, wherein the act of reserving the amount of disk bandwidth comprises reserving the amount of disk bandwidth for a duration of playback of the media object.
10. A method according to claim 5, wherein the amount of network bandwidth, the amount of disk bandwidth, and a size of the prefix are determined to ensure playback of the media object at the minimum playback rate and balance system resources.
11. A method according to claim 5, wherein the media object is at least a portion of a video.
12. A method of streaming media objects over a computer network to a recipient, the network having at least one origin server and at least one edge server, the method comprising:
receiving a request for deliver of a media object to a recipient;
if the media object is fully stored on the edge server, then streaming the media object to the recipient;
if the media object is partially stored on the edge server, then streaming a prefix of the media object to the requestor while simultaneously fetching the suffix of the media object from the origin server, then streaming the suffix to the recipient such that no interruption in streaming occurs between streaming the prefix and streaming the suffix; and
if the media object is not stored on the edge server, fetching a sufficient portion of the media object, reserving sufficient network bandwidth on a connection between the edge server and the origin server, then begin streaming the sufficient portion while the remaining portion of the media object is fetched, and streaming the remaining portion after the sufficient portion has been streamed so that no interruption in streaming occurs between streaming the sufficient portion and streaming the remaining portion.
13. A method according to claim 8, wherein the media object comprises a video movie media object.
14. A method according to claim 8, further comprising:
reserving an amount of bandwidth on a connection between the origin server and the edge server, the amount of bandwidth sufficient to allow transfer of said media object to said edge server such that the media object is viewed by the client computer without interruption.
15. A method according to claim 8, further comprising:
reserving an amount of disk bandwidth on a device storing the media object, the amount of disk bandwidth sufficient to allow transfer of said media object to said edge server such that the media object is received by the client computer without interruption.
16. The method of claim 12, wherein said requestor comprises a client computer.
17. The method of claim 12, wherein said recipient comprises a client computer.
18. The method of claim 12, wherein said requestor is said recipient.
19. The method of claim 12, wherein said requestor comprises a user.
20. The method of claim 12, wherein said recipient comprises a user.
21. The method of claim 12, wherein said media object is referenced by a URL.
22. The method of claim 21, wherein said requestor requests delivery of said media object by selecting said URL.
23. A computer program product for streaming media objects over a computer network to a recipient, the network having at least one origin server and at least one edge server, the computer program product, when executed on a computer, performing:
storing a prefix, said prefix comprising a beginning portion of said media object, and a size of the prefix is determined, at least in part, by anticipated demand for said media object;
receiving a delivery request from a requestor for delivery of said media object to a recipient;
transmitting said prefix to said recipient in response to said delivery request;
receiving a remaining portion of said media object associated with said prefix; and
transmitting said media object to said recipient such that delivery of the prefix is followed by delivery of the media object without interruption or delay.
24. The computer program product of claim 23, wherein said requestor comprises a client computer.
25. The computer program product of claim 23, wherein said recipient comprises a client computer.
26. The computer program product of claim 23, wherein said requestor is said recipient.
27. The computer program product of claim 23, wherein said requestor comprises a user.
28. The computer program product of claim 23, wherein said recipient comprises a user.
29. The computer program product of claim 23, wherein said media object is referenced by a URL.
30. The computer program product of claim 29, wherein said requestor requests delivery of said media object by selecting said URL.
31. A computer program product for streaming media objects over a computer network to a user, the network having at least one origin server and at least one edge server, the computer program product, when executed on a computer, performing the steps of:
receiving a user request for delivery of a media object;
if the media object is fully stored on the edge server, then streaming the media object to the user;
if the media object is partially stored on the edge server, then streaming a prefix of the media object to the user while simultaneously fetching the suffix of the media object from the origin server, then streaming the suffix such that no interruption in streaming occurs between streaming the prefix and streaming the suffix; and
if the media object is not stored on the edge server, fetching a sufficient portion of the media object, reserving sufficient network bandwidth on a connection between the edge server and the origin server, then begin streaming the sufficient portion while the remaining portion of the media object is fetched, and streaming the remaining portion after the sufficient portion has been streamed such that no interruption in streaming occurs between streaming the sufficient portion and streaming the remaining portion.
32. A computer program product according to claim 31, wherein the media object comprises a video movie media object.
33. A computer program product according to claim 31, wherein the amount of network bandwidth is sufficient to allow transfer of said media object to said edge server such that the media object is viewed by the client computer without interruption.
34. A computer program product as in claim 31, wherein the prefix of the media object is a temporally first portion of the media object that would precede a second portion of the media object during a viewing of the media object by a user.
35. A computer program product as in claim 31, wherein the suffix of the media object is a temporally second portion of the media object that would follow a first portion of the media object during a viewing of the media object by a user.
36. A computer system for streaming media objects to a recipient in response to a request by a requester, said computer system comprising:
at least one origin server computer storing at least one media object; and
at least one edge server computer in communication with said origin server computer;
said at least one edge server computer storing a prefix containing a beginning portion of said media object, a size of the prefix being determined, at least in part, by anticipated demand for said media object;
said edge server computer receiving a request for the streaming of said media object; and
said origin server computer transmitting said media object associated with said beginning portion to said edge server computer, said edge server computer subsequently streaming said media object associated with said first portion to said recipient such that delivery of the beginning portion and said subsequently transmitted media object is continuous and uninterrupted.
37. The computer system of claim 36, wherein said origin server computer contains said media object in multiple file formats.
38. The computer system of claim 36, further including a media streaming module.
39. The computer system of claim 36, further including a media management module.
40. The computer system of claim 36, further including a media distribution module.
41. The computer system of claim 38, wherein said media streaming module, media management module, and media distribution module are included in said origin server computer.
42. The computer system of claim 41, wherein said media streaming module, media management module, and media distribution module are included in said edge server computer.
43. A computer system according to claim 36, wherein the media object comprises a video movie media object.
44. A computer system according to claim 36, wherein said requestor comprises a client computer.
45. A computer system according to claim 36, wherein said recipient comprises a client computer.
46. A computer system according to claim 36, wherein said requestor is said recipient.
47. A computer system according to claim 36, wherein said requestor comprises a user.
48. A computer system according to claim 36, wherein said recipient comprises a user.
49. A computer system according to claim 36, wherein said media object is referenced by a URL.
50. A computer system according to claim 49, wherein said requestor requests delivery of said media object by selecting said URL.
US10/995,703 2001-01-29 2004-11-22 Method and system for media object streaming Abandoned US20050071496A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/995,703 US20050071496A1 (en) 2001-01-29 2004-11-22 Method and system for media object streaming

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/774,204 US6859840B2 (en) 2001-01-29 2001-01-29 Prefix caching for media objects
US10/995,703 US20050071496A1 (en) 2001-01-29 2004-11-22 Method and system for media object streaming

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/774,204 Division US6859840B2 (en) 2001-01-29 2001-01-29 Prefix caching for media objects

Publications (1)

Publication Number Publication Date
US20050071496A1 true US20050071496A1 (en) 2005-03-31

Family

ID=25100530

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/774,204 Expired - Lifetime US6859840B2 (en) 2001-01-29 2001-01-29 Prefix caching for media objects
US10/995,703 Abandoned US20050071496A1 (en) 2001-01-29 2004-11-22 Method and system for media object streaming

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/774,204 Expired - Lifetime US6859840B2 (en) 2001-01-29 2001-01-29 Prefix caching for media objects

Country Status (6)

Country Link
US (2) US6859840B2 (en)
EP (1) EP1410227A4 (en)
JP (1) JP2005505806A (en)
KR (1) KR20030084914A (en)
CA (1) CA2436578A1 (en)
WO (1) WO2002061532A2 (en)

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040034863A1 (en) * 2002-08-13 2004-02-19 Barrett Peter T. Fast digital channel changing
US20050055425A1 (en) * 2001-06-12 2005-03-10 Network Appliance, Incorporated Pre-computing streaming media payload method and apparatus
US20050081244A1 (en) * 2003-10-10 2005-04-14 Barrett Peter T. Fast channel change
US20050080904A1 (en) * 2003-10-10 2005-04-14 Microsoft Corporation Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints
US20050165828A1 (en) * 2001-06-12 2005-07-28 Network Appliance Inc. Caching media data using content sensitive object identifiers
US20060010225A1 (en) * 2004-03-31 2006-01-12 Ai Issa Proxy caching in a photosharing peer-to-peer network to improve guest image viewing performance
US20060117359A1 (en) * 2003-06-13 2006-06-01 Microsoft Corporation Fast Start-up for Digital Video Streams
US20060126667A1 (en) * 2004-12-10 2006-06-15 Microsoft Corporation Accelerated channel change in rate-limited environments
US20060136551A1 (en) * 2004-11-16 2006-06-22 Chris Amidon Serving content from an off-line peer server in a photosharing peer-to-peer network in response to a guest request
US7076560B1 (en) 2001-06-12 2006-07-11 Network Appliance, Inc. Methods and apparatus for storing and serving streaming media data
US20060155779A1 (en) * 2004-12-20 2006-07-13 Chang-Soo Kim Contents distribution management system with multi-service type management function and method thereof
US7130908B1 (en) 2001-03-13 2006-10-31 Intelsat Ltd. Forward cache management between edge nodes in a satellite based content delivery system
US20060282405A1 (en) * 2005-06-10 2006-12-14 Microsoft Corporation System and method for optimized distributed file transfer
US7155531B1 (en) * 2001-06-12 2006-12-26 Network Appliance Inc. Storage methods and apparatus for streaming media data
US7154898B1 (en) * 2001-03-13 2006-12-26 Intelsat, Ltd. Scalable edge node
US20070005797A1 (en) * 2003-04-24 2007-01-04 Koninklijke Philips Electronics N.V. Peer to peer transfer of content
US20070008966A1 (en) * 2005-06-23 2007-01-11 Cisco Technology, Inc. Method and system for sending a multimedia stream in an IP multicast network
US20070022174A1 (en) * 2005-07-25 2007-01-25 Issa Alfredo C Syndication feeds for peer computer devices and peer networks
US7174373B1 (en) 2001-03-13 2007-02-06 Panamsat Corporation Self-contained demonstration node in a satellite based content delivery system
KR100718134B1 (en) 2005-07-21 2007-05-14 삼성전자주식회사 Method and apparatus of encoding/decoding video data using bitrate adaptive binary arithmetic coding
US20070121629A1 (en) * 2005-11-30 2007-05-31 Microsoft Corporation Accelerated channel change
US7237017B1 (en) 2001-03-13 2007-06-26 Panamsat Corporation Micronode in a satellite based content delivery system
US7386627B1 (en) 2002-01-29 2008-06-10 Network Appliance, Inc. Methods and apparatus for precomputing checksums for streaming media
US20090010273A1 (en) * 2004-02-27 2009-01-08 Microsoft Corporation Media Stream Splicer
US20090161769A1 (en) * 2002-08-13 2009-06-25 Microsoft Corporation Seamless digital channel changing
US20090282159A1 (en) * 2008-04-09 2009-11-12 Level 3 Communications, Llc Content delivery in a network
US7640352B2 (en) 2004-09-24 2009-12-29 Microsoft Corporation Methods and systems for presentation of media obtained from a media stream
US20100077056A1 (en) * 2008-09-19 2010-03-25 Limelight Networks, Inc. Content delivery network stream server vignette distribution
US20100094895A1 (en) * 2008-10-15 2010-04-15 Nokia Corporation Method and Apparatus for Providing a Media Object
US20100241757A1 (en) * 2007-10-23 2010-09-23 Maowei Hu System and Method for Storing Streaming Media File
US7849163B1 (en) 2005-08-11 2010-12-07 Qurio Holdings, Inc. System and method for chunked file proxy transfers
US20110118858A1 (en) * 2009-11-13 2011-05-19 Apple Inc. Local storage of a portion of streamed media items
US8005889B1 (en) 2005-11-16 2011-08-23 Qurio Holdings, Inc. Systems, methods, and computer program products for synchronizing files in a photosharing peer-to-peer network
US20110219138A1 (en) * 2010-03-05 2011-09-08 Samsung Electronics Co., Ltd. Apparatus and method for providing streaming service in a data communication network
US8788572B1 (en) 2005-12-27 2014-07-22 Qurio Holdings, Inc. Caching proxy server for a peer-to-peer photosharing system
US9247270B2 (en) 2011-06-28 2016-01-26 Samsung Electronics Co., Ltd. Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding
US9325805B2 (en) 2004-08-02 2016-04-26 Steve J Shattil Content delivery in wireless wide area networks
US9426244B2 (en) 2008-04-09 2016-08-23 Level 3 Communications, Llc Content delivery in a network
US10419533B2 (en) 2010-03-01 2019-09-17 Genghiscomm Holdings, LLC Edge server selection for device-specific network topologies
CN110913279A (en) * 2018-09-18 2020-03-24 北京悉见科技有限公司 Processing method for augmented reality and augmented reality terminal
US11330046B2 (en) 2010-03-01 2022-05-10 Tybalt, Llc Content delivery in wireless wide area networks

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654933B1 (en) 1999-09-21 2003-11-25 Kasenna, Inc. System and method for media stream indexing
US7310678B2 (en) * 2000-07-28 2007-12-18 Kasenna, Inc. System, server, and method for variable bit rate multimedia streaming
US7277956B2 (en) * 2000-07-28 2007-10-02 Kasenna, Inc. System and method for improved utilization of bandwidth in a computer system serving multiple users
US6813693B2 (en) * 2000-12-11 2004-11-02 Microsoft Corporation System and method for the discovery and use of repetitively accessed data
US6859840B2 (en) * 2001-01-29 2005-02-22 Kasenna, Inc. Prefix caching for media objects
US20030018978A1 (en) * 2001-03-02 2003-01-23 Singal Sanjay S. Transfer file format and system and method for distributing media content
EP1374080A2 (en) * 2001-03-02 2004-01-02 Kasenna, Inc. Metadata enabled push-pull model for efficient low-latency video-content distribution over a network
US6988169B2 (en) * 2001-04-19 2006-01-17 Snowshore Networks, Inc. Cache for large-object real-time latency elimination
WO2002087235A1 (en) * 2001-04-19 2002-10-31 Vividon, Inc. System for applying metric to multimedia files over network
US20050015468A1 (en) * 2001-08-28 2005-01-20 Boey-Kin Lim Method and system for propogating points of presence over a computer network
US7526433B2 (en) * 2001-09-04 2009-04-28 Panasonic Coporation Virtual content distribution system
US20030055910A1 (en) * 2001-09-19 2003-03-20 International Business Machines Corporation Method and apparatus to manage data on a satellite data server
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US20040088380A1 (en) * 2002-03-12 2004-05-06 Chung Randall M. Splitting and redundant storage on multiple servers
US8942082B2 (en) 2002-05-14 2015-01-27 Genghiscomm Holdings, LLC Cooperative subspace multiplexing in content delivery networks
US7403993B2 (en) * 2002-07-24 2008-07-22 Kasenna, Inc. System and method for highly-scalable real-time and time-based data delivery using server clusters
US20040199650A1 (en) * 2002-11-14 2004-10-07 Howe John E. System and methods for accelerating data delivery
US7555540B2 (en) * 2003-06-25 2009-06-30 Microsoft Corporation Media foundation media processor
US7941554B2 (en) * 2003-08-01 2011-05-10 Microsoft Corporation Sparse caching for streaming media
US20050034151A1 (en) * 2003-08-08 2005-02-10 Maven Networks, Inc. System and method of integrating video content with interactive elements
US20050044260A1 (en) * 2003-08-08 2005-02-24 Maven Networks, Inc. System and method for delivery of broadband content
WO2005015912A2 (en) * 2003-08-08 2005-02-17 Maven Networks, Inc. System and method of integrating video content with interactive elements
US20050034153A1 (en) * 2003-08-08 2005-02-10 Maven Networks, Inc. System and method for delivery of broadband content with integrated interactive elements
KR100840419B1 (en) * 2004-02-24 2008-06-20 닛본 덴끼 가부시끼가이샤 Information distributing system and method, information distributing apparatus therefor, receiver terminal, and information relaying apparatus
US20050262245A1 (en) * 2004-04-19 2005-11-24 Satish Menon Scalable cluster-based architecture for streaming media
US10307680B1 (en) * 2004-11-08 2019-06-04 At&T Intellectual Property Ii, Lp On-demand rich media content distribution responsive to on-line gamer position and status
US20060143668A1 (en) * 2004-12-28 2006-06-29 Du Breuil Thomas L Device, system and method for pre-caching media content for home entertainment devices and gateways
US8438297B1 (en) * 2005-01-31 2013-05-07 At&T Intellectual Property Ii, L.P. Method and system for supplying media over communication networks
US20060215630A1 (en) * 2005-03-25 2006-09-28 Cherng-Daw Hwang Feature scalability in a multimedia communication system
US7259697B2 (en) * 2005-12-14 2007-08-21 International Business Machines Corporation Method and system for performing character-based streaming of mixed-byte encoded data
US7793329B2 (en) * 2006-02-06 2010-09-07 Kasenna, Inc. Method and system for reducing switching delays between digital video feeds using multicast slotted transmission technique
US8370455B2 (en) * 2006-03-09 2013-02-05 24/7 Media Systems and methods for mapping media content to web sites
US20070288604A1 (en) * 2006-06-08 2007-12-13 Jeffrey Mark Achtermann Method for determining optimal number of connections in multi-connection download configuration
US20080059631A1 (en) * 2006-07-07 2008-03-06 Voddler, Inc. Push-Pull Based Content Delivery System
US20080072264A1 (en) * 2006-08-02 2008-03-20 Aaron Crayford Distribution of content on a network
US20080109557A1 (en) * 2006-11-02 2008-05-08 Vinay Joshi Method and system for reducing switching delays between digital video feeds using personalized unicast transmission techniques
US20080162281A1 (en) * 2006-12-28 2008-07-03 Marc Eliot Davis System for creating media objects including advertisements
WO2008088338A1 (en) * 2007-01-18 2008-07-24 Thomson Licensing Prefix caching assisted quality of service aware peer-to-peer video-on-demand
US20090125634A1 (en) * 2007-11-08 2009-05-14 Microsoft Corporation Network media streaming with partial syncing
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
CA2720353C (en) 2008-04-04 2016-01-19 Level 3 Communications, Llc Handling long-tail content in a content delivery network (cdn)
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
MX2010002097A (en) 2008-09-30 2010-08-02 Panasonic Corp Recording medium, reproduction device, system lsi, reproduction method, spectacle, and display device associated with 3d video.
US8266661B2 (en) * 2008-10-14 2012-09-11 Alcatel Lucent Method and apparatus for performing template-based prefix caching for use in video-on-demand applications
EP2538629A1 (en) * 2011-06-22 2012-12-26 Alcatel Lucent Content delivering method
US20140136644A1 (en) * 2011-07-01 2014-05-15 Nokia Solutions And Networks Oy Data storage management in communications
US8661479B2 (en) 2011-09-19 2014-02-25 International Business Machines Corporation Caching large objects with multiple, unknown, and varying anchor points at an intermediary proxy device
US9350822B2 (en) * 2012-08-10 2016-05-24 Cisco Technology, Inc. Distributed web object identification for web caching
CN103716658B (en) * 2012-09-28 2017-05-17 株式会社日立制作所 Video on demand service device and method
US9332046B2 (en) * 2013-10-17 2016-05-03 Cisco Technology, Inc. Rate-adapted delivery of virtual desktop image elements by an edge server in a computer network environment
CN104702980B (en) * 2015-02-28 2018-07-20 聚好看科技股份有限公司 A kind of EPG data processing method, EPG server and EPG data processing system
JP6492782B2 (en) * 2015-03-06 2019-04-03 日本電気株式会社 Information processing resource management system, information processing resource management method, and information processing resource management program
CN109756756B (en) * 2017-11-08 2021-10-22 阿里巴巴集团控股有限公司 Video playing method and video playing device

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US643298A (en) * 1899-11-17 1900-02-13 Charles Lampitt Apparatus for supporting casks or barrels.
US1868601A (en) * 1931-06-05 1932-07-26 Arthur J Harris Ribbon pack
US2839185A (en) * 1956-09-25 1958-06-17 Mort And Jack Isaacs Inc Display packet
US5568181A (en) * 1993-12-09 1996-10-22 International Business Machines Corporation Multimedia distribution over wide area networks
US6094706A (en) * 1998-03-02 2000-07-25 International Business Machines Corporation Caching in a data processing system using the pigeon hole principle
US6131095A (en) * 1996-12-11 2000-10-10 Hewlett-Packard Company Method of accessing a target entity over a communications network
US20020010798A1 (en) * 2000-04-20 2002-01-24 Israel Ben-Shaul Differentiated content and application delivery via internet
US20020038374A1 (en) * 1998-09-15 2002-03-28 Anoop Gupta Multimedia timeline modification in networked client/server systems
US20020040403A1 (en) * 1999-05-04 2002-04-04 Richard S. Goldhor Method and apparatus for providing continuous playback or distribution of audio and audio-visual streamed multimedia received over networks having non-deterministic delays
US20020049846A1 (en) * 2000-07-28 2002-04-25 Horen Robert S. System and method for improved utilization of bandwidth in a computer system serving multiple users
US20020065925A1 (en) * 1999-09-18 2002-05-30 Jeremy A. Kenyon Dynamic scalable multi-media content streaming
US20020078203A1 (en) * 2000-03-17 2002-06-20 Greschler David M. Method for serving third party software applications from servers to client computers
US20020103928A1 (en) * 2001-01-29 2002-08-01 Singal Sanjay S. Prefix caching for media objects
US20020152318A1 (en) * 2001-03-02 2002-10-17 Menon Satish N. Metadata enabled push-pull model for efficient low-latency video-content distribution over a network
US20020161868A1 (en) * 2001-04-27 2002-10-31 International Business Machines Corporation Method and system for fault-tolerant remote boot in the presence of boot server overload/failure with self-throttling boot servers
US20030018978A1 (en) * 2001-03-02 2003-01-23 Singal Sanjay S. Transfer file format and system and method for distributing media content
US20030187811A1 (en) * 1999-11-12 2003-10-02 Sih-Pin Subrina Chang System and method of enriching non-linkable media representations in a network by enabling an overlying hotlink canvas

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6111567A (en) * 1997-04-03 2000-08-29 Microsoft Corporation Seamless multimedia branching

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US643298A (en) * 1899-11-17 1900-02-13 Charles Lampitt Apparatus for supporting casks or barrels.
US1868601A (en) * 1931-06-05 1932-07-26 Arthur J Harris Ribbon pack
US2839185A (en) * 1956-09-25 1958-06-17 Mort And Jack Isaacs Inc Display packet
US5568181A (en) * 1993-12-09 1996-10-22 International Business Machines Corporation Multimedia distribution over wide area networks
US6131095A (en) * 1996-12-11 2000-10-10 Hewlett-Packard Company Method of accessing a target entity over a communications network
US6094706A (en) * 1998-03-02 2000-07-25 International Business Machines Corporation Caching in a data processing system using the pigeon hole principle
US20020038374A1 (en) * 1998-09-15 2002-03-28 Anoop Gupta Multimedia timeline modification in networked client/server systems
US20020040403A1 (en) * 1999-05-04 2002-04-04 Richard S. Goldhor Method and apparatus for providing continuous playback or distribution of audio and audio-visual streamed multimedia received over networks having non-deterministic delays
US20020065925A1 (en) * 1999-09-18 2002-05-30 Jeremy A. Kenyon Dynamic scalable multi-media content streaming
US20030187811A1 (en) * 1999-11-12 2003-10-02 Sih-Pin Subrina Chang System and method of enriching non-linkable media representations in a network by enabling an overlying hotlink canvas
US20020078203A1 (en) * 2000-03-17 2002-06-20 Greschler David M. Method for serving third party software applications from servers to client computers
US20020010798A1 (en) * 2000-04-20 2002-01-24 Israel Ben-Shaul Differentiated content and application delivery via internet
US20020049846A1 (en) * 2000-07-28 2002-04-25 Horen Robert S. System and method for improved utilization of bandwidth in a computer system serving multiple users
US20020103928A1 (en) * 2001-01-29 2002-08-01 Singal Sanjay S. Prefix caching for media objects
US20020152318A1 (en) * 2001-03-02 2002-10-17 Menon Satish N. Metadata enabled push-pull model for efficient low-latency video-content distribution over a network
US20030018978A1 (en) * 2001-03-02 2003-01-23 Singal Sanjay S. Transfer file format and system and method for distributing media content
US20020161868A1 (en) * 2001-04-27 2002-10-31 International Business Machines Corporation Method and system for fault-tolerant remote boot in the presence of boot server overload/failure with self-throttling boot servers

Cited By (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7130908B1 (en) 2001-03-13 2006-10-31 Intelsat Ltd. Forward cache management between edge nodes in a satellite based content delivery system
US7237017B1 (en) 2001-03-13 2007-06-26 Panamsat Corporation Micronode in a satellite based content delivery system
US7174373B1 (en) 2001-03-13 2007-02-06 Panamsat Corporation Self-contained demonstration node in a satellite based content delivery system
US7154898B1 (en) * 2001-03-13 2006-12-26 Intelsat, Ltd. Scalable edge node
US7073028B2 (en) 2001-06-12 2006-07-04 Network Appliance, Inc. Pre-computing streaming media payload method and apparatus
US7155531B1 (en) * 2001-06-12 2006-12-26 Network Appliance Inc. Storage methods and apparatus for streaming media data
US20050055425A1 (en) * 2001-06-12 2005-03-10 Network Appliance, Incorporated Pre-computing streaming media payload method and apparatus
US7376790B2 (en) 2001-06-12 2008-05-20 Network Appliance, Inc. Caching media data using content sensitive object identifiers
US7076560B1 (en) 2001-06-12 2006-07-11 Network Appliance, Inc. Methods and apparatus for storing and serving streaming media data
US20050165828A1 (en) * 2001-06-12 2005-07-28 Network Appliance Inc. Caching media data using content sensitive object identifiers
US7386627B1 (en) 2002-01-29 2008-06-10 Network Appliance, Inc. Methods and apparatus for precomputing checksums for streaming media
US8397269B2 (en) 2002-08-13 2013-03-12 Microsoft Corporation Fast digital channel changing
US8156534B2 (en) 2002-08-13 2012-04-10 Microsoft Corporation Seamless digital channel changing
US20040034863A1 (en) * 2002-08-13 2004-02-19 Barrett Peter T. Fast digital channel changing
US20090161769A1 (en) * 2002-08-13 2009-06-25 Microsoft Corporation Seamless digital channel changing
US20070005797A1 (en) * 2003-04-24 2007-01-04 Koninklijke Philips Electronics N.V. Peer to peer transfer of content
US7574515B2 (en) * 2003-04-24 2009-08-11 Koninklijke Philips Electronics N.V. Peer to peer transfer of content
US7603689B2 (en) 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
US7636934B2 (en) 2003-06-13 2009-12-22 Microsoft Corporation Fast start-up for digital video streams
US7587737B2 (en) 2003-06-13 2009-09-08 Microsoft Corporation Fast start-up for digital video streams
US20060117358A1 (en) * 2003-06-13 2006-06-01 Microsoft Corporation Fast Start-up for Digital Video Streams
US20060117359A1 (en) * 2003-06-13 2006-06-01 Microsoft Corporation Fast Start-up for Digital Video Streams
US9363302B2 (en) 2003-10-10 2016-06-07 Microsoft Technology Licensing, Llc Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints
US20090013080A1 (en) * 2003-10-10 2009-01-08 Microsoft Corporation Media Stream Scheduling for Hiccup-Free Fast-Channel-Change in the Presence of Network Chokepoints
US7562375B2 (en) 2003-10-10 2009-07-14 Microsoft Corporation Fast channel change
US20050081244A1 (en) * 2003-10-10 2005-04-14 Barrett Peter T. Fast channel change
US20080189425A1 (en) * 2003-10-10 2008-08-07 Microsoft Corporation Media Stream Scheduling for Hiccup-Free Fast-Channel-Change in the Presence of Network Chokepoints
US20080189755A1 (en) * 2003-10-10 2008-08-07 Microsoft Corporation Media Stream Scheduling for Hiccup-Free Fast-Channel-Change in the Presence of Network Chokepoints
US7444419B2 (en) * 2003-10-10 2008-10-28 Microsoft Corporation Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints
US8606951B2 (en) 2003-10-10 2013-12-10 Microsoft Corporation Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints
US20090006631A1 (en) * 2003-10-10 2009-01-01 Microsoft Corporation Media Stream Scheduling for Hiccup-Free Fast-Channel-Change in the Presence of Network Chokepoints
US20050080904A1 (en) * 2003-10-10 2005-04-14 Microsoft Corporation Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints
US20090010273A1 (en) * 2004-02-27 2009-01-08 Microsoft Corporation Media Stream Splicer
US8514891B2 (en) 2004-02-27 2013-08-20 Microsoft Corporation Media stream splicer
US8234414B2 (en) 2004-03-31 2012-07-31 Qurio Holdings, Inc. Proxy caching in a photosharing peer-to-peer network to improve guest image viewing performance
US20060010225A1 (en) * 2004-03-31 2006-01-12 Ai Issa Proxy caching in a photosharing peer-to-peer network to improve guest image viewing performance
US8433826B2 (en) 2004-03-31 2013-04-30 Qurio Holdings, Inc. Proxy caching in a photosharing peer-to-peer network to improve guest image viewing performance
US9325805B2 (en) 2004-08-02 2016-04-26 Steve J Shattil Content delivery in wireless wide area networks
US9774505B2 (en) 2004-08-02 2017-09-26 Steve J Shattil Content delivery in wireless wide area networks
US9806953B2 (en) 2004-08-02 2017-10-31 Steve J Shattil Content delivery in wireless wide area networks
US10021175B2 (en) 2004-08-02 2018-07-10 Genghiscomm Holdings, LLC Edge server selection for device-specific network topologies
US7640352B2 (en) 2004-09-24 2009-12-29 Microsoft Corporation Methods and systems for presentation of media obtained from a media stream
US20100169465A1 (en) * 2004-11-16 2010-07-01 Qurio Holdings, Inc. Serving content from an off-line peer server in a photosharing peer-to-peer network in response to a guest request
US8280985B2 (en) * 2004-11-16 2012-10-02 Qurio Holdings, Inc. Serving content from an off-line peer server in a photosharing peer-to-peer network in response to a guest request
US7698386B2 (en) 2004-11-16 2010-04-13 Qurio Holdings, Inc. Serving content from an off-line peer server in a photosharing peer-to-peer network in response to a guest request
US20060136551A1 (en) * 2004-11-16 2006-06-22 Chris Amidon Serving content from an off-line peer server in a photosharing peer-to-peer network in response to a guest request
US7944863B2 (en) 2004-12-10 2011-05-17 Microsoft Corporation Accelerated channel change in rate-limited environments
US20060126667A1 (en) * 2004-12-10 2006-06-15 Microsoft Corporation Accelerated channel change in rate-limited environments
US20090077255A1 (en) * 2004-12-10 2009-03-19 Microsoft Corporation Accelerated channel change in rate-limited environments
US7477653B2 (en) 2004-12-10 2009-01-13 Microsoft Corporation Accelerated channel change in rate-limited environments
US7873609B2 (en) * 2004-12-20 2011-01-18 Electronics And Telecommunications Research Institute Contents distribution management system with multi-service type management function and method thereof
US20060155779A1 (en) * 2004-12-20 2006-07-13 Chang-Soo Kim Contents distribution management system with multi-service type management function and method thereof
US20060282405A1 (en) * 2005-06-10 2006-12-14 Microsoft Corporation System and method for optimized distributed file transfer
US7454408B2 (en) * 2005-06-10 2008-11-18 Microsoft Corporation System and method for optimized distributed file transfer
US7483388B2 (en) 2005-06-23 2009-01-27 Cisco Technology, Inc. Method and system for sending a multimedia stream in an IP multicast network
US20070008966A1 (en) * 2005-06-23 2007-01-11 Cisco Technology, Inc. Method and system for sending a multimedia stream in an IP multicast network
KR100718134B1 (en) 2005-07-21 2007-05-14 삼성전자주식회사 Method and apparatus of encoding/decoding video data using bitrate adaptive binary arithmetic coding
US20070022174A1 (en) * 2005-07-25 2007-01-25 Issa Alfredo C Syndication feeds for peer computer devices and peer networks
US9098554B2 (en) 2005-07-25 2015-08-04 Qurio Holdings, Inc. Syndication feeds for peer computer devices and peer networks
US8688801B2 (en) 2005-07-25 2014-04-01 Qurio Holdings, Inc. Syndication feeds for peer computer devices and peer networks
US7849163B1 (en) 2005-08-11 2010-12-07 Qurio Holdings, Inc. System and method for chunked file proxy transfers
US8005889B1 (en) 2005-11-16 2011-08-23 Qurio Holdings, Inc. Systems, methods, and computer program products for synchronizing files in a photosharing peer-to-peer network
US20070121629A1 (en) * 2005-11-30 2007-05-31 Microsoft Corporation Accelerated channel change
US8135040B2 (en) 2005-11-30 2012-03-13 Microsoft Corporation Accelerated channel change
US8788572B1 (en) 2005-12-27 2014-07-22 Qurio Holdings, Inc. Caching proxy server for a peer-to-peer photosharing system
US20100241757A1 (en) * 2007-10-23 2010-09-23 Maowei Hu System and Method for Storing Streaming Media File
US8533143B2 (en) 2008-04-09 2013-09-10 Level 3 Communications, Llc Rule-based content handling
US9426244B2 (en) 2008-04-09 2016-08-23 Level 3 Communications, Llc Content delivery in a network
US20090282159A1 (en) * 2008-04-09 2009-11-12 Level 3 Communications, Llc Content delivery in a network
US9185158B2 (en) * 2008-04-09 2015-11-10 Level 3 Communications, Llc Content delivery in a network
US8966003B2 (en) * 2008-09-19 2015-02-24 Limelight Networks, Inc. Content delivery network stream server vignette distribution
US20100077056A1 (en) * 2008-09-19 2010-03-25 Limelight Networks, Inc. Content delivery network stream server vignette distribution
US8935292B2 (en) * 2008-10-15 2015-01-13 Nokia Corporation Method and apparatus for providing a media object
US20100094895A1 (en) * 2008-10-15 2010-04-15 Nokia Corporation Method and Apparatus for Providing a Media Object
US20150113005A1 (en) * 2008-10-15 2015-04-23 Nokia Corporation Method and apparatus for providing a media object
US9495422B2 (en) * 2008-10-15 2016-11-15 Nokia Technologies Oy Method and apparatus for providing a media object
US20110118858A1 (en) * 2009-11-13 2011-05-19 Apple Inc. Local storage of a portion of streamed media items
US11778019B2 (en) 2010-03-01 2023-10-03 Tybalt, Llc Content delivery in wireless wide area networks
US11330046B2 (en) 2010-03-01 2022-05-10 Tybalt, Llc Content delivery in wireless wide area networks
US10735503B2 (en) 2010-03-01 2020-08-04 Genghiscomm Holdings, LLC Content delivery in wireless wide area networks
US10419533B2 (en) 2010-03-01 2019-09-17 Genghiscomm Holdings, LLC Edge server selection for device-specific network topologies
US8914533B2 (en) * 2010-03-05 2014-12-16 Samsung Electronics Co., Ltd. Apparatus and method for providing streaming service in a data communication network
US9253236B2 (en) 2010-03-05 2016-02-02 Samsung Electronics Co., Ltd Apparatus and method for providing streaming service in a data communication network
US20110219138A1 (en) * 2010-03-05 2011-09-08 Samsung Electronics Co., Ltd. Apparatus and method for providing streaming service in a data communication network
US9668001B2 (en) 2011-06-28 2017-05-30 Samsung Electronics Co., Ltd. Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding
US10091510B2 (en) 2011-06-28 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding
US9565455B2 (en) 2011-06-28 2017-02-07 Samsung Electronics Co., Ltd. Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding
US10547842B2 (en) 2011-06-28 2020-01-28 Samsung Electronics Co., Ltd. Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding
US9554157B2 (en) 2011-06-28 2017-01-24 Samsung Electronics Co., Ltd. Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding
US9247270B2 (en) 2011-06-28 2016-01-26 Samsung Electronics Co., Ltd. Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding
US9258571B2 (en) 2011-06-28 2016-02-09 Samsung Electronics Co., Ltd. Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding
CN110913279A (en) * 2018-09-18 2020-03-24 北京悉见科技有限公司 Processing method for augmented reality and augmented reality terminal

Also Published As

Publication number Publication date
EP1410227A4 (en) 2004-06-30
JP2005505806A (en) 2005-02-24
WO2002061532A2 (en) 2002-08-08
WO2002061532A3 (en) 2004-02-26
KR20030084914A (en) 2003-11-01
US6859840B2 (en) 2005-02-22
EP1410227A2 (en) 2004-04-21
US20020103928A1 (en) 2002-08-01
CA2436578A1 (en) 2002-08-08

Similar Documents

Publication Publication Date Title
US6859840B2 (en) Prefix caching for media objects
US6708213B1 (en) Method for streaming multimedia information over public networks
US7359955B2 (en) Metadata enabled push-pull model for efficient low-latency video-content distribution over a network
CN102439578B (en) Dynamic variable rate media delivery system
Reisslein et al. Interactive video streaming with proxy servers
US6757796B1 (en) Method and system for caching streaming live broadcasts transmitted over a network
US9176955B2 (en) Method and apparatus for sharing media files among network nodes
EP2263208B1 (en) Content delivery in a network
Miao et al. Scalable proxy caching of video under storage constraints
Verscheure et al. Joint server scheduling and proxy caching for video delivery
US20130346627A1 (en) Dynamic bit rate scaling
US20060282542A1 (en) Systems and methods for efficient cache management in streaming applications
US20070106814A1 (en) Method and Apparatus for Content Distribution Via Non-Homogeneous Access Networks
CN102740159A (en) Media file storage format and adaptive delivery system
US20090025046A1 (en) Hybrid architecture for media services
JP2000013779A (en) Data distributing method and proxy internet server
EP2127377A1 (en) Prefix caching assisted quality of service aware peer-to-peer video-on-demand
AU2002240128A1 (en) Prefix caching for media objects
Zhao et al. Efficient delivery techniques for variable-bit-rate multimedia
Wakamiya et al. Video streaming systems with cooperative caching mechanisms
Steinberg et al. Using Network Flow Buffering to Improve Performance of Video over HTTP
Chan et al. Performance analysis of caching strategies for proxy-assisted VOD services
Park et al. Efficient segment based streaming media transcoding proxy for various types of mobile devices
Chung et al. SOP: A SIU-based Overlay Proxy Service for Peer-to-Peer Streaming
Jayarekha et al. Multicast Transmission Prefix and Popularity Aware Interval Caching Based Admission Control Policy

Legal Events

Date Code Title Description
AS Assignment

Owner name: KASENNA, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SINGAL, SANJAY S.;MENON, SATISH N.;REEL/FRAME:018269/0374;SIGNING DATES FROM 20031217 TO 20040114

AS Assignment

Owner name: SILICON VALLEY BANK, CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:KASENNA, INC.;REEL/FRAME:019009/0424

Effective date: 20070216

AS Assignment

Owner name: VENTURE LENDING & LEASING IV, INC., CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:KASENNA, INC.;REEL/FRAME:019317/0350

Effective date: 20061229

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION