In a graph G = (V,E) , a set S is said to be total dominating if every is adjacent to some member of . When the graph represents a communication network, a total dominating set corresponds to a collection of servers having a certain desirable backup property, namely, that every server is adjacent to some other server. Selfstabilization, introduced by Dijkstra [1, 2], is the most inclusive approach to fault tolerance in distributed systems [3, 4]. We propose a new self-stabilizing distributed algorithm for finding a minimal total dominating set in an arbitrary graph. We also show how the basic ideas behind the proposed protocol can be generalized to solve other related problems.