A method comprising, by one or more computer systems: from an aggregator in a sensor network, accessing a plurality of sensor data from a plurality of sensors in the sensor network; at the aggregator, aggregating the sensor data for communication to an indexer in the sensor network, the aggregation of the sensor data comprising: deduplicating the sensor data; characterised in that the aggregation further comprises: validating the sensor data to block malicious data from reaching the indexer; formatting the sensor data for processing of the sensor data at the indexer; generating metadata for the sensor data configured for indexing of the sensor data by the indexer, the metadata identifying one or more pre-determined attributes of the sensor data; and time-stamping the sensor data with one or more time stamps; and from the aggregator, communicating the aggregated sensor data to the indexer in the sensor network; and indexing, by the indexer, the aggregated sensor data according to a multi-dimensional array for querying of the aggregated sensor data along with a plurality of other aggregated sensor data, one or more first ones of the dimensions of the multidimensional array comprising time and one or more second ones of the dimensions of the multi-dimensional array comprising one or more of the pre-determined sensor-data attributes; wherein deduplicating the sensor data comprises: detecting similar sensor data from two or more sensors; and communicating a control message in the sensor network instructing one or more of the two or more sensors to pause communication of their sensor data. from an aggregator in a sensor network, accessing a plurality of sensor data from a plurality of sensors in the sensor network; at the aggregator, aggregating the sensor data for communication to an indexer in the sensor network, the aggregation of the sensor data comprising: deduplicating the sensor data; characterised in that the aggregation further comprises: validating the sensor data to block malicious data from reaching the indexer; formatting the sensor data for processing of the sensor data at the indexer; generating metadata for the sensor data configured for indexing of the sensor data by the indexer, the metadata identifying one or more pre-determined attributes of the sensor data; and time-stamping the sensor data with one or more time stamps; and deduplicating the sensor data; characterised in that the aggregation further comprises: validating the sensor data to block malicious data from reaching the indexer; formatting the sensor data for processing of the sensor data at the indexer; generating metadata for the sensor data configured for indexing of the sensor data by the indexer, the metadata identifying one or more pre-determined attributes of the sensor data; and time-stamping the sensor data with one or more time stamps; and validating the sensor data to block malicious data from reaching the indexer; formatting the sensor data for processing of the sensor data at the indexer; generating metadata for the sensor data configured for indexing of the sensor data by the indexer, the metadata identifying one or more pre-determined attributes of the sensor data; and time-stamping the sensor data with one or more time stamps; and from the aggregator, communicating the aggregated sensor data to the indexer in the sensor network; and indexing, by the indexer, the aggregated sensor data according to a multi-dimensional array for querying of the aggregated sensor data along with a plurality of other aggregated sensor data, one or more first ones of the dimensions of the multidimensional array comprising time and one or more second ones of the dimensions of the multi-dimensional array comprising one or more of the pre-determined sensor-data attributes; wherein deduplicating the sensor data comprises: detecting similar sensor data from two or more sensors; and communicating a control message in the sensor network instructing one or more of the two or more sensors to pause communication of their sensor data. detecting similar sensor data from two or more sensors; and communicating a control message in the sensor network instructing one or more of the two or more sensors to pause communication of their sensor data.