A new taxonomy for distributed computer systems based upon operating system structure