Live video broadcasting on distributed networks
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
H04N-007/173
H04N-021/2187
H04N-021/222
H04L-029/06
H04L-029/08
출원번호
US-0528984
(2014-10-30)
등록번호
US-9635318
(2017-04-25)
발명자
/ 주소
Shankar, Sumankar
Ganesan, Prasanna
출원인 / 주소
VUDU, INC.
대리인 / 주소
Bryan Cave LLP
인용정보
피인용 횟수 :
0인용 특허 :
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;selecting a set of seeding devices from a plurality of devices in the distributed netwo
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;selecting a set of seeding devices from a plurality of devices in the distributed network to each receive at least one substream of the plurality of substreams; andtransmitting 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 sub streams to specific devices of others of the plurality of devices as the plurality of substreams are received, the set of seeding devices further transmitting the sourcing instruction to the specific devices of the others of the plurality of devices, the sourcing instruction instructing the specific devices of the others of the plurality of devices to transmit one or more first substreams of the plurality of substreams to still other devices of the plurality of devices. 2. The method of claim 1, further comprising: receiving a request for the live program from one or more ordering devices; andin response to receiving the request for the live program from the one or more ordering devices, configuring a portion of the specific devices and the still other devices as a plurality of suppliers programmed to provide the plurality of substreams to the one or more ordering devices so that the live program can be played back on the one or more ordering devices. 3. The method of claim 2, wherein the plurality of substreams comprises N substreams, N being a finite integer, and wherein configuring the portion of the specific devices and the still other devices as 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. 4. The method of claim 3, 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. 5. The method of claim 1, wherein a number of the plurality of substreams is based, at least in part, on an availability of bandwidth across the plurality of devices in the distributed 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. 6. The method of claim 1, further comprising selecting the plurality of devices in response to determining that the plurality of devices are idle. 7. The method of claim 6, wherein determining that plurality of devices are idle comprises determining that the plurality of devices have a capacity to distribute at least two substreams of the plurality of substreams. 8. The method of claim 6, wherein determining that the plurality of devices are idle further comprises: determining a status of all devices of the plurality of devices in the distributed network and classifying, as the plurality of devices, those devices of the plurality of devices that have sufficient unused computation power and bandwidths; anddetecting whether each device 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 the at least one of the plurality of substreams to more than two ordering devices. 9. The method of claim 1, further comprising causing one of the one or more ordering devices to supply one or more of the N substreams to another ordering device. 10. The method of claim 1, wherein transmitting the specific substreams of the plurality of substreams to the specific devices of the others of the plurality of devices further comprises, for each specific device of the specific devices: transmitting the sourcing instruction to the each specific device;requesting, by the each specific device, one or more second substreams of the plurality of substreams in response to receiving the sourcing instruction; andtransmitting, by the server, the one or more second substreams of the plurality of substreams to the each specific device in response to receiving the sourcing instruction. 11. A system for distributing a live program over a distributed network, the system comprising: a server; anda non-transitory computer-readable medium storing instructions configured to run on the server such that the server is configured to:generate a plurality of substreams comprising 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 a number of the N substreams are based, at least in part, on an availability of bandwidth across a plurality of devices in the distributed network;select a set of seeding devices from the plurality of devices in the distributed network to each receive at least one substream of the plurality of substreams; andtransmit 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 set of seeding devices further transmitting the sourcing instruction to the specific devices of the others of the plurality of devices, the sourcing instruction instructing the specific devices of the others of the plurality of devices to transmit one or more first substreams of the plurality of substreams to still other devices of the plurality of devices. 12. The system of claim 11, further comprising the distributed network. 13. The system of claim 11, wherein the server is further configured to: receive a request for the live program from one or more ordering devices;in response to receiving the request for the live program from the one or more ordering devices, configure a portion of the specific devices and the still other devices as a plurality of suppliers programmed to provide the plurality of substreams to the one or more ordering devices so that the live program can be played back on the one or more ordering devices. 14. The system of claim 13, wherein the server is further configured to configure the portion of the specific devices and the still other devices as the plurality of suppliers by 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. 15. The system of claim 14, wherein the N substreams are received by the one or more ordering devices concurrently, and wherein the one or more ordering devices are configured to multiplex data blocks in each of the N substreams to recover the data stream for viewing or listening. 16. The system of claim 11, wherein the server is further configured to determine a number of the plurality of substreams based, at least in part, on the availability of bandwidth across the plurality of devices in the distributed network, each substream of the plurality of substreams comprising the decimated samples of the live program. 17. The system of claim 11, wherein the server is further configured to select the plurality of devices in response to determining that the plurality of devices are idle. 18. The system of claim 17, wherein the server is further configured to determine that plurality of devices are idle by determining that the plurality of devices have a capacity to distribute at least two substreams of the plurality of substreams. 19. The system of in claim 17, wherein the server is further configured to determining that the plurality of devices are idle by: determining a status of all devices of the plurality of devices in the distributed network and classifying, as the plurality of devices, those devices of the plurality of devices that have sufficient unused computation power and bandwidths; anddetecting whether each device 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 the at least one of the plurality of substreams to more than two ordering devices of the plurality of devices. 20. The system of claim 11, wherein the server is further configured to transmit the plurality of substreams to the specific devices of the others of the plurality of devices by, for each specific device of the specific devices: transmitting the sourcing instruction to the each specific device;requesting, by the each specific device one or more second substreams of the plurality of substreams in response to receiving the sourcing instruction; andtransmitting, by the server, the one or more second substreams of the plurality of substreams to the each specific device in response to receiving the sourcing instruction.
연구과제 타임라인
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는 부적절한 답변을 할 수 있습니다.