Live video broadcasting on distributed networks
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
H04N-007/173
H04L-029/06
H04N-021/222
H04L-029/08
H04N-021/2187
G06F-015/16
출원번호
US-0831938
(2007-07-31)
등록번호
US-8904463
(2014-12-02)
발명자
/ 주소
Shankar, Sumankar
Ganesan, Prasanna
출원인 / 주소
Vudu, Inc.
대리인 / 주소
Stevens, David R.
인용정보
피인용 횟수 :
1인용 특허 :
80
초록▼
The techniques related to providing a live program over the Internet are described. According to one aspect of the techniques, a data stream representing a live program is preprocessed to produce a plurality of substreams, each of the substreams comprising decimated samples of the data stream. The n
The techniques related to providing a live program over the Internet are described. According to one aspect of the techniques, a data stream representing a live program is preprocessed to produce a plurality of substreams, each of the substreams comprising decimated samples of the data stream. The number of substreams is relatively large so that the bandwidth requirement for delivering one of the substreams is relatively low. With a group of seeding boxes receiving the substreams, a group of boxes in services are designated to receive the substreams from the seeding boxes, each of these boxes including the seeding boxes is able to support multiple outbound streams (e.g., greater than 2) so that there are enough data suppliers to service the ordering boxes or colonize more boxes to become the data suppliers. As a result, a live program can be timely serviced by peer boxes, significantly reducing the computation and bandwidth burdens on a server(s).
대표청구항▼
1. A method for distributing a live program over a distributed network, the method being performed by a server and comprising: processing a data stream representing the live program into a plurality of substreams, a number of substreams being based, at least in part, on an availability of bandwidth
1. A method for distributing a live program over a distributed network, the method being performed by a server and comprising: processing a data stream representing the live program into a plurality of substreams, a number of substreams being based, at least in part, on an availability of bandwidth across devices in the network, each of the substreams comprising decimated samples of the data stream, wherein the processing of the data stream is continuously performed until the live program ends;identifying a plurality of devices in the network that are idle;selecting a set of seeding devices from the plurality of devices to receive at least one substream of the plurality of substreams;transmitting the plurality of substreams to the set of seeding devices with a sourcing instruction, wherein the sourcing instruction instructs the set of seeding devices to transmit specific substreams of the plurality of substreams to specific devices of others of the plurality of devices as the plurality of substreams are received, the seeding devices further transmitting the sourcing instruction to the others of the plurality of devices, the sourcing instruction instructing the others of the plurality of devices to transmit one or more substreams of the plurality of substreams to still other devices of the plurality of devices; andconfiguring a plurality of suppliers from the plurality of devices to provide the plurality of substreams to one or more ordering devices in response to the one or more ordering devices requesting to the server to view or listen to the live program so that the live program can be played back on the one or more ordering devices. 2. The method as recited in claim 1, wherein the plurality of substreams comprises N substreams, N being a finite integer, and wherein configuring the plurality of suppliers further comprises designating N suppliers of the plurality of suppliers to each supply a corresponding one of the N substreams to the one or more ordering devices. 3. The method as recited in claim 2, wherein the N substreams are received by the one or more ordering devices concurrently, and wherein data blocks in each of the N substreams are multiplexed by the one or more ordering devices to recover the data stream for viewing or listening to. 4. The method as recited in claim 3, further comprising causing one of the one or more ordering devices to supply one or more of the N substreams to another ordering device. 5. The method as recited in claim 2, further comprising designating another supplier to continue supplying a corresponding one of the plurality of substreams should one of the N suppliers fail to maintain a required transmission speed. 6. The method as recited in claim 2, wherein each of the N suppliers provides one of the substreams to two or more ordering devices. 7. The method as recited in claim 1, wherein processing the data stream comprises: determining how many substreams are needed to service the live program; andgenerating the substreams by continuously sampling the data stream, in a decimated fashion, to generate a plurality of data blocks, wherein the data blocks in the data stream are consecutive while the data blocks in each of the substreams are interleaved. 8. The method as recited in claim 7, wherein identifying the plurality of devices in the network that are idle comprises: determining a status of all devices in the network and classifying, as the plurality of devices, those devices that have sufficient unused computation power and bandwidths; anddetecting whether each of the plurality of devices has sufficient downloading bandwidth to receive at least one of the plurality of substreams and an uploading bandwidth to provide at least one of the plurality of substreams to more than two ordering devices. 9. The method as recited in claim 8, wherein the plurality of substreams comprises N substreams, and wherein selecting the set of seeding devices from the plurality of devices comprises selecting N seeding devices of the set of seeding devices to each receive one of the N substreams directly from a server configured to provide the N substreams. 10. A system for distributing a live program over a distributed network, the system comprising: a server configured to generate N substreams that are created from a data stream representing the live program, N being a finite integer and each of the N substreams including decimated samples of the live program, wherein generates number of the N substreams are based, at least in part, on an availability of bandwidth across devices in the network;a plurality of devices in the network that are idle, wherein a set of seeding devices from among the plurality of devices (i) is selected to receive at least one substream of the N substreams from the server, and (ii) propagate the N substreams to others of the plurality of devices as the N substreams are received from the server, the server further configured to transmit a sourcing instruction to the set of seeding devices, the sourcing instruction instructing the set of seeding devices to transmit the sourcing instruction and specific substreams of the plurality of substreams to specific other devises of the plurality of devices, the sourcing instruction further instructing the other devices of the plurality of devices to transmit one or more substreams of the plurality of substreams to still other devices of the plurality of devices; anda plurality of ordering devices to request to the server to view or listen to the live program, each of the plurality of ordering devices receiving the N substreams from N of the plurality of devices, wherein each of the N devices is capable of providing a corresponding substream to one or more of the plurality of ordering devices. 11. The system as recited in claim 10, wherein each of the one or more of the plurality of ordering devices receives the N substreams concurrently, and wherein data blocks in each of the N substreams are multiplexed to recover the data stream for viewing or listening to. 12. The system as recited in claim 11, wherein the each of the plurality of ordering devices is configurable to supply one or more of the N substreams to another ordering device. 13. The system as recited in claim 11, wherein each of the plurality of devices has sufficient downloading bandwidth to receive one of the N substreams and an uploading bandwidth to provide a corresponding one of the N substreams to more than two ordering devices. 14. The system as recited in claim 11, wherein each of the plurality of devices has a sufficient downloading bandwidth to receive one of the N substreams and an uploading bandwidth to support multiple streams of one of the N substreams. 15. The system as recited in claim 10, wherein the N substreams are continuously generated by sampling data blocks in a decimated fashion from the data stream being received, wherein the data blocks in the data stream are consecutive while the data blocks in each of the substreams are interleaved. 16. The system as recited in claim 15, wherein each of the plurality of ordering devices receives the N substreams concurrently, and wherein data blocks in the N substreams are multiplexed to recover the data stream for viewing or listening to. 17. The system as recited in claim 15, wherein the set of seeding devices is configured to propagate the N substreams to others of the plurality of devices with a minimum delay in time. 18. A method for distributing media content over a network, the method being performed by a server and comprising: processing a data stream into a plurality of substreams, a number of substreams being based, at least in part, on an availability of bandwidth across devices in the network, wherein the data stream corresponds to a presentation that includes a live event, wherein the processing of the data stream is continuously performed until the live event ends;transmitting the substreams with a sourcing instruction to a set of seeding devices in a plurality of devices in the network, wherein the sourcing instruction instructs the set of seeding devices to transmit specific substreams of the plurality of substreams to specific devices of others of the plurality of devices as the plurality of substreams are being received, the seeding devices further transmitting the sourcing instruction to others of the plurality of devices, the sourcing instruction instructing the others of the plurality of devices to transmit one or more substreams of the plurality of substreams to still other devices of the plurality of devices;configuring a plurality of suppliers from the plurality of devices to transmit the plurality of substreams to a requesting device in response to the requesting device requesting to the server to view or listen to the presentation that includes the live event; anddynamically varying one or more of the plurality of suppliers to transmit the plurality of substreams to the requesting device based on an availability of one or more of the plurality of suppliers.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (80)
Chen, Ben W., Adaptive media streaming server for playing live and streaming media content on demand through web client's browser with no additional software or plug-ins.
Yurt Paul (P.O. Box 676 ; Times Square Station New York NY 10108) Browne H. Lee (Two Soundview Dr. Greenwich CT 06830), Audio and video transmission and receiving system.
Munetsugu, Toshihiko; Etoh, Minoru; Araki, Shouichi; Emura, Koichi, Data processing device and method for selecting media segments on the basis of a score.
Ellis,Michael D.; Herrington,W. Benjamin; Williamson,Steven C.; Easterbrook,Kevin B.; Rosenthol,Joshua A.; Rudnick,David M., Interactive television program guide with selectable languages.
Ozzie, Raymond E.; Moore, Kenneth G.; Myhill, Robert H.; Lambert, Brian M., Method and apparatus for activity-based collaboration by a computer system equipped with a communications manager.
Ganesan, Prasanna; Matloub, Shahriyar; Miranz, Tony; Rossmann, Alain; Sze, Richard, Method and apparatus for assembling portions of a data file received from multiple devices.
Krause Edward A. ; Shen Paul ; Tom Adam S., Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping prese.
Kao Po-Sung,TWX ; Tu Hao,TWX ; Wang Ming-Hung,TWX ; Liu Yuan-Kai,TWX, Method and device for adjusting eye range by means of displacements of prisms and ocular lenses.
Grady John ; Hand Kenneth ; Modrowsky John ; Richard ; III Arthur A., Method and system for accessing multimedia data over public switched telephone network.
Rashid Richard F. ; Bolosky William J. ; Fitzgerald Robert P., Method and system for combining data from multiple servers into a single continuous data stream using a switch.
Ganesan,Prasanna; Matloub,Shahriyar; Miranz,Tony; Rossmann,Alain; Sze,Richard, Method and system for providing instantaneous media-on-demand services by transmitting contents in pieces from client machines.
Korst Johannes H. M.,NLX ; Lawerman Edzer,NLX ; Pronk Serverius P. P.,NLX ; Van Doren Giel,NLX, Method and system for supplying streams of data having identical maximum consumption rate in a storage medium.
Ottesen Hal Hjalmar ; Smith Gordon J. ; VanLeeuwen George Willard, Multimedia control system and method for controlling multimedia program presentation.
Inoue Hajime,JPX ; Kubota Yukio,JPX ; Nagashima Toshimichi,JPX ; Shimazu Akira,JPX ; Kanota Keiji,JPX, Near video-on-demand signal receiver having a memory which provides for VCR like functions.
Hobson Samuel D. (Seattle WA) Horvitz Eric (Kirkland WA) Heckerman David E. (Bellevue WA) Breese John S. (Mercer Island WA) Finkelstein Erich-Sren (Bellevue WA) Shaw Gregory L. (Kirkland WA) Flynn Ja, On-line help method and system utilizing free text query.
Yitzhak Birk IL; Ron Mondri IL, SYSTEM FOR OPTIMIZING VIDEO ON DEMAND TRANSMISSION BY PARTITIONING VIDEO PROGRAM INTO MULTIPLE SEGMENTS, DECREASING TRANSMISSION RATE FOR SUCCESSIVE SEGMENTS AND REPEATEDLY, SIMULTANEOUSLY TRANSMISSI.
Hooper Donald F. (Shrewsbury MA) Goldman Matthew S. (Marlborough MA) Bixby Peter C. (Westborough MA) Krishnamoorthy Suban (Shrewsbury MA), Segmented video on demand system.
Eyer, Mark Kenneth; Krishnan, Aditya; Zustak, Fred J.; Chang, Matthew S.; Proehl, Andrew M.; Candelore, Brant L.; Colsey, Nicholas; Yang, David K. L.; Golden, Dayan Ivy; Shintani, Peter Rae, Selective capture and storage of A/V objects in an interactive multimedia system.
Chen,Monsong; Mukherjee,Bodhi; Duan,Dah Weih, Streaming while fetching broadband video objects using heterogeneous and dynamic optimized segmentation size.
Gordon, Donald F.; Ludvig, Edward A.; Osborn, Nathan W.; Edmonds, Jeremy S.; Bayrakeri, Sadik, System for generating, distributing and receiving an interactive user interface.
Smirnov, Serge; Lee, Mingtzong; Lorton, Christopher W.; Raja, Jayachandran, System for storing streaming information in a circular buffer by using padding block containing non-streaming information to fill a partition of the buffer.
O'Neal,Michael; Kleinpeter,Joshua, System of distributing content data over a computer network and method of arranging nodes for distribution of data over a computer network.
Davies,David B.; Russ,Samuel H.; Krantzler,Irvan J., Systems and methods for operating a peripheral record/playback device in a networked multimedia system.
Bouchard Eugene E. ; Sriram Venkat R. ; Stanelle Scott E. ; Kunaparaju Varma S., Techniques for improving index searches in a client-server environment.
Page John D. ; Bouchard Eugene E. ; Sriram Venkat R. ; Stanelle Scott E., Trackpoint-based computer-implemented systems and methods for facilitating collaborative project development and communication.
Henley Martha R. ; Wyllie James Christopher ; Saxena Ashok Raj, Video data streamer having scheduler for scheduling read request for individual data buffers associated with output port.
Vahalia Uresh K. ; Forecast John ; Tzelnic Percy, Video file server maintaining sliding windows of a video data set in random access memories of stream server computers f.
Youden John J. ; Kovalick Albert W. ; Siccardo Paolo L. ; Adams Christopher R. ; Jensen James E. ; Coggins David John ; Thapar Manu ; Santos Kari, Video on demand system with multiple data sources configured to provide VCR-like services.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.