A system comprising: a device ; and at least one processor configured to: receive , over a network , position data acquired by a position sensor of the device ; receive , over the network , sensor data acquired by a further sensor of the device in an activated state while the position sensor of the device is inactive, wherein the further sensor includes an accelerometer and the sensor data is acceleration data; the further sensor in the activated state consuming less power than the position sensor when said position sensor is active; the sensor data from the further sensor indicating a direction of travel of the device; determine , using the sensor data acquired by the further sensor of the device, a heading and movement of the device relative to a position indicated by the position data; receive from a controller of the device , over the network, an indication that the device has stopped based on the sensor data acquired by the further sensor ; and in response to receiving the indication that the device has stopped, update the position of the device according to the determined heading and movement; wherein the updating of the position of the device comprises a non-real-time update by the at least one processor. a device ; and at least one processor configured to: receive , over a network , position data acquired by a position sensor of the device ; receive , over the network , sensor data acquired by a further sensor of the device in an activated state while the position sensor of the device is inactive, wherein the further sensor includes an accelerometer and the sensor data is acceleration data; receive , over a network , position data acquired by a position sensor of the device ; receive , over the network , sensor data acquired by a further sensor of the device in an activated state while the position sensor of the device is inactive, wherein the further sensor includes an accelerometer and the sensor data is acceleration data; the further sensor in the activated state consuming less power than the position sensor when said position sensor is active; the sensor data from the further sensor indicating a direction of travel of the device; determine , using the sensor data acquired by the further sensor of the device, a heading and movement of the device relative to a position indicated by the position data; receive from a controller of the device , over the network, an indication that the device has stopped based on the sensor data acquired by the further sensor ; and in response to receiving the indication that the device has stopped, update the position of the device according to the determined heading and movement; wherein the updating of the position of the device comprises a non-real-time update by the at least one processor. determine , using the sensor data acquired by the further sensor of the device, a heading and movement of the device relative to a position indicated by the position data; receive from a controller of the device , over the network, an indication that the device has stopped based on the sensor data acquired by the further sensor ; and in response to receiving the indication that the device has stopped, update the position of the device according to the determined heading and movement; wherein the updating of the position of the device comprises a non-real-time update by the at least one processor. <EOS>