WO2001025960A1 - Method for searching a node in a containment tree of a system managing machines - Google Patents

Method for searching a node in a containment tree of a system managing machines Download PDF

Info

Publication number
WO2001025960A1
WO2001025960A1 PCT/FR2000/002724 FR0002724W WO0125960A1 WO 2001025960 A1 WO2001025960 A1 WO 2001025960A1 FR 0002724 W FR0002724 W FR 0002724W WO 0125960 A1 WO0125960 A1 WO 0125960A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
tree
search
level
list
Prior art date
Application number
PCT/FR2000/002724
Other languages
French (fr)
Inventor
Michel Riou
Original Assignee
Evidian
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 Evidian filed Critical Evidian
Publication of WO2001025960A1 publication Critical patent/WO2001025960A1/en

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/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • 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]
    • 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/04Network management architectures or arrangements
    • H04L41/044Network management architectures or arrangements comprising hierarchical management structures
    • 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/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor

Definitions

  • the solution relates to a process for finding at least one node in a capacity tree of a machine management system of a computer system.
  • the solution applies to any search for nodes in a tree structure comprising nodes with properties (attributes, ).
  • the computer system comprises at least one management system and at least one machine connected to this management system.
  • An OpenMaster type machine management system (trademark registered by the company BULL S.A.), known to those skilled in the art, is particularly well suited for implementing the present solution.
  • management is used to conform to the translation of "Management" from the French Agency for Standardization (Afnor).
  • This management system can be likened to a set of services which interact with each other to give a virtual representation of the real world which is the computer system. It is a virtual representation that an administrator manipulates (surveillance, action) to manage the real world.
  • the virtual representation relates to objects of the real world and constitutes an object model.
  • This virtual representation is "materialized" through a capacity tree.
  • the term containment tree is used to conform to the translation of MIB (Management Information Base).
  • the containment tree is object oriented.
  • the capacity tree used in an OpenMaster type management system is software conforming to the CMIP protocol.
  • This tree includes in its nodes all the objects managed by the management system.
  • a managed object is an abstract view, defined for management purposes, of a logical or physical resource of a system.
  • the tree nodes linked together by the intermediary of branches maintain superior-subordinate relationships between them.
  • a containment tree is a tree made up of instances.
  • a managed object class is a named set of managed objects that share the same properties.
  • a property of an object includes attributes.
  • An attribute is a characteristic of a managed object that has a named type and a value. The value of an attribute of an object can be consulted or modified by a request addressed to the object.
  • Naming an object of a given class means choosing, in accordance with the possible naming links, what the skilled person most often calls his Full Distinguished Name FDN, i.e. the path to this node from the root of the containment tree and choose its Distinguished Name DN, that is to say its name in the tree.
  • the naming of objects uses a naming tree. Each object is located in the naming tree in relation to a superior of which it is the subordinate.
  • This subordinate-superior relationship is specified at the class level by a naming link (NAME BINDING in English).
  • a naming link NAME BINDING in English.
  • Several naming links can be defined for the same class, but an object can have only one immediate superior.
  • the solution also relates to a graphical interface for implementing the research process.
  • the capacity tree is a program that can be represented in a hierarchical way using a navigation tool.
  • the navigation tool includes a graphical interface which describes the means used by this program to get in touch with a user. This tool graphically represents the hierarchical tree structure of the capacity tree.
  • a graphical interface has the function of describing the capacity tree for entering into contact with a user.
  • a PC Personal Computer
  • a navigation tool also gives the possibility to a user to obtain information on the objects which he wishes to handle.
  • This navigation tool can be the one used on PC type computers (Personal Computer) which graphically represents the hierarchical tree structure of the capacity tree.
  • This navigation tool gives the possibility to search for objects in a tree.
  • a first mechanism consists in navigating the tree from any starting node ND1, generally the root of the tree, and in searching for the first node in the tree corresponding to the sought node.
  • the search begins with the starting node ND1 of the tree and continues with a subordinate node and so on until the search leads to a terminal node or leaf of the tree NF1.
  • the method of the prior art consists in going back in the tree towards the root, and in analyzing all the branches not yet analyzed.
  • This last analysis consists in starting the search from the leaf analyzed NF1 and in going back in the tree towards the upper node this leaf NF1. From this upper node, the mechanism detects whether other branches which are subordinate to it have not been analyzed.
  • the parent node constitutes a new starting node ND2 and the mechanism performs the same processing as that explained previously: the search begins with the node ND2 and continues with a subordinate node and so on until larecherhce results in a new NF2 leaf of the tree. If the node to be searched for is not identified, the mechanism continues by going up the tree in the same way as explained above.
  • a second known method of the state of the art consists in storing in memory all the objects of a level "n", and in storing from the objects of level "n” the objects of level "n + 1" subordinate.
  • the big problem is that the containment tree contains a considerable number of nodes. The user is therefore constantly forced to manage the memory space himself, that is to say to store the names of the objects in the tree, all the more so as the user manages the memory. on two levels of the capacity tree.
  • the memory must store the nodes of level "n" of which the subordinate nodes and the nodes subordinate to the nodes of level "n" have not yet been memorized. For example, if we consider that a tree can contain 50,000 object names of 10 characters and that one character is equivalent to one byte, the user must store in memory and for a single level 500,000 byte.
  • domain means a set of objects of the same level
  • the solution A first goal of the solution is to considerably reduce the waste of time in acquiring unnecessary nodes (which can be thousands) to search and thus access any object in the containment tree in a very short time.
  • a second aim of the solution is also to relieve the user of memory management.
  • a third object of the invention is to reduce the cost thereof.
  • the object of the solution is a method of searching for at least one object included in a capacity tree included in a computer system comprising physical and / or software resources, said computer system comprising at least one storage memory for information, said tree being a program represented by the intermediary of a hierarchically organized structure with a root (ROOT) and named nodes called objects associated with respective resources of the system and connected by means of branches, characterized in that it consists in including in a level a respective type of resource, l in grouping said objects into at least one domain, a domain being a set of objects of the same level, the level of a node defining the number of branches that must be traversed from the root to this node, m to elect all or part of a name of a node included in a domain, and characterized in that it consists, su ccessively, until the name of the elected node is identified m to analyze the objects of one level of the tree recursively m the passage from one level (n) to another level (n
  • the solution also relates to a graphical interface characterized in that it comprises a tree and domain names associated with respective levels of the tree for the implementation of the search method.
  • FIG. 1 is a block diagram of a computer system conforming to the solution
  • FIG. 2 is a conceptual view of the composition of a capacity tree
  • FIG. 3a is an algorithm illustrating an embodiment of the present solution
  • - Figure 3b is an algorithm illustrating an embodiment of a function suitable for analyzing objects of a level of the tree recursively
  • - Figure 4 is an exemplary embodiment describing the different treatments performed during the course of the program main
  • FIG. 5 is a view of a window visible on a computer screen illustrating an embodiment of the graphical interface.
  • this system SYS includes a management system SG and at least one remote machine M1.
  • the management system is preferably of the OpenMaster type.
  • the management system at least one operating system, at least one information storage memory and at least one processor controlling the information processing process.
  • the machine M1 includes physical resources (disks, processor, memory, etc.) and / or logical resources (files, processes, semaphores, etc.).
  • the management system and the M1 machine are associated with a respective management protocol.
  • the management protocol of the SG management system and of the M1 machine can be either an SNMP protocol (Simple Network Management Protocol), CMIP (Common Management Information Protocol), or DSAC / AEP, or another protocol.
  • the management system SG and the machine M1 comprise at least one respective agent associated with a management protocol.
  • An agent ensures, among other things, a protocol conversion.
  • the management system is linked to a machine M1 via a network of any type.
  • the network can be LAN (Local Area Network) or WAN (Wide Area Network).
  • a set of software layers is interposed between the management system SG and the network RES and between the network and the machine M1.
  • this set of software layers is based on the OSI (Open System Interconnection) model of architecture in layers of the ISO (International Organization for Standardization), known to those skilled in the art. For reasons of simplification of the description, this set of software layers is not shown in FIG. 1.
  • the machine M1 comprises a capacity tree MIB associated with the integrating agent.
  • a view of this MIB containment tree is shown in FIG. 2.
  • the MIB containment tree is hierarchical and is object oriented. This tree is made up of nodes called objects associated with respective physical and / or logical resources of the system and linked by means of branches. This tree includes in its nodes all of the objects managed by the machine M1, and therefore by the management system SG. In our example, the containment tree includes eight nodes (or objects).
  • a first node is the ROOT root. Three nodes N1, N2, and N3 are subordinate to the root ROOT. Two nodes N11 and N12 are subordinate to the node N1 and a node N21 is subordinate to the node N2.
  • the capacity tree can be imported into the management system.
  • Objects can thus be manipulated, for example, through an operator.
  • Operations include the "get attribute value” or "replace attribute value” commands.
  • operations can be applied to objects.
  • the operations can be of the type:
  • the big problem is that it is difficult for a user to find an object in the containment tree.
  • the solutions proposed result in node searches with a significant time cost.
  • the present solution consists, m in including in a level a respective type of resource, "in grouping said objects into at least one domain, a domain being a set of objects of the same level, the level of a node defining the number of branches that must be traversed from the root to this node, m to elect all or part of a name for a node included in a domain, and characterized in that it consists, successively, until the name of the elected node is identified m to analyze the objects of a level of the tree recursively m the passage from a level (n) to another level (n + 1) taking place only if all the objects of the level (n) have been analyzed.
  • a domain comprises a set of objects of the same nature.
  • a domain can bring together the operating systems (for example UNIX, NT, etc.) present in the computer system, a domain subordinate to the operating systems domain can correspond to servers comprising an operating system, and a another subordinate domain can be the domain grouping the stations associated with the server's workgroup.
  • a domain subordinate to the root can correspond to a set of regions of a country and a domain subordinate to this domain region can be a domain bringing together departments, etc.
  • the nodes N1 to N3 are associated with operating systems and therefore belong to the operating system domain SE.
  • the nodes N11, N12, N21 are associated with servers and therefore belong to the SERV server domain.
  • the containment tree can contain other domains.
  • a navigation tool gives the possibility to a user to obtain information on the objects which he wishes to handle.
  • the navigation tool allows a user to interactively view the objects located in the capacity tree.
  • FIG. 3a is an algorithm illustrating an embodiment of the present solution.
  • the associated main program is given as an example in the appendix.
  • the algorithm includes three steps.
  • the first step is to specify two parameters.
  • a first parameter NR designates all or part of the node to be searched for in the containment tree.
  • the name of the node to be supplied by the user is the real name DN of the object to be searched for, unlike the full name FDN.
  • the sought node is a character string indicating the beginning of the node name or the entire name of the node to be searched.
  • a second LDN parameter designates the node from which the search will be performed in the tree.
  • the second parameter corresponds to the root of the tree.
  • the user can give a list of starting node or the name of the domain in which the search will be carried out (see FIG. 5).
  • the solution gives the possibility of a search for nodes of the tree from the root, but also from a level n of the tree.
  • the solution also gives the possibility of limiting a search to a level of the tree.
  • a list of nodes is an ordered sequence of elements.
  • the second LDN parameter constitutes the starting node (s) for the search in the capacity tree.
  • the name of the node to be supplied by the user is the full name FDN.
  • the starting node LDN is the root ROOT and the sought node is for example the node N11 included in the Server domain.
  • the user searches for a server and the node chosen to start the search is the ROOT root of the containment tree.
  • the second LDN parameter can be a list of nodes included in a domain.
  • the representation of a list is a function of the programming language used, for example, a list of nodes can be represented by a vector in JAVA programming language known to those skilled in the art.
  • the user only has knowledge of the areas included in the capacity tree.
  • the search mechanism performs a second step which consists in determining the length of the LDN list.
  • the length of a list of nodes is equal to the number of nodes included in this list. For example, if the second parameter LDN has two nodes, the length of this list is two.
  • the second LDN parameter is chosen, for example by a user, according to the domain to which the node to be identified belongs.
  • the search mechanism issues a message indicating that the node does not exist in the containment tree or that the user has not specified an LDN start node.
  • the search mechanism calls a primitive RECHENF recursive function suitable for finding the nodes subordinate to the predefined LDN list and for identifying the sought node NR.
  • the mechanism therefore performs a third step which consists in calling a subroutine of the main program with the call parameters LDN and NR.
  • This subroutine corresponds to a recursive RECHENF function.
  • This primitive has two parameters. The first parameter again corresponds to the LDN list and the second parameter corresponds to the node to search for NR.
  • FIG. 3b illustrates the different substeps of processing by the recursive function RECHENF called by the main program.
  • the SEARCH Search function determines the length of the LDN list.
  • the search mechanism preferably sends a message to the user indicating that the node sought is identified.
  • the user can view the object identified and can manipulate it.
  • the mechanism also gives the user the possibility of continuing the search by specifying another node to search or ending the search.
  • the new starting node LDN can be the result node which the mechanism has just identified.
  • the RECHENF recursive function reviews all the other objects in the LDN list one by one (sub-step 3d). Sub-steps 3, 3a and 3b are again carried out. To do this, there is a recursive call to the SEARCH function with new parameters. The recursive function performs a review of all the objects in the LDN list on a level. The mechanism consists, successively with each recursive call of the function RECHENF, to take the current list LDN and to extract from this list the first node. This new list is applied again to the recursive RECHENF function. If the first node of this list L2 does not correspond to the sought node NR, the first node of this list is extracted again, and so on until the length of the list is zero.
  • the recursive call to the SEARCH function is terminated and the purpose of the mechanism is to analyze the level lower than the level studied.
  • the mechanism includes another DONENF function (sub-step 3e) making it possible to search for the children of the nodes of a list.
  • This function gives the children of all the nodes belonging to the current LDN list.
  • this function gives the children of the last node studied in the current LDN list analyzed by the SEARCH function.
  • the call of this function searches for the children of the penultimate node of the current list LDN and so on until the first node of the current list LDN.
  • the RECHENF sub-program has a specific structure.
  • the programming language used is block-structured, like PASCAL or SML, and is implemented in such a way that, after processing the recursive function, the memory space allocated to temporarily store local variables is returned to the system.
  • a simple and effective way of achieving this mechanism consists in using a particular data structure called a stack also called LIFO (Last In First Out) known to those skilled in the art.
  • the SEARCH function when the SEARCH function successively reviews the nodes of the same level, the parameters LDN and NR, as well as variables local to the recursive function are stacked, that is to say stored in the stack contiguously .
  • the LDN list (N1, N2, N3) is stored in the stack for analysis.
  • the lists LDN (N2.N3), LDN (N3) and LDN (empty) are stored contiguously in the same memory.
  • PUSH an operation known to a person skilled in the art.
  • the DONENF function is called and the mechanism unstacks the LDN parameters and local variables in memory.
  • a return is made in the stack. In a stack, a return can be made via return address.
  • the solution consists in applying this set of nodes to the main program. From this moment, the mechanism performs the same steps and sub-steps.
  • the SEARCH function is called (AP1) by the main program with the list of nodes (N1, N2 and N3). Recall that the node sought is node N11. Function
  • RECHENF is called (AP2) recursively with the list (N2, N3), then a call (AP3) with the list (N3) and finally a call (AP4) with an empty list.
  • AP2 recursively with the list (N2, N3), then a call (AP3) with the list (N3) and finally a call (AP4) with an empty list.
  • the direction of the arrows corresponds to the direction of flow of the various treatments carried out by the main program and the RECHENF sub-program.
  • Each call corresponds to local variables.
  • the RECHENF sub-program includes two local variables. The value of these local variables differ depending on the calls to the SEARCH function.
  • a call to the SEARCH function with new input parameter can be noted AP (n), n being the nth call to the SEARCH function on a level of the tree.
  • k the total number of calls to the SEARCH function.
  • there are four calls (k 4) of the SEARCH function (AP1, AP2, AP3, AP4) with the LDN input parameter (N1, N2, N3).
  • the local variable LEA associated with an AP (n) call is:
  • LEA (AP (n + 1)) being the return value of the AP call (n + 2) to the AP call (n + 1).
  • the value of the LEA variable corresponding to an AP (n) call from the SEARCH function is equal to the value of the LE and LEA variable from the AP (n + 1) call, the value of the LEA variable of the AP call (n + 1) being equal to the value of all the LE and LEA variables of the calls analyzed by the DONENF function.
  • the local variables LE and LEA are initialized with the empty value as follows:
  • the call of this function gives the children of the penultimate node of the current list LDN and so on until the first node of the current list LDN.
  • the memory is unstacked and the node N2 is applied to the DONENF function.
  • the result consists of the node N21:
  • the return of the AP (1) call is the list (N21, N11, N12).
  • the main program calls the recursive function RECHENF with the new LDN parameters, until the node to be searched for N11 is identified in the tree.
  • the management of the LDN parameter and of the local variables LE and LEA is done in the stack.
  • FIG. 5 is a view of a window illustrating an exemplary embodiment of the solution.
  • This window includes the content tree and the domain names associated with the respective levels of the tree.
  • a user can interact with this window via a mouse.
  • the user selects the domain in which he wishes to carry out a search. For example, if the user searches for the node corresponding to a server and whose name is N12, he selects the server field on the window.
  • the selection of a domain results in the appearance of another window including an area to be completed by the user corresponding to the word to be searched NR.
  • the research is then carried out in accordance with the solution process. From the domain name, the mechanism automatically identifies the list of LDN nodes in the domain being searched. This graphical interface also displays the result, i.e. the node found, highlighted.
  • the search mechanism can call a primitive function RECHPAR in place of the primitive function RECHENF.
  • This recursive RECHPAR function is suitable for finding the nodes higher than the predefined list LDN and for identifying the sought node NR. The steps explained above remain the same.
  • the search method consists of M including in a level a respective type of resource, m grouping said objects into at least one domain, a domain being a set of objects of the same level, the level of a node defining the number of branches that must be traversed from the root to this node, u to elect all or part of a name of a node included in a domain, and characterized in that it consists, successively, up to 'that the name of the elected node is identified H to analyze the objects of a level of the tree recursively m the passage from a level (n) to another level (n + 1) taking place only if all the objects of level (n) have been analyzed.
  • the method Prior to a search, the method consists for example of indicating a list of LDN objects of a domain to which the search will relate, this list comprising at least one name of objects, and the name of the object to be searched NR.
  • the search is performed on any number of sub-trees of the containment tree, the objects of the LDN list constituting the roots of these different sub-trees.
  • the solution can consist in carrying out the research in a under tree whose root is chosen arbitrarily by a user.
  • the LDN list corresponds to the root of the containment tree, and the search can be performed on all of the nodes of the containment tree.
  • the solution can consist, according to an advantageous variant, once the elected node is identified, to continue the search at from the identified node or from another node in the containment tree or to end the search.
  • the passage from a level (n) to a lower level (n) can consist in using a memory of the LIFO (Last Inpout First Output) stack type to store the information relating to each level during a search, and in this that it consists in emptying the stack during the passage to a lower level for the search for child nodes of the LDN list studied.
  • LIFO Last Inpout First Output
  • the search process may consist of
  • this new list consisting in extracting from the previous list LDN1 the first node, and in verifying that the first node of this new list corresponds to the sought node and so on until the length of the list is zero.
  • the search method consists in searching for the child nodes in this list, the search for the child nodes consisting in unstacking the memory, and searching for the child nodes of the first node of each list created during the search for the node to be searched NR, the set of child nodes found constituting a new list of LDN objects on which the search will relate.
  • the search method gives the possibility of limiting the search for a node of the containment tree to a single level of the containment tree.
  • the method consists in visualizing the tree by means of a graphical interface, and in displaying on this graphical interface in the form of an icon, which the user can manipulate, the names of the different fields include in the containment tree. So, it consists in selecting the name of a research domain on the interface graph and the name of a node to search for, and the search is performed only in this area.
  • the present solution relates to a graphical interface for viewing on a computer screen a capacity tree, said tree being a program represented by the intermediary of a structure organized hierarchically with a root. (ROOT) and objects connected via branches, characterized in that it comprises a tree and domain names associated with respective levels of the tree for the implementation of the search method.
  • this interface includes a field including an area to be completed corresponding to the name of the node to be searched for, this field being activated following the selection of a domain.
  • the present solution offers many advantages.
  • the distribution of the tree into domains optimizes the search for a node in the tree in the sense that the mechanism gives the possibility of processing only the nodes of the level including the node to be searched.
  • the cost in search time is therefore considerably reduced.
  • the use of a battery frees the user from memory management.
  • the system supports memory management.
  • LDN ROOT AS LONG (length (LDN) NOT EQUAL to 0)
  • LDN RECHENF (LDN, NR) END AS LONG
  • LEA RECHENF (LDN parents LESS first element of LDN, NR)
  • LE DONENF (first element LDN parents)
  • RETURN (LE + LEA)

Abstract

The invention concerns a method for searching at least an object contained in a containment tree comprised in a computer system including physical and/or software resources, said computer system comprising at least a data storage unit, said tree being a programme represented by a hierarchic structure with a root (ROOT) and nodes called objects associated with respective resources of the system and linked via branches. Said method is characterised in that it consists in: including in one level a respective type of resource; assembling said objects in at least one domain, a domain being a set of objects of same level, the level of a node defining the number of branches to be run through from the root to said node; in selecting all or part of a name of a node included in the domain; and characterised in that it consists in: successively, until the name of the node is identified, analysing the objects of one level recursively, the passage from one level (n) to another level (n + 1) being carried out only if all the objects of the level (n) have been analysed.

Description

Procédé de recherche d'un noeud dans un arbre de contenance d'un système de gestion de machines. Method of searching for a node in a capacity tree of a machine management system.
Domaine technique: La solution concerne un procédé de recherche d'au moins un noeud dans un arbre de contenance d'un système de gestion de machines d'un système informatique.Technical area: The solution relates to a process for finding at least one node in a capacity tree of a machine management system of a computer system.
La solution s'applique à toute recherche de noeuds dans une structure arborescente comprenant des noeuds comportant des propriétés (attributs,...). Le système informatique comprend au moins un système de gestion et au moins une machine connectée à ce système de gestion. Un système de gestion de machines de type OpenMaster (marque déposée par la société BULL S.A.), connu de l'homme du métier, est particulièrement bien adapté pour la mise en œuvre de la présente solution. Le terme gestion est utilisé pour être conforme à la traduction de " Management " de l'Agence Française de Normalisation (Afnor).The solution applies to any search for nodes in a tree structure comprising nodes with properties (attributes, ...). The computer system comprises at least one management system and at least one machine connected to this management system. An OpenMaster type machine management system (trademark registered by the company BULL S.A.), known to those skilled in the art, is particularly well suited for implementing the present solution. The term management is used to conform to the translation of "Management" from the French Agency for Standardization (Afnor).
Ce système de gestion peut être assimilé à un ensemble de services qui interagissent entre eux pour donner une représentation virtuelle du monde réel qui est le système informatique. C'est une représentation virtuelle qu'un administrateur manipule (surveillance, action) pour gérer le monde réel. La représentation virtuelle porte sur des objets du monde réel et constitue un modèle objet. Cette représentation virtuelle est " matérialisée " par l'intermédiaire d'un arbre de contenance. Le terme arbre de contenance est utilisé pour être conforme à la traduction de MIB (Management Information Base).This management system can be likened to a set of services which interact with each other to give a virtual representation of the real world which is the computer system. It is a virtual representation that an administrator manipulates (surveillance, action) to manage the real world. The virtual representation relates to objects of the real world and constitutes an object model. This virtual representation is "materialized" through a capacity tree. The term containment tree is used to conform to the translation of MIB (Management Information Base).
Par définition, l'arbre de contenance est orienté objet. L'arbre de contenance utilisé dans un système de gestion de type OpenMaster est un logiciel conforme au protocole CMIP. Cet arbre comprend en ses noeuds l'ensemble des objets gérés par le système de gestion. Par définition, un objet géré est une vue abstraite, définie pour les besoins de gestion, d'une ressource logique ou physique d'un système. Les noeuds de l'arbre reliés entre eux par l'intermédiaire de branches entretiennent entre eux des relations supérieur- subordonné.By definition, the containment tree is object oriented. The capacity tree used in an OpenMaster type management system is software conforming to the CMIP protocol. This tree includes in its nodes all the objects managed by the management system. By definition, a managed object is an abstract view, defined for management purposes, of a logical or physical resource of a system. The tree nodes linked together by the intermediary of branches maintain superior-subordinate relationships between them.
De manière générale et connue de l'homme du métier, pour créer un objet dans cet arbre, il faut choisir sa classe, le nommer conformément aux liens de nommage relatifs à la classe, et donner une valeur à ses attributs. Par définition, un arbre de contenance est un arbre constitué d'instances.Generally and known to those skilled in the art, to create an object in this tree, it is necessary to choose its class, to name it in accordance with the naming links relating to the class, and to give a value to its attributes. By definition, a containment tree is a tree made up of instances.
Une classe d'objets gérés est un ensemble nommé d'objets gérés partageant les mêmes propriétés. Une propriété d'un objet inclut des attributs. Un attribut est une caractéristique d'un objet géré qui a un type nommé et une valeur. La valeur d'un attribut d'un objet peut être consultée ou modifiée par une requête adressée à l'objet. Nommer un objet d'une classe donnée, c'est choisir, conformément aux liens de nommage possibles, ce que l'homme du métier appelle le plus souvent son Full Distinguished Name FDN, c'est-à-dire le chemin d'accès à ce noeud à partir de la racine de l'arbre de contenance et choisir son Distinguished Name DN, c'est-à-dire son nom dans l'arbre. Le nommage des objets fait appel à un arbre de nommage. Chaque objet se situe dans l'arbre de nommage par rapport à un supérieur dont il est le subordonné. Cette relation subordonnée-supérieure est spécifiée au niveau des classes par un lien de nommage (NAME BINDING en anglais). Lors de la création d'un objet, il faut choisir un lien de nommage parmi les liens de nommage possibles pour les objets de cette classe. Plusieurs liens de nommage peuvent être défini pour une même classe, mais un objet ne peut avoir qu'un seul supérieur immédiat. La solution a aussi pour objet une interface graphique pour la mise en œuvre du procédé de recherche.A managed object class is a named set of managed objects that share the same properties. A property of an object includes attributes. An attribute is a characteristic of a managed object that has a named type and a value. The value of an attribute of an object can be consulted or modified by a request addressed to the object. Naming an object of a given class means choosing, in accordance with the possible naming links, what the skilled person most often calls his Full Distinguished Name FDN, i.e. the path to this node from the root of the containment tree and choose its Distinguished Name DN, that is to say its name in the tree. The naming of objects uses a naming tree. Each object is located in the naming tree in relation to a superior of which it is the subordinate. This subordinate-superior relationship is specified at the class level by a naming link (NAME BINDING in English). When creating an object, you must choose a naming link among the possible naming links for objects of this class. Several naming links can be defined for the same class, but an object can have only one immediate superior. The solution also relates to a graphical interface for implementing the research process.
L'art antérieur:The prior art:
Par définition, le niveau d'un noeud de l'arbre est le nombre de branches qu'il faut parcourir de la racine jusqu'à ce noeud. Les noeuds terminaux sont appelés feuilles. L'arbre de contenance est un programme que l'on peut représenter de façon hiérarchisée à l'aide d'un outil de navigation. L'outil de navigation comprend une interface graphique qui décrit les moyens mis en oeuvre par ce programme pour entrer en contact avec un utilisateur. Cet outil représente graphiquement la structure arborescente et hiérarchisée de l'arbre de contenance. Par définition, une interface graphique a pour fonction de décrire l'arbre de contenance pour entrer en contact avec un utilisateur. Un écran d'ordinateur de type PC (Personal Computer), connu de l'homme du métier, donne une visualisation de l'arbre de contenance. Un outil de navigation donne également la possibilité à un utilisateur d'obtenir des informations sur les objets qu'il souhaite manipuler.By definition, the level of a tree node is the number of branches that must be traversed from the root to this node. The terminal nodes are called leaves. The capacity tree is a program that can be represented in a hierarchical way using a navigation tool. The navigation tool includes a graphical interface which describes the means used by this program to get in touch with a user. This tool graphically represents the hierarchical tree structure of the capacity tree. By definition, a graphical interface has the function of describing the capacity tree for entering into contact with a user. A PC (Personal Computer) type screen, known to a person skilled in the art, provides a visualization of the capacity tree. A navigation tool also gives the possibility to a user to obtain information on the objects which he wishes to handle.
Il existe un outil de navigation généralement utilisé pour visualiser de façon interactive les objets situés dans l'arbre de contenance. Cet outil de navigation peut être celui utilisé sur les ordinateurs de type PC (Personal Computer) qui représente graphiquement la structure arborescente et hiérarchisée de l'arbre de contenance.There is a navigation tool generally used to interactively view the objects located in the containment tree. This navigation tool can be the one used on PC type computers (Personal Computer) which graphically represents the hierarchical tree structure of the capacity tree.
Cet outil de navigation donne la possibilité de rechercher d'objets dans un arbre.This navigation tool gives the possibility to search for objects in a tree.
Un premier mécanisme consiste à naviguer dans l'arbre à partir d'un noeud de départ ND1 quelconque, en général la racine de l'arbre, et à rechercher le premier noeud de l'arbre correspondant au noeud cherché. La recherche débute par le noeud de départ ND1de l'arbre et se poursuit par un noeud subordonné et ainsi de suite jusqu'à ce que la recherche aboutisse à un noeud terminal ou feuille de l'arbre NF1. Ensuite, à partir de cette feuille, le procédé de l'art antérieur consiste à remonter dans l'arbre vers la racine, et à analyser toutes les branches non encore analysées. Cette dernière analyse consiste à commencer la recherche à partir de la feuille analysée NF1 et à remonter dans l'arbre vers le noeud supérieur cette feuille NF1. A partir de ce noeud supérieur, le mécanisme détecte si d'autres branches qui lui sont subordonnées n'ont pas été analysées. Dans l'affirmative, le noeud père constitue un nouveau noeud de départ ND2 et le mécanisme effectue le même traitement que celui expliqué précédemment : la recherche débute par le noeud ND2 et se poursuit par un noeud subordonné et ainsi de suite jusqu'à ce que larecherhce aboutisse à une nouvelle feuille NF2 de l'arbre. Si le noeud à rechercher n'est pas identifié, le mécanisme se poursuit en remontant l'arbre de la même façon qu'expliqué précédemment.A first mechanism consists in navigating the tree from any starting node ND1, generally the root of the tree, and in searching for the first node in the tree corresponding to the sought node. The search begins with the starting node ND1 of the tree and continues with a subordinate node and so on until the search leads to a terminal node or leaf of the tree NF1. Then, from this sheet, the method of the prior art consists in going back in the tree towards the root, and in analyzing all the branches not yet analyzed. This last analysis consists in starting the search from the leaf analyzed NF1 and in going back in the tree towards the upper node this leaf NF1. From this upper node, the mechanism detects whether other branches which are subordinate to it have not been analyzed. If so, the parent node constitutes a new starting node ND2 and the mechanism performs the same processing as that explained previously: the search begins with the node ND2 and continues with a subordinate node and so on until larecherhce results in a new NF2 leaf of the tree. If the node to be searched for is not identified, the mechanism continues by going up the tree in the same way as explained above.
Dans la négative, le mécanisme remonte dans l'arbre d'un niveau supérieur ND3, ce noeud constituant un noeud de départ pour la recherche. Le gros problème rencontré avec cette solution est que la recherche devient lourde et laborieuse. La recherche analyse des niveaux de l'arbre inutiles entraînant un coût en temps de recherche important. Un deuxième procédé connu de l'état de la technique consiste à stocker en mémoire tous les objets d'un niveau " n ", et à stocker à partir des objets de niveau " n " les objets de niveau " n+1 " subordonnés. Le gros problème est que l'arbre de contenance contient un nombre considérable de noeuds. L'utilisateur est donc contraint constamment de gérer lui-même l'espace mémoire c'est-à- dire de stocker les noms des objets de l'arbre d'autant plus que la gestion de la mémoire par l'utilisateur s'effectue sur deux niveaux de l'arbre de contenance. En conséquence, à un instant donné de la recherche, la mémoire doit stocker les noeuds de niveau " n " dont on a pas encore mémorisé les noeuds subordonnés et les noeuds subordonnés aux noeuds de niveau " n ". Par exemple, si on considère qu'un arbre peut contenir 50000 noms d'objets de 10 caractères et que un caractère équivaut à un octet, l'utilisateur doit stocker en mémoire et pour un seul niveau 500000 octet.If not, the mechanism goes back into the tree of a higher level ND3, this node constituting a starting node for the search. The big problem with this solution is that the research becomes heavy and laborious. The research analyzes unnecessary levels of the tree, resulting in a significant research time cost. A second known method of the state of the art consists in storing in memory all the objects of a level "n", and in storing from the objects of level "n" the objects of level "n + 1" subordinate. The big problem is that the containment tree contains a considerable number of nodes. The user is therefore constantly forced to manage the memory space himself, that is to say to store the names of the objects in the tree, all the more so as the user manages the memory. on two levels of the capacity tree. Consequently, at a given instant of the search, the memory must store the nodes of level "n" of which the subordinate nodes and the nodes subordinate to the nodes of level "n" have not yet been memorized. For example, if we consider that a tree can contain 50,000 object names of 10 characters and that one character is equivalent to one byte, the user must store in memory and for a single level 500,000 byte.
Dans la suite de la description, le terme " domaine " utilisé signifie un ensemble d'objets de même niveauIn the following description, the term "domain" used means a set of objects of the same level
La solution Un premier but de la solution est de réduire considérablement la perte de temps d'acquisition des noeuds (qui peuvent être des milliers) non nécessaires à la recherche et ainsi d'accéder à un objet quelconque de l'arbre de contenance en un temps très réduit.The solution A first goal of the solution is to considerably reduce the waste of time in acquiring unnecessary nodes (which can be thousands) to search and thus access any object in the containment tree in a very short time.
Un deuxième but visé de la solution est aussi de décharger l'utilisateur de la gestion de la mémoire. Un troisième but de l'invention est d'en réduire le coût.A second aim of the solution is also to relieve the user of memory management. A third object of the invention is to reduce the cost thereof.
A cet effet, la solution a pour objet un procédé de recherche d'au moins un objet inclus dans un arbre de contenance inclus dans un système informatique comprenant des ressources physiques et/ou logicielles, ledit système informatique comprenant au moins une mémoire de stockage d'informations, ledit arbre étant un programme représenté par l'intermédiaire d'une structure organisée de manière hiérarchique avec une racine (ROOT) et des noeuds nommés appelés objets associés à des ressources respectives du système et reliés par l'intermédiaire de branches, caractérisé en qu'il consiste a à inclure dans un niveau un type de ressource respectif, l à regrouper lesdits objets en au moins un domaine, un domaine étant un ensemble d'objets de même niveau, le niveau d'un noeud définissant le nombre de branches qu'il faut parcourir de la racine jusqu'à ce noeud, m à élire tout ou partie d'un nom d'un noeud inclus dans un domaine, et caractérisé en ce qu'il consiste, successivement, jusqu'à ce que le nom du noeud élu soit identifié m à analyser les objets d'un niveau de l'arbre récursivement m le passage d'un niveau (n) à un autre niveau (n+1) s'effectuant uniquement si tous les objets du niveau (n) ont été analysés.To this end, the object of the solution is a method of searching for at least one object included in a capacity tree included in a computer system comprising physical and / or software resources, said computer system comprising at least one storage memory for information, said tree being a program represented by the intermediary of a hierarchically organized structure with a root (ROOT) and named nodes called objects associated with respective resources of the system and connected by means of branches, characterized in that it consists in including in a level a respective type of resource, l in grouping said objects into at least one domain, a domain being a set of objects of the same level, the level of a node defining the number of branches that must be traversed from the root to this node, m to elect all or part of a name of a node included in a domain, and characterized in that it consists, su ccessively, until the name of the elected node is identified m to analyze the objects of one level of the tree recursively m the passage from one level (n) to another level (n + 1) taking place only if all objects of level (n) have been analyzed.
La solution a également pour objet une interface graphique caractérisée en ce qu'elle comprend un arbre et des noms de domaines associés à des niveaux respectifs de l'arbre pour la mise en oeuvre du procédé de recherche.The solution also relates to a graphical interface characterized in that it comprises a tree and domain names associated with respective levels of the tree for the implementation of the search method.
La solution sera mieux comprise à la lecture de la description qui suit, donnée à titre d'exemple et faite en référence aux dessins annexés. Dans les dessins:The solution will be better understood on reading the description which follows, given by way of example and made with reference to the accompanying drawings. In the drawings:
- la figure 1 est une vue synoptique d'un système informatique conforme à la solution,FIG. 1 is a block diagram of a computer system conforming to the solution,
- la figure 2 est une vue conceptuelle de la composition d'un arbre de contenance,FIG. 2 is a conceptual view of the composition of a capacity tree,
- la figure 3a est un algorithme illustrant un mode de réalisation de la présente solution,FIG. 3a is an algorithm illustrating an embodiment of the present solution,
- la figure 3b est un algorithme illustrant un mode de réalisation d'une fonction propre à analyser les objets d'un niveau de l'arbre récursivement, - la figure 4 est un exemple de réalisation décrivant les différents traitements effectués pendant le déroulement du programme principal,- Figure 3b is an algorithm illustrating an embodiment of a function suitable for analyzing objects of a level of the tree recursively, - Figure 4 is an exemplary embodiment describing the different treatments performed during the course of the program main,
- la figure 5 est une vue d'une fenêtre visible sur un écran d'ordinateur illustrant un mode de réalisation de l'interface graphique.- Figure 5 is a view of a window visible on a computer screen illustrating an embodiment of the graphical interface.
Description d'un exemple de réalisationDescription of an exemplary embodiment
Pour simplifier la description, les mêmes éléments illustrés dans les dessins portent les mêmes références.To simplify the description, the same elements illustrated in the drawings have the same references.
Sur la figure 1 , on a représenté un système informatique SYS distribué illustrant un exemple de réalisation préféré de la solution. Dans l'exemple illustré, ce système SYS inclut un système de gestion SG et au moins une machine distante M1. Le système de gestion est de préférence de type OpenMaster. Le système de gestion au moins un système d'exploitation, au moins une mémoire de stockage d'informations et au moins un processeur contrôlant le processus du traitement de l'information. La machine M1 comprend des ressources physiques (disques, processeur, mémoire, etc.) et/ou logiques (fichiers, processus, sémaphores, etc.).In Figure 1, there is shown a distributed SYS computer system illustrating a preferred embodiment of the solution. In the example illustrated, this system SYS includes a management system SG and at least one remote machine M1. The management system is preferably of the OpenMaster type. The management system at least one operating system, at least one information storage memory and at least one processor controlling the information processing process. The machine M1 includes physical resources (disks, processor, memory, etc.) and / or logical resources (files, processes, semaphores, etc.).
Le système de gestion et la machine M1 sont associés à un protocole de gestion respectif. Le protocole de gestion du système de gestion SG et de la machine M1 peut-être indifféremment un protocole de type SNMP (Simple Network Management Protocol), CMIP (Common Management Information Protocol), ou DSAC/AEP, ou un autre protocole.The management system and the M1 machine are associated with a respective management protocol. The management protocol of the SG management system and of the M1 machine can be either an SNMP protocol (Simple Network Management Protocol), CMIP (Common Management Information Protocol), or DSAC / AEP, or another protocol.
Afin de masquer l'hétérogénéité du système informatique, le système de gestion SG et la machine M1 comprennent au moins un agent respectif associé à un protocole de gestion. Un agent assure, entre autres, une conversion de protocole.In order to mask the heterogeneity of the computer system, the management system SG and the machine M1 comprise at least one respective agent associated with a management protocol. An agent ensures, among other things, a protocol conversion.
Le système de gestion est relié à la une machine M1 par l'intermédiaire d'un réseau de type quelconque. Le réseau peut être de type LAN (Local Area Network) ou WAN (Wide Area Network). Un ensemble de couches logicielles s'interpose entre le système de gestion SG et le réseau RES et entre le réseau et la machine M1. Dans l'exemple illustré, cet ensemble de couches logicielle repose sur le modèle OSI (Open System Interconnection) d'architecture en couche de l'ISO (International Organization for Standardization), connu de l'homme du métier. Pour des raisons de simplification de la description, cet ensemble de couches logicielles n'est pas représenté sur la figure 1.The management system is linked to a machine M1 via a network of any type. The network can be LAN (Local Area Network) or WAN (Wide Area Network). A set of software layers is interposed between the management system SG and the network RES and between the network and the machine M1. In the example illustrated, this set of software layers is based on the OSI (Open System Interconnection) model of architecture in layers of the ISO (International Organization for Standardization), known to those skilled in the art. For reasons of simplification of the description, this set of software layers is not shown in FIG. 1.
La machine M1 comprend un arbre de contenance MIB associé à l'agent intégrateur. Une vue de cet arbre de contenance MIB est représentée sur la figure 2. Par définition, l'arbre de contenance MIB est hiérarchisé et est orienté objet. Cet arbre est constitué de noeuds appelés objets associés à des ressources physiques et/ou logiques respectives du système et reliés par l'intermédiaire de branches. Cet arbre comprend en ses noeuds l'ensemble des objets gérés par la machine M1 , et de ce fait par le système de gestion SG. Dans notre exemple, l'arbre de contenance comprend huit noeuds (ou objets). Un premier noeud est la racine ROOT. Trois noeuds N1 , N2, et N3 sont subordonnés à la racine ROOT. Deux noeuds N11 et N12 sont subordonnés au noeud N1 et un noeud N21 est subordonné au noeud N2.The machine M1 comprises a capacity tree MIB associated with the integrating agent. A view of this MIB containment tree is shown in FIG. 2. By definition, the MIB containment tree is hierarchical and is object oriented. This tree is made up of nodes called objects associated with respective physical and / or logical resources of the system and linked by means of branches. This tree includes in its nodes all of the objects managed by the machine M1, and therefore by the management system SG. In our example, the containment tree includes eight nodes (or objects). A first node is the ROOT root. Three nodes N1, N2, and N3 are subordinate to the root ROOT. Two nodes N11 and N12 are subordinate to the node N1 and a node N21 is subordinate to the node N2.
Par l'intermédiaire d'une requête, l'arbre de contenance peut être importé sur le système de gestion. Les objets peuvent ainsi être manipulé par exemple par l'intermédiaire d'un opérateur. Plusieurs opérations ou manipulations peuvent s'appliquer sur les objets à condition que celles-ci aient été autorisée lors de la spécification de la classe dans l'arbre de contenance MIB. Les opérations incluent les commandes " get attribute value " ou encore " replace attribute value ". De même, des opérations peuvent s'appliquer sur des objets. Les opérations peuvent être du type :By means of a request, the capacity tree can be imported into the management system. Objects can thus be manipulated, for example, through an operator. Several operations or manipulations can be applied to objects provided that they have been authorized when specifying the class in the containment tree MIB. Operations include the "get attribute value" or "replace attribute value" commands. Similarly, operations can be applied to objects. The operations can be of the type:
- " Create " pour la création d'un objet d'une classe - " Delete " pour demander à un objet géré de se détruire- "Create" to create an object of a class - "Delete" to ask a managed object to destroy itself
- " Action " pour demander à un objet d'exécuter une action spécifiée dans la définition de la classe.- "Action" to ask an object to execute an action specified in the class definition.
Le gros problème est qu'il est difficile pour un utilisateur de rechercher un objet dans l'arbre de contenance. Les solutions proposées ont pour conséquences des recherches de noeud avec un coût en temps important.The big problem is that it is difficult for a user to find an object in the containment tree. The solutions proposed result in node searches with a significant time cost.
On décrira maintenant, en référence aux figures 3a et 3b, un mode de réalisation du procédé de recherche conforme à la présente solution. La présente solution consiste, m à inclure dans un niveau un type de ressource respectif, " à regrouper lesdits objets en au moins un domaine, un domaine étant un ensemble d'objets de même niveau, le niveau d'un noeud définissant le nombre de branches qu'il faut parcourir de la racine jusqu'à ce noeud, m à élire tout ou partie d'un nom d'un noeud inclus dans un domaine, et caractérisé en ce qu'il consiste, successivement, jusqu'à ce que le nom du noeud élu soit identifié m à analyser les objets d'un niveau de l'arbre récursivement m le passage d'un niveau (n) à un autre niveau (n+1) s'effectuant uniquement si tous les objets du niveau (n) ont été analysés.We will now describe, with reference to FIGS. 3a and 3b, an embodiment of the search method in accordance with the present solution. The present solution consists, m in including in a level a respective type of resource, "in grouping said objects into at least one domain, a domain being a set of objects of the same level, the level of a node defining the number of branches that must be traversed from the root to this node, m to elect all or part of a name for a node included in a domain, and characterized in that it consists, successively, until the name of the elected node is identified m to analyze the objects of a level of the tree recursively m the passage from a level (n) to another level (n + 1) taking place only if all the objects of the level (n) have been analyzed.
Dans l'exemple illustré, la recherche s'effectue par niveau descendant et le passage d'un niveau (n) à un niveau inférieur (n+1) s'effectue uniquement si tous les objets du niveau (n) ont été analysés. Naturellement, la recherche peut être effectuée par niveau ascendant. Dans l'exemple illustré, un domaine comprend un ensemble d'objets de même nature. Par exemple, un domaine peut rassembler les systèmes d'exploitation (par exemple UNIX, NT, etc.) présents dans le système informatique, un domaine subordonné au domaine systèmes d'exploitation peut correspondre aux serveurs comprenant un système d'exploitation, et un autre domaine subordonné peut être le domaine regroupant les stations associées au groupe de travail du serveur.In the example illustrated, the search is carried out by descending level and the passage from a level (n) to a lower level (n + 1) is carried out only if all the objects of level (n) have been analyzed. Of course, research can be done by ascending level. In the example illustrated, a domain comprises a set of objects of the same nature. For example, a domain can bring together the operating systems (for example UNIX, NT, etc.) present in the computer system, a domain subordinate to the operating systems domain can correspond to servers comprising an operating system, and a another subordinate domain can be the domain grouping the stations associated with the server's workgroup.
Dans un autre exemple, un domaine subordonné à la racine peut correspondre à un ensemble de régions d'un pays et un domaine subordonné à ce domaine région peut être un domaine rassemblant des départements, etc.In another example, a domain subordinate to the root can correspond to a set of regions of a country and a domain subordinate to this domain region can be a domain bringing together departments, etc.
Dans l'exemple illustré et en référence à la figure 1 , les noeuds N1 à N3 sont associés à des systèmes d'exploitation et appartiennent donc au domaine système d'exploitation SE. Les noeuds N11 , N12, N21 sont associés à des serveurs et appartiennent donc au domaine Serveur SERV. Naturellement, l'arbre de contenance peut contenir d'autres domaine.In the example illustrated and with reference to FIG. 1, the nodes N1 to N3 are associated with operating systems and therefore belong to the operating system domain SE. The nodes N11, N12, N21 are associated with servers and therefore belong to the SERV server domain. Naturally, the containment tree can contain other domains.
Un outil de navigation donne la possibilité à un utilisateur d'obtenir des informations sur les objets qu'il souhaite manipuler. L'outil de navigation permet à un utilisateur de visualiser de façon interactive les objets situés dans l'arbre de contenance.A navigation tool gives the possibility to a user to obtain information on the objects which he wishes to handle. The navigation tool allows a user to interactively view the objects located in the capacity tree.
La figure 3a est un algorithme illustrant un mode de réalisation de la présente solution. Le programme principal associé est donné comme exemple en annexe.FIG. 3a is an algorithm illustrating an embodiment of the present solution. The associated main program is given as an example in the appendix.
L'algorithme comprend trois étapes.The algorithm includes three steps.
1ère étape :Step 1:
La première étape consiste à spécifier deux paramètres. Un premier paramètre NR désigne tout ou partie du noeud à rechercher dans l'arbre de contenance. Le nom du noeud à fournir par l'utilisateur est le nom réel DN de l'objet à rechercher à la différence du nom complet FDN. Le noeud recherché est une chaîne de caractères indiquant le début du nom du noeud ou tout le nom du noeud à rechercher.The first step is to specify two parameters. A first parameter NR designates all or part of the node to be searched for in the containment tree. The name of the node to be supplied by the user is the real name DN of the object to be searched for, unlike the full name FDN. The sought node is a character string indicating the beginning of the node name or the entire name of the node to be searched.
Un second paramètre LDN désigne le noeud à partir duquel la recherche sera effectuée dans l'arbre. Dans l'exemple illustré, le second paramètre correspond à la racine de l'arbre. Selon un autre exemple, l'utilisateur peut donner une liste de noeud de départ ou le nom du domaine dans lequel la recherche sera effectuée (voir figure 5). Ainsi, la solution donne la possibilité d'une recherche de noeuds de l'arbre à partir de la racine, mais aussi à partir d'un niveau n de l'arbre. La solution donne aussi la possibilité de limiter une recherche à un niveau de l'arbre.A second LDN parameter designates the node from which the search will be performed in the tree. In the example illustrated, the second parameter corresponds to the root of the tree. According to another example, the user can give a list of starting node or the name of the domain in which the search will be carried out (see FIG. 5). Thus, the solution gives the possibility of a search for nodes of the tree from the root, but also from a level n of the tree. The solution also gives the possibility of limiting a search to a level of the tree.
Par définition, une liste de noeuds est une suite ordonnée d'éléments.By definition, a list of nodes is an ordered sequence of elements.
Le second paramètre LDN constitue le (ou les) noeud(s) de départ de la recherche dans l'arbre de contenance. Le nom du noeud à fournir par l'utilisateur est le nom complet FDN. Dans l'exemple illustré, le noeud de départ LDN est la racine ROOT et le noeud recherché est par exemple le noeud N11 inclus dans le domaine Serveur. En d'autres mots, l'utilisateur recherche un serveur et le noeud choisi pour débuter la recherche est la racine ROOT de l'arbre de contenance.The second LDN parameter constitutes the starting node (s) for the search in the capacity tree. The name of the node to be supplied by the user is the full name FDN. In the example illustrated, the starting node LDN is the root ROOT and the sought node is for example the node N11 included in the Server domain. In other words, the user searches for a server and the node chosen to start the search is the ROOT root of the containment tree.
Le second paramètre LDN peut être une liste de noeud inclus dans un domaine. La représentation d'une liste est fonction du langage de programmation utilisé, par exemple, une liste de noeuds peut être représenté par un vecteur en langage de programmation JAVA connu de l'homme du métier.The second LDN parameter can be a list of nodes included in a domain. The representation of a list is a function of the programming language used, for example, a list of nodes can be represented by a vector in JAVA programming language known to those skilled in the art.
L'utilisateur a connaissance uniquement des domaines inclus dans l'arbre de contenance.The user only has knowledge of the areas included in the capacity tree.
2ième étape2 nd step
Une fois que les deux paramètres sont définis, le mécanisme de recherche effectue une deuxième étape qui consiste à déterminer la longueur de la liste LDN. Par définition, la longueur d'une liste de noeuds est égale au nombre de noeuds inclus dans cette liste. Par exemple, si le second paramètre LDN comprend deux noeuds, la longueur de cette liste est égale à deux. Le second paramètre LDN est choisi, par exemple par un utilisateur, en fonction du domaine auquel appartient le noeud à identifier.Once the two parameters are defined, the search mechanism performs a second step which consists in determining the length of the LDN list. By definition, the length of a list of nodes is equal to the number of nodes included in this list. For example, if the second parameter LDN has two nodes, the length of this list is two. The second LDN parameter is chosen, for example by a user, according to the domain to which the node to be identified belongs.
- Si la longueur de cette liste est nulle, le mécanisme de recherche émet un message signalant que le noeud n'existe pas dans l'arbre de contenance ou que l'utilisateur n'a pas spécifié de noeud de départ LDN.- If the length of this list is zero, the search mechanism issues a message indicating that the node does not exist in the containment tree or that the user has not specified an LDN start node.
- Si la longueur n'est pas nulle, le mécanisme de recherche appelle une fonction primitive RECHENF recursive propre à rechercher les noeuds subordonnés à la liste LDN prédéfinie et à identifier le noeud recherché NR.- If the length is not zero, the search mechanism calls a primitive RECHENF recursive function suitable for finding the nodes subordinate to the predefined LDN list and for identifying the sought node NR.
3lème étape3 -th step
Dans l'exemple illustré, la longueur de la liste LDN n'étant pas nulle, le mécanisme effectue donc une troisième étape qui consiste à appeler un sous- programme du programme principal avec les paramètres d'appel LDN et NR. Ce sous-programme correspond à une fonction recursive RECHENF. Cette primitive comprend deux paramètres. Le premier paramètre correspond à nouveau à la liste LDN et le second paramètre correspond au noeud à rechercher NR.In the example illustrated, the length of the LDN list not being zero, the mechanism therefore performs a third step which consists in calling a subroutine of the main program with the call parameters LDN and NR. This subroutine corresponds to a recursive RECHENF function. This primitive has two parameters. The first parameter again corresponds to the LDN list and the second parameter corresponds to the node to search for NR.
La figure 3b illustre les différentes sous-étapes de traitement par la fonction recursive RECHENF appelée par le programme principal.FIG. 3b illustrates the different substeps of processing by the recursive function RECHENF called by the main program.
Lors d'une première sous-étape 3a, la fonction Recherche RECHENF détermine la longueur la liste LDN.During a first substep 3a, the SEARCH Search function determines the length of the LDN list.
Si cette longueur est nulle, le noeud recherché n'a pas été identifié. La recherche est finie et le programme principal est appelé à nouveau avec une nouvelle liste LDN d'un autre niveau.If this length is zero, the node sought has not been identified. The search is finished and the main program is called again with a new LDN list of another level.
Si cette longueur n'est pas nulle, la recherche se poursuit et la fonctionIf this length is not zero, the search continues and the function
RECHENF vérifie si le premier élément de la liste correspond au noeud recherché. Dans l'affirmative, le mécanisme de recherche émet de préférence un message à l'utilisateur lui indiquant que le noeud recherché est identifié. L'utilisateur peut visualiser l'objet identifié et peut le manipuler. A ce stade, le mécanisme donne également la possibilité à l'utilisateur de continuer la recherche en spécifiant un autre noeud à rechercher ou de mettre fin à la recherche. Avantageusement, le nouveau noeud de départ LDN peut être le noeud résultat que le mécanisme vient d'identifier.RECHENF checks if the first element of the list corresponds to the sought node. If so, the search mechanism preferably sends a message to the user indicating that the node sought is identified. The user can view the object identified and can manipulate it. At this point, the mechanism also gives the user the possibility of continuing the search by specifying another node to search or ending the search. Advantageously, the new starting node LDN can be the result node which the mechanism has just identified.
Dans le cas contraire, si le premier élément de la liste ne correspond pas au noeud à rechercher, le mécanisme se poursuit et la fonction RECHENF effectue une autre analyse. La fonction recursive RECHENF passe en revue tous les autres objets de la liste LDN un par un (sous-étape 3d). Les sous- étapes 3, 3a et 3b sont de nouveau réalisées. Pour ce faire, il y a un appel récursif de la fonction RECHENF avec de nouveaux paramètres. La fonction recursive effectue un passage en revue de tous les objets de la liste LDN sur un niveau. Le mécanisme consiste, successivement à chaque appel récursif de la fonction RECHENF, à prendre la liste courante LDN et à extraire de cette liste le premier noeud. Cette nouvelle liste est appliquée à nouveau à la fonction recursive RECHENF. Si le premier noeud de cette liste L2 ne correspond pas au noeud recherché NR, on extrait à nouveau le premier noeud de cette liste, et ainsi de suite jusqu'à ce que la longueur de la liste soit nulle.Otherwise, if the first element of the list does not correspond to the node to be searched, the mechanism continues and the SEARCH function performs another analysis. The RECHENF recursive function reviews all the other objects in the LDN list one by one (sub-step 3d). Sub-steps 3, 3a and 3b are again carried out. To do this, there is a recursive call to the SEARCH function with new parameters. The recursive function performs a review of all the objects in the LDN list on a level. The mechanism consists, successively with each recursive call of the function RECHENF, to take the current list LDN and to extract from this list the first node. This new list is applied again to the recursive RECHENF function. If the first node of this list L2 does not correspond to the sought node NR, the first node of this list is extracted again, and so on until the length of the list is zero.
Lorsque la dernière liste analysée a une longueur nulle, l'appel récursif de la fonction RECHENF est terminé et le mécanisme a pour but d'analyser le niveau inférieur au niveau étudié. Pour ce faire, le mécanisme comprend une autre fonction DONENF (sous-étape 3e) permettant de chercher les enfants des noeuds d'une liste. Cette fonction donne les enfants de tous les noeuds appartenant à la liste courante LDN. De préférence, cette fonction donne les enfants du dernier noeud étudié de la liste courante LDN analysé par la fonction RECHENF. Ensuite, l'appel de cette fonction recherche les enfants de i'avant-dernier noeud de la liste courante LDN et ainsi de suite jusqu'au premier noeud de la liste courante LDN. Pour ce faire, le sous-programme RECHENF a une structure particulière. Le langage de programmation utilisé est à structure de blocs, comme PASCAL ou SML, et est mis en œuvre de telle façon qu'à l'issue du traitement de la fonction recursive, l'espace mémoire alloué pour stocker temporairement les variables locales est rendu au système. Une façon simple et efficace de réaliser ce mécanisme consiste à utiliser une structure de données particulière dite pile (stack en anglais) également appelée LIFO (Last In First Out) connue de l'homme du métier.When the last list analyzed has a zero length, the recursive call to the SEARCH function is terminated and the purpose of the mechanism is to analyze the level lower than the level studied. To do this, the mechanism includes another DONENF function (sub-step 3e) making it possible to search for the children of the nodes of a list. This function gives the children of all the nodes belonging to the current LDN list. Preferably, this function gives the children of the last node studied in the current LDN list analyzed by the SEARCH function. Then, the call of this function searches for the children of the penultimate node of the current list LDN and so on until the first node of the current list LDN. To do this, the RECHENF sub-program has a specific structure. The programming language used is block-structured, like PASCAL or SML, and is implemented in such a way that, after processing the recursive function, the memory space allocated to temporarily store local variables is returned to the system. A simple and effective way of achieving this mechanism consists in using a particular data structure called a stack also called LIFO (Last In First Out) known to those skilled in the art.
Ainsi, lorsque la fonction RECHENF passe en revue successivement les noeuds d'un même niveau, les paramètres LDN et NR, ainsi que des variables locales à la fonction recursive sont empilés, c'est-à-dire rangés dans la pile de façon contiguë. L'utilisation de variables locales est expliqué dans la suite de la description. En l'espèce , la liste LDN(N1,N2,N3) est stockée dans la pile pour analyse. Ensuite, lorsque l'analyse de ces noeuds est terminée, successivement les listes LDN (N2.N3), LDN (N3) et LDN(vide) sont stockées de façon contiguë dans la même mémoire. L'ajout d'un élément dans une pile peut être effectué par l'intermédiaire d'une opération nommée PUSH connue de l'homme du métier.Thus, when the SEARCH function successively reviews the nodes of the same level, the parameters LDN and NR, as well as variables local to the recursive function are stacked, that is to say stored in the stack contiguously . The use of local variables is explained in the following description. In this case, the LDN list (N1, N2, N3) is stored in the stack for analysis. Then, when the analysis of these nodes is finished, successively the lists LDN (N2.N3), LDN (N3) and LDN (empty) are stored contiguously in the same memory. The addition of an element to a stack can be carried out by means of an operation called PUSH known to a person skilled in the art.
Si le noeud à rechercher n'est pas identifié dans cette liste, la fonction DONENF est appelée et le mécanisme dépile les paramètres LDN et des variables locales en mémoire. Ainsi, dès que la fonction DONENF à trouvé les noeuds enfants d'un noeud, un retour est réalisé dans la pile. Dans une pile, un retour peut être effectué par l'intermédiaire d'adresse de retour.If the node to be searched is not identified in this list, the DONENF function is called and the mechanism unstacks the LDN parameters and local variables in memory. Thus, as soon as the DONENF function has found the child nodes of a node, a return is made in the stack. In a stack, a return can be made via return address.
Une fois que l'ensemble des enfants a été identifié et mémorisé, la solution consiste à appliquer cet ensemble de noeuds au programme principal. Dès ce moment, le mécanisme effectue les mêmes étapes et sous-étapes.Once the set of children has been identified and memorized, the solution consists in applying this set of nodes to the main program. From this moment, the mechanism performs the same steps and sub-steps.
En l'espèce, et en référence à la figure 4, la fonction RECHENF est appelée (AP1) par le programme principal avec la liste de noeuds (N1 , N2 et N3). Rappelons que le noeud recherché est le noeud N11. La fonctionIn this case, and with reference to FIG. 4, the SEARCH function is called (AP1) by the main program with the list of nodes (N1, N2 and N3). Recall that the node sought is node N11. Function
RECHENF est appelée (AP2) de façon recursive avec la liste (N2,N3), ensuite un appel (AP3) avec la liste (N3) et enfin un appel (AP4) avec une liste vide. Lorsque la longueur de la liste est nulle, on appelle la fonction DONENF définie précédemment qui, par l'intermédiaire du principe de dépilement et de variables locales LE et LEA, donne les enfants, c'est-à-dire les noeuds subordonnés dans l'arbre de contenance de la liste LDN (N1 , N2, N3) qui vient d'être analysée.RECHENF is called (AP2) recursively with the list (N2, N3), then a call (AP3) with the list (N3) and finally a call (AP4) with an empty list. When the length of the list is zero, we call the function DONENF defined above which, via the principle of unstacking and local variables LE and LEA, gives the children, that is to say the subordinate nodes in l tree containing the LDN list (N1, N2, N3) which has just been analyzed.
Sur la figure 4 figure, le sens des flèches correspond au sens de déroulement des différents traitements réalisés par le programme principal et le sous-programme RECHENF.In FIG. 4, the direction of the arrows corresponds to the direction of flow of the various treatments carried out by the main program and the RECHENF sub-program.
A chaque appel correspond des variables locales. A cet effet, le sous programme RECHENF comprend deux variables locales. La valeur de ces variables locales diffèrent selon les appels de la fonction RECHENF.Each call corresponds to local variables. To this end, the RECHENF sub-program includes two local variables. The value of these local variables differ depending on the calls to the SEARCH function.
Une première variable locale LEA correspondant à la liste des noeuds enfants trouvés. De manière générale, un appel de la fonction RECHENF avec de nouveau paramètre d'entrée peut être noté AP(n), n étant n_ième appel de la fonction RECHENF sur un niveau de l'arbre. Sur le domaine SE, notons k le nombre d'appels total de la fonction RECHENF. Dans notre exemple de réalisation, il y a quatre appels (k=4) de la fonction RECHENF (AP1 , AP2, AP3, AP4) avec comme paramètre d'entrée LDN (N1 , N2, N3). Avec cette notation, la variable locale LEA associée à un appel AP(n) est :A first local variable LEA corresponding to the list of child nodes found. In general, a call to the SEARCH function with new input parameter can be noted AP (n), n being the nth call to the SEARCH function on a level of the tree. On the SE domain, note k the total number of calls to the SEARCH function. In our exemplary embodiment, there are four calls (k = 4) of the SEARCH function (AP1, AP2, AP3, AP4) with the LDN input parameter (N1, N2, N3). With this notation, the local variable LEA associated with an AP (n) call is:
LEA (AP(n)) = LE(AP(n+1)) + LEA(AP(n+1), sachant que lorsque LDN = vide, LE + LEA= vide avec LE(AP(n)) deuxième variable locale correspondant à la liste des noeuds enfants du noeud avec la n-ième position de la liste LDN initialeLEA (AP (n)) = LE (AP (n + 1)) + LEA (AP (n + 1), knowing that when LDN = empty, LE + LEA = empty with LE (AP (n)) second local variable corresponding to the list of child nodes of the node with the n-th position of the initial LDN list
(N1 ,N2,N3) retourné par la fonction DONENF et associé au n-ième appel AP(n):(N1, N2, N3) returned by the DONENF function and associated with the nth AP call (n):
LE (AP(n) = DONENF( n-ième noeud de la liste initiale et associé au n- ième appel AP(n)) sauf si la liste LDN courante à une longueur nulle. et LEA(AP(n+1))= ∑(LE(AP(n + 2)) + LEA(AP(n + 2) )) (VL), n+l→A-lLE (AP (n) = DONENF (nth node of the initial list and associated with the nth call AP (n)) unless the current LDN list has a zero length. and LEA (AP (n + 1)) = ∑ (LE (AP (n + 2)) + LEA (AP (n + 2))) (VL), n + l → Al
LEA(AP(n+1)) étant la valeur de retour de l'appel AP(n+2) vers l'appel AP(n+1).LEA (AP (n + 1)) being the return value of the AP call (n + 2) to the AP call (n + 1).
En d'autres mots, la valeur de la variable LEA correspondant à un appel AP(n) de la fonction RECHENF est égale à la valeur de la variable LE et de LEA de l'appel AP(n+1), la valeur de la variable LEA de l'appel AP(n+1) étant égal à la valeur de toutes les variables LE et LEA des appels analysés par la fonction DONENF.In other words, the value of the LEA variable corresponding to an AP (n) call from the SEARCH function is equal to the value of the LE and LEA variable from the AP (n + 1) call, the value of the LEA variable of the AP call (n + 1) being equal to the value of all the LE and LEA variables of the calls analyzed by the DONENF function.
En l'espèce, lorsque la fonction DONENF est appelée, les variables locales LE et LEA sont initialisée avec la valeur vide comme suit :In this case, when the DONENF function is called, the local variables LE and LEA are initialized with the empty value as follows:
Le retour du dernier appel de RECHENF donneThe return of the last call from RECHENF gives
LDN= videLDN = empty
LEA (AP4) = videLEA (AP4) = empty
LE(AP4) = vide Comme expliqué précédemment, la fonction DONENF donne les enfants du dernier noeud étudié N3 de la liste courante LDN analysé par la fonction RECHENF :LE (AP4) = empty As explained above, the DONENF function gives the children of the last node studied N3 in the current list LDN analyzed by the RECHENF function:
LDN = (N3) LEA(AP3) = videLDN = (N3) LEA (AP3) = empty
LE(AP3) = DONENF (N3) = vide donc le retour de l'appel AP(3) est LEA(AP3) LE(AP3)=vide.LE (AP3) = DONENF (N3) = empty so the return of the call AP (3) is LEA (AP3) LE (AP3) = empty.
Ensuite, l'appel de cette fonction donne les enfants de l'avant-dernier noeud de la liste courante LDN et ainsi de suite jusqu'au premier noeud de la liste courante LDN. Pour ce faire, on dépile la mémoire et le noeud N2 est appliqué à la fonction DONENF. Le résultat est constitué du noeud N21 :Then, the call of this function gives the children of the penultimate node of the current list LDN and so on until the first node of the current list LDN. To do this, the memory is unstacked and the node N2 is applied to the DONENF function. The result consists of the node N21:
LDN = (N2, N3)LDN = (N2, N3)
LEA(AP2) = (LE(AP3)+LEA(AP3) + (LE(AP4)+LEA(AP4) = videLEA (AP2) = (LE (AP3) + LEA (AP3) + (LE (AP4) + LEA (AP4) = empty
LE(AP2) = DONENF(N2) = (N21) donc le retour de l'appel AP(2) est LEA(AP2)+LE(AP2) = N21 etLE (AP2) = DONENF (N2) = (N21) so the return of the call AP (2) is LEA (AP2) + LE (AP2) = N21 and
LDN(N1 , N2, N3)LDN (N1, N2, N3)
LEA(AP1) = (LE(AP2)+LEA(AP2) + (LE(AP3)+LEA(AP3) + (LE(AP4)+LEA(AP4) = vide + (N21) LE(AP1) = DONENF(N1) = (N11 , N12)LEA (AP1) = (LE (AP2) + LEA (AP2) + (LE (AP3) + LEA (AP3) + (LE (AP4) + LEA (AP4) = empty + (N21) LE (AP1) = DONENF ( N1) = (N11, N12)
Le retour de l'appel AP(1) est la liste (N21 , N11 , N12).The return of the AP (1) call is the list (N21, N11, N12).
Comme le noeud N1 est le dernier noeud de la liste LDN, une adresse de retour PP pointe vers le programme principal et le résultat précédent est appliqué au programme principal et constitue une nouvelle liste LDN= N21 , N11. N12.Since node N1 is the last node in the LDN list, a return address PP points to the main program and the previous result is applied to the main program and constitutes a new list LDN = N21, N11. N12.
Et ainsi de suite, le programme principal appelle la fonction recursive RECHENF avec les nouveaux paramètres LDN, jusqu'à ce que le noeud à rechercher N11 soit identifié dans l'arbre. Ainsi, la gestion du paramètre LDN et des variables locales LE et LEA est faite dans la pile .And so on, the main program calls the recursive function RECHENF with the new LDN parameters, until the node to be searched for N11 is identified in the tree. Thus, the management of the LDN parameter and of the local variables LE and LEA is done in the stack.
La figure 5 est une vue d'une fenêtre illustrant un exemple de réalisation de la solution. Cette fenêtre comprend l'arbre de contenance et les noms de domaine associés aux niveaux respectifs de l'arbre. Un utilisateur peut interagir avec cette fenêtre par l'intermédiaire d'une souris (mouse en anglais). L'utilisateur sélectionne le domaine dans lequel il souhaite effectuer une recherche. Par exemple, si l'utilisateur cherche le noeud correspondant à un serveur et dont le nom est N12, celui-ci sélectionne le champ serveur sur la fenêtre. De préférence, la sélection d'un domaine entraîne l'apparition d'une autre fenêtre incluant une zone à compléter par l'utilisateur correspondant au mot à rechercher NR. La recherche se réalise ensuite conformément au procédé de la solution. A partir du nom de domaine, le mécanisme identifie automatiquement la liste des noeuds LDN du domaine objets de la recherche. Cette interface graphique affiche également le résultat, c'est-à-dire le noeud trouvé, en surbrillance. Selon une variante, le mécanisme de recherche peut appeler une fonction primitive RECHPAR en lieu et place de la fonction primitive RECHENF.Figure 5 is a view of a window illustrating an exemplary embodiment of the solution. This window includes the content tree and the domain names associated with the respective levels of the tree. A user can interact with this window via a mouse. The user selects the domain in which he wishes to carry out a search. For example, if the user searches for the node corresponding to a server and whose name is N12, he selects the server field on the window. Preferably, the selection of a domain results in the appearance of another window including an area to be completed by the user corresponding to the word to be searched NR. The research is then carried out in accordance with the solution process. From the domain name, the mechanism automatically identifies the list of LDN nodes in the domain being searched. This graphical interface also displays the result, i.e. the node found, highlighted. According to a variant, the search mechanism can call a primitive function RECHPAR in place of the primitive function RECHENF.
Cette fonction RECHPAR recursive est propre à rechercher les noeuds supérieurs à la liste prédéfinie LDN et à identifier le noeud recherché NR. Les étapes explicitées précédemment restent identiques.This recursive RECHPAR function is suitable for finding the nodes higher than the predefined list LDN and for identifying the sought node NR. The steps explained above remain the same.
De manière générale, le procédé de recherche consiste M à inclure dans un niveau un type de ressource respectif, m à regrouper lesdits objets en au moins un domaine, un domaine étant un ensemble d'objets de même niveau, le niveau d'un noeud définissant le nombre de branches qu'il faut parcourir de la racine jusqu'à ce noeud, u à élire tout ou partie d'un nom d'un noeud inclus dans un domaine, et caractérisé en ce qu'il consiste, successivement, jusqu'à ce que le nom du noeud élu soit identifié H à analyser les objets d'un niveau de l'arbre récursivement m le passage d'un niveau (n) à un autre niveau (n+1) s'effectuant uniquement si tous les objets du niveau (n) ont été analysés.In general, the search method consists of M including in a level a respective type of resource, m grouping said objects into at least one domain, a domain being a set of objects of the same level, the level of a node defining the number of branches that must be traversed from the root to this node, u to elect all or part of a name of a node included in a domain, and characterized in that it consists, successively, up to 'that the name of the elected node is identified H to analyze the objects of a level of the tree recursively m the passage from a level (n) to another level (n + 1) taking place only if all the objects of level (n) have been analyzed.
Préalablement à une recherche, le procédé consiste par exemple à indiquer une liste d'objets LDN d'un domaine sur laquelle portera la recherche, cette liste comprenant au moins un nom d'objets, et le nom de l'objet à rechercher NR. De cette façon, la recherche s'effectue sur un nomre quelconque de sous-arbre de l'arbre de contenance, les objets de la liste LDN constituant les racines des ces différents sous-arbre. La solution peut consister à effectuer la recherche dans un sous arbre dont la racine est choisie arbitrairement par un utilisateur. Dans notre exemple de réalisation, la liste LDN correspond à la racine de l'arbre de contenance, et la recherche peut s'effectuer sur la totalité des noeuds de l'arbre de contenance. On a vu également que la solution peut consister, selon une variante avantageuse, une fois que le noeud élu est identifié, à continuer la recherche à partir du noeud identifié ou à partir d'un autre noeud de l'arbre de contenance ou à mettre fin à la recherche.Prior to a search, the method consists for example of indicating a list of LDN objects of a domain to which the search will relate, this list comprising at least one name of objects, and the name of the object to be searched NR. In this way, the search is performed on any number of sub-trees of the containment tree, the objects of the LDN list constituting the roots of these different sub-trees. The solution can consist in carrying out the research in a under tree whose root is chosen arbitrarily by a user. In our example embodiment, the LDN list corresponds to the root of the containment tree, and the search can be performed on all of the nodes of the containment tree. We have also seen that the solution can consist, according to an advantageous variant, once the elected node is identified, to continue the search at from the identified node or from another node in the containment tree or to end the search.
Le passage d'un niveau (n) à un niveau inférieur (n) peut consister à utiliser une mémoire de type pile LIFO (Last Inpout First Output) pour stocker les informations relatives à chaque niveau au cours d'une recherche, et en ce qu'il consiste à vider la pile lors du passage à un niveau inférieur pour la recherche des noeuds enfants de la liste LDN étudiée.The passage from a level (n) to a lower level (n) can consist in using a memory of the LIFO (Last Inpout First Output) stack type to store the information relating to each level during a search, and in this that it consists in emptying the stack during the passage to a lower level for the search for child nodes of the LDN list studied.
Dans l'exemple de réalisation, on a vu que, si la longueur de la listeIn the example of embodiment, we have seen that, if the length of the list
LDN1 n'est pas nulle, le procédé de recherche peut consisterLDN1 is not zero, the search process may consist
- à vérifier si le premier élément de la liste correspond au noeud recherché,- to check if the first element of the list corresponds to the sought node,
- et successivement, tant que le noeud à recherché n'est pas identifié, à constituer une nouvelle liste LDN2, la constitution de cette nouvelle liste consistant à extraire de la précédente liste LDN1 le premier noeud, et à vérifier que le premier noeud de cette nouvelle liste correspond au noeud recherché et ainsi de suite jusqu'à ce que la longueur de la liste soit nulle.- and successively, as long as the node to be searched for is not identified, to constitute a new list LDN2, the constitution of this new list consisting in extracting from the previous list LDN1 the first node, and in verifying that the first node of this new list corresponds to the sought node and so on until the length of the list is zero.
Egalement, dans notre exemple de réalisation, on a vu que, lorsque tous les noeuds de la liste LDN ont été étudiés, le procédé de recherche consiste à rechercher les noeuds enfants de cette liste, la recherche des noeuds enfants consistant à dépiler la mémoire, et à rechercher les noeuds enfants du premier noeud de chaque liste créée lors de la recherche du noeud à rechercher NR, l'ensemble des noeuds enfants trouvés constituant une nouvelle liste d'objets LDN sur la quelle portera la recherche. Le procédé de recherche donne la possibilité de limiter la recherche d'un noeud de l'arbre de contenance à un seul niveau de l'arbre de contenance.Also, in our exemplary embodiment, we have seen that, when all the nodes of the LDN list have been studied, the search method consists in searching for the child nodes in this list, the search for the child nodes consisting in unstacking the memory, and searching for the child nodes of the first node of each list created during the search for the node to be searched NR, the set of child nodes found constituting a new list of LDN objects on which the search will relate. The search method gives the possibility of limiting the search for a node of the containment tree to a single level of the containment tree.
Dans notre exemple de réalisation, le procédé consiste à visualiser l'arbre par l'intermédiaire d'une interface graphique, et à afficher sur cette interface graphique sous forme d'icône, que l'utilisateur peut manipuler, les nom des différents domaines incluent dans l'arbre de contenance. Ainsi, il consiste à sélectionner le nom d'un domaine de recherche sur l'interface graphique et le nom d'un noeud à rechercher, et la recherche s'effectue uniquement dans ce domaine.In our exemplary embodiment, the method consists in visualizing the tree by means of a graphical interface, and in displaying on this graphical interface in the form of an icon, which the user can manipulate, the names of the different fields include in the containment tree. So, it consists in selecting the name of a research domain on the interface graph and the name of a node to search for, and the search is performed only in this area.
On a vu aussi que la présente solution a pour objet une interface graphique de visualisation sur un écran d'ordinateur d'un arbre de contenance, ledit arbre étant un programme représenté par l'intermédiaire d'une structure organisée de manière hiérarchique avec une racine (ROOT) et des objets reliés par l'intermédiaire de branches, caractérisée en qu'elle comprend un arbre et des noms de domaines associés à des niveaux respectifs de l'arbre pour la mise en oeuvre du procédé de recherche. De préférence, cette interface comprend un champ incluant une zone à compléter correspondant au nom du noeud à rechercher, ce champ étant activé suite à la sélection d'un domaine.We have also seen that the present solution relates to a graphical interface for viewing on a computer screen a capacity tree, said tree being a program represented by the intermediary of a structure organized hierarchically with a root. (ROOT) and objects connected via branches, characterized in that it comprises a tree and domain names associated with respective levels of the tree for the implementation of the search method. Preferably, this interface includes a field including an area to be completed corresponding to the name of the node to be searched for, this field being activated following the selection of a domain.
Il ressort de ce qui précède que la présente solution offre de nombreux avantages. En effet, la répartition de l'arbre en domaines optimise la recherche d'un noeud dans l'arbre en ce sens que le mécanisme donne la possibilité de ne traiter uniquement que les noeuds du niveau incluant le noeud à rechercher. Le coût en temps de recherche est donc considérablement réduit. De plus, l'utilisation d'une pile libère l'utilisateur de la gestion mémoire. Le système prend en charge la gestion de la mémoire. It appears from the above that the present solution offers many advantages. In fact, the distribution of the tree into domains optimizes the search for a node in the tree in the sense that the mechanism gives the possibility of processing only the nodes of the level including the node to be searched. The cost in search time is therefore considerably reduced. In addition, the use of a battery frees the user from memory management. The system supports memory management.
ANNEXEANNEX
Programme principal :Main program:
LDN = ROOT TANT QUE (longueur (LDN) PAS EGAL à 0)LDN = ROOT AS LONG (length (LDN) NOT EQUAL to 0)
LDN = RECHENF (LDN, NR) FIN TANT QUELDN = RECHENF (LDN, NR) END AS LONG
fonction RECHENF :SEARCH function:
RECHENF(LDN, NR) Si L=0 sortie vide SI (premier élément de LDN = NR) Action FINSIRECHENF (LDN, NR) If L = 0 empty output SI (first element of LDN = NR) Action FINSI
LEA = videLEA = empty
LEA = RECHENF (LDN parents MOINS premier élément de LDN, NR) LE=DONENF (premier élément LDN parents) RETOUR (LE + LEA) LEA = RECHENF (LDN parents LESS first element of LDN, NR) LE = DONENF (first element LDN parents) RETURN (LE + LEA)

Claims

R E V E N D I C A T I O N S
1. Procédé de recherche d'au moins un objet inclus dans un arbre de contenance inclus dans un système informatique comprenant des ressources physiques et/ou logicielles, ledit système informatique comprenant au moins un système d'exploitation, au moins une mémoire de stockage d'informations, et au moins un processeur, ledit arbre étant un programme représenté par l'intermédiaire d'une structure organisée de manière hiérarchique avec une racine (ROOT) et des noeuds nommés appelés objets associés à des ressources respectives du système et reliés par l'intermédiaire de branches, caractérisé en qu'il consiste a à inclure dans un niveau un type de ressource respectif, a à regrouper lesdits objets en au moins un domaine, un domaine étant un ensemble d'objets de même niveau, le niveau d'un noeud définissant le nombre de branches qu'il faut parcourir de la racine jusqu'à ce noeud, a à élire tout ou partie d'un nom d'un noeud inclus dans un domaine, et caractérisé en ce qu'il consiste, successivement, jusqu'à ce que le nom du noeud élu soit identifié a à analyser les objets d'un niveau de l'arbre récursivement a le passage d'un niveau (n) à un autre niveau (n+1) s'effectuant uniquement si tous les objets du niveau (n) ont été analysés.1. Method for searching for at least one object included in a capacity tree included in a computer system comprising physical and / or software resources, said computer system comprising at least one operating system, at least one storage memory d information, and at least one processor, said tree being a program represented by the intermediary of a hierarchically organized structure with a root (ROOT) and named nodes called objects associated with respective resources of the system and linked by l 'intermediary of branches, characterized in that it consists in including in a level a respective type of resource, in grouping said objects into at least one domain, a domain being a set of objects of the same level, the level of a node defining the number of branches that must be traversed from the root to this node, has to elect all or part of a name of a node included in a domain, and characterizes in that it consists, successively, until the name of the elected node is identified has to analyze the objects of a level of the tree recursively at the passage from a level (n) to another level ( n + 1) occurring only if all the objects of level (n) have been analyzed.
2. Procédé selon la revendication 1 , caractérisé en ce qu'il consiste, préalablement à une recherche, à indiquer une liste d'objets LDN d'un domaine sur laquelle portera la recherche, cette liste comprenant au moins un nom d'objets, et le nom de l'objet à rechercher NR.2. Method according to claim 1, characterized in that it consists, before a search, in indicating a list of LDN objects from a domain to which the search will relate, this list comprising at least one name of objects, and the name of the object to search NR.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'il consiste à effectuer la recherche dans un sous arbre dont la racine est choisie arbitrairement par un utilisateur. 3. Method according to claim 1 or 2, characterized in that it consists in carrying out the search in a sub-tree whose root is chosen arbitrarily by a user.
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce qu'il consiste, une fois que le noeud élu est identifié, à continuer la recherche à partir du noeud identifié ou à partir d'un autre noeud de l'arbre de contenance ou à mettre fin à la recherche.4. Method according to one of claims 1 to 3, characterized in that it consists, once the elected node is identified, to continue the search from the identified node or from another node of the containment tree or to end the search.
5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce qu'il consiste à utiliser une mémoire de type pile LIFO (Last Inpout First Output) pour stocker les informations relatives à chaque niveau au cours d'une recherche, et en ce qu'il consiste à vider la pile lors du passage à un niveau inférieur.5. Method according to one of claims 1 to 4, characterized in that it consists in using a memory of LIFO stack type (Last Inpout First Output) to store information relating to each level during a search, and in that it consists in draining the battery when going to a lower level.
6. Procédé selon la revendication 2, caractérisé en ce qu'il consiste, Si la longueur de la liste LDN1 n'est pas nulle,6. Method according to claim 2, characterized in that it consists, If the length of the list LDN1 is not zero,
- à vérifier si le premier élément de la liste correspond au noeud recherché,- to check if the first element of the list corresponds to the sought node,
- et successivement, tant que le noeud à recherché n'est pas identifié, à constituer une nouvelle liste LDN2, la constitution de cette nouvelle liste consistant à extraire de la précédente liste LDN1 le premier noeud, et à vérifier que le premier noeud de cette nouvelle liste correspond au noeud recherché et ainsi de suite jusqu'à ce que la longueur de la liste soit nulle.- and successively, as long as the node to be searched for is not identified, to constitute a new list LDN2, the constitution of this new list consisting in extracting from the previous list LDN1 the first node, and in verifying that the first node of this new list corresponds to the sought node and so on until the length of the list is zero.
7. Procédé selon la revendication 2 et 6, caractérisé en ce qu'il consiste, lorsque tous les noeuds de la liste LDN ont été étudié, à rechercher les noeuds enfants de cette liste, et en ce que la recherche des noeuds enfants consiste à dépiler la mémoire, et à rechercher les noeuds enfants du premier noeud de chaque liste créée lors de la recherche du noeud à rechercher NR, et en ce que l'ensemble des noeuds enfants trouvés constituent une nouvelle liste d'objets LDN sur la quelle portera la recherche.7. Method according to claim 2 and 6, characterized in that it consists, when all the nodes of the LDN list have been studied, in searching for the child nodes in this list, and in that the search for the child nodes consists in unstack the memory, and to search for the child nodes of the first node of each list created during the search for the node to search for NR, and in that the set of child nodes found constitute a new list of LDN objects on which it will carry the research.
8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce qu'il consiste à limiter la recherche d'un noeud de l'arbre de contenance à un seul niveau de l'arbre de contenance. 8. Method according to one of claims 1 to 7, characterized in that it consists in limiting the search for a node of the capacity tree to a single level of the capacity tree.
9. Procédé selon l'une des revendications 1 à 8, caractérisé en ce qu'il consiste à visualiser l'arbre par l'intermédiaire d'une interface graphique, et en ce qu'il consiste à afficher sur cette interface graphique sous forme d'icône, que l'utilisateur peut manipuler, les nom des différents domaines incluent dans l'arbre de contenance.9. Method according to one of claims 1 to 8, characterized in that it consists in visualizing the tree by means of a graphical interface, and in that it consists in displaying on this graphical interface in the form of icons, that the user can manipulate, the names of the different domains included in the content tree.
10. Procédé selon la revendication 9, caractérisé en ce qu'il consiste à sélectionner le nom d'un domaine de recherche sur l'interface graphique et le nom d'un noeud à rechercher, et en ce que la recherche s'effectue uniquement dans ce domaine.10. Method according to claim 9, characterized in that it consists in selecting the name of a search domain on the graphical interface and the name of a node to be searched, and in that the search is carried out only in this domain.
11. Interface graphique de visualisation sur un écran d'ordinateur d'un arbre de contenance inclus dans un système informatique comprenant des ressources physiques et/ou logicielles, ledit système informatique comprenant au moins un système d'exploitation et au moins une mémoire de stockage d'informations, ledit arbre étant un programme représenté par l'intermédiaire d'une structure organisée de manière hiérarchique avec une racine (ROOT) et des objets reliés par l'intermédiaire de branches, caractérisée en qu'elle comprend un arbre et des noms de domaines associés à des niveaux respectifs de l'arbre pour la mise en oeuvre du procédé de recherche défini par les revendications 1à 6.11. Graphical interface for viewing on a computer screen a capacity tree included in a computer system comprising physical and / or software resources, said computer system comprising at least one operating system and at least one storage memory of information, said tree being a program represented by the intermediary of a structure organized in a hierarchical manner with a root (ROOT) and objects connected by the intermediary of branches, characterized in that it comprises a tree and names of domains associated with respective levels of the tree for the implementation of the search method defined by claims 1 to 6.
12. Interface graphique selon la revendication 9, caractérisée en ce qu'elle comprend un champ incluant une zone à compléter correspondant au nom du noeud à rechercher, ce champ étant activé suite à la sélection d'un domaine. 12. Graphical interface according to claim 9, characterized in that it comprises a field including an area to be completed corresponding to the name of the node to be searched for, this field being activated following the selection of a domain.
PCT/FR2000/002724 1999-10-04 2000-10-03 Method for searching a node in a containment tree of a system managing machines WO2001025960A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR99/12364 1999-10-04
FR9912364A FR2799290B1 (en) 1999-10-04 1999-10-04 METHOD FOR SEARCHING FOR A NODE IN A CONTENT TREE OF A MACHINE MANAGEMENT SYSTEM

Publications (1)

Publication Number Publication Date
WO2001025960A1 true WO2001025960A1 (en) 2001-04-12

Family

ID=9550555

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2000/002724 WO2001025960A1 (en) 1999-10-04 2000-10-03 Method for searching a node in a containment tree of a system managing machines

Country Status (2)

Country Link
FR (1) FR2799290B1 (en)
WO (1) WO2001025960A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997000567A1 (en) * 1995-06-16 1997-01-03 Telefonaktiebolaget Lm Ericsson (Publ) Arrangement and method relating to information managing systems
US5659736A (en) * 1993-11-29 1997-08-19 Mitsubishi Denki Kabushiki Kaisha Management information base and method in an OSI management system
US5864865A (en) * 1997-03-24 1999-01-26 Novell, Inc. Management information base listing viewer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659736A (en) * 1993-11-29 1997-08-19 Mitsubishi Denki Kabushiki Kaisha Management information base and method in an OSI management system
WO1997000567A1 (en) * 1995-06-16 1997-01-03 Telefonaktiebolaget Lm Ericsson (Publ) Arrangement and method relating to information managing systems
US5864865A (en) * 1997-03-24 1999-01-26 Novell, Inc. Management information base listing viewer

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BARR A., FEIGENBAUM E. A.: "The Handbook of Artificial Intelligence, Vol I", 1988, WILLIAM KAUFMANN, INC, LOS ALTOS, CALIFORNIA, USA, XP002143032, 68 *

Also Published As

Publication number Publication date
FR2799290A1 (en) 2001-04-06
FR2799290B1 (en) 2001-12-07

Similar Documents

Publication Publication Date Title
EP0593354B1 (en) Query optimisation method for a relational database management system
EP0593341B1 (en) Query optimisation help method of a relational database management system and resulting syntactic analysis method
EP0793171B1 (en) System for configuration of preconfigured software programs on networked open systems in a distributed environment and method to operate this system
FR2832236A1 (en) GRAPHIC INTERFACE OF SEMANTIC WEB PORTAL
FR2668271A1 (en) Interface for dynamic modelling of the performance of computer systems
FR2673734A1 (en) System for automatic generation of a program
EP1272944A1 (en) Search and selection aid system
FR2824929A1 (en) Operation of an application from a micro-chip card, in which priority parts of application contained in application description, are selected
US7478375B1 (en) Directed acyclic graph (DAG) exploration through separation of concerns
FR2826749A1 (en) Object oriented mark-up language editing method where tags are defined by function and result of function in one language and by argument in schema language
FR2807852A1 (en) Digital image index characterization processing forming image information set and second set generating spatial characteristics with following association process providing image/spatial index.
WO2001025960A1 (en) Method for searching a node in a containment tree of a system managing machines
FR2931272A1 (en) Export import method for e.g. software and system engineering formal data, involves transferring data exchange file towards computer to export data, and suppressing data in database and links and removing data in database to import data
EP1494116A1 (en) Method and system for graphical interfacing
WO2001038977A1 (en) Method for producing configuration files of objects contained in a computer system
FR2780530A1 (en) VISUALIZATION OF A NAVIGATION IN A CONTENT TREE
EP1009128A1 (en) Method to display object associations in a containment tree of a systems management application
FR2805908A1 (en) Method of manipulating objects included a Class Instance Tree (CIT) in a OPENMASTER Trade Mark system using Common Management Information Services (CMIS)
WO2009004231A2 (en) Information sorting method
EP1009127A1 (en) Method for creating, in a computer system, associations between objects of a containment tree of a management system of machines
WO2004056071A1 (en) Communication method between servers with data format conversion and device therefor
FR2810432A1 (en) Management system for networked computers includes use of configuration file with action to check coherence between file and physical resources
WO2000072510A1 (en) Method for accessing, in a computer system, objects of a containment tree
WO2000072511A1 (en) Method for handling, in a computer system, objects of a containment tree
FR2527808A1 (en) METHOD AND DEVICE FOR DOCUMENTATION IN A COMPUTER SYSTEM

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase