Software in a computer which accesses one or more software-intensive devices,
such as a digital copier or printer, is organized in a set of layers. A device-dependent
layer converts data transferred over various means, such as a modem or network,
to a uniform data format. A protocol layer converts data from a particular accessed
machine to a set of function calls. A system interface associated with the computer
restricts a user of the computer to seeing only a subset of function calls, depending
permissions granted to a particular user. The modular architecture of the software
enables a system administrator to restrict a user to viewing machine status for
a specific set of machines on a network, or limits the user to viewing only a certain
set of functionalities from a particular machine.