Architecture of distributed computer systems (1979)