Manage physical checkpoints to persitent storage like HDFS
an in memory store provided for test should not be used in real cases
an interval is a dynamic time range that is divided by window boundary and checkpoint time
a MonoidState storing non-window state
Used in window applications it keeps the current window and slide ahead when the window expires
this is a list of states, each of which is bounded by a time window state of each window doesn't affect each other
this is a list of states, each of which is bounded by a time window state of each window doesn't affect each other
WindowState requires a Algebird Group to be passed in Group augments Monoid with a minus function which makes it possible to undo the update by messages that have left the window