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.