 found in its Subscriber list. If the client does exist in the list, services (IP allocation, OS kernel downloading, file transmission, etc.) will be provided by the server.
After MNCS receiving the message, if the client could not be found in its BMRT list, MNCS will bind the client to a server and add it to the related lists of that server (can be one of the SNCS or the MNCS) according to different policies (e.g. Finding a server that has the least load based on servers' performance parameters or Round-Robin.). If the target server for binding is a SNCS, the MNCS will notify it about the binding event. The target server (namely, the binding server) will then add the client to its Subscriber list, and provide the client with services.
After loading the downloaded OS kernel mirror and initial application, the client will broadcast to the network again. Its binding server will return a response so that the client could learn to which server it has been bound. Thus the booting process of the client is accomplished.
Henceforth, the client could send requests to its binding server for services such as customization on demand, or application downloading.
As for another embodiment, the client does not need to know its binding server at all. The client could broadcast the related requests to the network when needed. After receiving the request, the server will make a judgment of whether the client is an affiliated one or not: if YES, service will be provided; if NOT, the request will be ignored.
If for some reason the topology of the network has changed, or the binding server of a client is down, which will prevent the client getting requested services from the server, then the client will be rebooted manually or automatically after the ‘N/A’ situation of the server is detected. Since the cluster relations will be automatically updated after the same ‘N/A’ situation of the SNCS being detected by the MNCS, the client will then be bound to another SNCS after being rebooted.
As still another embodiment, servers could manually or automatically carry out the process of joining the server cluster during running. It is not necessary to do so during booting, which is more beneficial for customizing the server and dynamically expanding the total load capability of the cluster.
The MMNC system is only an embodiment of computing devices based on the Transparence Computing. Besides NC system, the method of the invention could also be applied to other computing devices. For example, the client-side devices could be mobile terminals, cell phones, PDA, and household appliance. With the devices based on this computing paradigm, the user can interactively download and load the requested OS and applications on need after powering on the client-side computing devices. It not only solves the problems that only a high performance computing device can run enormous software, but also provides users with a safer and more inexpensive system when users can choose the OS and applications for usage without installing and managing the software.
The above mentioned embodiments are application examples of this invention. All modification and improvements based on the basic theory of this invention will be considered as part of this invention.