CA2397975A1 - Method and apparatus for content distribution via non-homogeneous access networks - Google Patents

Method and apparatus for content distribution via non-homogeneous access networks Download PDF

Info

Publication number
CA2397975A1
CA2397975A1 CA002397975A CA2397975A CA2397975A1 CA 2397975 A1 CA2397975 A1 CA 2397975A1 CA 002397975 A CA002397975 A CA 002397975A CA 2397975 A CA2397975 A CA 2397975A CA 2397975 A1 CA2397975 A1 CA 2397975A1
Authority
CA
Canada
Prior art keywords
content
packet
server
network
stream
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.)
Granted
Application number
CA002397975A
Other languages
French (fr)
Other versions
CA2397975C (en
Inventor
Yong Ho Son
Christopher W. B. Goode
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.)
Comcast IP Holdings I LLC
Original Assignee
Individual
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 Individual filed Critical Individual
Priority claimed from US09/772,287 external-priority patent/US7159235B2/en
Priority claimed from US09/772,288 external-priority patent/US7159233B2/en
Publication of CA2397975A1 publication Critical patent/CA2397975A1/en
Application granted granted Critical
Publication of CA2397975C publication Critical patent/CA2397975C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2801Broadband local area networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5691Access to open networks; Ingress point selection, e.g. ISP selection
    • H04L12/5692Selection among different networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • 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/561Adding application-functional data or data for application control, e.g. adding metadata
    • 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/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25875Management of end-user data involving end-user authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4753End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for user identification, e.g. by entering a PIN or password
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8355Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Computer Graphics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method and apparatus for streaming content to an access network in an interactive information distribution system (100). The method initially encapsulates the content in accordance to an Internet Protocol (IP). In one embodiment, the content is configured as a plurality of a MPEG-2 packets contained in a payload of a Realtime Transport Protocol (RTP) packet (352 - 356) that is contained in an IP packet (300). The content is then transcoded into a format supported by the access network, and streamed over a distribution network to a remote server (201) or to a subscriber terminal th at is coupled to the access network (104). The apparatus is embodied as at leas t one stream caching server (102) for streaming said content as an Internet Protocol (IP) packet to at least one access network via a stream distributio n network in response to a request for content, where the content is encapsulated within the IP packet. A packet processor (144) is coupled to th e at least one stream server for processing the encapsulated content within th e IP packets into at least one packet in a format native to the at least one access network.

Description

METHOD AND APPARATUS FOR CONTENT DISTRIBUTION VIA NON
HOMOGENEOUS ACCESS NETWORKS
CROSS-REFERENCE TO RELATED APPLICATION
This invention claims benefits of U.S. Provisional Patent Application Serial Nos.
60/178,810, 60/178,857, 60/178,795, and 60/178,809 all filed January 28, 2000, and such applications are all hereby incorporated herein by reference in their entirety.
This invention is related to simultaneously filed U.S. Patent Applications Serial Nos. and (Attorney Docket No. DIVA 255 and Attorney Docket No.
DIVA 256), filed on the same date as this application, and such applications are herein incorporated by reference in their entireties.
BACKGROUND OF THE INVENTION
1. Field of the Invention The invention relates to electronic data storage and transmission of content or information. More particularly, the invention relates to a method and apparatus for streaming content in an interactive information distribution system.
2. Description of the Background Art ~0 Infomation systems such as video on demand (VOD) systems are capable of streaming a program content selection to a great number of users or subscribers. To provide program content requested by a subscriber, a video server retrieves the requested program content from a storage medium and transmits the program content over a stream distribution network to a local access network (e.g., a cable television network). The local ?5 access network supports a group or "neighborhood" of subscriber terminals, and downloads the program content to the requesting subscriber. The subscriber may then view the requested program content at their subscriber terminal, display coupled to a set-top box, or any other subscriber equipment capable of extracting audio, video, and data signals from the program content.
30 Various types of access networks have evolved and become standardized, such as the Internet, cable networks, LAN/WAN networks, digital subscriber lines DSL, satellite, and the like. Furthermore, each ype of network requires specific transport data structures and protocols, as well as having carious limitations with respect to transmission latency, bandwidth, and the like. To service a wide subscriber base, the VOD systems currently implement different solutions for each type of access network. For example, VOD systems that provide web-based video content along public and private wide area networks require distribution of content at a particular quality of service (QoS), e.g.. bit rate, medium latency, low bandwidth, and lower grade quality video (e.g., higher jittery.
Alternately, VOD systems that provide cable-based video alone cable networks reduire a quality of service having low latency, high bandwidth, and high quality video.
In order to accommodate multiple access networks, separate video servers are provided at a head-end for each type of access network. However, such a solution increases the cost of providing program content at the head end, since more hardware is required. To reduce such costs and other deficiencies, there is a need in the art to provide a scalable VOD solution that is readily adopted to different types of access networks.
SUMMARY OF THE INVENTION
The invention provides a method and apparatus that is capable of streaming content to different types of access networks in an interactive information distribution system. The method initially receives content encapsulated in accordance to an Internet Protocol (IP).
In one embodiment, the content is configured as a plurality of packets, e.g., MPEG-? or MPEG-4, contained in a payload of a Realtime Transport Protocol (RTP) packet within an IP packet. The content is then transcoded into a format supported by a particular subscriber terminal, and streamed over a distribution network to a remote server or to a subscriber terminal that is coupled to the access network. The apparatus is embodied as a stream caching server and, illustratively, a packet processor within the interactive distribution system.
Bv streaming program content in a manner that is common for servicing various types of access networks and subscriber terminals, the present invention provides scalable streaming of content to cable plants, digital subscriber line (xDSL) plants, terrestrial distribution networks, satellite distribution networks, private networks, the Internet, and the like. The storage of the contend in IP forma; minimizes the amount of data conversion otherwise required to stream content between different types of networks.
Additionally, the payload of the RTP packet is si:.ed ars a read block to minimize latencies in retrieving and streaming content. That is, the storage media read block size conforms to the optimal buffer size units of the current equalization of the stream servers. Furthermore, since the content is stored at the stream cache servers as IP packets, a communications (i.e., protocol) stack is not required at either the input or output of the distribution network.
BRIEF DESCRIPTION OF THE DRAWINGS
The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
FIG. 1 depicts a high-level block diagram o1~ an interactive information distribution system embodied in the present invention;
FIG. 2 depicts a high level block diagram of local and remote head-ends in the interactive information distribution system of FIG. 1;
FIG. 3A depicts one embodiment of an Internet Protocol (IP) packet used in the present rnventton;
FIG. 3B depicts one embodiment of~ a Realtime Transport Packet (RTP) contained in a payload section of the IP packet of FIG. 3A;
~0 FIG. 4 depicts a block diagram of a plurality of points of presence for providing varying types of content;
FIG. ~ depicts a block diagram of a third embodiment of the invention for an Internet multimedia service;
FIG. 6 depicts a flow diagram of a method for responding to a user reduest for ?5 particular content over the system of FIG. ?
FIG. 7 depicts a flow diagram of a method of transferring the types of content from the plurality of points of presence of FIG. 4.
To facilitate better understanding of the invention, identical reference numerals have been used, where possible, to designate identical elements that are common to the 30 figures.
DETAILED DESCRIPTION
The invention provides a method of distributing (i.e., streaming) packets of content (e.g., video-on-demand, pay-per-view, MP3, digital broadcast, or any other content that may be streamed) from a common distribution source such as a video stream server, to various types of access network domains (e.g., LAN/WAN, cable, digital subscriber line, satellite, terrestrial, and the like). In particular, the invention allows for an extension of Internet protocols into traditionally non-Internet networks, as well as use of existing commercial equipment for providing interactive streaming services. As such, the existing Internet backbone may be utilized to provide streaming services to these various non-Internet networks.
FIG. I depicts a high-level block diagram ol~ an interactive information distribution system 100. One exemplary distribution system 100 is for video-on-demand (VOD) is described in U.S. Patent Application No. 08/984.710, filed December 3, 1997, and hereby incorporated herein by reference in its entirety. In such a VOD system 100, a user may request and receive a particular content selection, e.g., video, movie, or programming content from a service provider without any time restrictions (e.g., time slots) such as those normally associated with cable and television pro~~ramming.
The system 100 comprises a local head-end 101, one or more remote head-ends 201", a stream distribution network 104, a plurality oi~ access networks 1 1 l, thr~u;~h 1 1 1"
(collectively access networks 111) and a plurality of subscriber equipment 1 15. The system 100 streams content from the stream caching server 102, where the content is formatted as Internet Protocol (IP) packets. Specifically, the content is configured as a plurality of packets (e.g., MPEG packets) contained in a payload of a Realtime Transport Protocol (RTP) packet within an IP packet. The use of this IP formatted content enables a single stream caching server 102 located at the head-end to stream content over the stream distribution network 104 to either homogeneous or non-homogeneous types of access networks 11 1 in a format native to such access network 111. As such, the system 100 is capable of streaming the same content to, for example, a person utilizing cable service, a computer on the Internet, a DSL, satellite, and the like.
The stream distribution network 104 serves as the "backbone" structure of the network and may include multiple physical layers such as synchronous optical networks (SONET) and/or an asynchronous transfer mode (ATM) type of network, as well as virtual private networks (VPN) over existing Internet backbones. As such, a plurality of local head ends 101 may be remotely located from each other, where one or more providers, such as a long distance phone company, provides the stream distribution network 104 connectivity therebetween.
Each local head-end 101 has a switch 142, which serves as an input to the stream distribution network 104 when "downstreaming" content (i.e., providing content toward subscribers), and an output to the stream distribution network 104 when "upstreaming"
requests or content (i.e., receiving content or requests from subscribers).
Furthermore, each access network 111 is coupled to the stream distribution network 104 via an interface such as data link converter 112. The data link converter 112 serves as an output port to the stream distribution network 104 when downstreaming content, and as an input port to the stream distribution network 104 when upstreaming requests or content.
The local head end 101 comprises a stream caching server 102, an infrastructure system manager 140, a switch 142, and a packet processor 144 such as an MPEG
packet processor. The stream caching server 102 comprises a central processing unit (CPU) 146, a storage medium 148, memory (e.g.. RAM) 150, and support circuits 154. The RAM

stores a software program 152 that is executed by the CPU 146 to implement the present invention. The CPU 146 executes the software program 152 to thereby coordinate the streaming of content to the distribution network 104. The storage medium 148 stores the content that is streamed by the stream caching server 102. This content is stored as files according to the IP protocol, that is, in IP packet form. One configuration of the storage ~5 medium 148 is a redundant set of disk arrays, e.g., Redundant Array of Inexpensive Disks (RAID) where the IP packets of each file are striped across the set of disks.
The support circuits 152 provide an interface for receiving system commands from the manager 140, streaming content to the distribution network 104, and the like.
The infrastructure system manager 140 having a controller 160, and memory (not shown) coordinates a user request from the subscriber equipment 115 by passing the user request to the stream caching server 102, and then establishing a session between the subscriber equipment and the stream caching server 102. An exemplary infrastructure system manager 140 is the DIVA System Manager (DSM), as further described in co-filed patent application entitled "Method and Apparatus for Managing an Interactive Information Distribution System" , Docket No. DIVA 256, and authored by Son et al., which i5 hereby incorporated by reference herein in its entirety.
The switch 142 is capable of routing, illustratively, MPEG and/or IP packets.
The switch 142 routes the user request from the stream distribution network 104 to the system manager 140. Additionally, the switch 142 routes the content from the stream caching server 102 to the packet processor 144. The packet processor 144 provides preprocessing and post processing operations content. The preprocessing operations performed on the content, modify the content to a format and size that corresponds or accommodates the characteristics of the stream server 102. Raw content such as packet elementary streams of audio, video, data, and the like are provided by a service provider, video library and the like to the local and remote head-ends 101 and 102". During the preprocessing operation, the packet processor 144 transcodes (i.e., decoding and then encoding) the content from one format to another format as necessary, prior to storing the content on the storage medium 148. Preferably the content is compressed as MPEG packets (P.~., MPEG-1, MPEG-?. or MPEG-4 packets) encapsulated in a portion of the payload of an IP packet if not already received from the content provider in such format. In this manner, concun-ent streams may be provided to multiple access networks 11 1 from a single copy stored on the storage medium 148 FIG. 3A depicts one embodiment of an Internet Protocol (IP) packet 300 used in the present invention. The IP packet 300 comprises an IP header 310 and an IP
payload 320.
~5 The IP payload 320 comprises a UDP (User Datagram Protocol) packet 321 having a UDP
header 322 and a UDP payload 324. The UDP payload 324 further comprises a Realtime Transport Packet (RTP) 330, a stream integrity check 326, and a cyclic redundancy check (CRC) 328.. In one embodiment of the IP packet 300, the IP header 310 is 20 bytes, the UDP header 322 is 8 bytes, the stream integrity check field 426 is 4 bytes and the CRC
field 428 is 4 bytes.

FIG. 3B depicts one embodiment of a Realtime Transport Packet (RTP) 330 encapsulated in a payload secti~m 320 of the IP packet 300 of FIG. 3A. The RTP
packet 330 comprises a RTP header 3~'0 and a RTP payload 350. The RTP payload 350 contains the actual packetized content (e.g., MPEG-2 transport packets 352 through 356) containing the subject matter (e.g., movie, audio, data, and the like) that a subscriber or user is interested in retrieving. The format of the packetized content 252 through 256 may be in the packetized format as received from the content provider, or transcoded during the preprocessing operation by the packet processor 144 into a format that accommodates the stream server 102. In particular, the number of content packets positioned in the RTP
payload is dependent on design limitations of the server components.
Specifically, the IP
packets are striped across an an-ay of disks in the storage medium 148 such that each respective data block or "extent" stored on a disk has a size con~esponding to a predefined amount of IP packets. The size of the read block is a multiple integer of the RTP packet size. Furthermore, the RTP packet is sized to optimize the use of a buffer in the packet processor 144, which has a specific memory capacity (e.g., lKbyte). As such, the RTP
packet 330 is sized such that a multiple integer of RTP payloads 350 may be read by a read block to thereby minimize the latencies in retrieving and streaming content from the stream caching server 102 to the distribution network 104. . For a detailed understanding of defining extent size for storing data streams having different bit rates, the reader is directed to Patent Application Serial No. 09/458,337, filed December 10, 1999, which is hereby incorporated by reference herein in its entirety.
For example, a read block for the packet processor 144 is sized to read MPEG-2 packets that are encapsulated in the payload of each RTP packet. Furthermore, the number of MPEG-2 packets in the RTP payload 350 con-esponds to the buffer space in the Fiber Channel controller (not shown) of the packet processor 144. Specifically, the buffer space in the Fiber channel controller has buffer granularity for five MPEG-2 packets. As such, five MPEG-2 packets 352 through 356 are illustratively shown in the RTP
payload 350.
Accordingly, the content is configured as a plurality of packets contained in a payload 350 of a RTP packet 330, wherein the RTP packet 330 resides within the payload 320 of the IP

_g_ packet 300. The RTP format (RFC 1889) minimizes the latency in streaming content from the server by supporting the streaming of content in real time.
After a user request is received from a user or subscriber of services located at a particular access network, the packet processor 144 is capable of post processing the stored content into a format that conforms to the particular access network from which the request for content originated. Post processing by the MPEG processor 144 includes sizing (e.~.
"grooming") and optionally transcoding the underlying content located in the IP payload into a format native to the access network 111 of the requester. That is, the underlying packet structure is adapted to the requester's access network, while the encapsulating IP
packet structure is used to deliver the modified or unmodified underlying packet structure to the access network via the distribution network (IP "backbone") 104.
Transcoding of the underlying content (e.g., MPEG transport packets 252 to ?56) in the RTP payload 350 of the packets is performed to accommodate transfer over the particular access network 1 1 I from where the request for content originated.
The packet processor 144 transcodes the content without disturbing the overall IP format of the packet (i.e., header information), since the IP format is required to transfer the entire packet over the stream distribution network 104. The packet processor 144 illustratively extracts the 5 MPEG packets 35? through 356 from the IP, UDP, and RTP header information 310, 3?2, and 340 respectively, and transcodes the MPEG packets 35? through 356 into a Format ?0 supported by the access network I 1 1 where the reduest for such content originated. The transcoding is performed by decoding the underlying content in its ori~~inal packet Format (e.g., MPEG-? packets), and then encoding the decoded content into a new packet format.
As such, the transcoding may change the rate of the content. For example, the transcoding may include the conversion of MPEG-? formatted content into MPEG-1, AVI, MPEG-4, Moving JPEG, windows media, real video format content, and the like.
Furthermore, the number of packets in the RTP payload 350 may be illustratively changed (e.g., packets into 4 MPEG-4 packets.
The transcodina is performed in accordance to an extended Real Time Streaming Protocol (RTSP - RFC 23?6) such that stream manipulations conform to Internet standards and are applicable to any access network 111 that supports an Internet protocol.

The packet processor 144 combines the transcoded packets with the IP, UDP, and RTP header information to recreate the IP packet. Furthermore, the content in the IP packet can be configured to maintain a specific level or range of Quality of Service (QoS). The quality of service to the subscribers includes providing the necessary rate of streaming content (e.g., constant bit rate (CBR) or variable bit rate (VBR)) and tolerable fitter over a specific bandwidth to the subscribers. Accordingly, other functions performed by the MPEG processor 144 include fitter con-ection, creation of packet elementary streams (PES), stream splicing, statistical multiplexing, and the like.
In one embodiment, the transcoding is performed by the MPEG processor 144 prior to storing the content in IP packet form on the storage medium 148. In particular, multiple copies of the content are stored in the various packet formats (e.g., MPEG-1, MPEG-4, AVI, MJPEG, and the like) on the storage medium 148 for subsequent distribution to a respective access network 1 1 1 as required. Alternately, in a second embodiment, the content is stored illustratively as MPEG-2 packets encapsulated in an IP
packet, and is subsequently transcoded "on the fly", that is after the IP packets have been retrieved from the storage medium 148. In the former embodiment, Greater storage capacity is required, while in the latter embodiment, greater processing capacity is required.
Furthermore, the transcoded IP packets are also sized at the head-end 101 prior to distribution over the stream distribution network 104 for a plurality of~
64QAM or ?>6QAM
channels at the data link converters. The distribution network 104 carries groupings of streams that have been adapted to the 64QAM or 256QAM channels to the data link converters (e.g., 112). Each data link converter comprises a plurality of Quadrature Amplitude Modulation (e.g., 2-32) modulators (not shown). In particular, the packets are sized to car-r-y additional information pertaining to the underlying content (e.g., program system information (PSI) for MPEG type packets) at the head-end 101 as opposed to being inserted downstream at the access network. Thus, processing for each QAM
channel is moved to the input of the distribution network 104, as opposed to the output (i.e., data link converter) of the distribution network 104.
In the exemplary system 100 depicted in FIG. 1, three types of access networks are illustratively shown. Each access network 111 is coupled to the distribution network WO 01/55860 PCT/USOl/02602 104 by the data link converter (e.g., 12, 118, and 126). The IP header 310 contains source and destination addresses for delivering the IP packet. The source address is the address of the stream cache server 102 and the destination address is the address of the destination access network 111. Once the IP packet is received by the data link converter, the underlying content (e.g., MPEG packets 352-356) are transferred to the subscriber equipment 115 of the requester. How the underlying content is transferred to the particular subscriber equipment 115 is dependent on the type of access network as discussed below.
One type is a LAN/WAN network 106, which typically is a private network or one provided by an Internet Service Provider (ISP). The physical layer of the LAN/WAN may be 10 base T, IOOBase Tx, Gigabyte Ethernet, lOG Ethernet, 40G Ethernet, ATM, Frame Relay, and the like. A user connected to a Local Area or Wide Area Network (LAN/WAN) 106 makes a request for content from the subscriber equipment 11 ~ such as a computer terminal 1 16. The request for content (e.g., video content) is modulated by the modem 114 onto the LAN/WAN network to a data link converter 1 12. The data lint:
converter 1 I?
attaches IP packets to the user's request signal for upstream transport over the stream distribution network 104 to the head-end 101. The switch 142 receives and routs the user request to the infrastructure system manager 140 where the user request is checked by the system manager 140 for proper user identification, billing, availability and permissions for the requested content, and other administrative functions. Upon allowing the user request, a ?0 session is established, whereby the system mana~~er 140 sends a si~~nul to the stream caching server 102 to stream the selected video to the access network of the requester.
In particular, the stream caching server 102 streams retrieves the selected video, which is stored as IP packets in the storage medium 148, and routs the IP
packets to the MPEG processor 144 via the switch 142. In an instance where the underlying payload content 350 that the user requested is already in a format required by the access network 111, then the IP packets 300 containing the underlying payload content 350 are routed to the data lint: converter 112 via the stream distribution network 104. However, if the RTP
payload portion 350 of the IP packets 300 contain underlying content in a format that is not native to the access network 11 I from where the request originated, then the underlying packets in the RTP payload 350 are transcoded by the MPEG processor 144 into a format WO 01/55860 PCT/USOl/02602 native to the LAN/WAN netwcrk 106 as described above. The switch 142 then routs the transcoded IP packets 300 over the stream distribution network 104 to a data link converter 112.
The data link converter 112 receives the routed IP packets from the stream distribution network 104 and extracts the underlying content in the RTP
payload 350 (whether transcoded or not) from the remaining portion of the IP packet 300.
The data link converter 112 then modulates the extracted program content for transmission to the requester's subscriber equipment 115, such as a computer terminal 116. One example of a data link converter 112 is a DIVA Digital link (DDL 500) manufactured by DIVA
Systems l0 Inc. of Redwood City, CA. The DLL 500 may comprise a compact PCI-based assembly containing a set of circuit cards that provide communications between the subsystems in the head-end 101 and the subscriber equipment 1 1 S of the user (e.g., home, office, and the like). The data link converter comprises a controller card, one or more Fiber Input boards (FIB), multiplexes boards, and a plurality of QAM modulators. In General, the data link converter receives and sends data to and from the video switch. In-band content streams are transfeo-ed from the FIB, through the Multiplexes, and to the QAM
modulators, which modulate the program content on individual QAM channel over the LAN/WAN 106 (e.g., Ethernet) network. A modem (e.g., modem 1 14), coupled to the subscriber equipment 1 1 S, then demodulates video content and transfers the demodulated packets for processing and ?0 viewing at the subscriber equipment 1 15 (e.g., computer terminal 116).
FIG. 1 also depicts the inventive system 100 for a subscriber for services (e.g., video-on-demand services), which is coupled to a digital subscriber line (DSL) access network 111. The DSL access network 111 comprises the data link converter 118, a local can-ier (e.g., T1, T3, and the like) 108, a digital subscriber line access multiplexes (DSLAMI 1 19, a digital subscriber line modem 120 (x-DSL modem, where "x"
represents a specific type of DSL modem) and the subscriber equipment 115 (e.g., computer terminal 122 or digital video recorder (DVR) 124).
A DSL subscriber also receives the requested program content in a similar manner as described with regard to the LAN/WAN access network 106.
Specifically, the server 102 streams content via the stream distribution network 104 to a data link converter WO 01/55860 PCT/USOl/02602 118 that is designated for that particular subscriber. More specifically, the data link converter 118 receives the IP packets 300 from the distribution network 104 and then extracts the underlying content packets from the RTP payload 350. The underlying content packets may be in a format as originally stored on the storage medium 148 at the head-end 101 or transcoded to a format required by the DSL access network 108 in the same manner as previously discussed. The data link converter 1 18 then converts the extracted packets into a format pertaining to the carrier network 108 such as ATM, Ethernet, and the like.
The newly converted packets containing the underlying content is then transfen~ed by the data link converter 118 to the DSLAM 1 19 over the local can-ier (e.g., T1 or T3 carrier lines) 108. The DSLAM 119 then multiplexes the requested content to the particular digital subscriber line modem 120 (x-DSL modem, where "x" represents a specific type of DSL
modem) of the requester for services.
For real time information distribution, the xDSL modem 120 is a VDSL (Very high data rate Digital Subscriber Line). However, where the presentation of information does not have to be in real time, but may be a delayed presentation, then the xDSL
modem 120 may be a ADSL (asynchronous DSL) modem, HDSL (high bit rate DSL) modem, or SDSL
(synchronous DSL) modem, and the like. Such lower speed DSL modems are typically used during non-peak hours.
The x-DSL modem demodulates the content for processing and viewing at the ?0 subscriber equipment 115 (e.<~., the computer terminal 122 or a display device (not shown) coupled to the DVR 124). Furthermore, a subscriber request for content or uploading content from the computer terminal 122 or set-top box (not shown) travels in the reverse path taken by the downstream content.
FIG. 1 also depicts a cable access network 1 1 13. In particular, system 100 operates in a similar manner as described above with respect to the LAN/WAN or DSL
access networks, except to format the content according to DOCSIS (data over cable service interface specifications) prior to transmission over the stream distribution network 104 .
Specifically, a DOCSIS media access control (MAC) layer 156 (drawn in phantom) is located at the head-end 101 before the stream distribution network 104. DOCSIS
takes the IP packets and encapsulates them into the payload of a MAC packet. The packet processor 144 then encapsulates the MAC packet into the payload of an IP packet 300, such that an IP
packet 300 carnes a MAC packet, which can-ies an IP packet 300 having MPEG
packets.
As such the conversion into the MAC format occurs at the head-end 101, as opposed to downstream at the access network 111 ~. Furthermore, the switch 142 treats the MAC
packets encapsulated in the IP packet as any other IP packet when distributing such IP
packets over the distribution network 104. Moreover, the data link converter 1 18 simply extracts the MPEG transport packets from the MAC packets in a similar manner as discussed above.
The IP packets 300 carrying the requested content are distributed over the stream distribution network 104 and received by the data link converter 126, where illustratively, the MPEG packets 252 through 256 in the MAC packet payload are modulated over the cable network (e.g., hybrid fiber coax (HFC) 110 to the subscriber equipment 115.
Specifically, the content is transmitted from the cable network 1 10 to a set top terminal 128 or a cable modem 130 that demodulates the program content for viewing on a computer 1~ terminal 132, display device coupled to the DVR 134 or the like. A request from a cable subscriber is processed via the cable network 1 10, the OOB (out of band) router 136, and the data link converter 126, which modulates the request back over the stream distribution network 104 to the head-end 101.
Although the system 100 is illustratively shown to stream program content to the ?0 LAN/WAN 106, the local can-iers 108, and the cable network t 10, the system 100 may also stream content to other types of access networks. Additionally, each system 100 actually streams content over many more access networks and subscriber terminals than illustratively depicted in FIG. 1.
FIG. 4 depicts a block diagram of a plurality of points of presence (POP) for 25 varying types of content. In particular, the system 400 comprises local head-end 401 having a stream caching server for VOD 102,, a stream caching server for advertisement insertion 102, a stream caching server for Pay-Per-View 102, and other servers 10?~, such as a chat server, e-mail server, http server, electronic program guide server, and the like, all coupled to the switch 142. The remaining portions of FIG. 2 are the same as in FIG. 1, WO 01/55860 PCT/USOl/02602 except only the distribution network and one data link converter (e.g., 106) is shown for simplicity.
The requester may select content from any point of presence (i.e., server) containing information that is networked to the Internet backbone. That is, as long as the packet processor 144 can groom and transcode the underlying content packets in the IP
packet 300 into a format native to the access network from which the request originates, then the inventive distribution system 200 may retrieve data from virtually any type of information (i.e., content) distributed by a server, whether the content is audio, video, data, voice, or otherwise.
FIG. 5 depicts a block diagram of a third embodiment of the invention for an Internet multimedia service 500. A head-end 501 is coupled to the stream distribution network 104 as discussed in FIGS. I and ?, as well as the plurality of access networks 111 (only the data link converter of one access network I 1 1 shown for simplicity). The head-end 501 comprises a the stream caching server 102, a hypertext transfer protocol (http) proxy server 502 for static hypertext markup language (HTML) pages, a http server 504 for dynamic HTML pages, the infrastructure system manager 140, and packet processor 144, which are all coupled to the switch 142.
In this embodiment, the stream caching server 102, the http proxy server for static HTML pages 502, and the http server for dynamic HTML pages 504 may he synchronized with the stream caching server 102 such that a presentation to a subscriber is a multimedia presentation where the viewer is illustratively streamed a movie or audio (via the stream caching server 102) along with a web page (via the static and/or dynamic http servers 50 and/or 504). Segmenting the network in this manner permits steaming of information over less than high duality service channels for information that does not require such high quality standards.
Since the stream server 101 is designed for streaming packets, while the http servers 502 and 504 are not, and the http servers 502 and 504 are designed for random access while the stream server 102 is not, then combining the two types of servers into a single server would result in thrashing when retrieving and streaming content and underutilization of the single server. As such, providing separate http servers 502 and _504 with the stream caching WO 01/55860 PCT/LTSOl/02602 server 102 allows the network t.~ designate bandwidth according to the type of information requested from the appropriate server, and then multiplex the streams of requested information in the form of IP packet~r over the distribution network 104 for subsequent distribution to the access network where the request originated. In this manner, a requester on any access network 111 is seamlessly provided with various types of content from dedicated sources simultaneously, without interruptions due to latencies between each type of source.
FIG. 2 depicts at least one remote head-end 201, (where head-end 201" is drawn in phantom) coupled to the interactive information distribution system 100 of FIG. 1. Each remote head-end 201 of the system 100 comprises a stream caching server 202, an infrastructure system manager 204, switch 242, and other hardware and software components as described above with regard to the local head 101. Each remote head-end 201 is coupled to the stream distribution network 104 via its respective switch 242.
When the local head-end 101 receives a user request for content, the local IS infrastructure system manager 140 determines whether the requested content selection is stored in the local storage medium 148. If the requested content is not in the local storage medium 148, the local infrastructure system mana~~er 140 identifies a remote stream caching server 202 that stores the requested program content and then provides a server request to the remote system manager 204. In response to this server reduest, the remote ?0 stream caching server 202 streams the requested program content over the stream distribution network 104 to the local stream caching server 102.
For example, the system manager 140 at a local head end 101 located in a first city may receive a request for a particular content selection. If the content is not in the storage medium 148, the system manager 140 coordinates the retrieval of the requested content 25 from another remotely located server 202, such as a remote server 202 located in a second city. The content is streamed from the remote server 202 to the local server 102 via the distribution network 103 and then streamed to the local access network of subscriber. If the manager 140 determines there are enough user requests above some predetermined threshold number, then the retrieved content is also stored locally in the storage medium 30 148.

The manager 140 provides session management for streaming content in accordance to the RTP Control Protocol (RTCP). Such management is particularly important in the case of content streamed to the local stream caching server 102 from the remote server 202.
If any errors occurred during the streaming from the remote server 202, these errors are multiplied when the cached or stored content is subsequently streamed to the many subscribers. RTCP enables the detection and transmission of only the read bloc la al~lected by the streaming errors. Additionally, the manager 140 may selectively stream content (e.g., a movie) at off peak times, when the costs for bandwidth are lower than peak usage hours (e.g., after midnight). The content may be streamed as between two or more servers to facilitate local storage at various head-ends. Likewise, a requestor may preorder content and have the content downloaded to a subscriber's digital video recorder (DVR) at such low traffic times of the day. In this manner, bandwidth allocation is controlled by the infrastructure system manager 140 to improve the quality of service over the distribution system 100 and guarantee fidelity for DVR applications.
Another inventive aspect of the system 100 involves streaming of content in real time. The server 102 continuously receives content from a remote server 202 and streams the received content in real time to n plurality of subscriber terminals.
Additionally, the server 102 may store and stream content that is preprocessed in accordance to the 1P
format. Such preprocessing is described in co-Filed patent application entitled "Method and Apparatus For Preprocessin~7 and Post Processin'; content in an Interactive:
Ini~ormation Distribution System", Docket DIVA 255, authored by Son et al., and filed , which is hereby incorporated herein by reference in its entirety.
Furthermore, an application program such as a video player (e.g., REALAUDIO'"'.
REALVIDEO' ", REALPLAYER' '', and the lil:c may be stored at the head-end 101 and streamed to a subscriber who is requesting content. Streaming= such application program is much faster than having to download such application program by using an FTP
file or the like. Therefore, quality of control and operation from the perspective of the subscriber is greatly improved. In addition, the subscriber equipment 115 (e.g., a set-top box) does not have to store such application program permanently, since the application program can be quickly downloaded from the stream server 102.

FIG. 6 depicts a flow diagram of a method 600 to respond to a request for a particular program content selection. A local stream caching server 102 may implement the method 600 upon executing the software 152 by the CPU 146. Initially, the method 600 starts at step 602 and proceeds to step 604, where a request for a program content is received from subscriber equipment 115 such as a subscriber terminal. At step 606, a query determines whether the requested program content is available from the stream caching server 102. Namely, step 606 determines whether the requested program content is stored in the storage medium 148.
If the requested program content is available from the stream caching server 102, the method 600 proceeds to step 608 where the IP formatted program content is retrieved from the storage medium 148. The retrieved content is streamed over the distribution network 104 at step 618. After this streaming, the method 600 ends at step 626.
If the requested program content is not in the stream caching server 102, the method 600 proceeds to step 610 where a query determines whether the requested program content is in a remote streaming ClIChlna server 202. If the requested program content is not in any remote streaming caching server 202 within the system 100, the method 600 proceeds to step 624 to provide an ewor signal to the system manager I=10, and the method 600 ends at step 626. If the requested pro~~ram content is present in a remote streaming caching stream server 202, then in step 612,the method 600 retrieves the IP formatted program content from the remote stream server 202.
The method 600 proceeds to step 614, where a query determines whether there is other demand for the requested program content retrieved from the remote stream server 202. Namely, in step 614, a the system manager 140 determines whether there is enough interest in that program content, i.e., wheCher a threshold number of subscribers ordered or requested that program content. If there is no real demand, i.e., demand is below a threshold level, then the method 600 proceeds to step 616 where the program content is simply received from the remote stream server 202. The method 600 proceeds to stream video over the distribution network at 618 and ends at step 626.
If there is other demand for the requested program content, i.e., demand is above the threshold level, then the method 600 proceeds to stream the program content over the WO 01/55860 PCT/USOl/02602 distribution network 104 at step 620 and store the program content in the storage medium 148 at step 622. The Thereafter, in step 618, the program content is streamed over the distribution network 104 to the subscriber, and the method 600 ends in step 626.
FIG. 7 depicts a flow diagram of a method of for adapting content delivery.
Specifically, FIG. 7 depicts a flow diagram of a method 700 suitable for use in the system 500 of FIG 5 for delivering content to a client. The method 700 of FIG. 7 is entered at step 702 when an HTML page request is received from a subscriber.
At step 704, the requested page is created using either static and/or dynamic HTML
pages and/or objects. At step 706, a request for an object is received from the client. At step 708, the type of object requested is identified. As shown in FIGS 4 and 5, the requested object may comprise one of a static object, a dynamic object, a streaming object, and the like.
At step 710, the resource associated with the requested object is requested to be provided based on, for example, the Uniform Resource Locator (URL) associated with the requested object. In the case of a static HTML resource, a request is forwarded to the static HTML page proxy server 502 of FIG. S. In the case o1~ a request associated with a dynamic HTML page, a request is forwarded to the dynamic HTML page server 504. In the case of a request for streaming content, a request is forwarded to the stream caching server 102.
At step 712, the static and/or dynamic HTML information (including related ?0 objects) is compiled. At step 714, static and/or dynamic HTML information (including related objects) is transmitted to the requesting client. The transmitted information is adapted to be processed by the client to produce an ima~~e on, for example, a browses display screen. It is noted that the displayed image may be divided into a plurality of regions or frames, a plurality of objects, and the like.
At step 716, a streaming object requested at step 706 by the client, and requested from the stream caching server 103 by controller 160 at the system manager 140, is streamed thl'OUgh the distribution network 104 to the client, such that the client display image will show the streamed information in an appropriate object or frame.
Thus, in the case of a client selecting an object associated with video imagery and/or audio information.
a client-side display object, such as a frame or other image region will be used to delineate an image area associated with . he streamed content. In this manner, the stream caching server 102, http proxy server 5 )2 and 504, as well as any other servers providing various types of content (e.g., mail server clat server, and the like) are coordinated to provide to a client requested content in efficient and seamless manner, and in step 718, t he method 700 ends.
Although various embodiments that incorporate the teachings of the present invention have been shown and described in detail herein, those skilled in the art can readily devise many other varied embodiments that still incorporate these teachings.

Claims (34)

1. A method of streaming content to at least one access network comprising:
encapsulating said content in an Internet Protocol (IP) packet;
processing said content into a format native to an access network from which a user request originated; and streaming said IP packet containing said content to said at least one access network via a distribution network.
2. The method of claim 1 wherein said encapsulating step comprises:
preprocessing said content into at least one packet having a format and size optimized for storage and retrieval at a local streaming server;
encapsulating said at least one packet of content in a payload portion of a real time transport protocol (RTP) packet; and encapsulating said RTP packet in a payload portion of said IP packet.
3. The method of claim 2 further comprising formatting said content to support playback at a quality of service (QoS) corresponding to said at least one access network.
4. The method of claim 1 further comprising the step of storing said encapsulated content in said IP packet on a storage medium coupled to said local streaming server.
5. The method of claim 4 further comprising the step of retrieving said content from said local streaming server in response to a user request from said at least one access network.
6. The method of claim 5 further comprising the step of retrieving said content from a remote stream server that is remotely located from said local stream server in an instance where said content is unavailable from said local stream server.
7. The method of claim 6 further comprising the step of storing said retrieved content from said remote stream server on said storage medium coupled to said local stream server in an instance where a predefined user request threshold has been exceeded.
8. The method of claim 1 wherein said streaming step comprises streaming said content in real time.
9. The method of claim 2 wherein said preprocessing step further comprises transcoding said content into at least one packet format selected from the group of packet formats comprising MPEG-1, MPEG-2, MPEG-4, AVI, MJPEG, QUICKTIME TM, MP3, REAL NETWORKS TM, REAL VIDEO TM, REAL AUDIO TM, and MICROSOFT TM media player, wherein said transcoding occurs prior to storage on a local stream server.
10. The method of claim 9 wherein said preprocessing step further comprises storing said content in said at least one of said packet formats from said group at said local stream server.
11. The method of claim 1 wherein said processing step further comprises:
retrieving said IP packet having said encapsulated content from a local storage device;
transcoding said content into at least one packet format selected from the group of packet formats comprising MPEG-1, MPEG-2, MPEG-4, AVI, MJPEG, QUICKTIME TM, MP3, REAL NETWORKS TM, REAL VIDEO TM, REAL AUDIO TM, and MICROSOFT TM
media player, wherein said transcoding occurs after storage.
12. The method of claim 11 wherein said transcoding step comprises:
separating said IP packet into a header portion and a payload portion encapsulating said at least one packet of content;
converting said at least one packet of content into a format supported by said access network; and packetizing said header portion and said converted at least on packet of content into said IP packet.
13. The method of claim 1 wherein said at least one access network is selected from the group comprising a wide area network, a local area network, a cable network, a carrier network, a satellite network, a terrestrial network, wireless network, and an internet network.
14. The method of claim 1 further comprising extracting said content from said IP
packet downstream of said distribution network.
15. The method of claim 1 further comprising transmitting said content from said at least one access network to subscriber equipment of a requester for said content.
16. The method of claim 1 wherein said at least one access network comprises a plurality of non-homogeneous access networks.
17. An apparatus providing scalable streaming of content to at least one access network in an interactive information distribution system, said apparatus comprising:
at least one stream caching server for streaming said content as an Internet Protocol (IP) packet to said at least one access network via a stream distribution network in response to a request for content, said content being encapsulated within said IP
packet; and a packet processor coupled to said at least one stream server for processing said encapsulated content within said IP packets into at least one packet in a format native to said at least one access network.
18. The apparatus of claim 17 wherein said at least one access network comprises a plurality of non-homogeneous access networks.
19. The apparatus of claim 17 wherein each said IP packet further comprises said content encapsulated in a payload portion of a Realtime Transport Protocol (RTP) packet and said RTP packet encapsulated in a payload portion of said IP packet.
20. The apparatus of claim 19 wherein said content is stored as said IP
packets on at least one storage medium respectively coupled to said at least one stream caching server.
21. The apparatus of claim 17 wherein said at least one stream caching server comprises a local stream caching server coupled to at least one remote stream caching server via said stream distribution network.
22. The apparatus of claim 21 wherein said at least one remote stream caching server streams said content to an access network in response to said request for content in an instance said requested content is unavailable from said local caching server.
23. The apparatus of claim 17 wherein said content is formatted to support playback at a quality of service (QoS) corresponding to said at least one access network.
24. The apparatus of claim 17 wherein said pocket processor transcodes said content into at least one packet selected from the group of packet Formats comprising MPEG-1, MPEG-2, MPEG-4, AV1, MJPEG, QUICKTIME.TM., MP3, REAL NETWORKS.TM., REAL
VIDEO.TM., REAL AUDIO.TM., and MICROSOFT.TM. media player.
25. The apparatus of claim 24 wherein said transcoded content is stored as said at least one of said packet formats from said group prior to storing said IP packets.
26. The apparatus of claim ?4 wherein said content is transcoded as said at least one of said packet formats from said group prior to streaming said IP packets.
27. The data structure of claim 17 wherein a number of content packets in each RTP
payload is configured as a read block for transcoding of said content packets into a format supported by said access network.
28. The apparatus of claim 17 wherein said at least one access network further comprises a data link converter for transferring said content to subscriber equipment of a requester for said content.
29. The apparatus of claim 28 wherein said data link converter extracts said content native to said at least one access network from said IP packet.
30. The apparatus of claim 18 wherein said at least one access network is a network selected from the group comprising a local area network, wide area network, cable network, satellite network, digital subscriber line, wireless network, and a terrestrial network.
31. The apparatus of claim 17 wherein said interactive information distribution system further comprises at least one random access data server coupled to said at least one stream server via said distribution network.
32. The apparatus of claim 31 wherein said at least one random access data server is a server selected from the group comprising an HTTP proxy server for static web pages, an HTTP proxy server for dynamic web pages, a chat server, and an electronic program guide server, an e-mail server.
33. The apparatus of claim 17 wherein said at least stream caching server is a server selected from the group comprising a video-on-demand server, a pay-per-view server, and a digital broadcast server.
34. A data structure for use in scalable streaming of content to an access network in an interactive information distribution system, said data structure comprising:

an Internet Protocol (IP) header;
an IP payload comprising a Realtime Transport Protocol (RTP) packet and a plurality of stream check bits, where said RTP packet comprises a RTP payload containing said content configured as a plurality of MPEG packets.
CA2397975A 2000-01-28 2001-01-29 Method and apparatus for content distribution via non-homogeneous access networks Expired - Lifetime CA2397975C (en)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US17880900P 2000-01-28 2000-01-28
US17885700P 2000-01-28 2000-01-28
US17879500P 2000-01-28 2000-01-28
US17881000P 2000-01-28 2000-01-28
US60/178,857 2000-01-28
US60/178,810 2000-01-28
US60/178,809 2000-01-28
US60/178,795 2000-01-28
US09/772,287 US7159235B2 (en) 2000-01-28 2001-01-29 Method and apparatus for content distribution via non-homogeneous access networks
US09/772,288 US7159233B2 (en) 2000-01-28 2001-01-29 Method and apparatus for preprocessing and postprocessing content in an interactive information distribution system
US09/772,287 2001-01-29
US09/772,288 2001-01-29
PCT/US2001/002602 WO2001055860A1 (en) 2000-01-28 2001-01-29 Method and apparatus for content distribution via non-homogeneous access networks

Publications (2)

Publication Number Publication Date
CA2397975A1 true CA2397975A1 (en) 2001-08-02
CA2397975C CA2397975C (en) 2016-11-01

Family

ID=27558688

Family Applications (2)

Application Number Title Priority Date Filing Date
CA002398071A Abandoned CA2398071A1 (en) 2000-01-28 2001-01-29 A system for preprocessing content for streaming server
CA2397975A Expired - Lifetime CA2397975C (en) 2000-01-28 2001-01-29 Method and apparatus for content distribution via non-homogeneous access networks

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CA002398071A Abandoned CA2398071A1 (en) 2000-01-28 2001-01-29 A system for preprocessing content for streaming server

Country Status (4)

Country Link
EP (1) EP1252576A4 (en)
AU (2) AU2001237978A1 (en)
CA (2) CA2398071A1 (en)
WO (2) WO2001055877A1 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159235B2 (en) 2000-01-28 2007-01-02 Sedna Patent Services, Llc Method and apparatus for content distribution via non-homogeneous access networks
EP1227615A1 (en) * 2000-08-08 2002-07-31 Semiconductores Investigaci n Y Diseno S.A. -(SIDSA) Methods and systems for the broadcast internet, audio or video contents without prior agreement with the service provider or return channel
FI20011871A (en) * 2001-09-24 2003-03-25 Nokia Corp Processing of multimedia data
JP4132788B2 (en) * 2001-11-15 2008-08-13 三菱電機株式会社 Data communication device
EP1379054A1 (en) * 2002-06-27 2004-01-07 Sony International (Europe) GmbH Data distribution system in a multiple network environment
US7043559B2 (en) 2002-06-27 2006-05-09 Seiko Epson Corporation System for distributing objects to multiple clients
KR100365839B1 (en) * 2002-08-22 2002-12-31 Huwell Technology Inc System for real time service using interactive data communication and method thereof
WO2004034674A1 (en) * 2002-09-30 2004-04-22 Popwire.Com Dynamic transferring software/protocol
CN1871800A (en) 2003-01-09 2006-11-29 汤姆森许可贸易公司 Method and an apparatus for mapping an MPEG transport stream into IP packets for WLAN broadcast
JP2007525118A (en) * 2004-01-29 2007-08-30 ウーンディ,リチャード,エム. Head-end fail software operation system and method
DE102004014426A1 (en) * 2004-03-19 2005-10-27 Zirhli, Münevver Flexinux system e.g. for data compression of internet, uses spook streaming server to compress signals on video card
KR100899462B1 (en) 2004-07-21 2009-05-27 비치 언리미티드 엘엘씨 Distributed storage architecture based on block map caching and vfs stackable file system modules
WO2009003685A1 (en) * 2007-07-02 2009-01-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for storing and reading a file having a media data container and a metadata container
ATE503312T1 (en) * 2007-09-19 2011-04-15 Fraunhofer Ges Forschung APPARATUS AND METHOD FOR STORING AND READING A FILE COMPRISING A MEDIA DATA CONTAINER AND MEDIA DATA CONTAINER
US10165029B2 (en) * 2014-01-31 2018-12-25 Fastly Inc. Caching and streaming of digital media content subsets
CN112800096A (en) * 2018-12-27 2021-05-14 王梅 Method and system for carrying out hierarchical expansion on data acquisition requests in Internet

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6119154A (en) * 1995-07-14 2000-09-12 Oracle Corporation Method and apparatus for non-sequential access to an in-progress video feed
US5838678A (en) * 1996-07-24 1998-11-17 Davis; Joseph W. Method and device for preprocessing streams of encoded data to facilitate decoding streams back-to back
US5856973A (en) * 1996-09-10 1999-01-05 Thompson; Kenneth M. Data multiplexing in MPEG server to decoder systems
US6157675A (en) * 1997-04-04 2000-12-05 Sony Corporation Image transmission device and image transmission method
WO1998046005A2 (en) * 1997-04-07 1998-10-15 At & T Corp. System and method for processing object-based audiovisual information
US6166729A (en) * 1997-05-07 2000-12-26 Broadcloud Communications, Inc. Remote digital image viewing system and method
US5928331A (en) * 1997-10-30 1999-07-27 Matsushita Electric Industrial Co., Ltd. Distributed internet protocol-based real-time multimedia streaming architecture

Also Published As

Publication number Publication date
AU2001234579A1 (en) 2001-08-07
WO2001055860A1 (en) 2001-08-02
AU2001237978A1 (en) 2001-08-07
EP1252576A1 (en) 2002-10-30
EP1252576A4 (en) 2006-06-07
CA2398071A1 (en) 2001-08-02
CA2397975C (en) 2016-11-01
WO2001055877A1 (en) 2001-08-02

Similar Documents

Publication Publication Date Title
US10257246B2 (en) Content distribution via a distribution network and an access network
US7159233B2 (en) Method and apparatus for preprocessing and postprocessing content in an interactive information distribution system
US7983344B2 (en) Service rate change method and apparatus
CA2397975C (en) Method and apparatus for content distribution via non-homogeneous access networks
US7248581B2 (en) Method and apparatus for injecting information assets into a content stream
US20020023165A1 (en) Method and apparatus for encoder-based distribution of live video and other streaming content
US20030093799A1 (en) Streamed content Delivery
US20020023164A1 (en) Method and apparatus for client-side authentication and stream selection in a content distribution system
US20020042817A1 (en) System and method for mirroring and caching compressed data in a content distribution system
US20020046405A1 (en) System and method for determining optimal server in a distributed network for serving content streams
US20020040404A1 (en) System and method for performing broadcast-enabled disk drive replication in a distributed data delivery network
CN104737514A (en) A method and apparatus for distributing a media content service
EP2135100B1 (en) Converting video data into video streams
WO2000072517A1 (en) System and method for streaming media over an internet protocol system
CN108271039A (en) A kind of document sending method and device
EP1250651B1 (en) Method and apparatus for content distribution via non-homogeneous access networks
Lohan et al. Integrated system for multimedia delivery over broadband ip networks

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20210129