A computer-implemented method (200, 300) of communication between a plurality of processes, each process being responsible for a region of a space, and each process maintaining a routing tree, each node of the routing tree representing a respective one of the plurality of processes and containing an indication of the represented process and an indication of an associated region of the space for which the represented process is responsible, the method comprising: a) receiving, by a first process, a message addressed to a target region of the space; b) determining (S220, 310, 400, 500), by the first process and using the routing tree of the first process, a set of subregions of the target region and processes associated with the subregions; and c) for each of the determined subregions in the set, sending (S230, 340) the message from the first process to the process associated with the determined subregion in the set, wherein the determining comprises traversing the routing tree of the first process until the subregions in the set cumulatively cover the target region, the traversing comprising, for each of a plurality of traversed nodes in the routing tree of the first process: if the traversed node has one or more children in the routing tree of the first process, determining whether, after subtracting the regions associated with each of the one or more children in the routing tree of the first process, the target region and the region associated with the traversed node in the routing tree of the first process overlap in an overlap region, otherwise, determining whether the target region and the region associated with the traversed node in the routing tree of the first process overlap in an overlap region, and responsive to determining that the target region and the region associated with the traversed node in the routing tree of the first process overlap, adding, to the set, the overlap region and the process associated with the traversed node in the routing tree of the first process. a) receiving, by a first process, a message addressed to a target region of the space; b) determining (S220, 310, 400, 500), by the first process and using the routing tree of the first process, a set of subregions of the target region and processes associated with the subregions; and c) for each of the determined subregions in the set, sending (S230, 340) the message from the first process to the process associated with the determined subregion in the set, if the traversed node has one or more children in the routing tree of the first process, determining whether, after subtracting the regions associated with each of the one or more children in the routing tree of the first process, the target region and the region associated with the traversed node in the routing tree of the first process overlap in an overlap region, otherwise, determining whether the target region and the region associated with the traversed node in the routing tree of the first process overlap in an overlap region, and responsive to determining that the target region and the region associated with the traversed node in the routing tree of the first process overlap, adding, to the set, the overlap region and the process associated with the traversed node in the routing tree of the first process.