- From: David Hull <dmh@tibco.com>
- Date: Mon, 14 Aug 2006 12:11:50 -0400
- To: "xml-dist-app@w3.org" <xml-dist-app@w3.org>
- Message-id: <44E0A0C6.1060309@tibco.com>
Here is what I want to be able to capture about multicast. * Actual implementations do it. If I publish a message, or send it to a mailing list, or send a broadcast or IP multicast packet, multicast will happen. * Multicast looks like a single operation to the sender. * Multicast looks like a single operation to /each/ receiver. * The sender and all receivers are participating in the same operation, particularly for the purposes of logging and error reporting. I believe the approach I've proposed, of the binding specifying a mapping from the address the sender gave to zero or more receivers, handles this cleanly, both in that it's close to what actually happens in implementations, and because it adds very little extra verbiage to the spec. The current text reflects this approach, though it doesn't mention the mapping explicitly. This approach is based on an ether model, which I believe captures what happens in real life in a wide variety of instances: The sender sends a message into the ether. Each receiver sees a message emerge from the ether. What happens up in the ether is its business. In the olden days, of course, we used to have black boxes to do this kind of thing, but ether suggests something more widespread and diffuse. In real life, the ether could be the email infrastructure, with a mailing list handler inside, or the network itself, or your favorite messaging infrastructure, or a radio channel, or whatever. Noah mentioned (at least to me), a model in which a single logical destination is embodied as multiple physical destinations. I think this is very close to what I proposed, the main question being whether it can be separated out from the one-way MEP description proper. From the sender's point of view, it definitely can. The whole point of multicast is that at least in normal operation it looks the same to the sender. What concerns me is the constraint that the receivers are all participating in the same MEP. In particular, the sender may get error messages from multiple receivers for the same MEP (e.g., bounce messages for multiple members of a mailing list). Because the MEP looks like a single operation to the sender, I'm skeptical of a multi-MEP solution. AFAICT, the sender would be participating in a composite operation consisting of 0 .. N MEPs, which all look identical to it. The zero case looks especially troublesome. Even if there's no one to hear it, the tree still falls. Maybe I'm missing something, but this seems like it would be a pain to word precisely, and it doesn't seem particularly close to the ether model.
Received on Monday, 14 August 2006 16:12:06 UTC