Chatting the last mile
I have described in a previous post how MUC chat rooms can be distributed to achieve Internet wide scalability. The initial overview focused on an easily implemented architecture aimed at limiting message broadcast for users hosted on different home servers than those providing the MUC chat service.
This model can be extended in an architecture where the distributed MUC brokers are stand alone implementations, separate from the actual home servers. The MUC scalability remains, and is still achieved by using the inter broker room subscription. But in this scenario, the MUC overlay network is not co-located with any particular XMPP server. Certain MUC brokers can be directly managed by domains owners, such as in the case of the powerful capulet.net and montague.com. Other MUC brokers may be managed by third parties having negotiated peering agreements with domain owners to get access to specific room content.
This architecture retains the advantage of the original MUC overlay network at the core. But, inefficiency re-appears in the local loop, where traffic leaves the overlay network toward the various home servers. Fortunately, the last mile traffic can be minimized by leveraging existing XMPP standards. In this case, the messages traffic between an edge MUC broker and a particular home server will be optimized by using JEP-0033 Extended Stanza Addressing to multiplex each broadcasted message.
This architecture further emphasized how XMPP can be used to implement a robust Internet wide multi user chat network. Again, this is achieved without modifying the protocol, by using existing standards and extending their usage context.Technorati Tags: XMPP, Jabber, Addressing, Chat, Publish subscribe, Antecipate