1. A method of partitioning a hierarchical space, comprising: partitioning an application space into communication cells, the application space comprising a set of objects and its associated states, and each of the set of objects comprising a set of attributes and a set of methods for modifying the set of attributes; indexing the communication cells based on the set of attributes; and constructing a hierarchical index by sequential insertion of the communication cells.