A networked computer system has a plurality of servers and a plurality of
distributed clients, which may be devices or computers. Each client has a
boot operating system (OS). Upon startup, the boot OS in each client
automatically initiates a connection to one of the servers via the
Internet. The boot OS can detect the type of medium (e.g., cable modem,
DSL) to which the client is connected. The server automatically downloads
a base OS and dynamically configures a suite of applications on the client
without running the standard installation programs. One included
application is an Internet telephony application, allowing a user to plug
a standard telephone into the client appliance or computer, pick up the
telephone, and automatically dial out using long distance Internet
telephony. Optionally, the server may download a plurality of operating
systems that are automatically initiated to run concurrently on the
client. The clients use a random access memory (RAM) caching technique. A
first portion of each OS or application is downloaded at startup and
maintained in the client RAM, containing the files needed to launch the OS
or application. If the client processes a request for an OS or application
program file not in the client's RAM, the requested file is automatically
downloaded from the server.