Efficiency would be to use multicasting UDP as means of transport: several subscribers listen to one "stream".
http://docs.oracle.com/javase/tutorial/networking/datagrams/broadcasting.html as transport protocol to send 1 thing to several recipients.
To achieve that in an orchestrated way, a subscriber maybe first has to announce himself and receive a start time, and decryption token for that edition. Or in your case, to him a new start time and decryption token, to go reading are pushed.
For that pushing API I would look into the new emerging HTML5 support for that. As that will be mainstream. And though HTTP is not your intended protocol, it might be easier to do.