Programs may communicate in similar ways to those that users do using such programmed facilities. Different parts of an organization will have different ways of communicating internally, and externally. This will be for reasons of efficiency and expressiveness. Different parts of the organization will have no interest in the detailed operations of each other, so summaries and reports will be exchanged that hide detail. Autonomy and heterogeneity are natural consequences of the growth and evolution of any large scale organization.
Scale leads to diversity.
It also leads to problems with systems modeled around 100 availability. In large systems, there are always faults and error conditions. Accounts, stock control, point of sales, factory automation, real time control systems, electronic funds transfer systems and many other applications will all have very different internal structures. This autonomy combined with the ability to communicate freely with other systems is what is partly meant by Open Distributed Systems . The openness is a requirement of the autonomy of different users to acquire, install and operate different appropriate systems while maintaining consistent distribution mechanisms across all users' systems.