1. A communications system, comprising: a first server for providing programming content; a device for providing at least one data stream containing the programming content over a communications network to terminals coupled to the network, the at least one data stream being identified by a respective identifier; a controller for communicating the respective identifier to requesting terminals for receiving the respective data streams; and a second server for receiving from the terminals over the communications network viewer entered commands relating to a presentation of the programming content currently being provided to the respective terminals, and to: read the commands received from respective terminals; compile data from at least certain of the read commands, in association with identifications of the respective terminals providing the respective commands and time information relating to the respective commands; store the compiled data; forward the read commands to the first server for presentation of the programming content currently being provided to the respective terminals, in accordance with the read commands; and total a number of terminals issuing a selected command with respect to selected programming content during a selected time period; wherein the first server receives the commands forwarded by the second server and presents the programming content currently being provided to the respective terminals in accordance with the respective forwarded commands.