Grouping a stream into time windows: tumbling (fixed, non-overlapping), sliding (overlapping) or session (closed after an inactivity gap).