Research mobile + cloud Summit 2010

MiST: A Platform for Mobile- in Streams *Fan Yang, *Zhengping Qian, †Ivan Beschastnikh, ⃟Li Zhuang, *Mao Yang, ‡Amre Shakimov, *Jacky Shen, and *Lidong Zhou

Cloud: Unleash the Power of Mobile Stream as a First-Class Citizen Reduce the overhead of continuous operations //stream construction, define “schema” Leverage massive parallel computing resources Stream X = new Stream (Query, interval); //relational model: stream as table //also fit well for data-parallel computing in cloud Continuous updates: stream- based services e verywhere var X = from x in X where P(x) select F(x); Mobile Cloud Platform //event-driven model: update triggers new ops //annotation: execution place; scoping: scope of stream How to make programming easy in M+C? [Cloud] var Z = when X or Y[latest 1 day]…select F(x, y);

Code Snippet: Continuous Route Planner MiST Architecture [Mobile] Stream locations = ...; //① Application Code with MiST .NET Extensions [Cloud] Stream traffic = ...; //② Extract DFG [Cloud] Stream plans = from l in locations combine t in traffic Infer Mapping to select MakePlan(l, t); //③ Mobile and Cloud Resources

//consumption, functional reactive programming (FRP) Identify Sync Streams [Mobile] plans.Subscribe((Action)Update); //④ Mobile Code Cloud Code Locations Source to 1 Route plan Source Compiler Data Flow .NET Mobile .NET Cloud 3 4 Graph (DFG) Traffic Compiler Compiler 2 Sync stream MiST Runtime

Mobile Sync Distributed Stream Trigger Streams Stream Trigger Advantages of Stream Abstraction Mobile Distributed Stream Manager Stream Manager Ease of application development Combine imperative, declarative, and FRP languages Sync stream hides the communication complexity Current Status Leverage advances in distributed systems Implemented MiST and four applications and database Validated the effectiveness of stream-based Stream filter/slacks; Stream layout; Stream partition optimizations

* Asia, ⃟Microsoft Research Silicon Valley, †University of Washington, ‡Duke University