ShortTalk - XMPP messaging in a peer to peer manner Instructed by: Edward Bortnikov Supervisor: Dr. Ilana David Developed by: Michael Gartsbein
Project goal Create a package that uses the XMPP protocol as the transport but distributes the server functionality among the participating nodes Create a package that uses the XMPP protocol as the transport but distributes the server functionality among the participating nodes Create a lightweight XMPP server than can be embedded to each node in system Create a lightweight XMPP server than can be embedded to each node in system Develop a demo messaging application Develop a demo messaging application
Architecture Use an open dht system (bamboo open-dht) for the signaling Use an open dht system (bamboo open-dht) for the signaling Use the xmpp protocol at the transport between nodes Use the xmpp protocol at the transport between nodes The dht application will use a small dht-handler, xmpp client and server to communicate The dht application will use a small dht-handler, xmpp client and server to communicate
Block scheme ShortTalk application instance GUI XMPP server XMPP client DHT handler User agent ShortTalk application instance GUI XMPP server XMPP client DHT handler User agent DHT node P2p session
The technology The project is built as a composition of python packages The project is built as a composition of python packages XMPP – client and server according to the XMPP standard RFC 3920 XMPP – client and server according to the XMPP standard RFC 3920 DHT – free publicly open DHT service – based on the bamboo project DHT – free publicly open DHT service – based on the bamboo project Tkinter – a “standard” python GUI Tkinter – a “standard” python GUI
Illustration GUI XMPP server XMPP client DHT handler User agent GUI XMPP server XMPP client DHT handler User agent 1 2 3