WO2014131986A1 - Procédé de planification centralisée de taches a exécuter par des calculateurs vérifiant certains critères qualitatifs au sein d'un ensemble distribue de calculateurs - Google Patents

Procédé de planification centralisée de taches a exécuter par des calculateurs vérifiant certains critères qualitatifs au sein d'un ensemble distribue de calculateurs Download PDF

Info

Publication number
WO2014131986A1
WO2014131986A1 PCT/FR2014/050404 FR2014050404W WO2014131986A1 WO 2014131986 A1 WO2014131986 A1 WO 2014131986A1 FR 2014050404 W FR2014050404 W FR 2014050404W WO 2014131986 A1 WO2014131986 A1 WO 2014131986A1
Authority
WO
WIPO (PCT)
Prior art keywords
planning
computers
transfer
period
scheduling
Prior art date
Application number
PCT/FR2014/050404
Other languages
English (en)
Inventor
Laurent VIEILLE
David Levy
Original Assignee
Jade-I
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jade-I filed Critical Jade-I
Priority to US14/770,462 priority Critical patent/US20160004562A1/en
Priority to EP14713182.5A priority patent/EP2962196A1/fr
Publication of WO2014131986A1 publication Critical patent/WO2014131986A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Definitions

  • the present invention relates to a method for distributing a task scheduling in a network of distributed computers, the distributed computers being qualified by at least one predetermined criterion making it possible to use a plurality of calculators.
  • the network further comprising a scheduling server.
  • a first example of such a method is used in particular within the program products used to manage calendars.
  • an event of the calendar is represented by a datum and its various characteristics, such as its date and time, its duration, its place, its periodicity, its participants.
  • the duration of an event is generally short (less than a day).
  • Such a method notably allows the definition of alerts, the detection of conflicts and the manipulation of events by means of interfaces, in particular graphics.
  • a second example of such a method is used in particular in the program products used to schedule the execution of tasks: a task is represented by a data item and its various characteristics, such as its duration, the resources allocated (persons, equipment), the tasks previous, a start or end date.
  • the duration of such a task varies from a few hours to a few days, weeks or months.
  • Such a method notably allows the calculation of the total duration of execution of a set of tasks, scheduling proposals, the detection of conflicts in the provision of resources.
  • a Planning Server in which computer data represent each Calculator, with the Criteria characterizing them, ⁇ a communication network between the Planning Server and each of the Calculators, allowing them to exchange data, in particular to transfer to the Calculators Scheduling Information.
  • the Expert can specify a Task Schedule characterized by the following parameters, so without explicit mention of each Calculator:
  • a special case of this situation arises when a marketing expert is planning questions to ask customers of a store on the terminal used to validate the payment, after the transaction.
  • the question to be asked to the Client is the task to be performed, the Payment Terminal acts as a Computer, and can be qualified, in particular, by the following criteria:
  • the Scheduling Information indicates the questions to be asked by the Terminal, at a given date and time. Depending on the capabilities of the communication network, this information should be stored on the Terminal for one or more days or longer.
  • a task to be performed can be the application of a regulation mode (launching high consumption devices), a mode of use of electricity sources (solar panels, network), etc.
  • An Intelligent Counter can then be qualified, in particular, by the following Criteria:
  • the Scheduling Information indicates the modes of regulation or use of the sources of electricity according to the criteria applicable to the meter according to the date and time.
  • a method of broadcasting a task scheduling in a distributed computer network includes:
  • Scheduling on the scheduling server, a task scheduling for at least one class of distributed computers; and, independently,
  • a default class is further defined on the scheduling server and the scheduling information for that default class is transferred to any calculator added to the distributed calculator set outside the transfer ranges;
  • At least one intermediate computer controls a cluster of distributed computers and is the recipient of the scheduling information for the computers of the cluster it controls;
  • the size of the scheduling information is optimized using a semantic representation thereof; At least one network constraint comprises discontinuous availability to at least a portion of the distributed computers; and or
  • the transfer ranges are of the available or activatable type, and in that a planning change is furthermore permitted if an activatable transfer range makes it possible to transfer the scheduling information resulting from the modification.
  • a computer program product includes program code instructions recorded on a computer readable medium for performing the steps of the above method.
  • a human-machine interface system comprising a screen and an information capture device for managing a task scheduling in a network of distributed computers, the distributed computers being qualified by at least one predetermined criterion for defining classes of distributed computers, furthermore comprises:
  • the input device being adapted to program, delete or replace a task by dragging and dropping a representation of the task into the standard period; then to generate a validation allowing to transfer the planning thus defined on the standard period towards a calendar period.
  • the input device is further adapted to add, delete or replace a task by the day or according to a time slot;
  • the input device is adapted to allow a change over a calendar period
  • the method has the following advantages:
  • This process is extended to take into account Distributed Organizations, in which Intermediate Servers each control a cluster of Calculators.
  • a particular Distributed Organization situation is that of the Payment Terminals of a store in a distribution chain. It is common for these Terminals to be controlled by a local or remote server.
  • transfer ranges compatible with the availability of the network are defined, some as “available”, that is, scheduling information will be transferred to each occurrence of an available range, and others as “activable”, that is, usable on demand.
  • the "available" transfer ranges can be defined as those occurring in the night from Sunday to Monday, and those "activable" those occurring each night.
  • an "enable" transfer range can be used to transfer new Scheduling Information
  • a human-machine interface system comprising a screen and an input device for providing a graphical interface (b) for planning, deleting or replacing one or more tasks simultaneously, defining the criteria of the calculators to which the Planning applies, and quickly define the weeks or periods at which planning applies.
  • This system makes it possible to limit to a single operation of dragging and dropping a representation of the task and to a single validation operation, a planning change covering a whole calendar period,
  • the method can advantageously be implemented in the form of a computer program product, for example a script, formed of instructions.
  • This computer program product is then installed on the scheduling server to execute the different steps of the process.
  • FIG. 1 is a schematic view of the environment
  • Figure 2 is a schematic view of a Distributed Organization
  • FIG. 6 is a flowchart of a sub-method for step ⁇ of the method, for generating and optimizing scheduling information for calculator classes, according to one embodiment of the invention
  • Figure 7 is a sub-flow diagram of the process of Figure 6; this sub-ordinogram uses the specific information on the period intersection cases presented in FIG. 8, to obtain compact information, according to a semantic representation, as represented in FIG. 9;
  • Figure 8 shows period intersection cases used in the flow chart of Figure 7
  • FIG. 9 illustrates an optimized representation of scheduling information for calculator classes, according to one embodiment of the invention.
  • FIGS. 10 to 15 represent different use cases of a graphic interface for defining and updating Centralized Schedules, according to one embodiment of the invention.
  • the Expert (1 1) uses a Scheduling Server (12) connected to the computers (14) by means of a communication network (13).
  • the Qualifying Criteria presented as examples are the orientation (right / left), the size (small / medium / large): the Expert can plan some tasks on the "Right-oriented” and “Small” calculators and other tasks on the "left-oriented” and “large” calculators.
  • the Intermediate Servers (21) each control a cluster of computers (22); the Criteria checked by each Calculator are independent of the Intermediate Server that is piloting it.
  • the elements indicated by letters from (31) to (37) represent the steps (a) to (g) of the process, and those of (1 1) to (14) are the elements of the presented in Figure 1.
  • the elements illustrate a possible representation of Centralized Planning, where the Criteria refer to Figure 1.
  • Centralized planning is characterized by
  • the Centralized Planning (41) indicates that the task T1 is to be run on Mondays from 14h to 16h, from Tuesday to Thursday between 16h and 18h and Sunday from 8h to 10h, by Calculators that are "small” and "right-oriented", from January 12 to 29, 2012.
  • the Centralized Planning (42) indicates that the task T2 is to be performed by the "small” Calculators on Monday between 10am and 12am on Wednesday. 16h to 18h and Saturday from 8h to 10h, from January 15th to March 5th 2012.
  • Centralized Planning (51) results from an optimization of Centralized Planning (42), where the two periods “Wednesday from 16h to 18h “and” Thursday from 16h to 18h “were combined in a single period” Wed-Thursday from 16h to 18h ".
  • the flowchart includes the following steps:
  • Step 601 is to identify the Calculator Classes based on the Qualitative Criteria as defined on page 7;
  • Step 602 is to initialize the Scheduling Information with the Scheduling Period in question.
  • Step 603 is to enumerate the non-empty Computer Classes (including the one corresponding to the Default Criteria): o for each of the Classes, the sub-method proceeds to Step 604; o At the end of the enumeration, the sub-process ends;
  • ⁇ Step 604 is to list the weeks of the Scheduling Period:
  • the sub-process proceeds to step 605; o at the end of this enumeration, the sub-method finalizes the Scheduling Information for the Class through steps 608 and 609 before returning to step 603;
  • Step 605 consists of listing the Centralized Schedules applicable for the relevant Class and for the week in question: o
  • a Centralized Scheduling is applicable for the Class considered if and only if each criterion specified for the Central Scheduling is verified by the Class; if a criterion is not specified for Centralized Planning, it is ignored;
  • step 606 the subprocess continues the enumeration of step 604;
  • Step 606 is to optimize the Centralized Planning by grouping the periods of one or more contiguous days when their contents are identical (see the process illustrated in Figure 5); • Step 607 consists of inserting the Central Scheduling information into the Scheduling Information for this Calculator Class and this Period. This step is executed, according to an implementation of the method, according to the sub-flow diagram illustrated in FIG. 7 and commented on below.
  • Step 608 is to optimize the Scheduling Information; the periods obtained by grouping the Scheduling Information with identical content (same time slot and same task list) but with disjunct periods (for example from different weeks) to obtain a compact Scheduling Information as represented in Figure 9;
  • Step 609 consists of storing the Scheduling Information for transfer to all relevant Calculators or Intermediate Servers.
  • the subprocess illustrated in Figure 6 is presented for a scheduling period consisting of whole weeks and contiguous, for simplicity. It is easily expandable for non-whole weeks and not necessarily contiguous.
  • the sub-flow chart included in the sub-process illustrated in Figure 6 comprises the following steps:
  • Step 701 is to enumerate the consecutive day block blocks "DayBlockPIanif" present in the Central Scheduling: o For each block, the sub-process continues to step 702; o at the end of this enumeration, the sub-process ends;
  • Step 702 is to enumerate the consecutive DayBlocklnfo blocks already present in the Scheduling Information:
  • the subprocess continues the enumeration of step 701; For example, during the first iteration on the first week of the period from February 13 to 26, 2012 shown in Figure 6, the only block DayBlockInfo is lun-dim, with empty content;
  • Step 703 determines whether DayBlockPIanif and DayBlockInfo are disjoint. These cases correspond to the cases reported by 802
  • Step 704 determines whether DayBlockPIanif includes DayBlockInfo. These cases are reported by 801 (IsEqual), 805 (StrictlylncludesOnBothEnd), 806
  • step 706 the subprocess proceeds to step 706;
  • step 705 o otherwise it goes to step 705;
  • Step 705 consists of:
  • Step 706 is to add the hourly schedule tasks found in DayBlockPIanif to DayBlockInfo (if successful in Step 704) or the period resulting from step 705 and intersecting with DayBlockPIanif.
  • blocks 901, 902, 903 schematically represent the format that the scheduling information can have according to an implementation of the method.
  • the data correspond to the Calculator Classes in Figures 1 and 2 and the Schedules in Figure 4, optimized according to the process illustrated in Figure 5.
  • block 901 represents the scheduling information for the Class of "Small” and "Right-Oriented”Calculators; block 902 scheduling information for the "small” and "left-oriented”calculators; block 903 for other calculators.
  • Each of the sub-blocks in one of these blocks corresponds to disjoint periods, and contains the following information:
  • FIGs 10, 11, 12, 13, and 14 the diagrams illustrate the operation of a graphical interface for central scheduling of questions.
  • This interface allows one (or more) operation (s) to drag and drop followed by a validation click, to plan one (or more) question (s) for a particular week or several consecutive weeks (with or without end ), that each question should be asked during the whole week, on a particular day of the week or on a particular day of the calendar, or every day during a particular time slot.
  • the interface is such that a single drag and drop operation is sufficient to define the planning of a question, the validation click to validate a set of scheduled questions.
  • the graphical interface uses any input device of the state of the art to perform the drag-and-drop operation and then enter the validation click: it can be a pointing device independent of the screen, as a mouse or a trackball, as a device to point directly on the screen, such as a touch screen, capacitive or resistive.
  • the diagrams show the drag-and-drop action to be performed; once the question is considered, it appears in the typical week or the particular week considered on the days chosen by the drag-and-drop action:
  • the typical week can be composed of several questions slid and filed successively on identical or different days, and for identical or different slots, and validated over the defined period.
  • Figure 14 also illustrates the results of the transactions presented in Figure 10, 1 1, 12 and 13: the "Home” question is scheduled every day of the calendar period; the question “Tips” is scheduled every afternoon of the calendar period; the question “Amis” is planned every Thursday of the calendar period;
  • a derived method it is possible to unfold a question in all the same cases as those mentioned below.
  • a derivative method it is possible to drag and drop several questions in a single operation, thanks to a multi-selection operation before dragging and dropping.
  • this multi-selection operation is performed by selecting these questions one after the other with the mouse while maintaining a particular key pressed.
  • a derived method it is possible to characterize the Criteria of the Calculators to which the Planning is to apply by selecting these criteria according to standard means of selection, by tree navigation, by multicriterion selection, by selection in a list. With reference to the Figure 15, it is possible to select one or more store groups in the left tree and one or more crate classes in the selection list.
  • Method for distributing a task schedule in a network of distributed computers (14), the distributed computers being qualified by at least one predetermined criterion for defining classes of distributed computers, the network further comprising a scheduling server, the process comprising:
  • Method according to claims 1 or 2 characterized in that at least one intermediate computer controls a cluster of distributed computers and is the recipient of the scheduling information for the computers of the cluster that it controls.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Un 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, comprend : 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 répartition (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.

Description

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 œuvre 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
II 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 « cron- table »). 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 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 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 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 :
· 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 œuvre les étapes du procédé 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é 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 ;
· 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.
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 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 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 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 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 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.
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.
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 œuvre 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 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 ;
- 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 (1 1 ) 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 (1 1 ) à (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 ) 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 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:
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 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.
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 contigues.
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 « DayBlockPIanif » 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 « DayBlocklnfo » 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 DayBlocklnfo est lun-dim, au contenu vide ;
• L'étape 703 détermine si DayBlockPIanif et DayBlocklnfo 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 DayBlockPIanif inclut DayBlocklnfo . Ces cas sont signalés par 801 (IsEqual), 805 (StrictlylncludesOnBothEnd), 806
(StrictlylncludesAtStart), 807 (SthctlylncludesAtEnd) 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 DayBlocklnfo en deux nouveaux blocs de jours, dans les cas signalés par 809 (IsSthctlylncludedAtStart), 810 (IsSthctlylncludedAtEnd), 81 1 (StrictlyOverlapsAtEnd), 812 (StrictlyOverlapsAtStart) en Figure 8, ou trois nouveaux blocs de jours, dans le cas signalé 808 (IsSthctlylncludedOnBothEnd) en
Figure 8, et de contenu identique à DayBlocklnfo ;
o à supprimer DayBlocklnfo 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 DayBlockPIanif à DayBlocklnfo (en cas de succès à l'Etape 704) ou à la période résultant de l'étape 705 et intersectant avec DayBlockPIanif .
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, 1 1 , 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 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 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 1 1 , 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, 1 1 , 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, 1 1 , 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, 1 1 , 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 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. 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.
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.
REVENDICATIONS
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.
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.
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.

Claims

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 œuvre 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.
1 1 . 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.
PCT/FR2014/050404 2013-02-27 2014-02-25 Procédé de planification centralisée de taches a exécuter par des calculateurs vérifiant certains critères qualitatifs au sein d'un ensemble distribue de calculateurs WO2014131986A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/770,462 US20160004562A1 (en) 2013-02-27 2014-02-25 Method of Centralized Planning of Tasks to be Executed by Computers Satisfying Certain Qualitative Criteria Within a Distributed Set of Computers
EP14713182.5A EP2962196A1 (fr) 2013-02-27 2014-02-25 Procédé de planification centralisée de taches a exécuter par des calculateurs vérifiant certains critères qualitatifs au sein d'un ensemble distribue de calculateurs

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1351744A FR3002666B1 (fr) 2013-02-27 2013-02-27 Procede de planification centralisee de taches a executer par des calculateurs verifiant certains criteres qualitatifs au sein d'un ensemble distribue de calculateurs
FR1351744 2013-02-27

Publications (1)

Publication Number Publication Date
WO2014131986A1 true WO2014131986A1 (fr) 2014-09-04

Family

ID=49001003

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2014/050404 WO2014131986A1 (fr) 2013-02-27 2014-02-25 Procédé de planification centralisée de taches a exécuter par des calculateurs vérifiant certains critères qualitatifs au sein d'un ensemble distribue de calculateurs

Country Status (4)

Country Link
US (1) US20160004562A1 (fr)
EP (1) EP2962196A1 (fr)
FR (1) FR3002666B1 (fr)
WO (1) WO2014131986A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108805325B (zh) * 2018-04-11 2022-03-01 杭州电子科技大学 一种生产计划与调度集成优化方法
CN113344226B (zh) * 2021-05-07 2023-08-04 上海三菱电梯有限公司 面向多台待维保电梯的维保计划生成系统和方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070043831A1 (en) * 2005-08-19 2007-02-22 Kessler Carl S Distribution of software based on scheduled time to deploy software dynamic resource state of systems involved in deployment of software and based upon environmental conditions
WO2008113986A2 (fr) * 2007-03-16 2008-09-25 British Telecommunications Public Limited Company Programmateur de transmission de données

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978594A (en) * 1994-09-30 1999-11-02 Bmc Software, Inc. System for managing computer resources across a distributed computing environment by first reading discovery information about how to determine system resources presence
US6415259B1 (en) * 1999-07-15 2002-07-02 American Management Systems, Inc. Automatic work progress tracking and optimizing engine for a telecommunications customer care and billing system
WO2002019272A1 (fr) * 2000-09-01 2002-03-07 Togethersoft Corporation Procedes et systemes d'animation d'un organigramme ou d'un plan de projet
US7370282B2 (en) * 2004-04-06 2008-05-06 Cary James C Grouping and displaying multiple tasks within an event object of an electronic calendar
US7464302B2 (en) * 2005-05-04 2008-12-09 International Business Machines Corporation Method and apparatus for expressing high availability cluster demand based on probability of breach
US8812969B2 (en) * 2007-03-21 2014-08-19 Ricoh Co., Ltd. Methods for authoring and interacting with multimedia representations of documents
US8769048B2 (en) * 2008-06-18 2014-07-01 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070043831A1 (en) * 2005-08-19 2007-02-22 Kessler Carl S Distribution of software based on scheduled time to deploy software dynamic resource state of systems involved in deployment of software and based upon environmental conditions
WO2008113986A2 (fr) * 2007-03-16 2008-09-25 British Telecommunications Public Limited Company Programmateur de transmission de données

Also Published As

Publication number Publication date
EP2962196A1 (fr) 2016-01-06
FR3002666B1 (fr) 2016-07-15
US20160004562A1 (en) 2016-01-07
FR3002666A1 (fr) 2014-08-29

Similar Documents

Publication Publication Date Title
US10102547B2 (en) Deal scheduling based on user location predictions
AU2023200420B2 (en) Dynamic execution of parameterized applications for the processing of keyed network data streams
US7530025B2 (en) Systems and methods for handling time-stamped data
US20130218622A1 (en) Aggregating availability status information on shared calendars
EP4062313A1 (fr) Systèmes, procédés et dispositifs de réseautage collaboratif
US20140310045A1 (en) Generating and Displaying a Calendar Event Recurrence Preview
US20070162322A1 (en) Social calendar
US20110145822A1 (en) Generating and recommending task solutions
US20140310044A1 (en) Transmitting an Electronic Message to Calendar Event Invitees
EP1419470A2 (fr) Outil de modelisation et de gestion de projets
US9058597B2 (en) Determining availability based on percentage available
CN111582955A (zh) 推广信息展示方法、装置、电子设备以及存储介质
WO2014131986A1 (fr) Procédé de planification centralisée de taches a exécuter par des calculateurs vérifiant certains critères qualitatifs au sein d'un ensemble distribue de calculateurs
FR3076370A1 (fr) Procede et systeme pour l'optimisation de l'ordonnancement de traitements par lot
EP3405915A1 (fr) Procédé de collecte périodique d'informations sur un réseau de postes informatiques par un serveur informatique de ce réseau
CN111309712A (zh) 基于数据仓库的优化任务调度方法、装置、设备及介质
US8028270B2 (en) Data dictionary file based source code generation method and system
US20200027149A1 (en) Predictive product order recommendations based on a weather event forecast
Bertucci Bitcoin Ordinals: Determinants and impact on total transaction fees
WO2019086782A1 (fr) Procédé, dispositif et programme de composition d'une liste ordonnée d'éléments recommandés
Khatri et al. An effective approach of hyperlocal based services in smart cities
AU2023208111B2 (en) Dynamic execution of parameterized applications for the processing of keyed network data streams
FR3055056A1 (fr) Generation de recommandations pour des itineraires ayant deux ou plusieurs segments
US20070136119A1 (en) Recurrence definition identification
Barbier Optimisation et Simulation Pour la Gestion de Disponibilite Sous Comportement d'Achat

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14713182

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2014713182

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14770462

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE