Modern routers are composed of multiple line cards, each an independent computer operating in its own environment and communicating with other line cards through a switching fabric. Thus, it is possible to have redundant processes on different line cards in order to increase overall system reliability. Distribution and self-discovery of these processes plays a central role in the overall design of the system. Usually, a resource registry is necessary to allow a task to locate other tasks it may be interested in. Rather than focus on a centralized registry, which is undesirable, we focus on a distributed resource registry where each process has the same view of the system process state. Such a registry is implemented by modifying existing link-state routing protocols. A process that would like to be added to the registry is given a unique address based on its process type, host, and process ID information. The added process information is then disseminated to all other hosts using the routing protocol. Design and implementation of a prototype system will be discussed.