[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference azur::mcc

Title:DECmcc user notes file. Does not replace IPMT.
Notice:Use IPMT for problems. Newsletter location in note 6187
Moderator:TAEC::BEROUD
Created:Mon Aug 21 1989
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:6497
Total number of notes:27359

622.0. "Distribution of MIR ?" by STKAI1::WAHLLOF () Tue Jan 15 1991 14:03

The Swedish PTT evaluates a cople of Network Management conceps right now.
Of course EMA is one of them!
They have asked us if it's possible to distribute the MIR and what kind of 
databases EMA/DECmcc will support in the near future.
I have red the index in the EMA SRM manual but can't find any information.
Does anybody knows where i can find information or who i might ask.

Regards 

Ulf W
                             
T.RTitleUserPersonal
Name
DateLines
622.1How DECmcc implements the MIRTOOK::STRUTTColin StruttWed Jan 16 1991 01:3048
    The SRM does not, as you have astutely noticed, define the storage
    details for the MIR. This permits implementations to vary in their
    details.
    
    However, the reason for describing the four "categories" of data in
    the MIR was to allow for different implementations of each, taking into
    account their different requirements. DECmcc makes use of the different
    characteristics for each of the categories in the storage mechanisms
    chosen.
    
    For the class data, this needs to be ubiquitous (ie. available
    everywhere) and is used a lot by many management modules, so the access
    requirements dictate rapid access. Hence we chose to replicate the
    class data on every system running DECmcc, and store it in a series
    of closely linked files (for example, one contains the dictionary
    meta-data, and another the dictionary data itself). On VMS, these are
    stored in RMS files.
    
    For the instance data, this needs to be defined across the network,
    changed infrequently (typically when new systems or devices are added to
    the network) but available universally. We chose to use DECdns as the
    storage mechanism for DECmcc's instance data.
    
    For the historical data, this is (currently) defined as being stored
    on a per-domain basis. Hence, in VMS RMS flat files are employed for
    the historical data; however, on Ultrix, SQL access will be used.
    Obviously, the historian's export function will put the data in Rdb.
    [Also, as the historical data is structured according to the Entity
    Model it is a prime candidate for using an object oriented database
    in the future. In addition, we might consider deploying an appropriate
    distributed database technology - currently you need to be on the
    same system where the domain's data is stored to get at the historical
    data.]
    
    For the miscellaneous data, that is clearly defined according to the
    specific needs of the module that needs it.  Currently, standard
    files (such as RMS on VMS) seem to be commonly used.
    
    
    So.....when you ask "is it possible to distribute the MIR", there is no
    simple answer. The MIR is really a conceptual repository, as opposed to
    a single database - each of it's components is subject to different
    storage/access requirements, and is hence implemented differently.
    We already, in DECmcc v1.0, support distributed data in the sense that
    we use DECdns.  In future versions, you should expect that we will
    "get better" features that address distributed data in DECmcc.
    
    Colin
622.2TOOK::SWISTJim Swist LKG2-2/T2 DTN 226-7102Wed Jan 16 1991 11:173
    The MCC/Ultrix historical data MIR uses Ultrix/SQL which can be
    distributed.  In fact, multiple hosts can all share a single database
    if desired.
622.3How do we write portable code if MIR is implementation dependant?GRANE::HEINTZETue Apr 02 1991 22:0326
re .1

I'm confused:  I thought the goal of MCC was to allow us to write portable code.
How can we write portable code if the MCC is implemented differently on each
platform?

We need to support the following platforms:  alpha, VAX/VMS, ULTRIX/VAX, OSF,
UTRLIX/MIPS.

I need to understand the following in a portable manor:

  (1)  How to implement indexed (ISAM files).  Do we need to write our
       own B-trees using fseek()?

  (2)  How to implement concurency control?  Do we need to do this too
       using locks?

  (3)  How to store objects in the MIR.  I understand how to store
       relations (in the relational database sense) or records (in the
       context of a hierarchical database) but I don't understand
       how to store objects that include methods.

Where can I find documentation on the implementation of the MIR on the
above platforms?

                       Sieg
622.4a startTOOK::CALLANDERWed Apr 03 1991 10:5912
    I will leave most of this to Jim Swist, but what you should know
    is that the mcc ultrix platform (not currently available outside the
    development group) will have the same set of MIR routines, with
    the difference in their implementation hidden from the user of the
    routines. Under ultrix we are using ingris (sp?). As to locks you are
    not the first to ask for them. There is currently a proposal for an
    ECO being written that will make the locking routines within the kernel
    available as callable routines.
    
    hope this helps
    Jim can you add more?
    
622.5Implementation dependent != Platform dependentTOOK::GUERTINI do this for a living -- reallyWed Apr 03 1991 12:1537
    RE:.3
    
    We're veering off the subject of this note a bit, but the answer to
    most of your questions is to use the mcc_mir_... routines (read the
    SRM).  
    
    The MIR actually consists of three separate interfaces.  It is an
    architectural concept which encompasses all stored data that MCC knows
    about.  The three interfaces are the Dictionary routines, which define
    Class data, the MCC DNS routines which define network-wide Instance
    (and some attribute) data, and the mcc_mir_... routines which currently
    only define local data, and historical attribute data (and some
    instance data).
    
    These routines are intended to make the data storage mechanism / IO
    subsystem platform independent -- ie. hidden from the caller.  They are
    more restrictive than a relational database, because you cannot declare
    transactions, commits, rollbacks explicitly.  And they are NOT a true
    object-oriented database (no inheritance, for example).  If your data
    storage requirements are simple, then chances are you can use the
    mcc_mir_... routines, if they are complex, you may need to write your
    own routines.  Writing your own routines is an acceptable solution if
    you have complex data storage requirements.  But as you mentioned, you
    have to make sure that YOU implement thread synchronization, and ASTs
    are a no-no, which can be tough when trying to use software which does
    IO (typically locks and semaphores are used).  I believe all this is
    discussed in the SRM.
    
    I believe we plan to support all of the platforms you have mentioned.
    
    What it boils down to is this: The MIR may be implemented differently
    on different platforms, but the interface into the routines are
    platform independent.  If this does not make sense to you, you should
    discuss this with the CMA folks.  Maybe they can explain it better than
    I can.
    
    -Matt.