ework. Another solution is to use a specific server with luxury hardware configurations to satisfy heavy load needs. However, it could result in a soaring system cost and a really low system price/performance ratio. Therefore, application in MMNC system an integrity and unified multi-server architecture, which enabled multiple PC servers dynamically and transparently serve a large number of clients in the form of clusters, could not only maintain its advantages of low cost, good manageability and well support for various applications, but also acquire better availability, scalability, robustness and a load capability increasing according to the number of server nodes.
Therefore, the invention also provides a self-organizing method for the MMNC server clusters, which provides the whole MMNC system better scalability and robustness. Referring to the drawings, a detailed description of the method is provided as follows.
A cluster of a MMNC system includes all the servers, clients and the relationship between them on a connected network. The server cluster is the set of all the servers in a cluster. At the very beginning of the system, all the servers are in an unavailable status, and belong to none of the clusters. Clients could not be used because of lack of available servers on the same connected network. At this moment, there is no server-server or server-client relationship.
The self-organization means the cluster relationship could be formed among servers and clients spontaneously, and can be adapted dynamically. The self-organized server clusters transparently provide clients with the same services that single-server architecture system could provide, such as services for client-booting (including IP address allocation, OS kernel mirror downloading etc.), customizing and downloading of requested applications, and shared data downloading. However, the clients could not perceive the differences between the multi-server architecture and the single-server architecture.
The heart-beating signal of the server is an IP/UDP based packet. The heart-beating signal is an active signal. When running, the MNCS will broadcast periodic heart-beating signal at a t time intervals to the network. The heart-beating interval t can be set within 5-300 s according to the application's need, or as the multiple of the value which is calculated using the following formula: t=2*network diameter*measured average hop-to-hop delay (including the hop-to-hop transmission delay and the processing delay on a node).
The reflective signal is also an IP/UDP based packet. The reflective signal is a passive signal. The SNCS sends the reflective signal to MNCS only when receiving a heart-beating signal from the MNCS. Both the heart-beating signal and the reflective signal contain instant performance parameters of that server when the signal is sending. Such as the number of loaded clients Wλ, the CPU utility ratio Pλ, the memory utility ratio Mλ, the virtual memory unitization ratio Gλ, the I/O traffic to bandwidth ratio of the server P/T, or the function values relate to these parameters. The server loads could be timely monitored through these parameters.
The contesting signal is another IP/UDP based packet used in upgrading of SNCS to MNCS.
Servers in a connected network could be self-organized into a server cluster according to the following steps:
The server after starting-up runs a process listening to messages sent by other servers, including the heart-beating signal, the reflective signal, the contesting signal, and the collision indication/ACK signal. The process is mainly responsible for the interaction between servers;
If the server has not received any heart-beating signal from other servers in a time interval of 2t-5t, it will consider itself as the MNCS in the cluster, the followings will be carried out:
Empty the SNCS list. Empty the Subscriber list. Add itself as a node to the BMRT. Broadcast the heart-beating signal to the network in every interval of t. Start the process of listening to the booting and application requests from clients. G