FR 3002666 A1 20140829 FR 1351744 A 20130227 PROCEDE DE PLANIFICATION CENTRALISEE DE TACHES A EXECUTER PAR DES CALCULATEURS VERIFIANT CERTAINS CRITERES QUALITATIFS AU SEIN D'UN ENSEMBLE DISTRIBUE DE CALCULATEURS La présente invention concerne un procédé de diffusion d'une planification de tâches dans un réseau de calculateurs distribués, les calculateurs distribués étant qualifiés par au moins un critère prédéterminé permettant de définir des classes de calculateurs distribués, le réseau comprenant en outre un serveur de planification. Elle concerne également un produit programme d'ordinateur pour mettre en oeuvre le procédé ainsi qu'un système d'interface homme-machine comprenant un écran et un dispositif de saisie d'information pour gérer une planification de tâches dans un réseau de calculateurs distribués, les calculateurs distribués étant qualifiés par au moins un critère prédéterminé permettant de définir des classes de calculateurs distribués, Plus précisément, elle concerne un procédé pour la planification centralisée de tâches à exécuter en fonction de la date et de l'heure par chacun des calculateurs qui vérifie certains Critères Qualitatifs au sein d'un ensemble distribué de calculateurs, pour le transfert à chacun de ces calculateurs des informations d'ordonnancement le concernant Il est connu différents procédés permettant à un produit programme la représentation et la manipulation de calendrier ou d'ordonnancement de tâches. Un premier exemple de tel procédé est utilisé notamment au sein des produits programme servant à gérer des calendriers. Dans ce procédé, un événement du calendrier est représenté par une donnée et ses caractéristiques diverses, telles sa date et son heure, sa durée, son lieu, sa périodicité, ses participants. La durée d'un événement est en générale courte (moins d'une journée). Un tel procédé permet notamment la définition d'alertes, la détection de conflits et la manipulation des événements au moyen d'interfaces, notamment graphiques. Un deuxième exemple de tel procédé est utilisé notamment au sein des produits programme servant à ordonnancer l'exécution de tâches : une tâche est représentée par une donnée et ses diverses caractéristiques, telles sa durée, les ressources affectées (personnes, équipement), les tâches précédentes, une date de début ou de fin. La durée d'une telle tâche varie de quelques heures, à quelques jours, semaines ou mois. Un tel procédé permet notamment le calcul de la durée totale d'exécution d'un ensemble de tâches, des propositions d'ordonnancement, la détection de conflits dans la mise à disposition de ressources. De même, il est connu divers procédés pour indiquer à un calculateur les tâches qu'il doit exécuter en fonction de la date et de l'heure. Ces procédés utilisent généralement l'horloge du calculateur, des Informations d'Ordonnancement et un processus « démon », exécuté de manière quasi-permanente par le calculateur. L'état de l'art consiste à représenter les Informations d'Ordonnancement sous la forme d'une table précisant les tâches à exécuter en fonction de la date et heure. (Cette table est parfois appelée « crontable »). Des exemples d'utilisation de tels procédés sont présents dans la plupart des systèmes d'exploitation pour ordinateurs. Ces divers procédés ne sont pas appropriés dans les situations où un Expert souhaite planifier l'exécution de tâches à des dates et heures définies, sur un ensemble distribué de Calculateurs caractérisés uniquement par des Critères Qualitatifs. Un tel environnement peut être précisé de la manière suivante : - un ensemble distribué de Calculateurs, tous capables d'exécuter les mêmes tâches, leur nombre variable et important rendant impraticable la gestion non-automatisée de listes de ces Calculateurs, - une variété de Critères Qualitatifs caractérisant les Calculateurs - un Serveur de Planification au sein duquel des données informatiques représentent chaque Calculateur, avec les Critères les caractérisant, - un réseau de communication entre le Serveur de Planification et chacun des Calculateurs, leur permettant d'échanger des données, en particulier de transférer aux Calculateurs les Informations d'Ordonnancement. L'Expert peut spécifier une Planification des tâches caractérisée par les 30 paramètres suivant, donc sans mention explicite de chaque Calculateur : - les dates de début et de fin, - la ou les tâches devant être exécutées, - les jours et horaires auxquels ces tâches doivent être effectuées, - les Critères Qualitatifs tels que tout Calculateur vérifiant ces Critères exécute la ou les tâches spécifiées aux jours et horaires prévus. Un cas particulier de cette situation se présente lorsqu'un expert en marketing planifie des questions à poser aux Clients d'un magasin sur le terminal utilisé pour valider le paiement, après la transaction. Dans cette situation, la question à poser au Client tient lieu de tâche à exécuter, le Terminal de Paiement tient lieu de Calculateur, et peut être qualifié, notamment, par les critères suivant : - le magasin où il est situé, - les regroupements de magasin, notamment géographiques (régions, pays, ..), par type (salle d'exposition, petite ou grande surface, etc.), par environnement (rural, urbain, périurbain), - les enseignes ou franchises auxquelles le magasin appartient, - la classe de produits ou de services dont le paiement est assuré par le Terminal (alimentaire, carburant, bijouterie), - le type de la caisse (priorité à certaines personnes, priorité aux petits achats, « self check-out » où le client enregistre lui-même ses achats). Les Informations d'Ordonnancement indiquent les questions à poser par le Terminal, à une date et heure données. Selon les capacités du réseau de 20 communication, ces informations devront être stockées sur le Terminal pendant un ou plusieurs jours, voire plus longtemps. Un autre cas particulier de cette situation se présente lors de la planification d'opérations de supervision, de mesure, de régulation d'un ensemble distribué de Compteurs Intelligents (« Smart Meters »). Cette 25 planification est réalisée par un Expert des réseaux électriques. Une tâche à exécuter peut être l'application d'un mode de régulation (lancer les appareils à forte consommation), d'un mode d'utilisation des sources d'électricité (panneaux solaires, réseau), etc. Un Compteur Intelligent peut alors être qualifié, notamment, par les Critères suivant : 30 - le type de client (résidence principale ou secondaire, bureau, atelier), - son emplacement, notamment géographique (ville, campagne, littoral), - le type d'équipement (panneaux solaires, chauffe-eau électrique, ...). Les Informations d'Ordonnancement indiquent les modes de régulation ou d'utilisation des sources d'électricité selon les Critères applicables au Compteur en fonction de la date et de l'heure. Aucun des procédés mentionnés ci-dessus ne traite correctement la Planification Centralisée de tâches à exécuter, sur la base de Critères Qualitatifs, à des Calculateurs Distribuées. Une approche naïve pourrait inclure les aspects et inconvénients suivants : - Traiter les Calculateurs comme des ressources nécessaires à l'exécution d'une tâche. Vérifier les prérequis à l'exécution d'une tâche, est un des objectifs des procédés d'ordonnancement des tâches. Ici, l'objectif est différent : il s'agit de planifier l'exécution des tâches sur tous les Calculateurs vérifiant les Critères Qualitatifs. - Demander à l'expert de planifier les tâches pour chacun des Calculateurs. Le nombre de Calculateurs (en France : plus d'un million de Terminaux de Paiement, des dizaines de millions de compteurs électriques) et la fréquence de variation des listes, rendent cette approche impossible. - Traduire immédiatement une Planification Centralisée des tâches en fonction des Critères en Informations d'Ordonnancement pour chaque Calculateur. Cette approche est particulièrement non-efficiente : o nécessité de recalculer des Informations d'Ordonnancement : o Lors de la modification des planifications Centralisées, o Lors de la modification des Critères d'un Calculateur, o Lors de la modification de la liste des Calculateurs. o stockage de données redondantes par duplication des informations : o Pour chaque Calculateur partageant les mêmes Critères, o Pour chaque jour et tranche horaire d'une période de planification, même si cette période est longue. - Transmettre les Informations d'Ordonnancement sans optimisation. Souvent les tâches sont planifiées pour une durée beaucoup plus longue que les unités de temps utilisés lors de la planification (eg : heures ou minutes) et par les Calculateurs. Transmettre les Informations d'Ordonnancement sans optimisation sur plusieurs jours ou semaines serait une utilisation déraisonnable des ressources (bande passante...) Pour résoudre plusieurs des inconvénients cités précédemment, un procédé de diffusion d'une planification de tâches dans un réseau de calculateurs distribués, les calculateurs distribués étant qualifiés par au moins un critère prédéterminé permettant de définir des classes de calculateurs distribués, le réseau comprenant en outre un serveur de planification, comprend : - la programmation, sur le serveur de planification, d'une planification de tâches pour au moins une classe de calculateurs distribués; et, indépendamment, - la définition de plages de transfert vers les calculateurs distribués d'informations attribuées à chaque calculateur distribué, les plages de transfert étant définies en fonction des contraintes du réseau ; - la répartition des tâches planifiées en informations d'ordonnancement, pour chaque calculateur distribué et pour une période de temps dépendante des plages de transfert définies, les informations d'ordonnancement étant générées en fonction de la ou des classes auxquelles le calculateur appartient ; - le transfert vers les calculateurs distribués des informations d'ordonnancement en respectant les plages de transfert définies. Dans des modes de réalisation particuliers, utilisables seuls ou en combinaison : - une classe par défaut est définie en outre sur le serveur de planification et que les informations d'ordonnancement pour cette classe par défaut sont transférées à tout calculateur ajouté à l'ensemble de calculateurs distribués en dehors des plages de transfert ; - au moins un calculateur intermédiaire pilote une grappe de calculateurs distribués et est le destinataire des informations d'ordonnancement pour les calculateurs de la grappe qu'il pilote ; - la taille des informations d'ordonnancement est optimisée en utilisant une représentation sémantique de celles-ci ; - au moins une contrainte du réseau comprend une disponibilité discontinue vers au moins une partie des calculateurs distribués ; et/ou - les plages de transfert sont de type disponible ou activable, et en ce que une modification de planification est, en outre, autorisée si une plage de transfert activable permet de transférer les informations d'ordonnancement découlant de la modification. Selon un second aspect de l'invention, un produit programme d'ordinateur comporte des instructions de code de programme enregistrées sur un support lisible par un ordinateur, pour mettre en oeuvre les étapes du procédé 10 ci-dessus. Selon un troisième aspect de l'invention, un système d'interface homme-machine comprenant un écran et un dispositif de saisie d'information pour gérer une planification de tâches dans un réseau de calculateurs distribués, les calculateurs distribués étant qualifiés par au moins un critère prédéterminé 15 permettant de définir des classes de calculateurs distribués, comprend en outre : - des moyens d'affichage sur l'écran d'une période type de planification ; et - des moyens d'affichage sur l'écran d'une période calendaire à planifier ; 20 - le dispositif de saisie étant adapté pour programmer, supprimer ou remplacer une tâche par un glisser-déposer d'une représentation de la tâche vers la période type ; puis pour générer une validation permettant de transférer la planification ainsi définie sur la période type vers une période calendaire. 25 Selon des modes de réalisation particuliers utilisables seuls ou en combinaison : - le dispositif de saisie est en outre adapté pour ajouter, supprimer ou remplacer une tâche à la journée ou selon une tranche horaire ; - le dispositif de saisie est adapté pour autoriser une modification sur 30 une période calendaire ; et/ou - il comprend en outre des moyens d'affichage d'au moins une classe de calculateurs distribués et que les moyens de saisie sont adaptés pour associer une planification à ladite classe. Ainsi, le procédé a les avantages suivants : Avoir la capacité de représenter les Planifications Centralisées sous la forme de données informatiques, avec les paramètres les caractérisant Permettre à un Expert de créer, modifier, supprimer les Planifications Centralisées au moyen d'une interface, notamment graphique ; Représenter, stocker et permettre les modifications des données représentant chaque Calculateur et les Critères le qualifiant, par des procédés à l'état de l'art ; Avoir la capacité de représenter et de stocker sous la forme de données informatiques, les Informations d'Ordonnancement des tâches à exécuter par un Calculateur en fonction de la date et de l'heure ; Définir les Plages de Transfert pour la communication des Informations d'Ordonnancement aux Calculateurs Distribués, plages compatibles avec le mode opératoire des Calculateurs et du réseau de communication ; Au moment précédant le transfert des Informations d'Ordonnancement aux Calculateurs : o Classifier les Calculateurs sur la base des Critères Qualitatifs : deux Calculateurs appartiennent à la même Classe si et seulement si leurs Critères sont identiques ; o Générer les Informations d'Ordonnancement pour chacune de ces Classes à partir des Planifications Centralisées et des Critères définissant chaque Classe ; o Optimiser les Informations d'Ordonnancement pour minimiser l'utilisation de ressources du Calculateur et du réseau de communication ; cette optimisation utilise une représentation sémantique des Informations d'Ordonnancement. Transmettre les Informations d'Ordonnancement aux Calculateurs ; Archiver les Informations d'Ordonnancement pour des besoins de maintenance (reprise en cas de panne, supervision, statistiques). Ce procédé est étendu pour permettre l'ajout et le retrait dynamiques de Calculateurs, sans déclaration préalable au Serveur de Planification. En cas - - - - - - 25 - 30 - d'ajout dynamique, les Critères caractérisant un Calculateur peuvent être inconnus lors de transferts d'Informations d'Ordonnancement à ce Calculateur. - Le point (b) est complété par « Permettre à un Expert de définir les Critères Qualitatifs par défaut utilisés pour un Calculateur dont les Critères n'ont pas été définis ; » - Le point (g) est complété par « Mettre à la disposition des Calculateurs ajoutés dynamiquement les Informations d'Ordonnancement correspondant aux Critères par défaut ; » Ce procédé est étendu pour prendre en compte les Organisations 10 Réparties, dans lesquelles des Serveurs Intermédiaires pilotent chacun une grappe de Calculateurs. Une situation particulière d'Organisation Répartie est celle des Terminaux de Paiement d'un magasin d'une chaîne de distribution. Il est fréquent que ces Terminaux soient pilotés par un serveur local ou distant. - Le point (g) est complété par « Rassembler les Informations 15 d'Ordonnancement nécessaire à tous les Calculateurs servis par un Serveur Intermédiaire, ainsi que celles correspondant aux Critères par Défaut, et les transmettre au Serveur Intermédiaire. » Ce procédé est étendu pour permettre le bon fonctionnement même si le réseau présente une disponibilité discontinue vers au moins une partie des 20 calculateurs. Dans ce cas, des plages de transferts compatibles avec la disponibilité du réseau sont définies, certaines comme « disponibles », c'est-à-dire que des Informations d'Ordonnancement seront transférées à chaque occurrence d'une plage disponible, et d'autres comme « activables », c'est-à-dire utilisable à la demande. 25 A titre d'exemple, il est d'usage que les terminaux de paiement se connectent une fois par jour, de manière nocturne, à un serveur maître, de manière à transférer les informations. Dans cette situation, les plages de transfert « disponibles » peuvent être définies comme celles survenant dans la nuit de dimanche à lundi, et celles « activables » celles survenant chaque nuit. 30 Ce procédé est étendu, au cas où le réseau présente une disponibilité discontinue, pour n'autoriser que les modifications de la Planification Centralisée qui peuvent être transmises en temps et en heure aux calculateurs concernés. En référence à l'exemple des terminaux de paiement se connectant une fois par jour de manière nocturne (ci-dessus) : a) une modification de la Planification pour une semaine à venir n'entraîne pas l'utilisation d'une plage de transfert « activable », les plages « disponibles » suffisant à transmettre les Informations d'Ordonnancement ; b) les modifications de planification pour le lendemain ou pour les jours à venir de la semaine courantes sont autorisées : une plage de transfert « activable » peut être utilisée pour transférer les nouvelles Informations d'Ordonnancement ; c) Les modifications de planification pour la journée en cours ne sont pas autorisées, aucune plage de transfert « activable » permettant le transfert des Informations d'Ordonnancement résultant d'un tel changement. Ce procédé est complété par un système d'interface homme-machine comprenant un écran et un dispositif de saisie pour fournir une interface graphique (b) permettant de planifier, supprimer ou remplacer une ou plusieurs tâches simultanément, de définir les Critères des Calculateurs auxquels la Planification s'applique, et de définir rapidement les semaines ou périodes à laquelle la planification s'applique. Ce système permet de limiter à une seule opération de glisser-déposer d'une représentation de la tâche et à une seule opération de validation, une modification de planification portant sur toute une période calendaire, Le procédé peut avantageusement être mis en oeuvre sous la forme d'un produit programme d'ordinateur, par exemple un script, formé d'instructions. Ce produit programme d'ordinateur est alors installé sur le serveur de planification 25 pour exécuter les différentes étapes du procédé. L'invention sera mieux comprise à la lecture de la description qui suit, faite uniquement à titre d'exemple, et en référence aux figures en annexe dans lesquelles : - La Figure 1 est une vue schématique de l'environnement ; 30 - La Figure 2 est une vue schématique d'une Organisation Répartie ; - La Figure 3 fournit une représentation générale du procédé ; - Les Figures 4 et 5 illustrent une représentation de Planifications Centralisées, selon un mode de réalisation de l'invention ; - La Figure 6 est un ordinogramme d'un sous-procédé pour l'étape ^ du procédé, visant à générer et optimiser les Informations d'Ordonnancement pour les Classes de Calculateurs, selon un mode de réalisation de l'invention ; - La Figure 7 est un sous-ordinogramme du procédé de la Figure 6 ; ce sous-ordinogramme utilise l'information spécifique sur les cas d'intersection de période présentée en Figure 8, pour obtenir une information compacte, selon une représentation sémantique, telle que représentée en Figure 9 ; - La Figure 8 présente des cas d'intersection de période, utilisés dans l'ordinogramme de la Figure 7 ; - La Figure 9 illustre une représentation optimisée des Informations d'Ordonnancement pour des Classes de Calculateurs, selon un mode de réalisation de l'invention ; - Les Figures 10 à 15 représentent différents cas d'usage d'une interface graphique de définition et de mise à jour de Planifications Centralisées, selon un mode de réalisation de l'invention. En référence à la Figure 1, l'Expert (11) utilise un Serveur de Planification (12) connecté aux calculateurs (14), au moyen d'un réseau de communication (13). Les Critères Qualificatifs présentés en exemple sont l'orientation (droite/gauche), la taille (petite/moyenne/grande) : l'Expert peut planifier certaines tâches sur les Calculateurs « orientés à droite » et de « petite» taille et d'autres tâches sur les Calculateurs « orientés à gauche » et de « grande » taille. En référence à la Figure 2, les Serveurs Intermédiaires (21) pilotent chacun une grappe de Calculateurs (22) ; les Critères vérifiés par chaque Calculateur sont indépendants du Serveur Intermédiaire qui le pilote. En référence à la Figure 3, les éléments signalés par des lettres de (31) à (37) représentent les étapes (a) à (g) du procédé, et ceux de (11) à (14) sont les éléments de l'environnement présentés par la Figure 1. En référence à la Figure 4, les éléments illustrent une représentation possible de Planification Centralisée, où les Critères font référence à la Figure 1. Une Planification Centralisée est caractérisée par - ses dates de début et de fin, - les Critères Qualificatifs, - les Tâches, et - une Semaine-Type dans laquelle des périodes de un ou plusieurs jours consécutifs sont divisées en tranches horaires homogènes. A titre d'exemple, sur cette Figure 4, la Planification Centralisée (41) 10 indique que la tâche T1 est à exécuter les lundi de 14h à 16h, de mardi à jeudi entre 16h et 18h et le dimanche de 8h à 10h, par les Calculateurs qui sont « petits » et « orientés à droite », du 12 au 29 Janvier 2012. La Planification Centralisée (42) indique que la tâche T2 est à exécuter par les « petits » Calculateurs le lundi entre 10h et 12h, le mercredi de 16h à 18h et le samedi de 15 8h à 10h, du 15 Janvier au 5 Mars 2012. En conséquence, par exemple : - Les « petits » Calculateurs « orientés à droite » vérifient les Critères des Planifications (41) et (42). Ainsi le mercredi entre 16h et 18h, ils devront exécuter: 20 o Du 12 janvier au 14 janvier, la tâche T1 ; o Du 15 janvier au 29 janvier, les tâches T1, T2 ; o Du 30 Janvier au 5 Mars, la tâche T2 ; - Les « petits » Calculateurs « orientés à gauche » ne vérifient que les Critères de la Planification (42). Ainsi le mercredi entre 16h et 18h ils 25 devront uniquement exécuter : o Du 15 janvier au 5 mars, la tâche T2 ; - Les Calculateurs autres que petits, ne vérifient les Critères d'aucune Planification : ils n'ont aucune tâche à exécuter le mercredi entre 16h et 18h à ce titre. 30 En référence à la Figure 5, la Planification Centralisée (51) résulte d'une optimisation de la Planification Centralisée (42), où les deux périodes « mercredi de 16h à 18h » et « jeudi de 16h à 18h » ont été combinées en une seule période « mer-jeudi de 16h à 18h ». En référence à la Figure 6, l'ordinogramme comporte les étapes suivantes : - L'étape 601 consiste à identifier les Classes de Calculateurs sur la base des Critères Qualitatifs selon la définition en ^ page 7; - L'étape 602 consiste à initialiser les Informations d'Ordonnancement avec la Période d'Ordonnancement considérée. o L'exemple donné en Figure 6 va du 13 février au 26 février 2012. - L'étape 603 consiste à énumérer les Classes de Calculateurs non-vides (y compris celle correspondant aux Critères par défaut) : o pour chacune des Classes, le sous-procédé passe à l'Etape 604 ; o à la fin de l'énumération, le sous-procédé termine ; - L'étape 604 consiste à énumérer les semaines de la Période d'Ordonnancement : o pour chacune des semaines, le sous-procédé passe à l'étape 605 ; o à la fin de cette énumération, le sous-procédé finalise les Informations d'Ordonnancement pour la Classe au travers des étapes 608 et 609 avant de retourner à l'étape 603 ; - L'étape 605 consiste à énumérer les Planifications Centralisées applicables pour la Classe considérée et pour la semaine considérée : o Une Planification Centralisée est applicable pour la Classe considérée si et seulement si chaque critère spécifié pour la Planification Centralisée est vérifié par la Classe ; si un critère n'est pas spécifié pour la Planification Centralisée, il est ignoré ; o pour chaque Planification, le sous-procédé passe à l'étape 606 ; o à la fin de cette énumération, le sous-procédé continue l'énumération de l'étape 604 ; - L'étape 606 consiste à optimiser la Planification Centralisée en regroupant les périodes d'un ou plusieurs jours contiguës lorsque leur contenu est identique (voir le procédé illustré par la. Figure 5) ; - L'étape 607 consiste à insérer les informations de la Planification Centralisée dans les Informations d'Ordonnancement pour cette Classe de Calculateur et cette Période. Cette étape est exécutée, selon une implémentation du procédé, selon le sous-ordinogramme illustré en Figure 7 et commenté ci-dessous. - L'étape 608 consiste à optimiser les Informations d'Ordonnancement ; les périodes obtenues en regroupant les Informations d'Ordonnancement au contenu identique (même tranche horaire et même liste de tâches) mais aux périodes disjointes (par exemple provenant de semaines différentes) pour obtenir une Information d'Ordonnancement compacte telle que représentée en Figure 9 ; - L'étape 609 consiste à stocker les Informations d'Ordonnancement pour transfert à tous les Calculateurs ou Serveurs Intermédiaires concernés. Le sous-procédé illustré à la Figure 6 est présenté pour une période d'Ordonnancement composé de semaines entières et contiguës, pour simplicité. Il est extensible facilement pour des semaines non-entières et non nécessairement contigües. En référence à la Figure 7, le sous-ordinogramme inclus dans le sous- procédé illustré à la figure 6 comporte les étapes suivantes : - L'étape 701 consiste à énumérer les blocs de jours consécutifs « DayBlockPlanif » présents dans la Planification Centralisée : o Pour chaque bloc, le sous-procédé continue à l'étape 702 ; o à la fin de cette énumération, le sous-procédé termine ; Par exemple, en référence à la Planification Centralisée (51) de la Figure 5, les blocs de jours énumérés sont : lundi, mer-jeudi, samedi ; - L'étape 702 consiste à énumérer les blocs de jours consécutifs « DayBlockinfo » déjà présents dans les Informations d'Ordonnancement : o Pour chaque bloc, le sous-procédé continue à l'étape 703. o à la fin de cette énumération, le sous-procédé continue l'énumération de l'étape 701 ; Par exemple, lors de la première itération sur la première semaine de la période du 13 au 26 février 2012 indiquée en Figure 6, le seul bloc DayBlockInfo est lun-dim, au contenu vide ; - L'étape 703 détermine si DayBlockPlanif et DayBlockInfo sont disjoints. Ces cas correspondent aux cas signalés par 802 (JustFollows), 803 (JustPrecedes), 804 (DoNotTouch) en Figure 8 ; o si c'est le cas, le sous-procédé continue l'énumération de l'étape 702 ; o sinon, il passe à l'étape 704 ; - L'étape 704 détermine si DayBlockPlanif inclut DayBlockInfo . Ces cas sont signalés par 801 (IsEqual), 805 (StrictlyIncludesOnBothEnd), 806 (StrictlylncludesAtStart), 807 (StrictlylncludesAtEnd) en Figure 8 ; o si c'est le cas, le sous-procédé passe à l'étape 706 ; o sinon il passe à l'étape 705 ; - L'étape 705 consiste : o à diviser DayBlockInfo en deux nouveaux blocs de jours, dans les cas signalés par 809 (IsStrictlyIncludedAtStart), 810 (IsStrictlyIncludedAtEnd), 811 (StrictlyOverlapsAtEnd), 812 (StrictlyOverlapsAtStart) en Figure 8, ou trois nouveaux blocs de jours, dans le cas signalé 808 (IsStrictlyIncludedOnBothEnd) en Figure 8, et de contenu identique à DayBlockInfo ; o à supprimer DayBlockInfo des Informations d'Ordonnancement et à le remplacer par les deux ou trois nouveaux blocs de jours ; - L'Etape 706 consiste à ajouter les tâches par tranche horaire présentes dans DayBlockPlanif à DayBlockInfo (en cas de succès à l'Etape 704) ou à la période résultant de l'étape 705 et intersectant avec DayBlockPlanif . En référence à la Figure 9, les blocs 901, 902, 903 représentent schématiquement le format que peut avoir les Informations d'Ordonnancement selon une implémentation du procédé. (Les données correspondent aux Classes de Calculateurs des Figures 1 et 2 et aux Planifications de la Figure 4, optimisées selon le procédé illustré par la Figure 5. Par exemple, le bloc 901 représente les informations d'ordonnancement pour la Classe des Calculateurs « petits » et « orientés à droite » ; le bloc 902 les informations d'ordonnancement pour les Calculateurs « petits » et « orientés à gauche » ; le bloc 903 pour les autres Calculateurs. Chacun des sous-blocs dans un de ces blocs correspond à des périodes disjointes, et contient les informations suivantes : - la liste des jours auxquels l'Information d'Ordonnancement s'applique (« 0 » si l'Information ne s'applique pas au jour correspondant, « 1 », remplacé ici par une abréviation du jour, si l'Information s'applique), - la tranche horaire, et - la liste des tâches à exécuter. En référence aux Figures 10, 11, 12, 13 et 14, les schémas illustrent le fonctionnement d'une interface graphique pour procéder à la planification centralisée des questions. Cette interface permet en une seule (ou plusieurs) opération(s) de glisser-déposer suivi d'un click de validation, de planifier une (ou plusieurs) question(s) pendant une semaine particulière ou plusieurs semaines consécutives (avec ou sans fin), que chaque question soit à poser pendante toute la semaine, pendant un jour particulier de la semaine ou un jour particulier du calendrier, ou tous les jours pendant une tranche horaire particulière. L'interface est telle qu'une seule opération de glisser-déposer suffit à définir la planification d'une question, le click de validation permettant de valider un ensemble de questions planifiées. L'interface graphique utilise un dispositif de saisie quelconque à l'état de l'art pour réaliser l'opération de glisser-déposer puis de saisir le click de 25 validation : ce peut être un dispositif de pointage indépendant de l'écran, comme une souris ou un track-ball, comme un dispositif permettant de pointer directement sur l'écran, comme un écran tactile, capacitif ou résistif. Les schémas montrent l'action glisser-déposer à réaliser ; une fois la question considérée déposée, elle apparaît dans la semaine type ou la semaine 30 particulière considérée aux jours choisis par l'action glisser-déposer : - en figure 10, glisser-déposer la question « Accueil » vers le coin haut-gauche de la semaine-type, suivi par le choix de la période dans les fenêtres au-dessus du bouton « ajouter », puis de la validation de ce bouton « ajouter » sur le côté droit de la semaine type permet de planifier la question « Accueil » pendant toute la période indiquée, et pour tous les jours de la semaine ; Voir en figure 13 ci-dessous le résultat de cette planification sur la période calendaire. - en figure 11, glisser-déposer la question « Conseils » vers le côté gauche, dans la tranche horaire 12:30-18:00, suivi par le choix de la période dans les fenêtres au-dessus du bouton « ajouter », puis de la validation de ce bouton « ajouter » sur le côté droit de la semaine type permet de planifier la question « Conseils » pendant toute la période indiquée, uniquement pendant la tranche horaire spécifiée ; Voir en figure 13 ci-dessous le résultat de cette planification sur la période calendaire. - en figure 12, glisser-déposer la question « Amabilité » vers l'en-tête d'un jour particulier de la semaine type, suivi par le choix de la période dans les fenêtres au-dessus du bouton « ajouter », puis de la validation de ce bouton « ajouter » sur le côté droit de la semaine type permet de planifier la question « Amabilité » pendant toute la période indiquée, uniquement pour le jour de la semaine spécifié. Voir en figure 14 ci-dessous le résultat de cette planification sur la période calendaire. - En figure 13, glisser-déposer la question « Amabilité » vers une tranche horaire d'un jour particulier de la semaine type, alors la question sera planifiée pendant la période spécifiée, le jour spécifiée et pour la tranche horaire spécifiée. Voir en figure 14 ci-dessous le résultat de cette planification sur la période calendaire. - Sur les mêmes figures 10, 11, 12 et 13, la semaine type peut être composée de plusieurs questions glissées et déposées successivement sur des jours identiques ou différents, et pour des créneaux identiques ou différents, puis validée sur la période définie. - Sur les mêmes figures 10, 11, 12 et 13, la validation du bouton « Remplacer » au lieu du bouton « Ajouter » remplacera la programmation sur la période considérée, et la validation du bouton « Enlever » enlèvera les questions programmées dans la semaine type sur la période considérée. - En figure 14, glisser-déposer la question « Amabilité » sur un jour particulier (29/01), suivi par une validation, permet de planifier cette question uniquement pour ce jour particulier. La figure 14 illustre également le résultat des opérations présentées en figure 10, 11, 12 et 13: la question « Accueil » est planifiée tous les jours de la période calendaire ; la question « Conseils » est planifiée tous les après-midi de la période calendaire ; la question « Amabilité » est planifiée tous les jeudis de la période calendaire ; - En figure 15, glisser-déposer la question « Conseils » sur le côté gauche d'une semaine particulière (la semaine du 28/01 au 03/20 dans l'exemple), dans une tranche horaire spécifique, suivi d'une validation, permet de planifier cette question pour cette semaine particulière et cette tranche horaire. - En figure 16, une représentation des Critères Qualitatifs s'appliquant aux Calculateurs permet de spécifier, à l'aide de l'outil de saisie, d'indiquer la Classe de Calculateurs pour laquelle la planification est effectuée. Selon ce même procédé, il est possible de planifier une question pour une 20 semaine particulière (tous les jours/toutes les tranches horaires de cette semaine particulière), pour une tranche horaire d'un jour particulier. Selon un procédé dérivé, il est possible de déplanifier une question dans tous les mêmes cas que ceux mentionnés ci-dessous. 25 Selon un procédé dérivé, il est possible de glisser-déposer plusieurs questions en une seule opération, grâce à une opération de multi-sélection avant le glisser-déposer. Selon une implémentation particulière, cette opération de multi-sélection s'effectue en sélectionnant ces questions l'une après l'autre avec la souris tout en maintenant appuyée une touche particulière. 30 Selon un procédé dérivé, il est possible de caractériser les Critères des Calculateurs auxquels la Planification doit s'appliquer en sélectionnant ces critères selon des moyens standards de sélection, par navigation dans des arbres, par sélection multicritère, par sélection dans une liste. En référence à la figure 15, il est possible de sélectionner un ou plusieurs groupes de magasin dans l'arbre de gauche et une ou plusieurs classes de caisses dans la liste de sélection. REVENDICATIONS1. Procédé de diffusion d'une planification de tâches dans un réseau de calculateurs distribués (14), les calculateurs distribués étant qualifiés par au moins un critère prédéterminé permettant de définir des classes de calculateurs distribués, le réseau comprenant en outre un serveur de planification, le procédé comprenant : - la programmation, (31, 32, 33, 34) sur le serveur (12) de planification, d'une planification de tâches pour au moins une classe de calculateurs distribués; et, indépendamment, - la définition (35) de plages de transfert vers les calculateurs distribués d'informations attribuées à chaque calculateur distribué, les plages de transfert étant définies en fonction des contraintes du réseau ; - la repartition (36) des tâches planifiées en informations d'ordonnancement, pour chaque calculateur distribué et pour une période de temps dépendante des plages de transfert définies, les informations d'ordonnancement étant générées en fonction de la ou des classes auxquelles le calculateur appartient ; - le transfert (37) vers les calculateurs distribués des informations d'ordonnancement en respectant les plages de transfert définies. 2. Procédé selon la revendication 1, caractérisé en ce qu'une classe par défaut est définie en outre sur le serveur de planification et que les informations d'ordonnancement pour cette classe par défaut sont transférées à tout calculateur ajouté à l'ensemble de calculateurs distribués en dehors des plages de transfert. 3. Procédé selon les revendications 1 ou 2, caractérisé en ce qu'au moins un calculateur intermédiaire pilote une grappe de calculateurs distribués et est le destinataire des informations d'ordonnancement pour les calculateurs de la grappe qu'il pilote. 4. Procédé selon l'une quelconque des revendications 1, 2 ou 3, caractérisé en ce que la taille des informations d'ordonnancement est optimisée en utilisant une représentation sémantique de celles-ci. 5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que au moins une contrainte du réseau comprend une disponibilité discontinue vers au moins une partie des calculateurs distribués. 6. Procédé selon la revendication 5, caractérisé en ce que les plages de transfert sont de type disponible ou activable, et en ce que une modification de planification est, en outre, autorisée si une plage de transfert activable permet de transférer les informations d'ordonnancement découlant de la modification. 7. Produit programme d'ordinateur comportant des instructions de code de programme enregistrées sur un support lisible par un ordinateur, pour mettre en oeuvre les étapes d'un procédé selon l'une quelconque des revendications 1 à 6. 8. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'étape de programmation est réalisée à l'aide d'un système d'interface homme-machine comprenant un écran et un dispositif de saisie d'information pour gérer une planification de tâches dans un réseau de calculateurs distribués, les calculateurs distribués étant qualifiés par au moins un critère prédéterminé permettant de définir des classes de calculateurs distribués, le système comprenant en outre : - des moyens d'affichage sur l'écran d'une période type de planification ; et - des moyens d'affichage sur l'écran d'une période calendaire à planifier ; - le dispositif de saisie étant adapté pour programmer, supprimer ou remplacer une tâche par un glisser-déposer d'une représentation de la tâche vers la période type ; puis pour générer une validation permettant de transférer la planification ainsi définie sur la période type vers une période calendaire. 9. Procédé selon la revendication 8, caractérisé en ce que le dispositif de saisie est en outre adapté pour ajouter, supprimer ou remplacer une tâche à la journée ou selon une tranche horaire. 10.Procédé selon la revendication 8 ou 9, caractérisé en ce que le dispositif de saisie est adapté pour autoriser une modification sur une période calendaire. 11. Procédé selon l'une quelconque des revendications 8 à 10, caractérisé en ce qu'il comprend en outre des moyens d'affichage d'au moins une classe de calculateurs distribués et que les moyens de saisie sont adaptés pour associer une planification à ladite classe.