A system and method for audience participation with a broadcast, such as a
radio or television program distributed via terrestrial or satellite
broadcast and IPTV multicast, is described. The system provides a
distributed application architecture that self-organizes the audience's
computers, including PCs, mobile devices, and set-top boxes, so that they
work together and distribute the audience-participation communications
and processing load so as to not overburden any one machine or
communication channel. This same technique ensures that no over reliance
is placed on one machine or channel. The system is arbitrarily scalable,
without requiring significant infrastructure enhancements, with o(log n)
response times. This allows live, real-time audience interactions such as
voting or participation as a contestant, with live, real-time feedback to
the studio originating the broadcast.