tem 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 the mirror from the server, the initial application files are files which constitute the applications that users can use initially when the client system just completes the booting procedure. Besides the OS kernel, the initial applications are a necessary program resource for booting a client. In fact, the OS kernel and the initial applications can all be downloaded separately (apparently they cannot be in the same mirror file in this case). Normally, a client has several dozen initial applications, each of them consisting of multiple files. The total sum of their size normally is greater than the OS kernel's. So if we can improve the server's processing and transmission mode of the download requests for the initial application part during the booting procedure, we may improve the booting performance of clients.
Therefore, this invention presents a cooperative client-booting method in the said MMNC system. It can alleviate problems in the booting procedure such as clients having excessive dependence on the server, low utilization efficiency of network, and poor robustness of the server. Referring to the drawings, a detailed description of the method is provided as follows.
The server is already running before any client can boot. In addition to the OS kernel and the initial application file resource used by clients, a table of AFRDT structure is kept on the server for use in recording the distribution of initial application files across the client system. Initially, there is no booted client, therefore there is no initial application file resource exiting on any client. Correspondingly, the third dimension of the server AFRDT is null. At this time, the AFRDT records only the initial application files information on the server itself. The initialization of the server AFRDT can be done manually or it can be automatically generated from a preset ‘.ini’ configuration file on the server. Whenever there are some clients having downloaded some initial application files, they are inserted into the third dimension list of