FR2796179A1 - Systeme et procede de gestion de systemes peripheriques qui utilisent des interfaces d'objets de visualisation pour la commande - Google Patents

Systeme et procede de gestion de systemes peripheriques qui utilisent des interfaces d'objets de visualisation pour la commande Download PDF

Info

Publication number
FR2796179A1
FR2796179A1 FR0005495A FR0005495A FR2796179A1 FR 2796179 A1 FR2796179 A1 FR 2796179A1 FR 0005495 A FR0005495 A FR 0005495A FR 0005495 A FR0005495 A FR 0005495A FR 2796179 A1 FR2796179 A1 FR 2796179A1
Authority
FR
France
Prior art keywords
managed
management
information
management interface
entity
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
FR0005495A
Other languages
English (en)
Inventor
Shell S Simpson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of FR2796179A1 publication Critical patent/FR2796179A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0233Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

L'invention concerne un support (29) de mémoire pour commander un processeur (12) pour qu'un utilisateur d'un ordinateur (10) de gestion puisse visualiser une information de particularités d'unités gérées (22, 24) d'un système périphérique qui assurent chacune, pour un ou plusieurs ordinateurs clients, un ou plusieurs services à chacun desquels est associée une interface (33) d'entité gérée qui inclut une ou plusieurs références à une ou plusieurs interfaces de gestion (26) qui comprennent chacune un ou plusieurs procédés (28, 30, 32) pour fournir une information correspondante. Selon l'invention, le support comprend un moyen (29) de commande d'une application sur ledit processeur : quand l'utilisateur sélectionne un objet (36) de Visualisation pour afficher une information concernant l'un desdits services, le processeur exécute l'objet en trois étapes : (i) déterminer les entités gérées (33) qui fourniront l'information (ii) provoquer pour chacune un affichage de l'information; et (iii) exécuter un autre objet qui récupère l'information pour qu'un objet d'interface (26) de gestion soit exécuté afin que l'information soit affichée. L'invention concerne aussi un procédé correspondant.

Description

La présente invention concerne la gestion des systèmes périphériques et, plus particulièrement, un système et un procédé de gestion de systèmes périphériques qui utilisent des interfaces d'objets de Visualisation pour afficher des états et des conditions de dispositifs périphériques.
Gérer un système périphérique implique de configurer des dispositifs qui constituent le système périphérique, d'obtenir leur état et de recevoir des événements à partir de ces dispositifs. Les capacités des dispositifs varient largement, et des protocoles de communication utilisés pour interagir avec les dispositifs varient eux aussi largement. Un logiciel qui gère un système périphérique doit être adapté à une telle variété et est, par conséquent, souvent très complexe. Tel qu'il est utilisé ici, le terme de système périphérique inclut des imprimantes, des dispositifs d'exploration ou scanners, des serveurs, des dispositifs à fonctions multiples et des périphériques clients comme des ordinateurs personnels.
Les fabricants d'équipements commercialisent constamment de nou veaux modèles de dispositifs périphériques, de serveurs de périphériques et de périphériques clients qui posent de nouveaux défis à des développeurs de systèmes de logiciels de gestion de systèmes périphériques. Ces logiciels doivent constamment être révisés pour prendre en charge ces nouveaux dispositifs et ces nouvelles particularités des dispositifs, ce qui augmente encore la complexité de ces logiciels.
Les capacités offertes par des périphériques, des serveurs de périphé riques ou des périphériques clients varient, en fonction de leurs configu rations respectives. Au fur et à mesure que des ressources comme des disques durs sont ajoutées ou enlevées, la gestion d'un système périphérique doit prendre en compte ces modifications des capacités, ce qui augmente encore la complexité du logiciel de gestion de systèmes périphériques.
Des applications de gestion de systèmes périphériques, ou applications de PSM selon les initiales du terme anglo-saxon peripheral system management, permettent souvent à des utilisateurs finaux d'effectuer des Opérations sur une collection de dispositifs en utilisant un ordre unique, sans devoir envoyer un même ordre de façon répétée à chaque dispositif. Par exemple, des applications de gestion de systèmes périphériques permettent que les adresses d'une collection de dispositifs soient réassignées en utilisant un ordre unique, mais ces applications ne s'adaptent pas lorsque de nouvelles capacités sont ajoutées sur ces dispositifs.
Des applications de gestion de systèmes périphériques affichent aussi typiquement des éléments d'interface d'utilisateurs qui représentent une connexion de dispositifs en cours de gestion. Grâce à cette interface, l'utilisateur peut exécuter des activités de gestion sur plusieurs dispositifs en même temps. Généralement, cette interface n'est pas extensible et n'offre pas la capacité de modifier de façon significative la manière dont une application de gestion de systèmes périphériques affiche des dispositifs multiples. En revanche, les applications de gestion de systèmes périphériques permettent à des concepteurs de dispositifs d'introduire des extensions désignées par le terme anglo-saxon de "applet", c'est-à-dire de petits programmes qui sont mis en oeuvre dans le contexte d'un programme plus grand, appelés petits programmes insérés dans ce qui suit, qui personnalisent la manière dont un dispositif est pris en charge. Lorsqu'un utilisateur indique un souhait de gérer un dispositif individuel, ce petit programme inséré est utilisé pour présenter à l'utilisateur une interface d'utilisateur spécifique au dispositif. De la même manière qu'un concepteur de dispositif peut étendre la manière dont un dispositif individuel est visualisé, il existe un besoin de permettre de modifier la manière dont une collection de dispositif est présentée.
Dans de nombreux ordinateurs, une bibliothèque de liaisons dynamiques, ou DLL selon les initiales du terme anglo-saxon dynamic link library est utilisée pour mémoriser une collection de sous-programmes. Ces sous-programmes peuvent être appelés selon les besoins par un programme plus grand qui est mis en oeuvre et ils peuvent être utilisés comme "unités enfichables". De tels sous-programmes sont souvent utilisés pour permettre au programme plus grand de communiquer avec un dispositif spécifique comme une imprimante ou un scanner. L'avantage d'un fichier de bibliothèque de liaisons dynamiques est qu'il n'est chargé dans une mémoire vive ou RAM que lorsqu'il a été appelé par le programme plus grand. Un fichier de bibliothèque de liaisons dynamiques est relié dynamiquement pendant son exécution au programme qui l'utilise, au lieu d'être compilé avec le programme principal. De plus, une bibliothèque de liaisons dynamiques peut être partagée par de multiples programmes.
C'est le but de la présente invention que de répondre au besoin d'un système de gestion de systèmes périphériques qui puisse interagir avec de multiples types de dispositifs dans le système périphérique; intervenir sur des groupes de dispositifs qui offrent les mêmes capacités; et s'adapter à des modifications qui concernent la manière dont des groupes de dispositifs sont présentés.
Selon un premier aspect, l'invention fournit un procédé destiné à permettre à un utilisateur d'un ordinateur de gestion de visualiser une information concernant des particularités de plusieurs unités gérées d'un système périphérique, dans lequel chaque unité gérée assure un ou plusieurs services pour un ou plusieurs ordinateurs clients, à chaque service est associée une interface d'entité gérée, ou interface de ME selon les initiales du terme anglo-saxon managed entity, qui inclut une ou plusieurs références à une ou plusieurs interfaces de gestion, ou MI selon les initiales du terme anglo-saxon management interface, et chaque interface de gestion comprend un ou plusieurs procédés pour fournir une information concernant une ou plusieurs particularités dudit service associé à ladite entité gérée, caractérisé en ce qu'il comprend les étapes consistant à exécuter un objet de Visualisation, en réponse à la sélection, par l'utilisateur, dudit objet de Visualisation dont la fonction est de provoquer un affichage d'information concernant un service exécuté par une ou plusieurs desdites unités gérées, pour: (i) déterminer celles des entités gérées associées auxdites unités gérées qui fourniront ladite information concernant ledit service, en appelant une exécution d'un objet fournisseur d'interface de gestion sur chaque unité gérée pour qu'il renvoie une réponse concernant une entité gérée associée; (ii) provoquer un affichage de ladite information pour chaque entité gérée en faisant passer une liste d'entités gérées, qui ont été déterminées à l'étape (i) pour fournir cette information, à un autre objet dont la tâche est de récupérer cette information; (iii) exécuter ledit autre objet pour provoquer l'exécution, dans une unité gérée associée à chacune desdites entités gérées de la liste, d'un objet d'interface de gestion, ledit objet d'interface de gestion récupérant ainsi ladite information et la renvoyant pour affichage audit utilisateur; et (iv) afficher ladite information pour visualisation par l'utilisateur.
Ledit objet de Visualisation peut être chargé comme unité enfichable sur une application en cours de fonctionnement, ce qui en permet dès lors l'exécution.
Ledit objet d'interface de gestion peut inclure: - un procédé permettant de déterminer s'il existe un objet d'interface de gestion correspondant à une particularité demandée qui soit associé à une entité gérée; - un procédé de restitution dudit objet d'interface de gestion associé; et - un procédé de listage d'objets d'interfaces de gestion associés à une entité gérée.
Chaque unité gérée qui inclut un service distinct peut manifester ledit service au moyen d'une interface sensiblement identique d'entité gérée. Chaque unité gérée qui inclut une particularité distincte peut manifester ladite particularité au moyen d'un objet sensiblement identique d'interface de gestion.
Selon un deuxième aspect, l'invention réalise un support de mémoire pour commander un processeur afin de permettre à un utilisateur d'un ordinateur de gestion de visualiser une information concernant des particularités de plusieurs unités gérées d'un système périphérique, dans lequel chaque unité gérée assure un ou plusieurs services pour un ou plusieurs ordinateurs clients, à chaque service est associée une interface d'entité gérée, qui inclut une ou plusieurs références à une ou plusieurs interfaces de gestion, ou MI, et chaque interface de gestion comprend un ou plusieurs procédés pour fournir une information concernant une ou plusieurs particularités dudit service associé à ladite entité gérée, caractérisé en ce qu'il comprend: a) un moyen de commande d'une application mise en oeuvre sur ledit processeur pour répondre à une sélection, par l'utilisateur, d'un objet de Visualisation dont la fonction est de provoquer un affichage d'infor- mation concernant un service exécuté par une ou plusieurs desdites unités gérées afin d'exécuter ledit objet de Visualisation, ledit objet de Visualisation comprenant: (i) un moyen destiné à commander ledit processeur de manière à déterminer celles des entités gérées associées auxdites unités gérées qui fourniront ladite information concernant ledit service, en appelant une exécution d'un objet fournisseur d'interface de gestion sur chaque unité gérée pour qu'il renvoie une réponse concernant une entité gérée associée; (ii) un moyen destiné à commander ledit processeur de manière à provoquer un affichage de ladite information pour chaque entité gérée en faisant passer une liste d'entités gérées, qui ont été déterminées à l'étape (i) pour fournir cette information, à un autre objet dont la tâche est de récupérer cette information; (iii) un moyen destiné à commander ledit processeur de manière à exécuter ledit autre objet pour provoquer l'exécution, dans une unité gérée associée à chacune desdites entités gérées de la liste, d'un objet d'interface de gestion, ledit objet d'interface de gestion récupérant ainsi ladite information et la renvoyant pour affichage audit utilisateur.
On peut prévoir que ledit moyen a) commande ladite application pour charger ledit objet de Visualisation comme unité enfichable à partir d'une bibliothèque de liaisons dynamiques.
Ledit objet d'interface de gestion peut inclure: - un moyen destiné à commander ledit processeur de manière à déterminer s'il existe un objet d'interface de gestion correspondant à une particularité demandée qui soit associé à une entité gérée; - un moyen destiné à commander ledit processeur de manière à restituer ledit objet d'interface de gestion associé; et - un moyen destiné à commander ledit processeur de manière à lister des objets d'interfaces de gestion associés à une entité gérée.
Chaque unité gérée qui inclut un service distinct peut manifester ledit service au moyen d'une interface sensiblement identique d'entité gérée. Chaque unité gérée qui inclut une particularité distincte peut manifester ladite particularité au moyen d'un objet sensiblement identique d'interface de gestion.
Les buts, particularités et avantages de la présente invention exposés ci-dessus, ainsi que d'autres, ressortiront davantage de la description qui suit, prise en liaison avec les dessins annexés dans lesquels: - la Figure 1 est une représentation schématique d'une structure typique de données d'entité gérée; - la Figure 2 est une représentation en langage de modélisation unifié des relations entre une classe d'entités gérées et une classe d'interfaces de gestion, qui montre que l'entité gérée est une sous- classe de l'interface de gestion; - la Figure 3 illustre différents types d'entités gérées; - la Figure 4 illustre un exemple de la dérivation de classes d'entités gérées, représente en outre deux interfaces de gestion qui ne sont pas aussi des entités gérées, et illustre aussi la manière dont un héritage multiple peut être utilisé par une entité gérée; - la Figure 5 est un schéma fonctionnel d'un système de mise en oeuvre du procédé de l'invention; et - les Figure s 6 à 8 représentent un schéma logique d'un exemple du procédé de l'invention.
Un logiciel de réseau doit interagir avec des dispositifs physiques qui sont connectés au réseau. Jusqu'ici, ceci est réalisé en décrivant une topologie physique et en assignant un nom à chaque machine. Mais un logiciel déployé à de nombreux emplacements ne peut pas être décrit de cette manière puisque des topologies physiques varient d'un site à l'autre. Au lieu de spécifier des machines précises, la présente invention utilise une topologie logique qui décrit les rôles que les machines jouent ou, en d'autres termes, les services qu'elles assurent.
Des exemples de rôles que des machines jouent dans un logiciel de gestion de systèmes périphériques, ou logiciel de PSM, qui incorpore l'invention, sont donnés ci-dessous: - Machine Cliente de Gestion: le rôle d'une machine qui présente une interface d'utilisateur pour un logiciel de gestion du système périphérique. Par exemple, le rôle de cliente de gestion est joué par toute machine qui met en oeuvre un programme de lecture, ou browser selon le terme anglo-saxon, de web, qui est utilisé pour accéder à un programme d'administration de réseau.
- Machine Serveuse de Gestion: le rôle d'une machine qui met en oeuvre une logique pour un logiciel de gestion de système périphérique. Par exemple, la machine serveuse sur laquelle un programme d'administration de réseau est installé joue le rôle d'une machine serveuse de gestion.
- Machine Cliente de Périphérique: le rôle d'une machine qui utilise des services fournis par un périphérique. Une station de travail d'utilisateur final qui utilise une imprimante est un exemple d'une machine cliente de périphérique.
- Machine Serveuse de Périphérique: le rôle d'une machine qui sert d'intermédiaire pour accéder à des services fournis par un dispositif périphérique. Une machine Windows NT (marque commerciale de la Microsoft Corporation) qui partage ses imprimantes est un exemple d'une machine serveuse de périphérique.
- Machine de Périphérique: le rôle d'une machine qui sert de périphérique. Des imprimantes et des scanners sont des exemples de dispositifs périphériques.
- Machine de Répertoire de Périphériques: le rôle d'une machine qui offre un service utilisé pour trouver des machines périphériques et des machines serveuses de périphériques.
Il faut noter qu'une machine physique peut jouer de multiples rôles et offrir des services multiples. Par exemple, un serveur central peut servir tant de machine serveuse de gestion (une machine dans laquelle un programme d'administration de réseau est installée) que de machine serveuse de périphérique (par exemple un serveur d'impression).
Le logiciel de gestion de périphérique qui incorpore l'invention peut découvrir, organiser, afficher, modifier et surveiller des entités gérées liées à des périphériques. Une entité gérée est un objet de logiciel au moyen duquel peuvent être gérés le rôle d'un dispositif et un service que le dispositif fournit. II y a lieu d'insister de nouveau sur le fait qu'un dispositif unique peut jouer plusieurs rôles et peut donc être associé à plusieurs entités gérées.
# Une entité gérée est une abstraction architecturale utilisée pour modéliser une chose en cours de gestion.
# Des entités gérées sont découvertes par une abstraction architecturale d'Explorateur.
# Des entités gérées sont organisées par une abstraction architecturale de Base de données.
# Des entités gérées sont affichées par une abstraction architecturale de Visualisation.
# Des entités gérées sont modifiées par une abstraction architecturale d'Opération. Comme on le comprendra de l'exposé qui suit, chacune des abstractions identifiées ci-dessus est configurée sous forme d'objet de logiciel, c'est-à-dire, au sens classique, qu'elle maintient son état en "variables" et met en application son comportement selon un ou plusieurs procédés. Les divers objets à décrire ci-dessous constituent le logiciel de gestion de systèmes périphériques qui incorpore l'invention, avec une flexibilité substantielle pour s'adapter à des modifications de systèmes et de logiciels.
Un utilisateur doit souvent évaluer l'état d'un ou plusieurs dispositifs périphériques ou les conditions qui commandent les rôles joués par les dispositifs périphériques. De plus, l'addition de nouveaux types de dispositifs qui jouent des rôles différents exige souvent de récrire un code de surveillance dans le logiciel de gestion du réseau. On connaît dans l'art antérieur des unités enfichables qui comprennent, comme décrit ci-dessus, des sous-programmes qui sont incorporés par exemple dans une bibliothèque de liaisons dynamiques, c'est-à-dire pour un système utilisant le système d'exploitation Windows, "Windows" étant une marque commerciale de la Microsoft Corporation. Lorsqu'une telle unité enfichable qui contient une bibliothèque de liaisons dynamiques est ensuite chargée, le programme inclus devient exécutable par le système d'exploitation. Mais l'art antérieur ne possède aucune unité enfichable qui interviendrait sur de nombreux types de dispositifs périphériques, à moins que tous ne soient configurés au moyen d'interfaces spécialisées et de logiciels concordants.
Ainsi qu'il ressortira de ce qui suit, l'invention incorpore un objet de Visualisation qui intervient de préférence sous forme d'une unité enfichable, et qui est apte à être en interface avec une entité gérée quelconque qui inclut une interface de gestion requise par l'objet de Visualisation. II faut comprendre que l'invention peut aussi être configurée d'une manière telle que l'objet de Visualisation est incorporé dans une application, au lieu d'être configuré comme unité enfichable.
Un objet de Visualisation permet à un utilisateur de visualiser, au moyen d'un affichage, diverses caractéristiques visualisables d'un ou plusieurs dispositifs périphériques, tant que les dispositifs périphériques incluent une interface de gestion qui fournit une information souhaitée ou sont associés à une telle interface. En supposant qu'une prise en charge de l'interface de gestion requise est présente sur un dispositif périphérique, l'exécution de l'objet de Visualisation amène l'interface de gestion du dispositif périphérique à exécuter et à mettre en oeuvre un ou plusieurs procédés qui y sont incorporés. Le résultat de cette exécution est qu'une information qui concerne le dispositif périphérique est renvoyée à l'objet de Visualisation contenu dans l'application d'origine pour être visualisée par l'utilisateur. Avant de décrire l'exemple du fonctionnement d'un objet de Visualisation, les diverses structures de logiciels qui permettent de mettre en oeuvre l'Opération seront décrites.
ENTITÉS <U>GÉRÉES</U> <U>DÉFINITION</U> Une entité gérée est un objet qui représente un élément reconnais sable par l'utilisateur dans le domaine des problèmes de gestion de périphériques. Une entité gérée met en oeuvre une collection d'une ou plusieurs interfaces de gestion ou MI. Une interface de gestion est un ensemble d'une ou plusieurs fonctions utilisées pour interagir avec une entité gérée, ou pour identifier une telle entité.
Un utilisateur responsable de la gestion d'imprimantes reconnaît l'existence d'imprimantes, de serveurs d'impression et de clients d'impression. En présence' ou en l'absence d'un logiciel de gestion de système périphérique, l'utilisateur interagit avec chacun de ces éléments afin de résoudre des problèmes. Ce même utilisateur n'est probablement pas informé des détails d'architecture d'un gestionnaire d'impression. Pour cet utilisateur, l'existence d'un dispositif de surveillance de ports ou d'un processeur d'impression est très probablement sans intérêt. Pour résoudre des problèmes, l'utilisateur ne tient compte que des éléments qui lui sont familiers. Ces éléments familiers et facilement reconnus sont l'unité de base de gestion que des utilisateurs s'attendent à trouver dans un logiciel de gestion de systèmes périphériques. Les objets qui représentent ces unités de base de gestion sont appelés des entités gérées.
Chacune de ces unités de base de gestion est divisée en éléments additionnels. Par exemple, un serveur d'imprimante est constitué d'un gestionnaire d'impression qui est constitué lui-même d'autres éléments, comme des pilotes, des dispositifs de surveillance de ports et des processeurs d'impression. Bien qu'il puisse être nécessaire que chacun de ces éléments soit géré, ils sont typiquement gérés dans le contexte de la gestion du serveur d'imprimante. C'est par une interaction avec le serveur d'imprimante qu'un utilisateur fait passer à un niveau supérieur le pilote d'un serveur particulier d'impression.
La collection d'interfaces de gestion fournies par une entité gérée est extensible. Une imprimante peut par exemple mettre en oeuvre une interface pour gérer des particularités de l'imprimante (c'est-à-dire ajouter, enlever), même si cette interface n'a pas été précédemment conçue dans le logiciel de gestion de systèmes périphériques. Afin d'utiliser une interface, des objets d'Opération et de Visualisation (décrits ci-dessous) sont mis en oeuvre.
La collection d'interfaces de gestion fournie par une entité gérée est de plus dynamique. La collection d'interfaces de gestion peut être modifiée en cours de fonctionnement. Au fur et à mesure que des ressources disponibles pour une entité gérée varient, les interfaces de gestion fournies par cette entité gérée peuvent varier. Par exemple, une imprimante peut comporter ou non un disque dur. Puisque la présence d'un disque dur détermine s'il est ou non possible de gérer des polices de mémoire de masse, l'interface de gestion qui concerne la gestion de polices de mémoire de masse n'est pas mise en oeuvre si aucun disque dur n'est disponible.
Des interfaces de gestion (et les fonctions qu'elles comprennent), prises en charge par une entité gérée précise, peuvent être interrogées en cours de fonctionnement. II n'est pas nécessaire qu'une application qui interroge les interfaces de gestion sache comment les utiliser. L'application peut simplement, en substitution, garder un suivi des interfaces de gestion que chaque entité gérée met en oeuvre et utiliser cette information pour mettre en concordance des interfaces de gestion avec des composants pour lesquels ces interfaces sont intelligibles. Par exemple, une application qui ne sait rien de l'interface de gestion utilisée pour gérer des polices pourrait mettre en concordance une Opération qui exige l'interface de gestion de polices avec des entités gérées qui mettent en oeuvre cette interface.
<U>INTERFACE DE</U> GESTION Normalement un objet possède une interface statique unique. Mais, ne posséder qu'un seul moyen d'interface signifie que l'interface doit être révisée chaque fois que les capacités de l'objet sont modifiées. L'existence de multiples révisions sur la même interface conduit à des confusions. Ceci est évité selon l'invention en assurant qu'une entité gérée à interfaces multiples est représentée par un ou plusieurs objets, appelés chacun une interface de gestion ou MI. Une interface de gestion comprend un ou plusieurs procédés pour intervenir en interface avec une capacité spécifique de l'entité gérée. Par conséquent, d'autres objets individuels peuvent réutiliser ces interfaces de gestion. En outre, ces interfaces de gestion peuvent être mise en oeuvre et arrêtées en cours de fonctionnement - sans recompilation.
La granularité des interfaces de gestion est une décision de conception qui n'affecte par leur utilité. L'interface de gestion peut inclure un vaste ensemble de fonctions non liées ou un petit ensemble de fonctions étroitement liées. II est par exemple possible de définir une interface de gestion appelée NewLaserJet, littéralement nouvelle Laserjet qui inclut des fonctions pour des particularités qui se trouvent dans toutes les nouvelles imprimantes LaserJet (LaserJet est une marque commerciale de la Hewlett Packard Company). Le même ensemble de fonctions peut aussi être placé dans plusieurs interfaces de gestion liées à des particularités spécifiques telles que "ChangeOnlineState" et "PrintTestPage", littéralement "Modifier état en ligne" et "Imprimer page de test". II est possible aussi de prendre en charge des interfaces à granularité tant plus fine que plus grossière en utilisant un héritage multiple pour composer des interfaces grossières à partir de plusieurs interfaces fines. Utiliser des interfaces à grains grossiers exige moins de code, mais des interfaces à grains fins sont typiquement plus facilement intelligibles et permettent une extensibilité plus grande.
La Figure 1 illustre un objet typique d'entité gérée ainsi que des références à des interfaces de gestion qui permettent de restituer une information de particularités du dispositif qui joue le rôle représenté par l'entité gérée. Chaque interface de gestion contient une ou plusieurs fonctions dont certaines peuvent permettre de restituer une information provenant du dispositif et d'autres peuvent permettre au dispositif associé d'exercer une fonction. Il faut rappeler de nouveau que l'entité gérée correspond à un rôle joué par un dispositif, et non nécessairement au dispo sitif dans son ensemble - à moins que le dispositif ne joue qu'un seul rôle.
Le schéma d'héritage de la Figure 2 est un schéma de langage de modélisation unifié qui représente la manière dont des interfaces de gestion sont liées à des entités gérées. Les flèches qui connectent la case d'entité gérée aux cases d'interface de gestion et de, ManagementInterfaceProvider, littéralement fournisseur d'interface de gestion, désignent l'héritage. Plus spécifiquement, l'héritage dicte que l'objet d'entité gérée met en application, lorsqu'un programme est compilé, tous les procédés des inter faces héritées. Des objets d'entités gérées, d'une part, sont des fournisseurs d'interfaces de gestion et, d'autre part, sont eux-mêmes des interfaces de gestion.
L'objet Managmeent Interface Provider représenté à la Figure 2 inclut trois fonctions qui sont utilisées par le logiciel de gestion de systèmes périphériques. La fonction "Has Management Interface()", c'est-à-dire "Possède une interface de gestion ()", détermine si une entité gérée peut renvoyer un pointeur à une interface de gestion spécifiée. La fonction "Get Management InterfaceQ", littéralement "Obtenir interface de gestion () ", renvoie une interface de gestion à utiliser pour restituer une information concernant une entité de gestion associée ou pour amener l'entité gérée à exercer une certaine fonction. La fonction "Get Management Interface ListQ", littéralement "Obtenir liste d'interfaces de gestion ()" renvoie une liste d'interfaces de gestion associées.
La Figure 3 élabore les différents types d'entités gérées: Périphériques, Serveurs de Périphériques, et Périphériques Clients, qui sont dérivés de PrintPathManagedEntity, littéralement "Entité gérée de trajet d'impression" pour identifier leur relation commune qui consiste à faire partie du trajet d'impression. La Figure 3 ne doit pas être considérée comme complète. II est possible que d'autres types d'entités gérées existent. Par exemple, une imprimante peut comporter un plateau de sortie qui est un matériel supplémentaire de tierce partie qui plie des pages et les introduit dans les enveloppes. Un tel dispositif peut être une entité gérée qui est différente de l'entité gérée qui représente l'imprimante.
Des interfaces de gestion peuvent être dérivées d'autres interfaces de gestion. Lorsqu'une interface de gestion dérivée est prise en charge par une entité gérée, cette entité gérée devrait prendre en charge les interfaces de gestion parentes de cette interface de gestion dérivée. Puisque la plupart des technologies de composants prennent en charge un héritage d'interface, agencer des interfaces de parents est habituellement facile.
La Figure 4 donne un exemple de la manière dont des exemples de classes d'entités gérées sont dérivées. La Figure 4 contient deux interfaces de gestion qui ne sont pas aussi des entités gérées: ChangeOnlineState et PrintTestPage, déjà citées plus haut. II n'est pas nécessaire que Laser3et2000 et Laser3et2001 soient définies comme des entités gérées spéciales. Elles peuvent être simplement définies comme des entités gérées d'imprimantes et fournir toutes autres interfaces de gestion qui sont prises en charge.
<U>EMPLACEMENT D'ENTITÉS GÉRÉES</U> Un objet d'entité gérée peut être disposé dans l'un de trois emplacements: # il peut être incorporé à l'intérieur de la machine qu'il représente, comme décrit dans l'exemple qui suit; # il peut être placé dans une machine connectée directement à la machine qu'il représente; # il peut être placé à l'intérieur d'une machine serveuse de gestion. L'avantage principal de l'incorporation d'objets d'entités gérées est l'élimination de la dépendance vis-à-vis de protocoles existants. Si un objet d'entité gérée est incorporé dans le dispositif, il peut interagir avec ce dispositif d'une manière spécifique au dispositif. Puisqu'il n'est pas pratique de mettre au niveau technique tous les périphériques existants au moyen d'objets d'entités gérées incorporées, des objets d'entités gérées peuvent être placés sur une machine serveuse de gestion et peuvent communiquer en utilisant des protocoles existants. C'est là l'avantage principal de placer des objets à l'intérieur d'une machine serveuse de gestion. L'avantage principal de placer des entités gérées sur des machines connectées directe ment est de remédier à des situations dans lesquelles un périphérique n'est pas connecté à un réseau. Puisqu'une technologie de composants répartis exige une possibilité de connexion de réseau, une entité gérée sur une machine connectée directement doit intervenir comme mandataire pour un dispositif connecté directement, inaccessible par réseau.
L'emplacement d'une entité gérée peut varier dans le temps. Considérons un périphérique à entité gérée incorporée qui n'a pas été configuré pour posséder une adresse de protocole d'Internet, ou d'IP. En l'absence d'adresse de protocole d'Internet, ou de toute autre prise en charge de protocole de réseau, il n'est pas possible de communiquer avec l'entité gérée incorporée. Pour s'adapter à cette situation, il est possible de créer une entité gérée mandataire sur la machine serveuse de gestion. Cette entité gérée mandataire ne prend pas en charge toutes les interfaces fournies par l'entité gérée incorporée mais prend en charge l'interface qui permet à l'adresse de protocole d'Internet d'être établie. Lorsque l'adresse de protocole d'Internet a été établie, l'entité gérée incorporée se substitue à l'entité gérée mandataire placée sur la machine serveuse de gestion. Les abstractions Database et Explorer, littéralement Base de données et Explorateur qui sont décrites ci-dessous, sont responsables de la création et du remplacement d'entités gérées. <U>EXPLORATEURS</U> DÉFINITION Un explorateur est un objet qui découvre des dispositifs correspondant à des entités gérées, crée des entités gérées correspondant à ces dispositifs si nécessaire, et envoie des références d'entités gérées à une Base de données utilisée pour en garder un suivi. Des explorateurs possèdent un état et peuvent être configurés.
Des interventions et des visualisations, décrites ci-dessous, n'inter- agissent pas directement avec des dispositifs. En substitution, elles inter- agissent avec un autre objet, par exemple une entité gérée. Ceci évite à l'objet de devoir connaître des éléments spécifiques quant à la manière de communiquer avec un dispositif particulier, puisque les diverses mises en application de l'abstraction d'entités gérées incorporent cette connaissance. Les entités gérées sont, soit incorporées dans le dispositif qu'elles représentent, soit placées sur une autre machine, c'est-à-dire des mandataires. C'est lors de l'amorçage du dispositif dans lequel elles résident, et qu'elles représentent, que des entités gérées incorporées sont concrétisées. Des entités gérées non incorporées n'existent pas tant que le dispositif qu'elles représentent n'a pas été découvert. Lorsque ceci se produit, le type approprié d'entités gérées est concrétisé. Le type approprié est déterminé en interrogeant le dispositif pendant la découverte.
Des explorateurs différents sont agencés pour découvrir des entités gérées différentes, c'est-à-dire un explorateur pour des entités gérées qui jouent un rôle d'imprimante, un explorateur pour des entités gérées qui jouent un rôle de scanner, etc. Le rôle des explorateurs est simplement de découvrir des dispositifs, de créer des entités gérées si nécessaire et de transmettre l'entité gérée à une abstraction de Base de données, décrite ci- dessous. II existe plusieurs centaines de dispositifs qui correspondent à des entités gérées, et de nouveaux dispositifs sont ajoutés chaque année. Pour tenir compte de ceci, un Explorateur peut utiliser une table qui applique des types de dispositifs à une procédure de création d'entités gérées afin de déterminer comment créer une entité gérée qui correspond à un type de dispositif distinct. Puisque des entités gérées incorporent le mécanisme de communication, différents types d'entités gérées peuvent être créés selon la manière dont un type distinct de dispositif est connecté. Par exemple, une imprimante laser à connexion directe peut être représentée par un type d'entité gérée différent de celui d'une imprimante laser connectée par l'intermédiaire d'un réseau. Puisque les types d'explorateurs utilisés pour découvrir les dispositifs à connexion directe et pour découvrir des dispositifs en réseau sont différents, l'Explorateur utilise une procédure différente de création d'entités gérées pour construire l'entité gérée.
Bien que l'exposé ci-dessus ait décrit un procédé spécifique de concrétisation d'entités gérées, il est important de noter que les procédés précédents ne constituent qu'un exemple de la manière dont des entités gérées peuvent être concrétisées. Chaque Explorateur est libre de mettre en application son propre mécanisme de concrétisation d'entités gérées. En fait, lorsqu'il découvre des entités gérées préexistantes, incorporées par exemple à l'intérieur du dispositif, un Explorateur ne concrétise aucune entité gérée, puisqu'elles ont déjà été concrétisées lorsque le dispositif a été amorcé.
<U>EXEMPLES</U> D'EXPLORATEURS: LocalIPSubnet Explorer, ou Explorateur de sous-réseau local de protocole d'Internet Les dispositifs les plus préoccupants sons souvent les dispositifs placés sur un sous-réseau local. Ces dispositifs peuvent être découverts par un programme d'administration de réseau, mais c'est une entité gérée du type approprié qui est créée, et non des enregistrements pour la base de données du programme.
DirectConnect Explorer, ou Explorateur de connexion directe II est possible de créer un Explorateur qui examine tous les ports locaux quant à des dispositifs à connexion directe et qui crée, sur la base des résultats de ses examens, le type approprié d'entités gérées pour qu'elles soient mandataires pour des dispositifs à connexion directe.
Server Explorer ou Explorateur de serveur II est possible de créer un Explorateur qui "découvre" les entités gérées à partir d'un serveur. Un tel Explorateur est utilisé dans des environnements dans lesquels existe déjà un serveur qui exécute une découverte de façon routinière. Ceci peut être utilisé pour réduire une circulation de réseau ou augmenter une performance.
Managed Entity Explorers, ou Explorateurs d'entités gérées II n'est pas approprié de découvrir chaque entité gérée sur un réseau. De nombreuses entités gérées seront des mandataires placées sur le serveur de gestion et seront prévues pour n'être utilisées que pour l'application de gestion sur ce serveur de gestion. En revanche, d'autres peuvent être incorporées à l'intérieur d'un périphérique, afin que ces entités gérées soient utilisées par un logiciel de gestion de périphérique éloigné. Un logiciel de gestion de systèmes périphériques peut découvrir les entités gérées qu'il est approprié de découvrir, sans découvrir des entités gérées qu'il n'est pas approprié de découvrir, en utilisant un service de désignation déjà existant, par exemple un service de désignation CORBA, selon les initiales du terme anglo-saxon Common object request broker architecture, c'est-à-dire architecture de courtier de demande d'objet commun. Puisque des entités gérées savent elles-mêmes s'il y a lieu ou non d'y accéder de l'extérieur, elles peuvent s'enregistrer au service de désignation, ce qui leur permet d'être localisées à distance. Cette solution peut exiger qu'un service unique de désignation soit établi sur le réseau. Une autre solution consiste à découvrir des dispositifs en utilisant un autre protocole, par exemple le Simple Network management Protocol, littéralement Protocole de gestion de réseau simple ou SNMP, et à utiliser un attribut du protocole pour identifier l'entité gérée incorporée du dispositif. Bien que chaque protocole sous- jacent exige un Explorateur différent pour aider à la découverte d'entités gérées incorporées, ceci permettrait d'éviter d'agencer un service de désignation.
OPÉRATIONS DÉFINITION Une Opération est un objet qui opère sur une collection d'entités gérées en utilisant des interfaces de gestion. Chaque entité gérée de la collection sur laquelle une Opération est effectuée doit prendre en charge les interfaces de gestion exigées par l'Opération. Des Opérations possèdent un état et doivent être configurées. Au fur et à mesure que de nouvelles interfaces de gestion sont définies, il est possible de définir de nouvelles Opérations qui utilisent ces interfaces de gestion. Les applications de gestion de systèmes périphériques peuvent prendre en charge simplement des Opérations en général, sans connaissance spécifique d'une Opération distincte. Une Opération exige, des entités gérées sur laquelle elle opère, certaines interfaces de gestion. Une Opération peut exiger plus d'une interface de gestion mais elle en exige au moins une.
Selon l'Opération, l'ordre des entités gérées d'une collection peut être ou non significatif. Par exemple, l'ordre est significatif pour une Opération qui est utilisée pour assigner des adresses de protocole d'Internet à une collection d'entités gérées. Mais l'ordre est sans importance pour une Opération utilisée pour amener des microprogrammes à niveau.
Des Opérations peuvent être ou non configurables, selon l'Opération. Une Opération qui modifie simplement l'état pour qu'il devienne en ligne n'exige aucune configuration. Pour des Opérations qui sont configurables, un petit programme inséré, ou applet, qui sait comment configurer ce type d'Opérations est prévu. Un petit programme inséré est responsable de fournir une interface d'utilisateur qui permet qu'un état soit modifié. Un tel petit programme inséré est exécuté sur la machine client de gestion et configure l'Opération en appelant des procédés. Selon une application préférée, le petit programme inséré est écrit en Java.
<U>EXEMPLES</U> OPÉRATION <U>EN LIGNE</U> II faut rappeler que l'interface de gestion ChangeOnlineState déjà citée est représentée dans le schéma hiérarchique de classe de la Figure 4. Cette interface de gestion permet de modifier l'état en ligne d'une entité gérée qui prend en charge cette interface de gestion. Une Opération qui utilise l'interface de gestion ChangeOnlineState est construite pour assurer que l'état en ligne est en ligne. L'Opération en ligne est utilisable pour construire une application de gestion qui restaure périodiquement à l'état en ligne toutes les imprimantes.
InstallFont Opération, ou Opération installer polices Considérons l'interface suivante utilisée pour gérer des polices dites true type: L'Opération est décrite en langage informatique par: interface TrueTypeFontManagement: ManagementInterface voici Add( Font f); voici FontList List(); voici Remove (FontListElement f); où TrueTypeFontManagement signifie Gestion de polices Truetype; ManagementInterface: Interface de gestion; voici: vide; Add: ajouter; Font: police; FontList: liste de polices; List: liste; remove: enlever; FontListElement: élément de liste de police.
Considérons maintenant une application de gestion de systèmes périphériques qui installent des polices sur des machines d'utilisateurs finaux, par exemple des ordinateurs personnels, et sur des imprimantes. Une telle application peut être construite en utilisant une Opération qui installe une police sur une machine qui prend en charge l'interface TrueTypeFontManagement. Le rôle de l'application est simplement d'identifier toutes les entités gérées qui prennent en charge l'interface TrueTypeFontManagement, de configurer l'Opération InstaIIFont au moyen du fichier de polices souhaité et d'appeler l'Opération sur les entités gérées identifiées précédemment.
AssignSequentialNetworkAddresses Opération, ou Opération Assigner adresses séquentielles de réseau Lors qu'un réseau physique est modifié en passant d'un sous-réseau à un autre, il faut numéroter de nouveau tous les dispositifs du réseau physique. Des programmes d'administration de réseau prennent en charge des mécanismes pour réassigner des adresses de réseau en séquence à tous les dispositifs du réseau physique, qui sont gérés par ces applications. Ceci peut être réalisé en utilisant une Opération. Cette Opération est configurée avec une plage d'adresses de réseau. Les périphériques à numéroter de nouveau sont ensuite sélectionnés par l'application, avec ou sans intervention de l'utilisateur selon l'application. Puis, l'Opération AssignSequentialNetworkAddresses est finalement appelée sur la collection précédemment sélectionnée d'entités gérées de périphérique.
<U>BASSES DE DONNÉES</U> <U>DÉFINITION</U> Une base de données est un objet qui accepte des entités gérées, traite des duplications, et mémorise des entités gérées pour qu'elles soient disponibles ultérieurement. Une base de données peut également être vidée d'une entité gérée distincte ou de toutes les entités gérées.
L'abstraction de base de données permet à d'autres abstractions architecturales, comme des Explorateurs, d'interagir avec de nombreux types de base de données sans connaître le type spécifique de Base de données. Une application qui connaît le type spécifique de base de données en cours d'utilisation est encore libre d'utiliser la fonctionnalité totale de tout système sous-jacent de gestion de base de données qui est utilisé. Le but de l'abstraction de Base de données est d'agencer un objet avec lequel les Explorateurs peuvent interagir et qui permet une communication avec le mécanisme de mémorisation de l'application.
<U>EXEMPLES</U> <U>BASE DE DONNÉES Â BASE DE FICHIER</U> Pour certaines applications, il peut être acceptable de disposer simplement d'un fichier qui contient une liste des entités gérées. Une base de données à base de fichiers peut être créée en mettant en application l'interface spécifiée pour l'abstraction de base de données (Add, remove0ne, removeAll, littéralement: ajouter, enlever un, enlever tous), de façon qu'une information liée aux entités gérées soit enregistrée dans un fichier. Lorsqu'une entité gérée est ajoutée à la base de données, il est possible d'ajouter au fichier une ligne qui contient l'information requise par l'application ainsi qu'une information requise pour identifier spécialement l'entité gérée, pour prendre en charge l'abstraction remove0ne et de traiter des duplications.
<U>BASE DE DONNÉES ORIENTÉE OBJET</U> Pour certaines applications, la flexibilité qui est offerte par une base de données orientée objet peut être intéressante. Une telle base de données peut être mise en application de manière semblable à celle qui est mise en application pour une base de données à base de fichier, mais en addition à une Base de données orientée objet.
<U>BASE DE DONNÉES</U> RELATIONNELLE Pour des applications qui exigent une mise en oeuvre d'une base de données, il peut être intéressant d'utiliser une base de données relationnelle. Une telle base de données peut être mise en application comme celle qui est mise en application pour une base de données à base de fichier, mais en addition à d'une base de données relationnelle.
<U>VISUALISATIONS</U> <U>DÉFINITION</U> Une visualisation est un objet qui affiche une collection d'entités gérées qui utilisent des interfaces de gestion. Chaque entité gérée de la collection qui est affichée doit prendre en charge les interfaces de gestion requises par la Visualisation. Des Visualisations possèdent un état et peuvent être configurées.
Une Visualisation est très semblable à une Opération, sauf qu'aucune opération n'est effectuée sur les entités gérées fournies et qu'en revanche les entités gérées sont affichées. Une Visualisation peut être divisée en trois parties: état, configuration, et affichage. L'état garde un suivi de la configuration actuelle et n'inclut aucune interface d'utilisateur. La configuration est semblable à un petit programme inséré, ou applet, de configuration pour une Opération. Elle est responsable de présenter une interface d'utilisateur qui permette que l'état soit modifié. L'affichage est responsable d'afficher une collection d'entités gérées. L'ordre des entités gérées peut être important ou ne pas l'être selon la Visualisation. Certaines Visualisations peuvent ignorer l'ordre des entités gérées dans une collection et afficher simplement les trois entités gérées supérieures "intéressantes" et résumer le reste. D'autres peuvent afficher toutes les entités gérées dans l'ordre prévu dans la collection. II peut exister simultanément plus d'un exemple d'une Visualisation, à un état différent. <U>EXEMPLES</U> VISUALISATION <U>DE CONSOMMABLES</U> II est onéreux que le toper d'une imprimante soit épuisé. Puisque les utilisateurs ne sont souvent pas formés pour changer une cartouche de toper, ceci leur prend davantage de temps que si c'est un technicien qui remplace la cartouche. De plus, des utilisateurs non formés peuvent endommager accidentellement l'imprimante. Pour traiter ce problème, il est utile de disposer d'un moyen de déterminer dans quelles imprimantes le toper est presque épuisé afin que le toper puisse être remplacé avant d'être épuisé. On y parvient en utilisant une Visualisation. Une telle Visualisation affiche des imprimantes dans lesquelles le toper est inférieur à un certain seuil, ordonnées de la quantité de toper la plus basse à la plus haute. En modifiant le niveau de seuil bas de toper, l'utilisateur peut modifier le nombre d'imprimantes affichées. Si le seuil bas de toper est réglé à 100%, toutes les imprimantes sont affichées.
<U>VISUALISATION DE SCANNER</U> Cette Visualisation affiche des entités gérées d'un type spécifique. Une Visualisation peut être créée pour des imprimantes et montrerait le nombre maximal de pages par minute que l'imprimante peut imprimer. Une Visualisation de scanner peut inclure un champ qui indique si le scanner peut mettre en oeuvre des couleurs. Par conséquent, des Visualisations peuvent être créées pour prendre en charge des types spécifiques d'entités gérées et afficher des champs appropriés pour ce type.
<U>VISUALISATION D'UNE</U> CARTE Il est possible de créer une Visualisation dont la configuration inclut une carte et qui affiche des entités gérées en fonction de leur emplacement sur la carte. L'emplacement d'entités gérées est dérivé d'un fichier d'emplacements qui inclut l'état de la Visualisation de carte. Puisque des Visualisations possèdent un état, cet état peut être utilisé pour mémoriser une information qui résulte d'interactions entre les utilisateurs et la Visualisation.
CONFIGURATION <U>DE SYSTÈME</U> En se référant à la Figure 5, il y est illustré un système de mise en application de l'invention. L'ordinateur client 10 inclut une unité centrale de traitement ou CPU 12, un module d'interconnexion 14 de réseau et une mémoire 16 qui contient un objet 18 de gestion de systèmes périphériques. L'objet 18 de gestion de systèmes périphériques inclut le code nécessaire pour utiliser les divers objets qui ont été décrits ci-dessus afin de gérer plusieurs dispositifs périphériques qui sont accessibles par l'intermédiaire du réseau 20.
Chacun des dispositifs périphériques 22 et 24 inclut un objet 26 fournisseur d'interface de gestion qui permet lui-même d'accéder à l'élément 28 "has interface method", littéralement "possède un procédé d'interface", à l'élément 30 "list interface method", littéralement "lister procédé d'interface" et à l'élément 32 "get interface method", littéralement "obtenir le procédé d'interface". Chaque dispositif périphérique inclut en outre un ou plusieurs objets d'entités gérées incorporées qui permettent chacun une référence à une ou plusieurs interfaces de gestion qui permettent de restituer une information concernant un rôle de dispositif périphérique respectif. On rappelle ici que chaque interface de gestion est un objet qui inclut au moins une fonction dont l'exécution permet de restituer une information concernant un rôle joué par le dispositif périphérique.
On suppose dans ce qui suit que tous les objets sont déjà chargés en mémoire et sont prêts à être utilisés. Mais il est dans le cadre de l'invention que de fournir de tels objets sur un ou plusieurs dispositifs de mémorisation de données, par exemple un dispositif 29, dont le contenu peut être chargé dans la mémoire selon les besoins.
La mémoire 16 inclut en outre un ou plusieurs objets 34 d'Explorateurs qui contiennent chacun un procédé d'obtention de références à des objets d'entités gérées; des objets 36 de Visualisation qui permettent de visualiser une ou plusieurs entités gérées sélectionnées, leurs états et leurs configurations, comme décrit ci-dessus; des objets 38 d'Opérations qui opèrent sur une collection d'entités gérées en utilisant des interfaces de gestion, comme décrit aussi ci-dessus; et un objet 40 de base de données, comme décrit ci-dessus également. <U>EXEMPLE D'APPLICATION DE VISUALISATION: "VISUALISATION DE</U> <U>GESTION DE CONSOMMABLES"</U> Afin de mieux comprendre l'Opération de la procédure 18 de gestion de systèmes périphériques pendant l'exécution d'un objet de Visualisation, on se référera aux Figure s 6 à 8. II y est représenté un schéma logique du procédé de l'invention qui illustre une application qui est responsable de l'utilisation d'une "Visualisation de Gestion" pour surveiller des niveaux de consommables. Cette "Visualisation de Gestion" est appelée la "Visualisation de Gestion de Consommables". Dans cet exemple, une application de gestion de réseau, appelée dans ce qui suit "Administrateur", utilise la "Visualisation de Gestion de Consommables" pour permettre à l'utilisateur de surveiller l'état de consommables d'imprimantes sélectionnées.
La "Visualisation de Gestion de Consommables", ou VGC est un objet enfichable de visualisation qui est responsable de l'affichage de l'état de consommables d'une collection d'imprimantes. Dans ce contexte, le terme consommables désigne le tuner. Dans d'autres contextes, le terme consommables peut désigner du papier, de l'encre, ou même des éléments d'une imprimante à durée de vie déterminée. La VGC affiche des imprimantes dans lesquelles les niveaux de tuner sont bas. Par le terme de "bas" on désigne un paramètre définissable par l'utilisateur. Certains utilisateurs peuvent vouloir être informés lorsque le niveau de tuner est inférieur à la moitié de la capacité totale, tandis que d'autres peuvent vouloir être informés lorsque le niveau de toper est inférieur à un quart de la capacité totale. Pour cette raison, la VGC peut être configurée de manière à établir le niveau dit "bas" de toper.
Des imprimantes laser en couleurs incluent typiquement quatre types différents de toper: bleu-vert ou cyan, magenta, jaune et noir. Les imprimantes monochromes ne contiennent que du tuner noir. Dans cet exemple, on considère que le niveau de tuner est bas si l'un quelconque des niveaux de tuner est considéré comme bas. Pour des raisons de simplicité, aucune indication spéciale n'est donnée en ce qui concerne le typé de tuner dont le niveau est bas. La VGC indique simplement que le niveau de tuner de l'imprimante est bas. L'utilisateur peut choisir d'utiliser les capacités de la VGC au moyen d'une application spéciale écrite spécifiquement pour la gestion de consommables, ou l'utilisateur peut utiliser les capacités de cette VGC par l'intermédiaire d'une application générale, par exemple l'Administrateur.
Une "Visualisation de Gestion" implique une interface d'utilisateur, et une mise en application particulière de visualisation de gestion doit de ce fait être liée à un paradigme d'interface d'utilisateur, par exemple l'interface "Microsoft Windows", marque commerciale de la Microsoft Corporation. Des Visualisations de Gestion sont contenues à l'intérieur de bibliothèques de liaisons dynamiques ou DLL. Bien que des bibliothèques de liaisons dynamiques Windows soient utilisées pour cet exemple, des Visualisations de Gestion pourraient en variante être mises en application selon toute autre technologie d'interface d'utilisateur, par exemple Java au lieu de Windows.
Les étapes de l'exemple sont les suivantes: 1) L'Administrateur démarre (étape 50). Par l'un quelconque de divers mécanismes classiques, l'Administrateur découvre des imprimantes sur le réseau et obtient des "entités gérées", ou ME, qui représentent chacune d'elles. Pour des raisons de simplicité, on suppose que toutes les imprimantes du réseau contiennent des entités gérées incorporées. Les références aux entités gérées incorporées sont mémorisées dans une structure classique de données, par exemple une liste liée ou un réseau.
2) L'Administrateur parcourt un répertoire contenant des Visualisations. Ce répertoire peut être appelé : "C:\Administrator\Views", où Views désigne des Visualisations. L'Administrateur recherche des biblio thèques de liaisons dynamiques dans ce répertoire. L'Administrateur charge à l'étape 52 chaque bibliothèque de liaisons dynamiques, appelle un point d'entrée de bibliothèque de liaisons dynamiques appelé "GetMenuName", c'est-à-dire "Obtenir nom de menu", qui renvoie une chaîne d'affichage, puis décharge la bibliothèque de liaisons dynamiques. L'Administrateur crée une structure de données qui applique le nom de la bibliothèque de liaisons dynamiques au nom de la chaîne d'affichage. Cette structure de données peut être appelée une liste liée ou une@table. L'Administrateur utilise cette structure de données pour créer un menu d'interface graphique d'utilisateur, ou menu de GUI, selon les initiales du terme anglo-saxon Graphical User Interface. Chaque chaîne d'affichage est ajoutée comme élément du menu à un menu intitulé "Views". L'une des Visualisations de Gestion de cette liste est la "Visualisation de Gestion de Consommables".
3) L'utilisateur sélectionne à l'étape 54 "Visualisation de Gestion de Consommables". En réponse, l'Administrateur charge la bibliothèque de liaisons dynamiques qui correspond à "Visualisation de Gestion de Consommables" et appelle une fonction appelée "CreateManagement- View", c'est-à-dire "Créer Visualisation de gestion", exportée de la bibliothèque de liaisons dynamiques de Visualisation de gestion. Cette fonction crée un objet de Visualisation de gestion, c'est-à-dire une structure de données qui inclut des données et des pointeurs vers des procédés. Les éléments de données de l'objet de Visualisation de gestion sont déterminés par le type distinct de Visualisation de gestion. Dans ce cas, la "Visualisation de Gestion de Consommables" contient des éléments de données qui gardent un suivi de deux choses: le seuil bas de consommables et l'intervalle de rafraîchissement.
Le paramètre de seuil bas de consommables est le pourcentage de consommables qui détermine si le niveau de consommables est bas. Si le pourcentage de consommables restants devient inférieur à ce pourcentage, le niveau de consommables est considéré comme bas. Le paramètre d'intervalle de rafraîchissement concerne la fréquence à laquelle se produit une mise à jour, ou "rafraîchissement", des données. II est souhaitable de mettre à jour périodiquement la "Visualisation de Gestion".
Les pointeurs vers des procédés sont déterminés par le type d'objet. Dans ce cas, le type d'objet est "Visualisation de Gestion". Une "Visualisa tion de Gestion" possède un certain nombre de procédés: - void Configure (HANDLE hParentWindow), littéralement Configurer vide (pointeur hParentWindow) - Ce procédé accepte un pointeur vers une fenêtre parente et affiche un dialogue qui permet à l'utilisateur de configurer l'état interne de la "Visualisation de Gestion". Dans le cas de la "Visualisation de Gestion de Consommables", c'est une case de dialogue qui aff=iche lé paramètre de seuil bas de consommables et le paramètre d'intervalle de rafraîchissement qui est affichée. L'utilisateur peut modifier ces valeurs à volonté et peut ensuite choisir "OK" pour appliquer les modifications ou "Cancel", c'est-à-dire annuler, pour rejeter les modification et revenir à un état de valeurs antérieur à l'affichage de la case de dialogue.
- voici Display(HANDLE hParentWindow, ManageEntity *mes, unsigned intme count) littéralement Afficher vide, Pointeur hParentWindow, entité gérée *mes compte d'entité gérée non signé - Cette procédure affiche dans une fenêtre les entités gérées fournies.
- char **RequiredManagementInterfacesQ où char est un abrégé de character, c'est-à-dire caractère, et RequiredManagementInterfaces signifie Interfaces de gestion requises. Cette fonction envoie un réseau de chaînes qui indique les interfaces de gestion que cette Visualisation de gestion exige. La dernière chaîne du réseau est NULL, c'est-à-dire néant.
4) Après avoir chargé la bibliothèque de liaisons dynamiques et créé un objet "Visualisation de Gestion de Consommables", l'Administrateur appelle le procédé "Configure", c'est-à-dire configurer, pour permettre à l'utilisateur de modifier les réglages par défaut. L'objet est créé en étant pourvu de réglages raisonnables par défaut, par exemple un seuil bas de 30 % pour les consommables et un intervalle de rafraîchissement de 60 secondes.
5) Lorsque l'utilisateur a modifié la configuration de l'objet "Visualisation de Gestion de Consommables", l'étape suivante consiste à volonté à afficher la Visualisation. L'Administrateur appelle à cet effet "Required- ManagementInterfaces" à l'étape 56. Dans le cas de la "Visualisation de Gestion de Consommables", la seule interface de gestion nécessaire est "ManageConsumables", c'est-à-dire "Gérer consommables".
6) L'Administrateur appelle ensuite à l'étape 58 "HasManagement- Interface", littéralement "possède interface de gestion", sur chaque entité gérée afin de tester si l'entité gérée prend en charge "Gérer Consommables". L'entité gérée qui prend en charge cette interface de gestion est mémorisée pour référence ultérieure. 7) Puis, l'Administrateur appelle à l'étape 60 "Display", c'est-à-dire "affichage", sur l'objet "Visualisation de Gestion de Consommables", en lui envoyant un réseau d'entités gérées,.
8) Lorsque le procédé "Affichage" de l'objet "Visualisation de Gestion des Consommables" est appelé, la présence de l'interface de gestion "Gérer Consommables" est vérifiée, par le procédé d'affichage, et un pointeur pour l'interface de gestion "Gérer Consommables" de chaque entité gérée est mémorisé dans une structure de données comme une liste liée ou un réseau. L'interface de gestion "Gérer Consommables" est restituée à l'étape 62 en appelant "GetManagementInterface", c'est-à-dire "Obtenir Interface de Gestion" sur chaque entité gérée avec la chaîne "Gérer Consommables" comme argument. L'interface de gestion "Gérer Consommables" possède un procédé qui spécifie: GetConsumableLeveIPercentage() c'est-à-dire Obtenir pourcentage du niveau de consommables. Cette fonction envoie le pourcentage de consommables restants.
9) Puis, le procédé "Affichage" de l'objet "Visualisation de Gestion de Consommables" appelle à l'étape 64 le procédé "GetConsumable- LeveIPercentage", pour chaque entité gérée, afin de restituer le pourcentage de consommables, c'est-à-dire de toner ou d'encre, restants. Cette valeur est mémorisée de façon qu'une association puisse être effectuée entre l'entité gérée et cette valeur. Lorsque tous les pourcentages de consommables restants ont été restitués, une horloge de rafraîchissement est réglée à l'étape 66. Cette horloge de rafraîchissement est utilisée pour assurer que les paramètres sont rafraîchis périodiquement. La valeur de l'horloge doit être réglée à l'intervalle de rafraîchissement. Une horloge est une structure classique de données d'un système d'exploitation qui accepte une fonction, ou une structure de données de commande de simultanéité comme un sémaphore. Lorsque le temps de l'horloge est épuisé, le procédé est appelé, le sémaphore est signalé, ou une activité quelconque similaire est mise en oeuvre pour informer le programme, qui dans ce cas est la VGC, qu'un certain traitement lié à l'horloge doit être exécuté. 10) Chaque pourcentage est ensuite comparé à l'étape 68 au niveau bas de consommables, qui est lui aussi un pourcentage. Si la valeur est inférieure au seuil bas de pourcentage, elle est considérée comme basse. Ceci signifie qu'elle est affichée. Toutes les entités gérées dans lesquelles le niveau de consommables est bas sont mémorisées dans une structure séparée temporaire de données, par exemple une liste liée ou un réseau.
11) Puis les entités gérées de la mémoire temporaire de données sont affichées sur l'écran à l'étape 70. Une Fenêtre est crée pour les afficher sur l'écran, et c'est là la raison pour laquelle un pointeur à la fenêtre parente a été passé à l'affichage: ce pointeur est requis par Microsoft Windows pour créer une fenêtre. Chaque entité gérée de la liste est affichée, ainsi que le pourcentage de consommables restants. Ceci permet à l'utilisateur de remarquer rapidement des imprimantes dans lesquelles des consommables doivent être remplacés. À cet instant, la Visualisation renvoie la commande au système d'exploitation et sa fenêtre répond à des événements provenant du système d'exploitation, y compris l'événement d'horloge mentionné plus loin.
12) Le temps d'horloge est épuisé après un certain laps de temps, dont un suivi est gardé en utilisant l'horloge de rafraîchissement qui a été réglée dans une étape précédente. À cet instant, un procédé est appelé pour indiquer que le temps d'horloge est épuisé. En réponse, les étapes 60 à 72 sont répétées. Ceci continue indéfiniment jusqu'à ce que la Visualisation de gestion soit détruite sous l'effet d'une entrée d'utilisateur.
On peut comprendre de la description précédente que des Visualisations de Gestion permettent d'ajouter des capacités de gestions à des applications de gestion lorsque ces applications de gestion ont déjà été déployées. Ceci est important parce que les fabricants peuvent de ce fait étendre des applications de gestion, qui peuvent être crées par des organisations entièrement différentes. Des Visualisations de Gestion peuvent être partagées parmi plusieurs applications. Ceci permet aux capacités de gestion d'être utilisées dans des applications de gestion "verticales" spécifiques à 'un problème, ainsi qu'à des applications de gestion "horizontales" polyvalentes.
Des exemples d'autres capacité de Visualisation de gestion sont: 1) Utilisation d'une Visualisation de gestion pour sélectionner plusieurs entités gérées. Certaines Visualisations de gestion peuvent inclure une capacité qui permet une sélection d'entités gérées. Une fonction additionnelle exercée par l'objet de Visualisation de gestion permettrait, dans ces circonstances, d'intervenir comme hôte pour le programme afin d'obtenir une liste d'entités gérées qui sont sélectionnées. La valeur renvoyée indique le nombre des entités gérées sélectionnées et des pointeurs vers les entités gérées réelles.
2) Utiliser une Visualisation de gestion pour sélectionner une entité gérée unique pour une Opération "par défaut". Ceci est typiquement effectué dans Windows par un double déclic sur un élément. Ceci exige d'agencer un rappel. Une possibilité consiste à prévoir un procédé lors de la création de la Visualisation de gestion. Cette fonction serait ensuite appelée chaque fois que l'entité gérée unique est sélectionnée pour l'intervention "par défaut". Ceci est typiquement accompli par un double déclic sur la représentation visuelle de l'entité gérée.
II faut comprendre que la description qui précède ne sert qu'à illustrer l'invention. Diverses variantes et modifications peuvent être mises au point par l'homme de l'art sans s'écarter de l'invention. La présente invention doit donc être considérée comme incluant toutes les variantes, modifications et changements qui sont inclus à l'intérieur du cadre des revendications annexées.

Claims (10)

<U>REVENDICATIONS</U>
1. Procédé destiné à permettre à un utilisateur d'un ordinateur (10) de gestion de visualiser une information concernant des particularités de plusieurs unités gérées (22, 24) d'un système périphérique, dans lequel chaque unité gérée (22, 24) assure un ou plusieurs services pour un ou plusieurs ordinateurs clients, à chaque service est associée une interface (33) d'entité gérée, ou de ME, qui inclut une ou plusieurs références à une ou plusieurs interfaces de gestion, ou MI, (26), et chaque interface de gestion (26) comprend un ou plusieurs procédés (28, 30, 32) pour fournir une information concernant une ou plusieurs particularités dudit service associé à ladite entité gérée (33), caractérisé en ce qu'il comprend les étapes consistant à exécuter un objet de Visualisation (36), en réponse à la sélection, par l'utilisateur, dudit objet de Visualisation (33) dont la fonction est de provoquer un affichage d'information concernant un service exécuté par une ou plusieurs desdites unités gérées (22, 24), pour (i) déterminer celles des entités gérées (33) associées auxdites unités gérées (22, 24) qui fourniront ladite information concernant ledit service, en appelant une exécution d'un objet fournisseur (26) d'interface de gestion sur chaque unité gérée (22, 24) pour qu'il renvoie une réponse concernant une entité gérée associée (33) ; (ii) provoquer un affichage de ladite information pour chaque entité gérée (33) en faisant passer une liste d'entités gérées, qui ont été déterminées à l'étape (i) pour fournir cette information, à un autre objet dont la tâche est de récupérer cette information ; (iii) exécuter ledit autre objet pour provoquer l'exécution, dans une unité gérée (22, 24) associée à chacune desdites entités gérées de la liste, d'un objet d'interface (26) de gestion, ledit objet d'interface (26) de gestion récupérant ainsi ladite information et la renvoyant pour affichage audit utilisateur ; et (iv) afficher ladite information pour visualisation par l'utilisateur.
2. Procédé selon la revendication 1 caractérisé en ce que ledit objet de visualisation (36) est chargé comme unité enfichable sur une application en cours de fonctionnement, ce qui en permet dès lors l'exécution.
3. Procédé selon la revendication 1, caractérisé en ce que ledit objet d'interface (26) de gestion inclut - un procédé permettant de déterminer s'il existe un objet d'interface de gestion correspondant à une particularité demandée qui soit associée à une entité gérée ; - un procédé de restitution dudit objet d'interface de gestion associé ; et - un procédé de listage d'objets d'interfaces de gestion associés à une entité gérée.
4. Procédé selon la revendication 1, caractérisé en ce que chaque unité gérée (22, 24) qui inclut un service distinct manifeste ledit service au moyen d'une interface sensiblement identique d'entité gérée.
5. Procédé selon la revendication 4, caractérisé en ce que chaque unité gérée (22, 24) qui inclut une particularité distincte manifeste ladite particularité au moyen d'un objet sensiblement identique d'interface de gestion.
6. Dispositif pour permettre à un utilisateur d'un ordinateur (10) des gestion de visualiser une information concernant des particularités de plusieurs unités gérées (22, 24) d'un système périphérique, dans lequel chaque unité gérée (22, 24) assure un ou plusieurs services pour un ou plusieurs ordinateurs clients, à chaque service est associée une interface (33) d'entité gérée, ou de ME, qui inclut une ou plusieurs références à une ou plusieurs interfaces de gestion, ou MI, (26), et chaque interface de gestion (26) comprend un ou plusieurs procédés (28, 30, 32) pour fournir une information concernant une ou plusieurs particularités dudit service associé à ladite entité gérée (33), caractérisé en ce qu'il comprend a) un moyen (29) pour répondre à une sélection, par l'utilisateur, d'un objet (36) de Visualisation dont la fonction est de provoquer un affichage d'information concernant un service exécuté par une ou plusieurs desdites unités gérées (22, 24) afin d'exécuter ledit objet de Visualisation (36), ledit objet de Visualisation (36) comprenant (i) un moyen (29) apte à déterminer celles des entités gérées (33) associées auxdites unités gérées (22, 24) qui fourniront ladite information concernant ledit service, en appelant une exécution d'un objet fournisseur (26) d'interface de gestion sur chaque unité gérée (22, 24) pour qu'il renvoie une réponse concernant une entité gérée associée (33) ; (ii) un moyen (29) apte à provoquer un affichage de ladite information pour chaque entité gérée (33) en faisant passer une liste d'entités gérées, qui ont été déterminées à l'étape (i) pour fournir cette information, à un autre objet dont la tâche est de récupérer cette information ; (iii) un moyen (29) apte à exécuter ledit autre objet pour provoquer l'exécution, dans une unité gérée (22, 24) associée à chacune desdites entités gérées de la liste, d'un objet d'interface (26) de gestion, ledit objet d'interface (26) de gestion récupérant ainsi ladite information et la renvoyant pour affichage audit utilisateur.
7. Dispositif selon la revendication 6, caractérisé en ce que ledit moyen a) commande ladite application pour charger ledit objet (36) de Visualisation comme unité enfichable à partir d'une bibliothèque de liaisons dynamiques.
8. Dispositif selon la revendication 6, caractérisé en ce que ledit objet d'interface (26) de gestion inclut : un moyen destiné à commander ledit processeur de manière à déterminer s'il existe un objet d'interface de gestion correspondant à une particularité demandée qui soit associé à une entité gérée ; un moyen destiné à commander ledit processeur de manière à restituer ledit objet d'interface de gestion associé ; et un moyen destiné à commander ledit processeur de manière à lister des objets d'interfaces de gestion associés à une entité gérée.
9. Dispositif selon la revendication 6, caractérisé en ce que chaque unité gérée (22, 24) qui inclut un service distinct manifeste ledit service au moyen d'une interface sensiblement identique d'entité gérée.
10. Dispositif selon la revendication 9, caractérisé en ce que chaque unité gérée (22, 24) qui inclut une particularité distincte manifeste ladite particularité au moyen d'un objet sensiblement identique d'interface de gestion.
FR0005495A 1999-07-09 2000-04-28 Systeme et procede de gestion de systemes peripheriques qui utilisent des interfaces d'objets de visualisation pour la commande Pending FR2796179A1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US35051299A 1999-07-09 1999-07-09

Publications (1)

Publication Number Publication Date
FR2796179A1 true FR2796179A1 (fr) 2001-01-12

Family

ID=23377046

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0005495A Pending FR2796179A1 (fr) 1999-07-09 2000-04-28 Systeme et procede de gestion de systemes peripheriques qui utilisent des interfaces d'objets de visualisation pour la commande

Country Status (2)

Country Link
JP (1) JP2001051933A (fr)
FR (1) FR2796179A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5463775A (en) * 1991-06-10 1995-10-31 International Business Machines Corporation System and method for performing monitoring of resources in a data processing system in real time
US5471617A (en) * 1991-06-24 1995-11-28 Compaq Computer Corporation Computer management system and associated management information base
EP0745929A1 (fr) * 1995-05-30 1996-12-04 Canon Kabushiki Kaisha Interface utilisateur graphique adaptatif pour un périphérique de réseaux
US5796951A (en) * 1995-12-22 1998-08-18 Intel Corporation System for displaying information relating to a computer network including association devices with tasks performable on those devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5463775A (en) * 1991-06-10 1995-10-31 International Business Machines Corporation System and method for performing monitoring of resources in a data processing system in real time
US5471617A (en) * 1991-06-24 1995-11-28 Compaq Computer Corporation Computer management system and associated management information base
EP0745929A1 (fr) * 1995-05-30 1996-12-04 Canon Kabushiki Kaisha Interface utilisateur graphique adaptatif pour un périphérique de réseaux
US5796951A (en) * 1995-12-22 1998-08-18 Intel Corporation System for displaying information relating to a computer network including association devices with tasks performable on those devices

Also Published As

Publication number Publication date
JP2001051933A (ja) 2001-02-23

Similar Documents

Publication Publication Date Title
US20200341598A1 (en) Graphical user interfaces for software asset management
US8473325B2 (en) System and method for automatic configuration and management of home network devices using a hierarchical index model
US11249710B2 (en) Technology add-on control console
GB2355320A (en) Computer peripheral system management using objects
US7568165B2 (en) Sidebar engine, object model and schema
JP5207735B2 (ja) プロセスコントロールデータにアクセスするための方法および装置
US9164749B2 (en) Differential software provisioning on virtual machines having different configurations
US7103650B1 (en) Client computer configuration based on server computer update
US6466972B1 (en) Server based configuration of network computers via machine classes
US20180121035A1 (en) Display management for data visualizations of analytics data
US7584278B2 (en) Method and system for task based management of multiple network resources
KR100887182B1 (ko) 데이터 처리 시스템, 객체의 통합 다차원 뷰 관리 방법 및 컴퓨터-판독가능 매체
US8082548B2 (en) System and method for performing systems management on IT-resources using web services
US20030184584A1 (en) User interface framework for integrating user interface elements of independent software components
US20030195951A1 (en) Method and system to dynamically detect, download and install drivers from an online service
US20040205179A1 (en) Integrating design, deployment, and management phases for systems
US20080313632A1 (en) Methods, devices, and products for providing access to system-administration functions of a computer or related resources
US20130117676A1 (en) Visually analyzing, clustering, transforming and consolidating real and virtual machine images in a computing environment
KR20120104267A (ko) 사용자 인터페이스 요소 지정
JPH09507318A (ja) オブジェクト指向システムにおけるサービスの作成
WO2004077271A2 (fr) Systeme et procede de visualisation de carte arborescente pour des donnees de performance de base de donnees
WO2004086185A2 (fr) Deploiement de composants informatiques base sur des regles
EP3591542A1 (fr) Gestion de ressources pour des objets à l&#39;intérieur d&#39;une application web
US8214485B2 (en) Using SNMP as an RPC mechanism for exporting the data structures of a remote library
WO2013122769A1 (fr) Découverte et gestion de sous-dispositif