Method and system for ensuring continuous data flow between re-transmitters within a chaincast communication system
First Claim
1. A method of transmitting broadcast information over the Internet, said method comprising:
- registering with a broadcast manager;
receiving from said broadcast manager a list comprising a plurality of different content selections;
sending to said broadcast manager a content selection;
after said sending said content selection, establishing a communication connection with a broadcast source in response to control information from said broadcast manager;
based on said content selection, receiving broadcast information representing said content selection to render to a first user via said communication connection from said broadcast source that is receiving, buffering, and rendering to a second user said broadcast information;
providing a buffer comprising a first portion and a second portion;
storing said broadcast information to be rendered in said first portion of said buffer;
storing said broadcast information that has been rendered and may be retransmitted in said second portion of said buffer;
separating said first and second portions with a rendering pointer, which points to said broadcast information currently being rendered;
if said broadcast information in said first portion of said buffer falls below a first predetermined threshold, sending a first message to said broadcast source to transmit more broadcast information, wherein said first predetermined threshold is indicated with a first pointer; and
if said broadcast information in said first portion of said buffer falls below said first predetermined threshold and a second predetermined threshold, sending a second message to said broadcast manager to assign a different broadcast source, wherein said second predetermined threshold is indicated with a second pointer.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system for performing chaincast communication to multiple communication systems (e.g., computer systems) within a system of coupled electronic devices (e.g., the Internet). The present invention provides a system wherein a broadcast source communicates primary broadcast information (e.g., encoded audio radio content, encoded audio/video television content, etc.) to a first group of electronic devices. The first group of electronic devices can be instructed by a chaincast manager to then communicate (e.g., forward or re-transmit) the broadcast information to other electronic devices which devices can also be instructed to communicate to more devices, etc., thereby reducing the bandwidth requirements of the communication channel between the broadcast source and the first group of electronic devices. The chaincast manager, coupled to the Internet, is used to track and manage which devices are forwarding broadcast information to which other devices. The chaincast manager is also used to monitor the packet rates between the electronic devices. In response to the packet rates falling below a pre-determined threshold value, the transmission re-routes communications to provide better communication load sharing across the system. The chaincast communication system may also include a number of secondary broadcast servers for broadcasting secondary information content (e.g., advertisement, emergency information, community information, etc.) to be rendered independently of the primary broadcast information content.
-
Citations
20 Claims
-
1. A method of transmitting broadcast information over the Internet, said method comprising:
-
registering with a broadcast manager; receiving from said broadcast manager a list comprising a plurality of different content selections; sending to said broadcast manager a content selection; after said sending said content selection, establishing a communication connection with a broadcast source in response to control information from said broadcast manager; based on said content selection, receiving broadcast information representing said content selection to render to a first user via said communication connection from said broadcast source that is receiving, buffering, and rendering to a second user said broadcast information; providing a buffer comprising a first portion and a second portion; storing said broadcast information to be rendered in said first portion of said buffer; storing said broadcast information that has been rendered and may be retransmitted in said second portion of said buffer; separating said first and second portions with a rendering pointer, which points to said broadcast information currently being rendered; if said broadcast information in said first portion of said buffer falls below a first predetermined threshold, sending a first message to said broadcast source to transmit more broadcast information, wherein said first predetermined threshold is indicated with a first pointer; and if said broadcast information in said first portion of said buffer falls below said first predetermined threshold and a second predetermined threshold, sending a second message to said broadcast manager to assign a different broadcast source, wherein said second predetermined threshold is indicated with a second pointer. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus comprising:
-
means for receiving from a broadcast manager a list comprising a plurality of different content selections, for sending to said broadcast manager a content selection, and for establishing a connection with a broadcast source in response to control information from said broadcast manager after said sending said content selection to said broadcast manager; means for receiving and rendering to a first user broadcast information retransmitted over the Internet via said connection from said broadcast source that is receiving, buffering, and rendering to a second user said broadcast information; means for selectively retransmitting said broadcast information based on control information from said broadcast manager; a buffer comprising a first portion for storing said broadcast information to be rendered, a second portion for storing said broadcast information that has been rendered and may be retransmitted, and a rendering pointer for separating said first and second portions, wherein said rendering pointer points to said broadcast information currently being rendered; and means for sending a first message to said broadcast source to transmit more broadcast information if said broadcast information in said first portion of said buffer falls below a first predetermined threshold and for sending a second message to said broadcast manager to assign a different broadcast source if said broadcast information in said first portion of said buffer falls below said first predetermined threshold and a second predetermined threshold, wherein said first predetermined threshold is indicated with a first pointer, and wherein said second predetermined threshold is indicated with a second pointer. - View Dependent Claims (7, 8, 9, 10)
-
-
11. An apparatus comprising:
-
means for registering a broadcast target to receive broadcast information; means for sending a list comprising a plurality of different content selections to said broadcast target; means for receiving from said broadcast target a content selection; means for causing said broadcast target to establish a connection with a broadcast source after receiving said content selection; means for instructing based on said content selection said broadcast source, which is receiving, buffering, and rendering to a first user broadcast information representing said content selection, to retransmit said broadcast information via said connection to said broadcast target for rendering to a second user; and means for receiving messages from said broadcast target and said broadcast source concerning each respective buffer of said broadcast target and said broadcast source, wherein each respective buffer comprises a first portion for storing said broadcast information to be rendered, a second portion for storing said broadcast information that has been rendered and may be retransmitted, and a rendering pointer for separating said first and second portions, wherein said rendering pointer points broadcast information currently being rendered, wherein said broadcast target sends a first message to said broadcast source to transmit more broadcast information if said broadcast information in paid first portion of said buffer falls below a first predetermined threshold, wherein said broadcast target sends a second message to said means for receiving messages to assign a different broadcast source if said broadcast information in said first portion of said buffer falls below said first predetermined threshold and a second predetermined threshold, wherein said first predetermined threshold is indicated with a first pointer, and wherein said second predetermined threshold is indicated with a second pointer. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification