We consider the problem of designing distributed estimators that are realizable over a given causal communication network. We consider the following two cases - 1) Given an interconnected plant over a given network, we design a distributed estimator with sub-units interacting over the same network such that each sub-unit estimates the states of the corresponding sub-system of the plant; 2) Given a general plant, we design a distributed estimator on a given network such that each sub-unit estimates the whole state vector of the plant by exchanging information with other sub-units. In the first case, we model the problem as a special case of distributed controller design problem discussed in our previous work. In the second case, we use the structure of the distributed estimator to decompose the problem into n sub-problems which can be solved separately, given that the plant satisfies certain detectability assumptions. The solutions of these sub-problems are finally combined together to form a distributed estimator that is realizable over the given network.