digraph G {
	node [ shape=box ]

	SyncEvo_server [ label="SyncEvo server", shape=box3d ]
	database [ label="database\n(backend=file)", shape=Mcircle ]
	SyncEvo_server -> database -> SyncEvo_server

	peer1 [ label="Local addr.book\n(e.g. EDS)" ]
	peer2 [ label="Cell Phone" ]

	peer1 -> SyncEvo_server
	peer2 -> SyncEvo_server

	intr_database [ shape=circle, label="intermediate\ndatabase" ]
	SyncEvo_server -> intr_database
	remote_server [ shape=box3d, label="remote server\n(e.g. Google)"]
	intr_database -> remote_server

}
