Pub/sub-based Web Applications Walter Wong HIIT & NomadicLab 01.03.2010
Agenda Current data delivery in the Web Pub/sub-based content delivery Implementation Evaluation Conclusion
Pull-based model Client Server HTTP Get + Servers don’t save state - Clients constantly poll for data - Entire page download - No real time delivery capabilities HTTP 200 OK HTTP Get HTTP 200 OK :
Push-based HTTP long-polling Client Server update! + Clients request and wait + Almost real-time delivery + Servers send just the updated data (AJAX) - Servers keep open TCP connections - Clients request again after data delivery HTTP Get HTTP 200 OK XHR Get (long poll) HTTP 200 OK XHR Get (long poll) :
Pub/sub-based for Web content delivery Objectives Real-time data delivery capabilities in the Web Lower network bandwidth consumption (simple delivery channel - no TCP) Lower hardware requirements (no connection maintenance) Lower energy consumption (portable devices)
Pub/sub Model Subscriber Publisher Subscribe(data) + Servers don’t save state + Partial page download + Real time delivery Capabilities + Consumes less energy Publish(data) Publish(data) Publish(data)
Pub/sub-based for Web content delivery
PSIRP Firefox plug-in
Evaluation network
PSIRP Firefox plug-in vs. HTTP long-polling
Conclusion Pull and push-based systems hinder real-time content delivery in the Web Waste of resources mainly due to the host-centric client/server model Publish/subscribe provides real-time content delivery with lower overhead Implementation shows that pub/sub is simpler, requires lower hardware requirements and reduces the overall network traffic
Questions? Comments? Thanks!