Liquid Stream Processing Across Web Browsers and Web Servers

The recently proposed API definition WebRTC introduced peer-to-peer real time communication between Web browsers, allowing streaming systems to be deployed on browsers in addition to traditional server-side execution environments. While streaming applications can be adapted to run on Web browsers, it remains difficult to deal with temporary disconnections, energy consumption on mobile devices and a potentially very large number of heterogeneous peers that join and leave the execution environment affecting the quality of the stream. In this paper we present the decentralized control approach followed by the Web Liquid Streams WLS framework, a novel framework for streaming applications running on Web browsers, Web servers and smart devices. Given the heterogeneity of the deployment environment and the volatility of Web browsers, we implemented a control infrastructure which is able to take operator migration decisions keeping into account the deployment constraints and the unpredictable workload.

[1]  Irene Garrigós,et al.  Ten Years of Rich Internet Applications: A Systematic Mapping Study, and Beyond , 2014, TWEB.

[2]  Gian Pietro Picco,et al.  Understanding code mobility , 1998, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[3]  Cesare Pautasso,et al.  Towards Liquid Web Applications , 2015, ICWE.

[4]  Scott Shenker,et al.  Discretized Streams: An Efficient and Fault-Tolerant Model for Stream Processing on Large Clusters , 2012, HotCloud.

[5]  Steve Vinoski,et al.  Node.js: Using JavaScript to Build High-Performance Network Programs , 2010, IEEE Internet Comput..

[6]  Cesare Pautasso,et al.  A RESTful API for controlling dynamic streaming topologies , 2014, WWW '14 Companion.

[7]  Robert Grimm,et al.  A catalog of stream processing optimizations , 2014, ACM Comput. Surv..

[8]  Tommi Mikkonen,et al.  Liquid Software Manifesto: The Era of Multiple Device Ownership and Its Implications for Software Architecture , 2014, 2014 IEEE 38th Annual Computer Software and Applications Conference.

[9]  Cesare Pautasso,et al.  An Architectural Style for Liquid Web Services , 2011, 2011 Ninth Working IEEE/IFIP Conference on Software Architecture.

[10]  Daniel Mills,et al.  MillWheel: Fault-Tolerant Stream Processing at Internet Scale , 2013, Proc. VLDB Endow..

[11]  Pan Hui,et al.  ThinkAir: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading , 2012, 2012 Proceedings IEEE INFOCOM.

[12]  Cesare Pautasso,et al.  The Stream Software Connector Design Space: Frameworks and Languages for Distributed Stream Processing , 2014, 2014 IEEE/IFIP Conference on Software Architecture.

[13]  Qiming Chen,et al.  Performance optimization for distributed intra-node-parallel streaming systems , 2013, 2013 IEEE 29th International Conference on Data Engineering Workshops (ICDEW).

[14]  Roberto Baldoni,et al.  Adaptive online scheduling in storm , 2013, DEBS.

[15]  Alec Wolman,et al.  MAUI: making smartphones last longer with code offload , 2010, MobiSys '10.

[16]  Yung-Hsiang Lu,et al.  Cloud Computing for Mobile Users: Can Offloading Computation Save Energy? , 2010, Computer.

[17]  Márk Jelasity,et al.  Gossip-based aggregation in large dynamic networks , 2005, TOCS.