System Models For Distributed Computing