An architecture for providing device software from a network peripheral
device to a client machine. An end-user of a client machine connected to
the network accesses the network peripheral device having the device
software stored therein. In response thereto, the network peripheral
device notifies the end-user that device software is available for
download. The end-user then manually selects and downloads one or more
components of the device software from the network peripheral device for
subsequent installation on the client machine.