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 the server AFRDT. Optionally, different personalized parameters like roles and corresponding priorities can be defined for clients according to their MAC address or IP address etc., so the server can designate different initial applications for different clients according to these parameters.
Until the client has received the OS kernel mirror, the cooperative client-booting method of the invention adopts similar process steps as the above-said MMNC embodiment. Concretely the process flow is as follows: 1) The Client begins its booting procedure after being powered on 511, executing the codes stored in local ROM 512; 2) the client establishes contact with the server by broadcasting to the network; 3) the server assigns an IP address for the client; 4) after acquiring the IP address, the client sends a request to the server for downloading the OS kernel mirror; 5) the server transmits an appropriate OS (e.g Linux) kernel mirror to the client by TFTP 521; 6) the client receives and loads the OS 513 and begins to run a TCP service to listen for any possible file transmission requests sent by other clients through a specific port; 7) meanwhile this request client sends a download request for downloading initial applications to the server 514; 8) the server receives 522 the download request (also called the file request) and then according to the MAC address of the client, decides its role and priority; 9) based on the priority, the server decides the importance of this file request 9a) if the file request has a low priority, it may be put into a waiting queue; 10) as for a file request, the server decides the client's initial applications corresponding to its role, recording these applications and related files into a new AFRDT data structure which is added to the file request; 11) the file request is then put into a suitable queue for processing.
The server maintains two queues of file requests: one is waiting queue, another is processing queue. Similar to the above-said embodiments, the server disposes the file req