This page presents the motivation for a server architecture for scalable, robust and interoperable multimedia communication on the web. Instead of inventing new protocols, the architecture uses the existing protocols and technologies that have worked best and used extensively for a given application scenario on the current Internet. This enables easy adoption of the architecture.
Multimedia communication is a topic that covers many dimensions, uses many protocols, and has been attempted from several different application scenarios. Earlier protocols such as ITU-T’s H.323 or IETF’s SIP were invented in mid 90’s and, in practice, catered to voice-over-IP (VoIP) applications trying to replace or work with the traditional public switched telephone network (PSTN). Traditional room based video conferencing systems use ITU-T’s H.32x series of protocols, whereas SIP has dominated the Internet telephony and VoIP inter-carrier communication space. Internet telephony is closely related to other synchronous communication mechanisms such as presence and instant messaging. The Jabber community’s XMPP is used by vast majority of presence and instant messaging application on the Internet. Because of the simplicity and availability on XMPP on web platforms, many recent web-based communication systems also use this protocol. Rich Internet Applications (RIA) based on Adobe’s Flash Player browser plugin dominate the web-video application space. Finally, peer-to-peer Skype dominates the PC-to-PC audio communication on the Internet.
There have been several attempts within individual protocol family to import additional features from other protocols to make it “complete”. Such attempts have largely been unsuccessful so far. For example, the SIP community proposed SIMPLE for instant messaging and presence, but hasn’t seen wide acceptance. Skype works well for audio communication but still needs to use SIP for PC-to-phone scenarios. The complexity of H.323 has made it difficult for vast majority of developers outside of giant companies to experiment with new ideas. On the other hand, most recent startups and small companies in the web 2.0 arena want to get applications running quickly, even if it means they put together a dirty hack or something that works without having to deal with maintenance and development cost of existing protocols. For example, recent web-based video communication applications use Adobe’s Flash Player and RTMP/RTMFP. These cannot easily interwork with existing VoIP systems without using a SIP gateway, or existing presence and instant messaging infrastructure without using XMPP. The following table enumerates our views on strengths and weaknesses of several protocols and technologies.
| Protocol | Popular Example | Strength | Weakness | From browser? |
| HTTP | Apache, Tomcat, Browser | Scalable, robust, RESTful | Server configuration | Yes |
| RTMP | FMS, Red5, Flash Player | Less development effort | Only TCP available, client-server only | Yes |
| RTMFP | FMS, Flash Player | P2P possible | Dependency on FMS, P2P not always possible | Yes |
| XMPP | Ejabberd, Adium, Gtalk | Less development effort | Multimedia, client-server | Yes |
| SIP | SER, pjsip VoIP, scalable | NAT and firewall traversal | No | |
| SIMPLE | Ag-projects | Integrates with SIP | Adoption, complexity | No |
| Jingle | Gtalk | Integrates with XMPP | NAT and firewall traversal | No |
| H.323 | Netmeeting | Comprehensive | Complexity | No |
| Skype | Skype | Just works, scalable | Proprietary protocol | No |
Recent comments
9 years 2 weeks ago
8 years 38 weeks ago
9 years 8 weeks ago
9 years 8 weeks ago
9 years 10 weeks ago
9 years 10 weeks ago
9 years 18 weeks ago
9 years 22 weeks ago
9 years 17 weeks ago
9 years 31 weeks ago