Kalua DML Examples - PowerPoint PPT Presentation

About This Presentation
Title:

Kalua DML Examples

Description:

description The MAC address of the SS, the service flow is created with /description ... Relationship is established when the condition is true ... – PowerPoint PPT presentation

Number of Views:22
Avg rating:3.0/5.0
Slides: 23
Provided by: lino7
Learn more at: https://www.ietf.org
Category:

less

Transcript and Presenter's Notes

Title: Kalua DML Examples


1
Kalua DML Examples
  • bernd.linowski_at_nsn.com
  • martin.storch_at_nsn.com
  • mikko.lahdensivu_at_nsn.com
  • mehmet.ersue_at_nsn.com

2
Example for agreed RCDML requirements
  • DHCP module in Kalua

3
DHCP example module header
  • ltkaluamodule name"DHCP" xmlnskalua"urnietfpa
    ramsxmlnskalua1" xmlnsxsi"http//www.w3.org/
    2001/XMLSchema-instance" xmlnsxsd"http//www.w3.
    org/2001/XMLSchema"gt
  • ltpresentationgtDHCPlt/presentationgt
  • ltdescriptiongtDHCP example, as in
    http//tools.ietf.org/html/draft-presuhn-rcdml-03
    appendix-Clt/descriptiongt
  • ltns-urigthttp//example.org/ns/dhcplt/ns-urigt
  • ltns-prefixgtdhcplt/ns-prefixgt
  • ltreleasegt1lt/releasegt
  • ltorganizationgtNokia Siemens Networkslt/organizatio
    ngt
  • ltimportgt
  • ltns-urigturnietfparamsxmlnsnetmodbaselt/ns-u
    rigt
  • ltns-prefixgtndllt/ns-prefixgt
  • lt/importgt
  • ltimportgt
  • ltns-urigthttp//example.com/ns/intlt/ns-urigt
  • ltns-prefixgtintlt/ns-prefixgt
  • ltdescriptiongtinterfaceslt/descriptiongt
  • lt/importgt

4
DHCP example classes
  • ltclass name"subnet"gt
  • ltattribute name"network"gt
  • lttypegtndlipAddresslt/typegt
  • lt/attributegt
  • ltattribute name"leases"gt
  • ltread-only/gt
  • ltsequence elementName"lease"gt
  • ltstructuregt
  • ltattribute name"ip_address"gt
  • ltdescriptiongtIP addresslt/descriptiongt
  • lttypegtndlipAddresslt/typegt
  • lt/attributegt
  • ltattribute name"starts"gt
  • lttypegtkaluadateTimelt/typegt
  • lt/attributegt
  • ...
  • ltkey scope"local"gt
  • ltmembergtip_addresslt/membergt
  • lt/keygt

5
DHCP example relationships
  • ltrelationship name"shared_network_subnets"gt
  • ltkindgt
  • ltcontainment/gt
  • lt/kindgt
  • ltsourcegt
  • ltclassgtshared_networklt/classgt
  • ltrolegtparentlt/rolegt
  • lt/sourcegt
  • lttargetgt
  • ltclassgtsubnetlt/classgt
  • ltrolegtchildrenlt/rolegt
  • lt/targetgt
  • lt/relationshipgt

6
Examples for extended RCDML requirements
  1. Typed extensions
  2. Calculated relationships
  3. Hierarchical data

7
Support for RCDML requirement 3.3.3. Modular
extension (Agreed)
  • Augmentation
  • Typed extension

Stakeholder e.g. IETF
Stakeholder e.g. IETF
Standardbase type
Standardbase type
augments
extends
extends
extends
Vendor-specifictype
Specialized subtype 2
Specialized subtype 3
Specialized subtype 1
Stakeholder vendor
Stakeholders IETF or vendor
extends
Further specialized subtype 3a
8
Extension mechanisms example
  • Augmentation
  • Typed extension

Stakeholder e.g. IETF
Stakeholder e.g. IETF
entPhysicalEntry
entPhysicalEntry
extends
extends
extends
Augmentation does not support mutually exclusive
subtypes
backplane
module
chassis
Stakeholders IETF or vendor
extends
ACMEchipset
9
NETCONF payload example
  • ltentityMIBgt
  • ltentPhysicalTablegt
  • ltentPhysicalEntrygt
  • ltentPhysicalIndexgt1lt/entPhysicalIndexgt
  • ltentPhysicalDescrgtAcme Chipset Nimbus
    2000lt/entPhysicalDescrgt
  • ltentPhysicalVendorTypegtacmeProducts.moduleTypes
    .1lt/entPhysicalVendorTypegt ltentPhysicalContaine
    dIngt0lt/entPhysicalContainedIngt
  • ltentPhysicalClassgtmodulelt/entPhysicalClassgt
  • ltentPhysicalParentRelPosgt0lt/entPhysicalParentRe
    lPosgt
  • ltentPhysicalNamegt100-Alt/entPhysicalNamegt
  • ltentPhysicalHardwareRevgtA(1.00.02)lt/entPhysical
    HardwareRevgt
  • ltentPhysicalAssetIDgt0007372293lt/entPhysicalAsse
    tIDgt
  • ltentPhysicalIsFRUgttruelt/entPhysicalIsFRUgt
  • lt! module specific attributes --gt
  • ltmoduleInstallationDategt11-10-2008T084300lt/mo
    duleInstallationDategt
  • lt!-- Acme chipset specific attributes --gt
  • ltacmemanufacturingDategt01-03-2005T102000lt/ac
    memanufacturingDategt
  • ltacmechipsetFabricIdgt1A34lt/acmechipsetFabricI
    dgt
  • ltacmeacmeHotSwitchoverCapabilitygttruelt/acmeac
    meHotSwitchoverCapabilitygt

10
Defining the base class in Kalua
  • ltclass name"entPhysicalEntry"gt
  • ltdescriptiongtInformation about a particular
    physical entity.lt/descriptiongt
  • ltattribute name"entPhysicalIndex"gt
  • ltdescriptiongtArbitrary value that uniquely
    identifies the physical entity.lt/descriptiongt
  • ltread-only/gt
  • ltsimple-typegt
  • ltrestrictiongt lttypegtkaluaintegerlt/typegt
  • ltminLength value"1"/gtltmaxLength
    value"2147483647"/gt lt/restrictiongt
  • lt/simple-typegt
  • lt/attributegt
  • ltattribute name"entPhysicalDescr"gt
  • ltdescriptiongtA textual description of physical
    entity. lt/descriptiongt
  • ltread-only/gt
  • lttypegtkaluastringlt/typegt
  • lt/attributegt
  • ltkey scope"global"gt
  • ltmembergtentPhysicalIndexlt/membergt
  • lt/keygt

11
Building an extended type in Kalua
  • ltclass namemodule"gt
  • ltsuper-classgtentPhysicalEntrylt/super-classgt
  • ltattribute name"moduleInstallationDate"gt
  • lttypegtkaluadateTimelt/typegt
  • lt/attributegt
  • lt/classgt

12
Building an extended type in Kalua
  • ltattribute-group name"ManufacturingDate"gt
  • ltattribute name"manufacturingDate"gt
  • lttypegtkaluadateTimelt/typegt
  • lt/attributegt
  • lt/attribute-groupgt
  • ltclass name"chipset"gt
  • ltsuper-classgtrfc2737modulelt/super-classgt
  • ltuse attribute-group"ManufacturingDate"/gt
  • ltattribute namechipsetFabricId"gt
  • lttypegtkaluastringlt/typegt
  • lt/attributegt
  • ltattribute nameacmeHotSwitchoverCapability"gt
  • lttypegtkaluabooleanlt/typegt
  • ltdefaultValueLiteralgtfalselt/defaultValueLiteral
    gt
  • lt/attributegt
  • lt/classgt

13
Type extensions in a nutshell
  • Typed extensions
  • mutually exclusive augmentations
  • augmentation of augmentations
  • ... applicable to any element type definition (!)
  • Base type need not be designed for extensibility

14
SMI example with human-readable relationships
  • wmanIfBsSsProvisionedForSfTable
    OBJECT-TYPE       SYNTAX      SEQUENCE OF
    WmanIfBsSsProvisionedForSfEntry      
    MAX-ACCESS  not-accessible       STATUS     
    current       DESCRIPTION           "This table
    maps the MAC addresses of SSs to the
    service            flows provisioned in
    wmanIfBsProvisionedSfTable."      
    REFERENCE           "Subclause 6.3.14 in IEEE
    Std 802.16-2004"       wmanIfBsPacketCs 2
    WmanIfBsSsProvisionedForSfEntry SEQUENCE
           wmanIfBsSsProvMacAddress               
    MacAddress,       wmanIfBsProvSfId              
               Unsigned32,       wmanIfBsSsProvision
    edForSfRowStatus     RowStatus
    wmanIfBsSsProvMacAddress OBJECT-TYPE      
    SYNTAX      MacAddress       MAX-ACCESS 
    not-accessible       STATUS      current      
    DESCRIPTION           "The MAC address of the
    SS, the service flow is created           
    with."       wmanIfBsSsProvisionedForSfEntr
    y 1

Source IEEE 802.16 2004 MAC and PHY MIB for
WirelessMAN
15
Kalua model withmachine-readable relationship
- target
- source
expression wmanIfBsSsProvMacAddress
wmanIfBsSsMacAddress
16
Definition of related classes
  • ltclass name"wmanIfBsSsProvisionedForSfEntry"gt
  • ltattribute name"wmanIfBsProvSfId"gt
  • ltdescriptiongtA 32 bit quantity that uniquely
    identifies a service flow. The value of this
    object can be used by BS to index the
    wmanBsProvisionedSfTablelt/descriptiongt
  • lttypegtkaluaintegerlt/typegt
  • lt/attributegt
  • ltattribute name"wmanIfBsSsProvMacAddress"gt
  • ltdescriptiongtThe MAC address of the SS, the
    service flow is created withlt/descriptiongt
  • lttypegtndlMacAddresslt/typegt
  • lt/attributegt
  • lt/classgt
  • ltclass name"wmanIfBsRegisteredSsEntry"gt
  • ltattribute name"wmanIfBsSsMacAddress"gt
  • lttypegtndlMacAddresslt/typegt
  • lt/attributegt
  • ltkey scope"global"gt
  • ltmembergtwmanIfBsSsMacAddresslt/membergt
  • lt/keygt
  • lt/classgt

17
Kalua a calculated relationship
  • ltrelationship name"wmanIfBsRegisteredSsEntryProvi
    sionedForSf"gt
  • ltkindgt
  • ltcalculatedgt
  • ltconditiongtsource/wmanIfBsSsProvMacAddress
  • target/wmanIfBsSsMacAddress
    lt/conditiongt
  • lt/calculatedgt
  • lt/kindgt
  • ltsourcegt
  • ltclassgtwmanIfBsSsProvisionedForSfEntrylt/classgt
  • ltrolegtwmanIfBsSsProvisionedServiceFlowlt/rolegt
  • ltmaxCardinalitygtunboundedlt/maxCardinalitygt
  • lt/sourcegt
  • lttargetgt
  • ltclassgtwmanIfBsRegisteredSsEntrylt/classgt
  • ltrolegtwmanIfBsRegisteredSslt/rolegt
  • ltmaxCardinalitygt1lt/maxCardinalitygt
  • lt/targetgt
  • lt/relationshipgt

18
Calculated relationships in Kalua
  • Query built into the model
  • Semantic link between elements, for navigation
  • Client dynamically evaluates the condition based
    on the data
  • Relationship is established when the condition is
    true
  • Does not impose any referential constraint (!)
  • Service flow can be provisioned even when
    subscriber has not subscribed yet
  • Non-intrusive
  • Can be added on top of existing data models

19
RCDML Hierarchical data
  • 3.5.6. Hierarchical Data The solution MUST
    support defining data in hierarchies of arbitrary
    depth. This enables closer modeling of data to
    real world relationships, such as containment.
    ltdevicegt ltshelfgt ltcardgt ltportgt
    ltsubPort/gt lt/portgt lt/cardgt
    lt/shelfgt lt/devicegt

20
Extended hierarchical data requirement
  • Elements with more than one parent type
  • Elements of the same type can appear in arbitrary
    levels of the NETCONF payload containment tree.
  • Example
  • Directory has two parents
  • FileSystem and
  • Directory

FileSystem
contains
Directory
contains
contains
File
21
Extended hierarchical data requirement
  • Elements with more than one parent type
  • Elements of the same type can appear in arbitrary
    levels of the NETCONF payload containment tree.
  • Example
  • entPhysicalEntry has two parents
  • entPhysicalTable and
  • entPhysicalEntry

entityMIB
contains
entPhysicalTable
contains
entPhysicalEntry
contains
22
Extended hierarchical data requirement
  • Benefits
  • Containment relationships need not be maintained
    explicitly
  • Pointer attribute entPhysicalContainedIn becomes
    obsolete
  • NETCONF has natural, built-in support for
    hierarchically structured data
  • Exploit the benefits of XML
  • NETCONF is based on XML, which allows arbitrarily
    deep nesting hierarchies of data
  • Without nesting, most SNMP MIB mappings to
    NETCONF would consist of three levels only
  • MIB level container elements
  • Table level one container for the table
  • Table entry level most of the data
Write a Comment
User Comments (0)
About PowerShow.com