Karina Marcus Institut Eurécom GDMO / CMIS / CMIP Karina Marcus Institut Eurécom
Le modèle OSI Cadre général Objectifs s'inscrit dans la partie 4 du modèle de référence OSI spécifie les procédures de gestion d'un réseau hétérogène définit le cadre architectural des normes de gestion OSI Objectifs "planifier, coordonner, organiser, contrôler et superviser les ressources utilisées dans les communications conformes au modèle OSI et rendre compte de leur utilisation" 23 23
Trois modèles Modèle organisationnel Modèle d’information Modèle fonctionnel 25 25
Le modèle organisationnel définit le cadre pour répartir la gestion s'appuie sur les concepts de "systèmes gérés" et de "systèmes gérants" (agents and management systems) le processus d'application de gestion distribuée (DMAP : Distributed management application process) est l'application qui contrôle et surveille les objets gérés. le processus agent (AP : Agent Process) permet la gestion locale. 26 26
Schéma d’organisation Système Système d'administration administré Processus Processus de agent Fonctions gestion D CMISE CMISE CMIP Objets gérés 27 27 27
Objets gérés Attributs Opération Notification Objet administré 28 28
Le modèle d’information Une approche objet un langage de description un langage d’échanges Des principes nommage enregistrement Des bibliothèques 30 30
Approche objets Objectif : Permettre de définir les objets administrés de manière standard cohérence des définitions cohérence avec l'environnement d'administration (CMIP et fonctions) répartition du travail 31 31
Modèle objet Le modèle définit : ce qu'est un objet de quoi il est composé ce qu'il peut faire ce qui peut lui être fait comment il est nommé dans le protocole comment il est relié aux autres objets 32 32
Description des objets Les attributs Les méthodes Les relations Les paquetages conditionnels L'arbre de contenance L'allomorphisme 33 33
Hierarchy tree example TOP Open System Layer Entity Connection Counter Address Peer T-address TPDU counter T-connection T-entity Hierarchy subtree
Hierarchy and contenance tree example TOP Open System Layer Entity Connection Counter Address Peer T-address TPDU counter T-connection T-entity Hierarchy subtree + Contenance
Name Levels root systemId=fuschia systemId=lotus T-entityId=TCP T-connectionId=1 T-connectionId=2 ... DN: systemId=fuschia@T-entityId=TCP@T-connectionId=1, LDN: T-entityId=TCP@T-connectionId=1, RDN: T-connectionId=1, DN and LDN are sequence of RDNs, MO instances can be referenced either as DNs or LDNs since their application is relative to a given association with a given agent.
GDMO: Guidelines for the Definition of MOs Templates for the definition of the interface to managed objects: Nature of managed objects in the MIT, inheritance relationships, features Structure of the MIT, Limited specification of behaviors Features of MOs are encapsulated into packages, one mandatory and eventually optional packages: Attributes with their ASN.1 syntax, access modes and matching rules, Actions with ASN.1 types for their action argument, reply and parameters, Notifications with ASN.1 types for event argument, reply and parameters. Name bindings: possible containment relationships between classes (superior, subordinate and a naming attribute), MIT and MOs are purely virtual management abstractions, there is no need for any corresponding actual representations.
Information Model All that is defined using the templates may be registered in the registration tree. Templates to specify Managed object class Package Parameter Behavior Notification Name binding Attribute Attribute group Action
The registration tree root (world) 1 2 ccitt iso joint-iso-ccitt 3 3 1 1 2 ccitt iso joint-iso-ccitt 3 3 1 2 std reg member org ms authority body 6 9 dod smi 1 1 N internet 1 part1 ... partN 2 3 4 directory mgmt experimental private 1 1 MIB-1 MIB-2 entreprises 11 1 2 reserved proteon ibm hp 42
Outil de description Les gabarits GDMO MANAGED OBJECT CLASS : définition d'une classe PACKAGE PARAMETER NAME BINDING ATTRIBUTE GROUP-ATTRIBUTE BEHAVIOUR ACTION NOTIFICATION 34 34
Managed Object Class Template <class> MANAGED OBJECT CLASS [DERIVED FROM <class> [,<class>]*;] [ALLOMORPHIC SET <class> [,<class>]*;] [CHARACTERIZED BY <package> [,<package>]*;] [CONDITIONAL PACKAGES <package> PRESENT IF <condition> [,<package> PRESENT IF <condition>]*;] [PARAMETERS <parameter> [,<parameter>]*;] REGISTERED AS <object-identifier>;
Package Template <package> PACKAGE [BEHAVIOUR DEFINITIONS <bahaviour-def> [,<behaviour-def>]*;] [ATTRIBUTES <attribute> propertylist [<parameter>]* [,<attribute> propertylist [<parameter>]*]*;] [ACTIONS <action> [<parameter>]* [,<action> [<parameter>]*]*;] [NOTIFICATIONS <notif> [<parameter>]* [,<notif> [<parameter>]* ]*;] [REGISTERED AS <object-identifier>];
Package Template Propertylist -> [REPLACE WITH DEFAULT] [DEFAULT VALUE <value-definition>] [INITIAL VALUE <value-definition>] [PERMITTED VALUES <value-set-syntax-label>] [REQUIRED VALUES <value-set-syntax-label>] [get-replace] [add-remove] get-replace -> GET | REPLACE | GET-REPLACE add-remove -> ADD | REMOVE | ADD-REMOVE
Example of a class exampleObjectClass MANAGED OBJECT CLASS DERIVED FROM "Rec. X.721 | ISO/IEC 10165-2 : 1992" : top; CHARACTERIZED BY examplePackage1 PACKAGE; examplePackage2 CONDITIONAL PACKAGE ACTIONS qOSResetAction; NOTIFICATION communicationError ; REGISTRED AS {joint-iso-ccitt ms(9) smi(3) part4(4) package(4) examplepack1(0)}; PRESENT IF !conformance class 2 of underlying ressource implemented as descriptor in ISO/IEC xxxx! ; REGISTRED AS {joint-iso-ccitt ms(9) smi(3) part4(4) managedObjectClass(3) exampleclass(0)} ; 38
Example : system object system MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY systemPackage PACKAGE ATTRIBUTES systemId GET, systemTitle GET, operationalState GET, usageState GET, administrativeState GET-REPLACE;;; CONDITIONAL PACKAGES administrativeStatePackage PACKAGE ATTRIBUTES administratoveState GET-REPLACE; REGISTERED AS {smi2Package14}; PRESENT IF "an instance supports it", ....
The object TOP top MANAGED OBJECT CLASS CHARACTERIZED BY topPackage PACKAGE BEHAVIOUR topBehaviour; ObjectClass GET, nameBinding GET;;; CONDITIONAL PACKAGES packagesPackage PACKAGE ATTRIBUTES packages GET; REGISTERED AS {smi2Package 16}; PRESENT IF "any REGISTERED package, other than this package has been instancied", allomorphicPackage PACKAGE ATTRIBUTES allomorphs GET; REGISTERED AS {Smi2Package 17}; PRESENT IF "if an object supports allomorphism"; REGISTERED AS {smi2MObjectClass 14}; topBehaviour BEHAVIOUR DEFINED AS "This is the top level of managed object class hierarchy and every other managed objet class is a specialization of either this generic class (top) or a specialization of a subclass of top..." 44 59
Attribute Template <attribute> ATTRIBUTE derived-or-with-syntax-choice; [MATCHES FOR qualifier [, qualifier]*;] [BEHAVIOUR <behaviour-definition> [, <behaviour-definition>]*] [PARAMETERS <parameter> [,<parameter>]*;] [REGISTERED AS <object-identifier>]; qualifier -> EQUALITY | ORDERING | SUBSTRINGS | SET COMPARISON | SET INTERSECTION derived-or-with-syntax-choice -> DERIVED FROM <attribute> | WITH ATTRIBUTE SYNTAX <syntax>
Attribute definition example eventTime ATTRIBUTE WITH ATTRIBUTE SYNTAXE AttributeASN1Module.EventTime; MATCHES FOR EQUALITY, ORDERING; BEHAVIOUR timeOrdering; REGISTERED AS {smi2AttributeID 13}; timeOrdering BEHAVIOUR DEFINED AS “The year, month, day, hour, minute, and seconds fields are compared in order to determine whether the specified value is greater or less than the value of the attribute. The values for the year, month, day, hour, minute, and seconds are determined from the character string representation and the year value is first compared. If equal, the month value is compared and this process is continues if the compared fields are equal. ”
Managed Object Naming T-entityId=TCP T-connectionId=1 T-connectionId=n Locating MOs in the MIT, Supported by the name binding template establishing a containment relationship between a superior MOC and a subordinate MOC according to a naming attribute of the subordinate class, Example transportConnection-nb-1 NAME BINDING SUBORDINATE OBJECT CLASS T-connection; NAMED BY SUPERIOR OBJECT CLASS T-entity; WITH ATTRIBUTE T-connectionId; DELETE deletes-contained-objects; T-entityId=TCP T-connectionId=1 T-connectionId=n ...
Name Binding Template <name-binding> NAME BINDING SUBORDINATE OBJECT CLASS <class>; NAMED BY SUPERIOR OBJECT CLASS <class>; WITH ATTRIBUTE <attribute>; [BEHAVIOUR <behaviour-definition> [<behaviour-definition>]*;] [CREATE [create-modifier [,create-modifier]] [<parameter>]*;] [DELETE delete-modifier [<parameter>]*;] REGISTERED AS <object-identifier> create-modifier -> WITH-REFERENCE-OBJECT | WITH-AUTOMATIC-INSTANCE-NAMING delete-modifier -> ONLY-IF-NO-CONTAINED-OBJECTS | DELETE-CONTAINED-OBJECTS
CMIS Services vs GDMO CMIS services enable access/manipulation of the MIT, GDMO specifications give the rules to define adequate CMIS parameters, Name Bindings and naming attribute give the object instance names for MOs, ASN.1 attribute types, action / event argument / reply / parameters types are given by the corresponding GDMO specifications, Attribute matching rules determine the possible filters
CMISE/CMIP Les services de CMISE Interactions avec les interfaces des objets (lecture, écriture, creation, destruction d’instances, ...) Utilisation des principes de nommage Sélection d’objets multiples Actions multiples (atomicité)
Sélection d’objets multiples -1 -2 -3 Filtering (valeurs d’attributs) Scoping
Multiple Object Selection and Multiple Replies Multiple object selection = scoping + filtering scoping: baseObject=3 wholeSubTree: 3,6,7,8,9,10,11, nthLevel e.g. 1stLevel: 6,7, baseToNthLevel e.g. baseTo1stLevel: 3,6,7. Filtering: logical expression on MO attribute values (numerical or string based comparisons) grouped through AND/OR/NOT logical operators, This results as a subset of MIT MOs on which is executed the CMIS request (m-get, m-set, m-action, m-delete) and incurring several replies, Multiple replies may also simply occur through action incurring several replies 11 1 2 3 4 5 6 7 8 9 10
Services CMIP Opération/notification Service Mode Get attribute value M-GET confirmé M-CANCEL-GET confirmé Replace attribute value Replace with default value Add member M-SET conf/non-conf Remove member Create M-CREATE confirmé Delete M-DELETE confirmé Action M-ACTION conf/non-conf Notification M-EVENT-REPORT conf/non-conf
Exemple : M_CREATE Paramètres spécifiques Service superior object instance reference object instance Service nommage : c'est-à-dire définir le GDN (Global Distinguished Name) --> choisir le supérieur dans l'arbre de nommage choisir le RDN (Relative Distinguished Name) M-CREATE utilise 3 paramètres spécifiques : - MOC (Managed object Class) - sa classe - MOI (Managed Object Instance) - son GDN - SOI (Superior Object Instance) - le GDN du supérieur Le gestionnaire a trois possibilités : il peut envoyer MOC et MOI, MOC et SOI ou MOC Dans tous les cas, l'agent renverra MOC et MOI
Exemple : M_CREATE services (suite) Valorisation des attributs Par ordre de priorité : liste d'attributs envoyés valeurs de l'objet de référence valeurs par défaut de la classe
Quelques liens ... Rechercher GDMO avec Google J ’ai noté pour vous : GDMO - a searchMiddleware definition - see also: Guidelines ... ... GDMO, GDMO (Guidelines for Definition of Managed Objects) is a standard for defining objects in a network in a consistent way. With a consistent "language" for ... www.searchmiddleware.com/sDefinition/0,,sid26_gci213981,00.html - Solstice GDMO Builder 1.0 ... Solstice TM GDMO Builder 1.0. ... Solstice GDMO Builder Home | Management Home | software site map, Solstice GDMO Builder : Overview. ... www.sun.com/software/gdmo/ - 16k - Cached - Similar pages A Methodology for Formalizing GDMO Behavior Descriptions - ... A Methodology for Formalizing GDMO Behavior Descriptions (1999) (Correct) (1 citation) P. Hasselmeyer Information Technology Transfer Office Darmstadt ... citeseer.nj.nec.com/hasselmeyer99methodology.html - 18k - Cached - Similar pages etc…..