Distributed Applications In Computer Networks