Une solution de type Mosix ne peut cependant être applicable dans notre cas :
La qualité souvent approximative des ressources matérielles disponibles (processeurs, réseaux, périphériques) doit être compensée par les possibilités d'allocation dynamique des processeurs aux processus. L'objectif de pérennité du service est souvent beaucoup plus forte que toute autre considération. Trois points spécifiques ont guidé notre travail : assurer la transparence de la migration, supporter l'hétérogénéité des architectures et privilégier le support efficace d'applications parallèles. Aucun des systèmes connus à ce jour ne permet d'atteindre ces objectifs à la fois, en particulier la prise en compte des communications à la migration, dans un contexte de disparition complète du noeud origine de l'application. Les capacités des modules Linux offrent donc une alternative intéressante, puisqu'on peut ainsi ajouter de nouvelles fonctions au noyau sans le recompiler. Ces capacités étant implémentées au niveau du noyau, on peut surveiller et migrer n'importe quel type d'application.
Nous avons opté pour une solution de sauvegarde/reprise du contexte d'un processus au niveau du noyau Linux en étant le moins intrusif possible au niveau de la configuration, c'est-à-dire sans nécessiter de modification du noyau sous-jacent ni de recompilation/édition du programme à surveiller.