A method and apparatus is provided that provides a reliable diskless
network-bootable computers using a local non-volatile memory (NVM) cache.
The NVM cache is used by the computer when the network is temporarily
unavailable or slow. The cache is later synchronized with a remote boot
server having remote storage volumes when network conditions improve. It
is determined if data is to be stored in the NVM cache or the remote
storage volume. Data sent to the remote storage volume is transactionally
written and the data is cached in the NVM cache if a network outage is
occurring or a transaction complete message has not been received. The
data stored in the NVM cache allows the user to continue operating during
network outages and the computer can be cold-booted using the data in the
NVM cache if the network is unavailable.