program in the client's mirror which functions every time the client will be shut down.
Generally, the embodiments describe a type of Network Computer system-MMNC, which is based on the Transparence Computing paradigm, as follows: 1) the system consists of clients and servers; 2) the client is diskless; 3) none of the OS are pre-installed in the client, rather, a remote booting chip is set on the mainboard of the client; 4) varied supporting services are preset on the servers; 5) resources for clients' use such as OS mirrors, applications, documents and data are also stored on the servers; 6) after being powered on, the client begins to execute booting codes stored in its non-volatile storage; 7) the client makes contact with the server by broadcasting, and then obtains its IP address allocated by the server which has received the client's broadcasting request; 8) the client then downloads an OS-selecting script; 9) after selection by the user, the client sends a download request for the mirror (OS kernel, root file system including initial applications) to the server; 10) the server transmits the mirror to the client after receiving the request; 11) the client receives and loads the mirror, which completes the booting procedure of the client. As for the client, the computing work is occurs locally. The client can download the requested applications and needed data from servers on demand; during and after the computing, the produced data can be cached in memory or be stored on servers. These differences make MMNC free from problems of the traditional NC system, namely that the client has very heavy dependence on the server when running, especially when it's processing some multimedia applications, and can support only limited variety of applications. The current invention also increases the server's maximum supporting number of clients. Moreover, users can choose to download and load a specific OS according to their preference or requirements.
What can be seen from the above is that, similar to traditional NC system during the booting period, the client of the said MMNC system depends totally on the server in that every client sends to the server the download request for booting itself, and then downloads the OS kernel and initial applications mirror. During the process, the server not only has to handle each newly received download request, but also must allocate various needed resources, such as memory, virtual memory space, I/O buffer, and, most importantly, the CPU processing time to dispose the request and implement the file transmission. In fact, the server adopts a kind of Round Robin-like scheduling policy to process received clients' requests for booting. Its practical concurrent processing capability is poor. As for a single normally-configured server, if in a very short time it receives a large amount, or namely a ‘burst’, of download requests for booting from clients (which is a very likely situation in the multi-media classroom application), the server will become the bottleneck of booting performance; therefore the average booting time-cost of clients will increase extremely. Clients can theoretically co-share the band width resources of the whole network, since logically clients and the server forms a star-like topology during booting period. Therefore only bandwidth resources of direct links between clients and the server will mainly be exploited, and the utilization efficiency of the network will decrease. To make matters worse, if the server receives a considerable number of additional download requests while it is already in a high-load status due to the lack of any restriction mechanism for controlling newly-arrived client download requests for booting, the server will try to allocate various above-mentioned resources for them, which will cause a heavy burden on the server's performance and easily result in its unsteadiness or sudden performance drop. This practically becomes another bottleneck of maximum supporting client numbers of the server.
Downloaded by the client together with the OS kernel in 