Types Of Distributed Algorithms