Monadic Logs for Collaborative Web Applications
Sumit Agarwal, Daniel Bellinger, Oliver A. Kennedy, Ankur Upadhyay, Lukasz Ziarek · 2013
Cloud based web-applications are quickly becoming common in modern society. A new class of such applications, collab-orative cloud applications, are gaining in popularity as they greatly improve remote collaboration. Most of these appli-cations use a log structure as a coordination mechanism for shared application state. Such structures typically store the entire application state as well as deltas (changes sets) while the application runs. In this paper we propose a monadic, dependency-aware, self-cleaning log structure for collabora-tive cloud applications, which we refer to as a monadic log. This structure provides a rich set of analytical tools to sup-port a variety of log transformations and rewrites. For ex-ample, the garbage collection mechanisms already present in any managed language will automatically bound the mem-ory footprint of a monadic log. Moreover, a monadic log sub-stantially eases the computational and bandwidth burdens of a server infrastructure when compared with traditional log structures. 1.