WO1999017206A1 - Procede et dispositif de compte-rendu de taches executees par un systeme informatique - Google Patents

Procede et dispositif de compte-rendu de taches executees par un systeme informatique Download PDF

Info

Publication number
WO1999017206A1
WO1999017206A1 PCT/FR1998/002064 FR9802064W WO9917206A1 WO 1999017206 A1 WO1999017206 A1 WO 1999017206A1 FR 9802064 W FR9802064 W FR 9802064W WO 9917206 A1 WO9917206 A1 WO 9917206A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
command
user command
arguments
toto
Prior art date
Application number
PCT/FR1998/002064
Other languages
English (en)
Inventor
Christian Baillif
Denis Chauvalon
Daniel Lucien Durand
François Urbain
Original Assignee
Bull S.A.
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 Bull S.A. filed Critical Bull S.A.
Priority to EP98945380A priority Critical patent/EP0941513A1/fr
Publication of WO1999017206A1 publication Critical patent/WO1999017206A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Definitions

  • the present invention relates to a method and a device for reporting tasks executed by a computer system. It applies to the field of computer operation in an industrial environment and in particular to open type production computer systems, operating under software constituting open operating systems, for example those of the type known by their registered trade names " UNIX "or” WINDOWS NT ".
  • the invention also relates to the resulting computer system.
  • Open computer systems are particularly popular these days, but they have the disadvantage of having been originally developed for university applications, whose concerns were not identical to those of industrial concerns.
  • the following description will serve as an example on the UNIX system.
  • a task is a set of commands or processes launched in series or in parallel. When multiple tasks can be launched concurrently by different users, this can cause problems, including knowing where a task is at.
  • This system also recognizes the atomic entity "process”, which is a unit of execution comprising an allocation of memory with program code, a stack, and a set of processor registers, but once the process is finished, the systems do not cannot match multiple processes.
  • the processes provide a sequential global functionality, such as for example the commands of a directly interpretable text file known as name "shell script", which consist of a list of system commands.
  • the object of the invention is to provide a user executing a complex job involving the execution of several unitary processes, a global execution report offering a description of the resources taken by the execution of the steps of this job and, preferably , a report of the anomalies encountered during the execution of this work.
  • the subject of the invention is a method of reporting tasks made of at least one process and executed by a computer system operating under an open operating system including a file reporting tasks, characterized in that it consists :
  • the invention also has as a corollary object a task reporting device and a computer system implementing this method.
  • FIG. 2 is a view of a window displayed on the screen by the user interface of the system of Figure 1; and FIGS. 3 to 5 are views of windows displayed after selection of three respective commands from a menu of the window in FIG. 2.
  • process will designate any execution of a program at a given instant and will therefore designate, in particular, the environment of the process in the system, the program constituting in itself an inert object, stored in system memory as an ordinary executable file.
  • UNIX UNIX
  • SWAPPER a certain number of processes known as “daemons” like, for example, the process ensuring the good use of the printer in spool, and the process "CRON" which makes it possible to launch tasks on a given date .
  • task will designate from the point of view of the user a sequence of operations executed without operator intervention. From a system perspective, it's a set of related processes. During its life, a task can have one of the following three states:
  • the structure of the “UNIX” computer system 10 represented in the form of blocks in FIG. 1 consists of hardware resources 1 illustrated globally in a block, including in a well-known manner at least one processor and memory means (not shown), and of software resources 3 which are typically contained in the memory means (such as a hard disk for example) of the hardware resources 1 and are represented outside of these, the illustrated software resources 3 comprising only the software components implied by the process of the invention for the clarity of the description.
  • the software resources 3 include a UNIX operating system 8 communicating with the hardware resources 1 and including a kernel 2 ensuring low-level memory and input-output management and the sequence of the various tasks.
  • the user interface 40 includes a graphical user interface (SJR GUI) 42.
  • the SJR 44 module communicates with a catalog 5 of job reports, also called JOR catalog (Job Output Report).
  • the SJR 44 module uses a standard mechanism 7 for job reporting provided that this mechanism is activated to produce job reporting files stored in a standard file for reporting 6, called “Accounting” in UNIX, and communicates with the standard file 6 to process the files.
  • the SJR 44 module has useful functions in its lower part to allow the user to manage tasks. These functions can for example be used in code written in C and include:
  • the "jobinfo" software structure thus contains the state of the task accessible to the user.
  • the method of the invention consists first of all in executing the SJR root command, this command having as arguments a user command, having the name TOTO for example, and its list of arguments, the user command being executed to carry out the task of which we want to have the report.
  • the task is therefore the execution of the user command and we saw previously that it is made of one or more related processes which execute in series or in parallel.
  • the task is therefore assimilated to the first process and to all the possible processes which are related to it.
  • the SJR command available via the graphical interface 42, produces detailed report files of the execution of the tasks.
  • the SJR command was made of code in C language and performs the following steps: a) association of a pseudo-terminal, having for example the name TITI, to the process in progress, by a first standard "open" system call and a second standard system call "ioctl". These two system calls thus define for the SJR command and the TOTO process the pseudo-terminal TITI which will be associated with them as the process control terminal (Process Controlling Terminal) constituting a discriminating attribute.
  • the task reporting device 4 also includes the following commands accessible to the user:
  • SJRIog a "SJRIog” command, which allows messages to be inserted into the report and preferably included in the SJR 44 module; - an "SJRinfo” command, which provides the user with information about a task or all of the tasks. This command preferably has an option making it possible to obtain all the current processes of the task, and another option making it possible to display the information all the time intervals defined by the option.
  • the illustrated "SJRinfo" command was preferably included in the user interface 40; and - a command "SJRwait", which allows to wait for the end of execution of all the works having been launched in the background in the same session. It was preferably included in module 44 as illustrated.
  • the SJR 44 module can easily find the elements in the "Accounting" file by the attribute discriminating of the associated terminal.
  • the standard system call "fork” allows you to create a child process whose parent process can be found by the standard system call “getppid” passed to the command "SJRjobenter” and whose task name is example "JOB_NAME”.
  • the task reporting device 4 also preferably includes a "Cleanacct" command accessible to the user, preferably placed in the illustrated user interface 40 and which allows the user to define his reduction targets.
  • This command includes the following options which can be defined by the following flags:
  • the graphical interface 42 conventionally allows the user, by action on a mouse, to trigger preprogrammed operations, such as for example, pressing and releasing a control button and dragging the pointer of the mouse, logical events such as the entry of the mouse pointer in a window, and processing in the graphical interface 42.
  • FIG. 2 illustrates an example of window 421 which can be obtained from the graphical interface 42.
  • the window 421 presents a menu bar called "Session”, "Task” and "Help” and allows you to select a command associated with each of these menus.
  • the menu "Task" as shown in FIG.
  • a first command 4211 for displaying all the tasks contains: a second command 4212 for displaying a history; a third command 4213 for displaying a task; a fourth command 4214 to suspend a task; a fifth command 4215 to release a task; a sixth command 4216 to cancel a task; a seventh command 4217 to abort a task; and an eighth command 4218 to force the execution of a task.
  • FIG. 3 illustrates a window 42121 which can appear when the command 4212 "History" of the "Task” menu of window 421 of FIG. 2 has been selected and activated.
  • Window 42121 presents a histogram where, in a first column A, the time is displayed, in a second column B, the date, in a third column C, the tasks performed, in a fourth column D, the dimension at which belongs the task, in a fifth column E, the name of the command associated with the task, and in a sixth column F, the state of the task to know if it has been started, completed, or aborted.
  • a dimension is a set of running processes, which have the same importance from the point of view of the local resource manager.
  • the selection and validation of the command 4213 "Display a task" of the window 421 in FIG. 2 triggers the opening of a window 42131 such as for example that shown in FIG. 4.
  • the window of FIG. 4 includes a plurality of blocks each allowing the display of alphanumeric information.
  • in block A the visible identifier of the task
  • in block B the name of the command
  • in block C the identifier of the user who submitted the task
  • in block D the current state of the task
  • in block E when the SJR command was entered
  • in block F the time when the task was started
  • in block G the overall current CPU consumption
  • in block H the percentage of CPU consumed by the task
  • in block I the required virtual memory
  • in block J the required temporary file space
  • in block K the current actual memory space
  • in block L the current virtual memory space
  • in block M the space of the current temporary files
  • in block N the number of processes in progress
  • in block O the largest real memory space used by the task
  • in block P the largest virtual memory space used by the task
  • in block Q the largest temporary file space used by the task
  • in block R the maximum number of processes N used by the system for this task at a given time.
  • the selection and validation of the command 4211 "Display all the tasks" of the window 421 of FIG. 2 triggers the display of a window 42111 as represented in FIG. 5, which provides the current state of the tasks and presents , in a block, a first column a for identifying the task, a second column b giving the name of the task, a third column c in which the users appear, a fourth column d giving the status of the task to know if it is started or entered and a fifth column e giving the time of entry of the task, a sixth column f for the start time, a seventh column g giving the CPU occupancy rates, an eighth column h giving the sizes of virtual memory and the temporary files required, a ninth column i subdivided into four to obtain the sizes of real memory and of virtual memory used as well as the sizes of the temporary files and the number of processes, and a tenth column j subdivided into four to know the maximum sizes of real memory, virtual memory, temporary file and processes used by the task.
  • the device and the method described can very well be used and adapted to any other type of so-called open system such as, for example, "WINDOWS NT", registered trademark.
  • open system such as, for example, "WINDOWS NT", registered trademark.
  • the "CreateProcess" command can replace the "fork” and "exec” system calls on UNIX.
  • a person skilled in the art can carry out the user command other than by means of a "shell script" file.
  • the execution of the SJR root command includes a paragraph (d) which can be formulated in general by saying that, before the end of the user command, the method consists in detecting messages resulting from the execution of the task. The detected messages are used in order to create a communication channel between the SJR root command and the task, and to divert these messages to the communication channel. It appears from the description that these characteristics are used to exploit the messages resulting from the execution of the task in order to have the maximum amount of data on the task. It is therefore obvious that the characteristics of this paragraph are advantageous but not necessary for the process of the invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Le système informatique (1) inclut un dispositif (4) de compte-rendu de tâches qui exécute une commande racine (SJR) ayant pour arguments une commande utilisateur et sa liste d'arguments, la commande utilisateur étant exécutée pour réaliser la tâche dont on veut avoir le compte-rendu. Un attribut discriminant étant défini, un appel système permet de créer un processus fils du processus de la tâche et spécifie, en arguments, la commande utilisateur à exécuter et sa liste d'arguments, la commande utilisateur permettant, grâce à l'attribut discriminant, à l'heure de début et à l'heure de fin de l'exécution de la commande racine (SJR), de retrouver dans un fichier de compte-rendu (6) du système les données concernant la commande utilisateur, ledit processus fils et ses éventuels processus fils et de les enregistrer dans un catalogue (5).

Description

Procédé et dispositif de compte-rendu de tâches exécutées par un système informatique.
La présente invention concerne un procédé et un dispositif de compte-rendu de tâches exécutées par un système informatique. Elle s'applique au domaine de l'exploitation informatique en environnement industriel et notamment aux systèmes informatiques de production de type ouvert, fonctionnant sous des logiciels constituant des systèmes d'exploitation ouverts, par exemple ceux du type connu sous leurs noms de marque déposée "UNIX" ou "WINDOWS NT". L'invention a aussi pour objet le système informatique en résultant.
Les systèmes informatiques ouverts sont particulièrement prisés de nos jours, mais ils ont l'inconvénient d'avoir été développés à l'origine pour des applications universitaires, dont les préoccupations n'étaient pas identiques à celles des préoccupations industrielles. La description qui suit portera à titre d'exemple sur le système UNIX. Dans ce système en effet, il n'y a pas de conservation des traces d'exécution des tâches lancées par l'utilisateur. Une tâche ("job" en anglais) est un ensemble de commandes ou de processus lancés en série ou parallèle. Lorsque plusieurs tâches peuvent être lancées concurremment par différents utilisateurs, cela peut poser des problèmes, notamment de savoir où en est l'exécution d'une tâche.
Par ailleurs, s'il se produit un incident sur une tâche, il est nécessaire pour l'utilisateur qui a lancé cette tâche, de savoir quel est le type d'incident, afin d'en expliquer les causes.
Ce système reconnaît aussi l'entité atomique "processus", qui est une unité d'exécution comprenant une allocation de mémoire avec du programme code, une pile, et un ensemble de registres de processeur, mais une fois le processus terminé, le systèmes ne sait pas faire la correspondance entre plusieurs processus. Les processus assurent d'une manière séquentielle une fonctionnalité globale, telle que par exemple les commandes d'un fichier de texte directement interprétable connu sous le nom "script shell", qui sont constituées d'une liste de commandes du système.
L'invention a pour but de fournir, à un utilisateur exécutant un travail complexe impliquant l'exécution de plusieurs processus unitaires, un rapport d'exécution global offrant une description des ressources prises par l'exécution des étapes de ce travail et, de préférence, un compte-rendu des anomalies rencontrées pendant l'exécution de ce travail.
L'invention a pour objet un procédé de compte-rendu de tâches faites d'au moins un processus et exécutées par un système informatique fonctionnant sous un système d'exploitation ouvert incluant un fichier de compte-rendu de tâches, caractérisé en ce qu'il consiste :
- à exécuter une commande racine ayant pour arguments une commande utilisateur et sa liste d'arguments, la commande utilisateur étant exécutée pour réaliser la tâche dont on veut avoir le compte-rendu ;
- à définir un attribut discriminant ;
- à enregistrer l'heure de début et de fin de l'exécution de la commande racine ; et
- à exécuter au moins un appel système permettant de créer un processus fils dudit processus et spécifiant, en arguments, la commande utilisateur à exécuter et sa liste d'arguments, la commande utilisateur permettant, grâce à l'attribut discriminant, à l'heure de début et à l'heure de fin de l'exécution de la commande racine, de retrouver dans le fichier de compte-rendu les données concernant la commande utilisateur, ledit processus fils et ses éventuels processus fils.
L'invention a aussi pour objets corollaires un dispositif de compte- rendu de tâches et un système informatique mettant en œuvre ce procédé
Les caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description qui suit, donnée à titre d'exemple et faite en référence aux dessins annexés dans lesquels : - la figure 1 est une vue synoptique d'un système informatique mettant en oeuvre le procédé de l'invention ;
- la figure 2 est une vue d'une fenêtre affichée à l'écran par l'interface utilisateur du système de la figure 1 ; et - les figures 3 à 5 sont des vues de fenêtres affichées après sélection de trois commandes respectives d'un menu de la fenêtre de la figure 2.
En préalable à la description d'un exemple de réalisation sous UNIX de l'invention, il est utile de rappeler les définitions ci-après.
Dans tout ce qui suit, le terme "processus" désignera toute exécution d'un programme à un instant donné et désignera par conséquent, en particulier, l'environnement du processus dans le système, le programme constituant en lui-même un objet inerte, rangé dans la mémoire du système sous la forme d'un fichier ordinaire exécutable. Il est connu, dans les systèmes "UNIX", deux types de processus :
- les processus de système qui ne sont attachés à aucun terminal, qui sont créés au lancement du système ou à des dates fixées par l'administrateur du système, et qui ne sont interrompus qu'à l'arrêt du système. Citons le processus "SWAPPER", un certain nombre de processus dits "démons" comme, par exemple, le processus assurant le bon usage de l'imprimante en spoule, et le processus "CRON" qui permet de lancer des tâches à une date donnée.
- et les processus lancés par un utilisateur particulier depuis un terminal donné à une date donnée. En particulier, le fait d'initialiser une session de dialogue (en anglais "to log") avec un terminal sous une identification donnée provoque le lancement d'un processus correspondant à l'exécution d'un fichier prédéterminé pour chaque utilisateur. Ce type de processus correspond presque toujours à l'exécution d'un interpréteur de langage de commande (BOURNE shell ou C-shell). Pour information, nous rappellerons que l'utilisation de services standards, c'est-à-dire existants dans UNIX, par un usager est réalisée par l'intermédiaire de commandes qui peuvent nécessiter, pour fonctionner, l'existence de processus particuliers appelés "démons" sur la machine distante.
Le terme "tâche" désignera du point de vue de l'utilisateur une séquence d'opérations exécutées sans intervention de l'opérateur. Du point de vue du système, c'est un ensemble de processus connexes. Durant sa vie, une tâche peut avoir l'un des trois états ci-après :
- "entré" ("entered" en anglais) lorsque la tâche a été soumise mais pas encore démarrée, ce qui sera le cas tant que la tâche n'aura pas les ressources disponibles ;
- "démarré" ("started" en anglais) lorsque la tâche a débuté ; et
- "suspendu" ("held" en anglais) lorsque la tâche a été "entrée" mais ne peut pas démarrer à cause de la suspension explicite de la tâche.
La structure du système informatique "UNIX" 10 représenté sous forme de blocs sur la figure 1 est constituée de ressources matérielles 1 illustrées globalement en un bloc, incluant de façon bien connue au moins un processeur et des moyens de mémoire (non représentés), et de ressources logicielles 3 qui sont typiquement contenues dans les moyens de mémoire (tels qu'un disque dur par exemple) des ressources matérielles 1 et sont représentées à l'extérieur de celles-ci, les ressources logicielles illustrées 3 ne comprenant que les composantes logicielles impliquées par le procédé de l'invention pour la clarté de la description. Les ressources logicielles 3 incluent un système d'exploitation UNIX 8 communiquant avec les ressources matérielles 1 et incluant un noyau (kernel) 2 assurant la gestion de la mémoire et des entrées-sorties de bas niveau et l'enchaînement des différentes tâches. Autour de ce noyau sont utilisés de façon bien connue (et par conséquent non illustrés) un ou plusieurs interpréteurs de langage de commande "shell", un système de messagerie et des programmes utilitaires, dont évidemment un compilateur de langage C. En plus de ces éléments classiques dans les systèmes "UNIX", ont été développés selon l'invention, pour les besoins des applications multitâches en environnement ouvert, un dispositif de compte-rendu des tâches 4 inclus dans les ressources logicielles 3 et comprenant dans l'exemple illustré deux modules logiciels : un module appelé service de compte-rendu de tâches ou module SJR (Service Job Reporting) 44 ayant deux parties, seule la partie supérieure illustrée étant accessible à l'utilisateur notamment par une commande racine SJR ; et un autre module appelé interface utilisateur 40 permettant de visualiser le bon déroulement, l'arrivée d'incidents, l'historique des tâches, l'état courant de l'une des tâches, l'état courant de toutes les tâches entrées, de façon à détecter les causes d'incidents. L'interface utilisateur 40 inclut une interface graphique d'utilisateur (SJR GUI) 42.
Le module SJR 44 communique avec un catalogue 5 de compte- rendu des tâches, appelé aussi catalogue JOR (Job Output Report). Le module SJR 44 utilise un mécanisme standard 7 de compte-rendu de travaux sous réserve que ce mécanisme soit activé pour produire des fichiers de compte-rendu de travaux mémorisés dans un fichier standard de compte-rendu 6, appelé "Accounting" dans UNIX, et communique avec le fichier standard 6 pour en exploiter les fichiers.
Le module SJR 44 comporte dans sa partie basse des fonctions utiles pour permettre à l'utilisateur de gérer les tâches. Ces fonctions sont par exemple utilisables dans un code écrit en C et comprennent :
- une première fonction "SJRjobenter", qui vérifie si les paramètres de la tâche sont corrects, enregistre la tâche et attribue un identificateur visible à la tâche et un attribut discriminant grâce à deux appels système (system calls) ,
- une seconde fonction "SJRjobstart", qui vérifie si la tâche peut démarrer et qui, dans le cas contraire, attend jusqu'à ce que les ressources soient disponibles si un paramètre "qflag", option de la commande SJR, est nul. Dans le cas où le paramètre "qflag" n'est pas nul, elle retourne immédiatement dans le code utilisateur pour indiquer que la tâche n'a pas démarré.
- une troisième fonction "SJRjobdelete", qui permet de libérer les entrées dédiées à la tâche dans des tables 46 de gestion de tâches, ces tables étant internes au module 44, et
- une quatrième fonction "SJRjobinfoget", qui retrouve les entrées dédiées à la tâche dans les tables de gestion de tâches et les copie dans une structure logicielle "jobinfo" du module 44. La structure logicielle "jobinfo" contient ainsi l'état de la tâche accessible à l'utilisateur. Le procédé de l'invention consiste dans un premier temps à exécuter la commande racine SJR, cette commande ayant pour arguments une commande utilisateur, ayant pour nom TOTO par exemple, et sa liste d'arguments, la commande utilisateur étant exécutée pour réaliser la tâche dont on veut avoir le compte-rendu. La tâche est donc l'exécution de la commande utilisateur et on a vu précédemment qu'elle est faite d'un ou plusieurs processus connexes qui s'exécutent en série ou en parallèle. La tâche est donc assimilée au premier processus et à tous les éventuels processus qui lui sont connexes.
La commande SJR, disponible par l'intermédiaire de l'interface graphique 42, produit des fichiers de comptes-rendus détaillés de l'exécution des tâches. La commande SJR a été faite de code en langage C et exécute les étapes suivantes : a) association d'un pseudo-terminal, ayant par exemple pour nom TITI, au processus en cours, par un premier appel système standard "open" et un second appel système standard "ioctl". Ces deux appels systèmes définissent ainsi pour la commande SJR et le processus TOTO le pseudo-terminal TITI qui leur sera associé en tant que terminal de commande de processus (Process Controlling Terminal) constitutif d'un attribut discriminant. fd=open ("TITI", mode) ioctl (fd, arg) où "arg" est un argument de valeur TIOCSETTY, qui correspond à une option de l'appel système "ioctl". b) enregistrement dans les tables de gestion de tâches 46 de données de début du processus TOTO, ces données incluant notamment l'heure et la date du processus TOTO ; c) exécution d'un appel système standard "fork" pour créer un processus fils et d'un autre appel système standard "exec" pour charger le processus en cours avec le code de la commande TOTO et initialiser son environnement d'exécution ; d) attente de la fin du processus TOTO, en étant à l'écoute des messages du système qui sont destinés au terminal auquel est associé le module 44, utilisation d'un appel système standard "pipe" pour créer un canal de communication entre la commande SJR et le processus TOTO, et déviation des messages destinés au terminal vers ce canal de communication ; e) enregistrement de données de fin du processus TOTO, ces données incluant notamment l'heure ; et f) exploitation du fichier 6 "Accounting" pour y extraire les données recherchées et mise de ces données dans le catalogue 5.
De préférence, le dispositif de compte-rendu de tâches 4 inclut aussi les commandes suivantes accessibles à l'utilisateur :
- une commande "SJRIog", qui permet d'insérer des messages dans le compte-rendu et incluse de préférence dans le module SJR 44 ; - une commande "SJRinfo", qui fournit à l'utilisateur des informations au sujet d'une tâche ou de toutes les tâches. Cette commande a de préférence une option permettant d'obtenir tous les processus courants de la tâche, et une autre option permettant d'afficher les informations tous les intervalles de temps définis par l'option. La commande "SJRinfo" illustrée a été incluse de préférence dans l'interface utilisateur 40 ; et - une commande "SJRwait", qui permet d'attendre la fin d'exécution de tous les travaux ayant été lancés en arrière-plan dans la même session. Elle a été incluse de préférence dans le module 44 tel qu'illustré.
L'utilisation de ces commandes se fait systématiquement avec l'utilisation de l'appel système standard "fork" et de l'autre appel système standard "exec", l'appel système "fork" permettant de façon classique la création dynamique d'un nouveau processus appelé processus fils, qui s'exécute de façon concurrente avec le processus père qui l'a créé et qui est une copie du processus père. En bref, le processus fils hérite du processus père d'un certain nombre de ses attributs et comporte le même code, une compilation de données, l'environnement, la priorité, les différents prioritaires, les descripteurs de fichiers courants et le traitement des signaux. Le seul moyen de distinguer le processus fils du processus père est que, dans le processus fils, la valeur de retour de l'appel système "fork" est zéro, alors qu'elle est égale, dans le processus père, au numéro du processus fils. Ainsi, par l'appel système "fork", le processus fils et tous les autres processus générés par le processus fils auront le même attribut discriminant, et le module SJR 44 pourra facilement retrouver les éléments dans le fichier "Accounting" par l'attribut discriminant du terminal associé. Les fonctions figurant dans le module SJR 44 sont utilisées par exemple de la façon suivante, en langage C simplifié : intjobid ; if (fork ()) exit (0) ;/*Mandatoιy7 jobid=SJRjobenter (getppid (), » JOB_NAME», (char *)0) ; if (jobidO) { fprintf (stderr, »SJRjobenter failed\n») ; exit Qobid) ;
}
/*... fill structure SJRressources with values */ start=SJRjobstart Qobid, SJRressources, 0) ; if (start <0 { fprintf (stderr,»SJRjobstart failed\n» ; exit (start)
} /*... Hère is the User Work */
SJRjobdelete Qobid) ; exit (0) ;
Dans cet exemple, l'appel système standard "fork" permet de créer un processus fils dont le processus père peut être retrouvé par l'appel système standard "getppid" passé à la commande "SJRjobenter" et dont le nom de la tâche est par exemple "JOB_NAME".
Enfin, le dispositif de compte-rendu de tâches 4 inclut encore de préférence une commande "Cleanacct" accessible à l'utilisateur, mise de préférence dans l'interface utilisateur 40 illustré et qui permet à l'utilisateur de définir ses objectifs de réduction de la taille du fichier "Accounting" en éliminant les vieux enregistrements. Cette commande comporte des options suivantes définissables par les drapeaux ci-après :
- h pour définir le nombre d'heures à conserver,
- m pour définir le nombre de nuits à conserver, - n pour définir le nombre de jours à conserver,
- f pour définir le nom du fichier Accounting par exemple Madison accessible par le chemin var/adm/madison-acct.
L'interface graphique 42 permet de façon classique à l'utilisateur, par action sur une souris, de déclencher des opérations préprogrammées, telles que par exemple, l'appui et le relâchement d'un bouton de commande et la traîne du pointeur de la souris, des événements logiques tels que l'entrée du pointeur de la souris dans une fenêtre, et des traitements dans l'interface graphique 42. La figure 2 illustre un exemple de fenêtre 421 pouvant être obtenue de l'interface graphique 42. La fenêtre 421 présente un une barre de menus nommés "Session", "Tâche" et "Aide" et permet de sélectionner une commande associée à chacun de ces menus. Le menu "Tâche" tel que représenté sur la figure 2 contient : une première commande 4211 pour l'affichage de toutes les tâches ; une seconde commande 4212 pour l'affichage d'un historique ; une troisième commande 4213 pour l'affichage d'une tâche ; une quatrième commande 4214 pour suspendre une tâche ; une cinquième commande 4215 pour libérer une tâche ; une sixième commande 4216 pour annuler une tâche ; une septième commande 4217 pour faire avorter une tâche ; et une huitième commande 4218 pour forcer l'exécution d'une tâche. La sélection, à l'aide du curseur de la souris, de l'une des commandes du menu, en la mettant en surbrillance ou en évidence comme indiqué à la figure 2 à la commande "Afficher une tâche", et la validation de cette sélection par l'enfoncement d'un bouton prévu dans la fenêtre (non illustré) déclenchent le traitement d'un processus grâce à l'interface graphique 42, qui permet ainsi la commande des tâches selon le choix de l'utilisateur, par exemple de faire avorter une tâche et d'afficher toutes les tâches.
La figure 3 illustre une fenêtre 42121 pouvant apparaître lorsque la commande 4212 "Historique" du menu "Tâche" de la fenêtre 421 de la figure 2 a été sélectionnée et activée. La fenêtre 42121 présente un histogramme où s'affichent, dans une première colonne A, l'heure, dans une deuxième colonne B, la date, dans une troisième colonne C, les tâches exécutées, dans une quatrième colonne D, la dimension à laquelle appartient la tâche, dans une cinquième colonne E, le nom de la commande associée à la tâche, et dans une sixième colonne F, l'état de la tâche pour savoir si elle a été démarrée, achevée, ou avortée. Une dimension est un jeu de processus en cours d'exécution, qui ont la même importance du point de vue du gestionnaire de ressources locales. Cinq dimensions sont prévues par défaut : une première dimension "SYSTEME", une deuxième dimension "LOT" (BATCH), une troisième dimension "DIVERS" (MISC), une quatrième dimension "Base de données" (DB) et une cinquième dimension "Traitement transactionnel " (TP). Si les processus sont lancés par les utilisateurs normaux directement en arrière-plan, ils appartiennent alors à la dimension "DIVERS". Si les processus sont lancés à travers un script, soumis à l'application de gestion des tâches sans aucune déclaration des dimensions explicites, ils appartiennent alors à la dimension "SYSTEME". Les dimensions "DB" et "TP" sont fournies mais sans aucune définition de processus et pourront être définies par l'utilisateur.
La sélection et la validation de la commande 4213 "Afficher une tâche" de la fenêtre 421 sur la figure 2 déclenchent l'ouverture d'une fenêtre 42131 telle que par exemple celle représentée sur la figure 4. La fenêtre de la figure 4 comporte une pluralité de pavés permettant chacun l'affichage d'informations alphanumériques. Dans la fenêtre illustrée sont affichés : dans le pavé A, l'identificateur visible de la tâche ; dans le pavé B, le nom de la commande ; dans le pavé C, l'identifiant de l'utilisateur qui a soumis la tâche ; dans le pavé D, l'état courant de la tâche ; dans le pavé E, le moment où la commande SJR a été entrée ; dans le pavé F, le moment où la tâche a été démarrée ; dans le pavé G, la consommation courante globale de CPU ; dans le pavé H, le pourcentage de CPU consommé par la tâche ; dans le pavé I, la mémoire virtuelle requise ; dans le pavé J, l'espace des fichiers temporaires requis ; dans le pavé K, l'espace de mémoire réelle en cours ; dans le pavé L, l'espace de mémoire virtuelle en cours ; dans le pavé M, l'espace des fichiers temporaires en cours ; dans le pavé N, le nombre de processus en cours ; dans le pavé O, le plus grand espace de mémoire réelle utilisé par la tâche ; dans le pavé P, le plus grand espace de mémoire virtuelle utilisé par la tâche ; dans le pavé Q, le plus grand espace de fichier temporaire utilisé par la tâche ; et dans le pavé R, le nombre maximum de processus N utilisés par le système pour cette tâche à un moment donné.
La sélection et la validation de la commande 4211 "Afficher toutes les tâches" de la fenêtre 421 de la figure 2 déclenchent l'affichage d'une fenêtre 42111 telle que représentée sur la figure 5, qui fournit l'état courant des tâches et présente, dans un pavé, une première colonne a d'identification de la tâche, une deuxième colonne b donnant le nom de la tâche, une troisième colonne c dans laquelle figurent les utilisateurs, une quatrième colonne d donnant l'état de la tâche pour savoir si elle est démarrée ou entré et une cinquième colonne e donnant l'heure d'entrée de la tâche, une sixième colonne f pour l'heure de démarrage, une septième colonne g donnant les taux d'occupation du CPU, une huitième colonne h donnant les tailles de mémoire virtuelle et les fichiers temporaires requis, une neuvième colonne i subdivisée en quatre pour obtenir les tailles de mémoire réelle et de mémoire virtuelle utilisées ainsi que les tailles des fichiers temporaires et le nombre de processus, et une dixième colonne j subdivisée en quatre pour connaître les tailles maximales de mémoire réelle, de mémoire virtuelle, de fichier temporaire et de processus utilisés par la tâche.
On comprend ainsi l'intérêt de l'invention car elle permet, grâce à la commande "SJR", d'utiliser une machine "UNIX" comme un serveur d'entreprise, tout en ayant une conservation des traces d'exécution des tâches lancées, pour permettre de connaître les anomalies éventuelles, de façon par exemple, à être capable de déterminer, lorsqu'on lance une tâche qui sera exécutée la nuit lors de la fermeture des bureaux, que cette tâche sera achevée le matin avant l'arrivée du personnel.
D'autres modifications à la portée de l'homme de métier font également partie de l'esprit de l'invention. Ainsi, le dispositif et le procédé décrits peuvent très bien être utilisés et adaptés à tout autre type de système dit ouvert tel que, par exemple, "WINDOWS NT", marque déposée. Dans ce cas, il faut créer l'attribut discriminant, alors que dans UNIX il existe et il faut le retrouver par la création d'un pseudo-terminal associé à la tâche au moyen de I' appel système "ioctl". En outre, sous Windows NT, la commande "CreateProcess" peut remplacer les appels système "fork" et "exec" sous UNIX. D'autre part, l'homme du métier peut réaliser la commande utilisateur autrement que par un fichier "script shell". Enfin, on a vu que l'exécution de la commande racine SJR inclut un paragraphe (d) que l'on peut formuler de manière générale en disant que, avant la fin de la commande utilisateur, le procédé consiste à détecter des messages résultant de l'exécution de la tâche. Les messages détectés sont utilisés de façon à créer un canal de communication entre la commande racine SJR et la tâche, et à dévier ces messages vers le canal de communication. Il ressort de la description que ces caractéristiques servent à exploiter les messages résultant de l'exécution de la tâche afin d'avoir le maximum de données sur la tâche. Il est donc évident que les caractéristiques de ce paragraphe sont avantageuses mais non nécessaires au procédé de l'invention.

Claims

Revendications :
1. Procédé de compte-rendu de tâches faites d'au moins un processus et exécutées par un système informatique (10) fonctionnant sous un système d'exploitation (8) ouvert incluant un fichier de compte-rendu de tâches (6), caractérisé en ce qu'il consiste :
- à exécuter une commande racine (SJR) ayant pour arguments une commande utilisateur (TOTO) et sa liste d'arguments, la commande utilisateur étant exécutée pour réaliser la tâche dont on veut avoir le compte- rendu ;
- à définir un attribut discriminant (TITI) ;
- à enregistrer l'heure de début et de fin de l'exécution de la commande racine ; et
- à exécuter au moins un appel système (fork, exec) permettant de créer un processus fils dudit processus et spécifiant, en arguments, la commande utilisateur (TOTO) à exécuter et sa liste d'arguments, la commande utilisateur (TOTO) permettant, grâce à l'attribut discriminant (TITI), à l'heure de début et à l'heure de fin de l'exécution de la commande racine, de retrouver dans le fichier de compte-rendu (6) les données concernant la commande utilisateur, ledit processus fils et ses éventuels processus fils.
2. Procédé selon la revendication 1 , caractérisé en ce que la définition de l'attribut discriminant (TITI) consiste à exécuter un appel système (ioctl) permettant d'associer un pseudo-terminal au processus (TOTO).
3. Procédé selon la revendication 1 ou 2, caractérisé en ce que la commande utilisateur (TOTO) est un fichier directement interprétable connu sous le nom "script shell", comprenant des commandes propres audit système d'exploitation et éventuellement des commandes exécutables à créer par l'utilisateur.
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que lesdits processus fils produits par la commande utilisateur (TOTO) ont dans leur héritage ledit attribut discriminant.
5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce qu'il consiste, avant la fin de la commande utilisateur, à détecter des messages résultant de l'exécution de ladite tâche.
6. Dispositif (4) de compte-rendu de tâches faites d'au moins un processus et exécutées par un système informatique (1 ) fonctionnant sous un système d'exploitation (8) ouvert incluant un fichier de compte-rendu de tâches (6), caractérisé en ce qu'il met en œuvre le procédé défini par l'une des revendications 1 à 5.
7. Dispositif selon la revendication 6, caractérisé en ce qu'il inclut une interface graphique (42) permettant d'afficher lesdites données concernant la commande utilisateur et lesdits processus fils.
8. Système informatique (10), comprenant des ressources matérielles (1 ) et des ressources logicielles (3), caractérisé en ce que les ressources logicielles mettent en œuvre le procédé défini par l'une des revendications 1 à 5.
PCT/FR1998/002064 1997-09-30 1998-09-25 Procede et dispositif de compte-rendu de taches executees par un systeme informatique WO1999017206A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP98945380A EP0941513A1 (fr) 1997-09-30 1998-09-25 Procede et dispositif de compte-rendu de taches executees par un systeme informatique

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9712147A FR2769106B1 (fr) 1997-09-30 1997-09-30 Dispositif de compte-rendu de taches executees par un systeme informatique
FR97/12147 1997-09-30

Publications (1)

Publication Number Publication Date
WO1999017206A1 true WO1999017206A1 (fr) 1999-04-08

Family

ID=9511631

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1998/002064 WO1999017206A1 (fr) 1997-09-30 1998-09-25 Procede et dispositif de compte-rendu de taches executees par un systeme informatique

Country Status (3)

Country Link
EP (1) EP0941513A1 (fr)
FR (1) FR2769106B1 (fr)
WO (1) WO1999017206A1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996036918A1 (fr) * 1995-05-19 1996-11-21 At & T Ipm Corp. Procede permettant de controler un multiprocesseur numerique

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996036918A1 (fr) * 1995-05-19 1996-11-21 At & T Ipm Corp. Procede permettant de controler un multiprocesseur numerique

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"AIX Version 3.2 - System Management Guide: Operating System and Devices", October 1993, INTERNATIONAL BUSINESS MACHINES CORP., US, XP002067192 *
"DEC OSF/1 Reference Pages, Section 2 - System Calls", August 1994, DIGITAL EQUIPMENT CORP., MAYNARD, MASSACHUSETTS, US, XP002067194 *
"DEC OSF/1 Reference Pages, Section 8 - System Administration Commands, Volume 1", August 1994, DIGITAL EQUIPMENT CORP., MAYNARD, MASSACHUSETTS, US, XP002067193 *
W.R. STEVENS: "Advanced Programming in the UNIX Environment", July 1997, ADDISON-WESLEY, READING, MASACHUSETTS, US, XP002067191 *

Also Published As

Publication number Publication date
EP0941513A1 (fr) 1999-09-15
FR2769106A1 (fr) 1999-04-02
FR2769106B1 (fr) 1999-10-29

Similar Documents

Publication Publication Date Title
EP0893761B1 (fr) Dispositif et procédé de régulation dynamique de l&#39;attribution des ressources sur un système informatique
US8020146B2 (en) Applying deferred refactoring and API changes in an IDE
EP2350817B1 (fr) Création automatique et poussée de brouillon de serveur
US20070240118A1 (en) System, method, and software for testing a software application
US7631268B2 (en) Moving data to multiple target files
US9990595B2 (en) Modeled service endpoints in business process model and notation tools
US20030081003A1 (en) System and method to facilitate analysis and removal of errors from an application
US20060206856A1 (en) System and method for software application development in a portal environment
US7568162B2 (en) Visual helps while using code assist in visual tools
EP0574302A1 (fr) Dispositif de conception de réseaux de commande d&#39;informations pour la modélisation de tous processus
JPH08508596A (ja) ランタイム・ローダ
EP0840214A1 (fr) Outil d&#39;intégration d&#39;applications pour plate-forme informatique
US20070245302A1 (en) Pre-assembling drag-and-drop objects before committing a drop object
EP1387261A1 (fr) Logiciel de generation de code d&#39;application informatique et langage de description de logiciel
EP0804771A1 (fr) Interface administrateur pour base de donnees dans un environnement informatique distribue
JP6986536B2 (ja) リーン生産法をシステムデリバリテストに適用するウェブベースのアプリケーションプラットフォーム
US11736556B1 (en) Systems and methods for using a browser to carry out robotic process automation (RPA)
EP0755001A1 (fr) Architecture d&#39;habillage d&#39;applications pour une plate-forme informatique
EP2187321B1 (fr) Procédé et dispositif d&#39;édition d&#39;un objet représenté dans une page web
US20080059949A1 (en) System and method for implementing a safe framework
FR2769105A1 (fr) Dispositif et procede de prise en compte de l&#39;execution d&#39;une tache sur un systeme informatique
WO1999017206A1 (fr) Procede et dispositif de compte-rendu de taches executees par un systeme informatique
CN115455325A (zh) 页面渲染方法、装置、设备、介质以及程序产品
US8028274B2 (en) Integrating loosely coupled tools using contracts and references
US20040054641A1 (en) Method, computer program product, and system for the generation of transaction screen displays from a hierarchical database management log utilizing a batch terminal simulator

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1998945380

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09319033

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1998945380

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1998945380

Country of ref document: EP