Methods and Architectural Patterns of Storage, Analysis and Distribution of Spatio-temporal Data