inline.

Michaelwagner wrote:
I am sure I only understand some of the issues involved, but the problem
is complex.

At the moment, synchronization occurs at every new song.
The various squeezeboxen (which can be of different generations) all
buffer up and wait for a "go" signal. The go signal is probably sent
multicast, but I actually don't know that for sure. After the go

The signal is sent unicast to each client. No multicast traffic is being generated.

signal, they all buffer and stream out music to the end of the song,
then all buffer up and wait for the next song to start.

Within one song, they rely on the accuracy of their own clocks to keep
in sync with each other.

In the software roadmap http://wiki.slimdevices.com/index.cgi?SoftwareRoadmap there is a line item for using a network clock for synchronization. I'm
not sure what implementation that would take and whether multicast would
play a role, but it seems a likely route. The goal, though, would not be
to multicast the content (which is very difficult when sending to
multiple generations with different buffering and streaming
requirements) but merely to multicast a synchronization clock.

Even still, I don't know what accuracy you can get with multicast. Across a hub, propegation is essentially instantaneous.
Across a switch, there is a very tiny delay and the potential of a
longer one if there is interfering traffic on the other side of the
switch. I don't know if there is a promise by the protocol to limit the
delay to a level where it would be insignificant for this use.
Across a wireless access point? I expect all bets are off. I'm not sure
multicast will offer any advantages there ...

As you've said, the benefit in multicast to the multiple client synchronization would be minimal (if nonexistent). The benefit to multicast would be lower bandwidth utilization in a situation where many clients exist. A heart-beat sent to the server by each client with a frame number and ntp time synched time stamp would allow the server to send a signal to the client to advance the track 3 frames to catch up with the other clients. Of course, if there are only two players there would need to be logic in the server to decide who was more accurate on a consistent basis. If done every second, the effect would be near perfect synchronization. From reading about Sonos, this network heartbeat is how they synchronize accurately.

Multicast could be used to send the heartbeat to a group address, but since the logic needs to be controlled at a central location (if 4 of your squeezeboxes all decide the one fast is the most accurate you get degraded sound on 4 instead of 1, there needs to be central control of the logic), it makes the most sense to only unicast it to the server. This continues to follow the client/server model Slim Devices has incorporated to date as well.

Now, for the actual music stream, I send 192k VBR MP3 to the squeezeboxes in my house. I can imagine the remote possibility of say 7 of them, and on a high bitrate song, that comes out at about 1.8mbit. My 54mbit network is hardly going to even hiccup at that. Personally I prefer the rudimentary network capabilities of a unicast network that would allow me to easily setup remote routed nodes for my squeezeboxes, be it either in the house or over the Internet. Keep in mind I also work on a few hundred node network using Multicast in multiple capacities for a living, and I don't want Multicast because of it's complexities, watch out for your standard user..

My suggestion for anything with a HUGE number of squeezeboxes is the development of a method to bounce streams off another slimserver, so that 30 squeezeboxes on floors 1 and 2 of the hotel can be on slimserver 1, and the 30 squeezeboxes on floors 3 and 4 can be on the second one. While both slimservers synchronize themselves in the background. But even with 60 squeezeboxes running at 256kbit, you're still only talking 15mbit. Find APs, switches, and routers that can understand 802.1p QoS and set the priorities accordingly so you can differentiate your music over the web browsing on the network and you should be good.

Hell, with 60 rooms and a 100mbit network you could have every room listen to music, talk on a VoIP phone, and browse the web with very little degradation to their web surfing, and absolutely none to their phone calls and music if CoS is enabled properly.. Since not every room will do everything at the same time, a cheap 100mbit switched network could provide the entertainment and communications for a 60 room hotel.. pretty impressive.

Now, if you're scaling a setup with 100s of squeezeboxes I would suggest you talk to Slim Devices before going forward, I bet they could dedicate some development time to figuring out how to meet your needs =) (hey, money talks right?). If Multicast is the only answer, they may be able to do it in the squeezebox firmware, but just be sure to leave the rest of us our simple unicast world!

-- Mike
_______________________________________________
Discuss mailing list
[email protected]
http://lists.slimdevices.com/lists/listinfo/discuss

Reply via email to