integration of snmp into a corba- and web-based management

12
Integration of SNMP into a CORBA- and Web-based Management Environment Gerd Aschemann Thomas Mohr Mechthild Ruppert Department of Computer Science, Darmstadt University of Technology, Germany {aschemann,mohr,ruppert}@informatik.tu-darmstadt.de Abstract. The management of networks, distributed systems, and distributed ap- plications is an important and growing field in computer science. Besides the clas- sical architectures like SNMP and OSI management, the introduction of new tech- nologies such as the World Wide Webwith Java and the availability of standard middleware architectures like CORBA have brought up new challenges. Future developments in the management domain will probably be at least Web-based. However, in any case they should be “integrated”. We present some ideas to integrate both Web-based and CORBA-based techniques into management platforms and discuss new strategies for the integration of the emerging approaches and the classical architectures. We also describe our im- plementation of an SNMP-CORBA gateway which covers the translation of the information model as well as the communication model. We have extended our System Configuration Tool (SCOT) by a full CORBA interface. Its Web interface has been extended by a generic generator for HTML pages with integrated, and appropriately parameterised applets, which allow to access the SCOT repository as well as other CORBA-based management entities, such as our CORBA-SNMP gateway. Keywords: CORBA, integrated management, network management, SNMP, Web- based management. 1 Introduction The management of distributed systems and applications stems from network manage- ment, either the management of Wide Area Networks (WAN), which are classically cov- ered by the Open Systems Interconnection (OSI) standards of the International Organ- isation for Standardisation (ISO), or Local Area Network (LAN) management, which is typically associated with the term Internet Management or SNMP (despite the fact that the Internet was a WAN from its first days). With the upcoming of distributed sys- tems and distributed applications, new technologies arose, such as the World Wide Web (WWW) or shortly Web, and standardised middleware architectures like the Distributed Computing Environment (DCE) or CORBA. These new technologies are a challenge to the world of classical management since they proclaim to make a user’s life easier (Web) or provide more general approaches (middleware) than specific solutions. Even in the field of distributed applications the question arises, why the distributed systems should be maintained with a separate protocol like SNMP instead of using the same middleware that is used for realizing the application. Nevertheless, the old world still exists besides the new world, and technologies for integration are required.

Upload: halien

Post on 22-Jan-2017

227 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Integration of SNMP into a CORBA- and Web-based Management

Integration of SNMP into a CORBA-and Web-basedManagementEnvir onment

GerdAschemann ThomasMohr MechthildRuppert

Departmentof ComputerScience,DarmstadtUniversityof Technology, Germany{aschemann,mohr,ruppert}@informati k.tu- darmst adt.d e

Abstract. Themanagementof networks,distributedsystems,anddistributedap-plicationsisanimportantandgrowing field in computerscience.Besidestheclas-sicalarchitectureslikeSNMPandOSImanagement,theintroductionof new tech-nologiessuchastheWorld Wide Webwith Java andtheavailability of standardmiddleware architectureslike CORBA have broughtup new challenges.Futuredevelopmentsin the managementdomainwill probablybe at leastWeb-based.However, in any casethey shouldbe“integrated”.Wepresentsomeideasto integratebothWeb-basedandCORBA-basedtechniquesinto managementplatformsanddiscussnew strategiesfor the integrationof theemerging approachesand the classicalarchitectures.We also describeour im-plementationof an SNMP-CORBA gateway which coversthe translationof theinformationmodelaswell asthecommunicationmodel.We have extendedourSystemConfigurationTool (SCOT) by a full CORBA interface.Its Webinterfacehasbeenextendedby a genericgeneratorfor HTML pageswith integrated,andappropriatelyparameterisedapplets,which allow to accesstheSCOT repositoryaswell asotherCORBA-basedmanagemententities,suchasour CORBA-SNMPgateway.

Keywords: CORBA, integratedmanagement,network management,SNMP, Web-basedmanagement.

1 Intr oduction

Themanagementof distributedsystemsandapplicationsstemsfrom network manage-ment,eitherthemanagementof WideAreaNetworks(WAN), whichareclassicallycov-eredby theOpenSystemsInterconnection(OSI) standardsof theInternationalOrgan-isationfor Standardisation(ISO), or Local Area Network (LAN) management,whichis typically associatedwith the term InternetManagementor SNMP (despitethe factthattheInternetwasa WAN from its first days).With theupcomingof distributedsys-temsanddistributedapplications,new technologiesarose,suchastheWorld WideWeb(WWW) or shortlyWeb,andstandardisedmiddlewarearchitecturesliketheDistributedComputingEnvironment(DCE) or CORBA. Thesenew technologiesarea challengetothe world of classicalmanagementsince they proclaim to make a user’s life easier(Web)or provide moregeneralapproaches(middleware)thanspecificsolutions.Evenin thefield of distributedapplicationsthequestionarises,why thedistributedsystemsshouldbe maintainedwith a separateprotocol like SNMP insteadof using the samemiddlewarethat is usedfor realizingthe application.Nevertheless,the old world stillexistsbesidesthenew world, andtechnologiesfor integrationarerequired.

Page 2: Integration of SNMP into a CORBA- and Web-based Management

In the future,platformsfor themanagementof networks,distributedsystems,anddistributedapplicationsmayhave a moreopenarchitectureandmayprovide a frame-work for differentcomponents,like resources,userinterfaces,datastorages,manage-mentservicesandintegrationgateways.For themorecomplex interactionsa standardmiddlewarelikeCORBA maybeused.But for thesimplerinteractionssimplertechnolo-giesmustbe provided.On the onehandthesesimpler technologiesaremanagementprotocols,like SNMP, for the managementof network elementsandsimpleservices.SNMP is well establishedand it is a must to integrateit into any new platform ap-proach.Ontheotherhand,theWebwith HTML/HTTP providesawell establisheduserinterfacefor distributedsystemsandcannotbe ignored.It is well suitedfor moreorlessstatic information like the inventorydatabaseof a distributedsystemor the ad-ministrative statein theconfigurationrepository. However, this technologyreachesitsborderswhenhighly dynamicapplicationsmustbeimplemented,e.g.,onlinemonitor-ing of real resources,or real time manipulationof network elements.This cannotbeachievedin asuitablewayby staticHTML pagesor thetypical interactioninterfacesoftheWeb,i.e.,CGI scriptsandapplications.Hereit is thepurposeof theplatformto en-ablethedevelopmentof integratingapplicationsbaseduponorthogonalinterfacesandservicesembeddedinto a middleware.With the upcomingintegrationof CORBA intostandardWeb browsers,the “static” HTML pagescanbe easilyextendedto dynamicapplications,sinceJava asan applicationlanguagewithin Web browsersis alsowellestablished.Theseapplicationsmay run with only little modificationsasmanagementuserinterfaces.However, Java enabledmanagementapplicationswill not completelyreplaceHTML pages,dueto their simplicity andthebroadavailability of this technol-ogy. We believe thattherewill not bethe“one andonly” technologyfor anapplicationdomainlikedistributedmanagement,asotherexamplesin thepasthaveshown.

We enhancesuchanapproachby implementinga gateway to administrateSNMP-manageablesystemsthroughCORBA-managersandproposeanopenenvironmentforCORBA-basedmanagementwith anintegratedWebinterfacefor simpleaccess.Figure1 sketchessomecomponentsof suchaplatform.Thesolidlinedcomponentsarealreadyimplemented,while the dottedcomponentsaresubjectto concurrentandfuture work(seeSect.5).

Real

Resources

Applications

Management

Management

ServicesGateway

CORBA/SNMP

SCOT

Repository

CORBA (with CORBA Services)

User

Interface(s)HTTP HTTP

SNMP

Fig.1. Openintegratedmanagementplatform

Page 3: Integration of SNMP into a CORBA- and Web-based Management

Structur eof the paper

We startwith a descriptionof our MIB compiler in section2 andof our gateway insection3. Both sectionsgive a shortintroductionto anda comparisonof theappropri-atemodelsin SNMP andCORBA (informationandcommunicationmodel).Thentheapproachto translateoneinto theotheris described.We show anexampleandgive anoverview of relatedwork.Section4 introducesourapproachto Web-basedmanagementandtheintegrationof thegateway. ThelastSect.(5) outlinesfuturework andpresentsa conclusion.

2 Inf ormation Modelsand the MIB Compiler

An integrationof SNMP into a CORBA-basedmanagementenvironmentrequirestwotranslations:a transformationof the information model and a transformationof thecommunicationmodel.Our MIB compilerprovidesa facility to automaticallygeneratea CORBA IDL specificationfrom a givenSNMPMIB.

2.1 SNMP Inf ormation Model

In SNMP the managementinformationmodel is describedusinga subsetof the Ab-stractSyntaxNotationOne(ASN.1). A genericdocumentdeterminesthe structureofmanagementinformation[19], [23], a so-calledManagementInformationBase(MIB).A MIB is a formalview of themanagedobjects(MOs)whichallow to managenetworkelements(NEs)asreal resources.Thedescriptionis datatypeorientedandgivesa hi-erarchicalview on a network elementby groupingits objectsor collectionsof objectsastables.SNMPallows thedefinitionof trapsandnotificationsasmessageswhich arespontaneouslysentfrom an NE (i.e., its managementsoftware,the agent)or anothermanagerto themanagerto communicateerrorsor exceptionalbehaviour of anobject.

Many macrosandMIBs aredefinedby theInternetEngineeringTaskForce(IETF)working groups,softwareandhardwarevendors,researchinstitutesor otherorganisa-tions. All MIBs anddefinedhierarchicalstructuresareembeddedin the ISO namingtree [22]. The treeallows to addressa particularobjectby its path throughthe tree,givenby numbers.This pathin its numericform is calledObjectIdentification(OID).

2.2 CORBA Interface Descriptions

TheCORBA informationmodel,thoughnot explicitly namedby this term,allows for aclass-baseddescriptionof dataobjects,i.e., their interfaceswith attributesandmethodsaregiven in a completelyobject-orientedmanner. The so-calledInterfaceDescriptionLanguage(IDL) hasa syntaxwhich is stronglyrelatedto C++. A hierarchicalnamingandscopingof definitionsis providedby nestedmodules.

A CORBA IDL definition is usuallytranslatedinto (static)stubsandskeletonsof aprogramminglanguageby anIDL compiler. During translationa uniqueandstandard-isedidentification(type identifier) is generatedandassignedto the CORBA interfacesandtypes.This identifieris usuallyobtainedfrom acertainprefix,apathdescriptionofnestedmodulesandinterfaces,anda versionnumber. Optionally, all of thesepartscanbeprovidedby theinterfacedesigner(pragma -keyword,seebelow). Togetherwith aninterfacerepository(IR) theseuniqueidentifiersallow for dynamiccallsof operations(seeSect.3.2).

Page 4: Integration of SNMP into a CORBA- and Web-based Management

2.3 Translation of MIBs into IDL

To translateSNMP MIBs to CORBA IDLs, we have implementeda compiler [20]which hasto copewith several aspects.We do not describeall detailsof the trans-formation,but only sketch the most importantfeatures.Like any other compilerourtranslatorhasto copewith issueslike differentidentifiers,accessrights,import/exportof identifiers,scopingrules,etc.However, wehave to handlesomespecialcases:

– SNMPmacrosarehard-codedin thecompiler, sincethey only definesyntacticandsemanticstructure,andanalysisof theMIB andcannotbeextended.

– In general,SNMPobjectdefinitionsaretranslatedto CORBA interfaces.We haveto distinguishthreecases.If theentity is simply anSNMPvariable,thegeneratedinterfacegetsanattributeof theappropriatetype.If theobjectbelongsto a group(a SEQUENCEof SNMP objects),the groupbecomesan interfaceandthe mem-bersbecomeattributes,just asif they wereordinarySNMPvariables.If theobjectbelongsto a table,the tablecontainsonespecialentryobjectwhich hasthesamestructureasa groupandis translatedlikea group.Additionally, IDL ID-pragmasaregeneratedby concatenatingthesinglenumbersof theSNMPOID to allow for theeasymappingof CORBA objectsto SNMPObjectIDs andvice-versawithin thegateway.

– Sinceit is only possibleto definea few restrictionson typesandrangesin IDL,e.g.,themaximumnumberof elementswithin asequence,wehaveto dropmostofthis information.

– In ordertousetrapsandnotificationsof SNMP, wehavedefinedappropriategenericIDL interfaces.Theinterfacesprovidepushandpull operationssimilar to theCOR-BA EventService[13]. However, themethodshavecommonSNMPspecificparam-eters(e.g.,communityname,trap type,time ticks) anda genericparameterof theIDL-type any which holdstrap-specificinformation.

– Parts of MIBs which cannotbe mappedto IDL are insertedas comments,e.g.,objectdescriptionsor accessrightsotherthanreadonly.

Figure2 showssomecapabilitiesof theMIB compiler.

2.4 RelatedWork

TheJoint Inter DomainManagement(JIDM) working groupof theOpenGroup(for-merly X/Open) hasworked out a specificationfor the translationof the informationmodelsof SNMP andOSI/TMN managementto CORBA [18]. We picked up someideasfrom this work but alsomadesomedifferentdesigndecisions.In mostcaseswedroppedspecificationsfrom the JIDM design,sincewe found themoverdonefor thistool, e.g.,mappingof all ASN.1 typesto CORBA (oneshouldkeepin mind thatJIDMtriesto cover bothSNMPandOSI management),or mappingof complex SNMPcon-stantsto an operation(which mustbe implementedsomehow). Oneimportantaspectis thatwe generatepragmaIDs for SNMPOIDs to supportdynamicaccessto SNMPvariablesthroughthegateway. Someimplementationsof theJIDM proposalexist, e.g.,[7] [11].

Besidesthe JIDM approachthereexist several tools to translateASN.1 to otherlanguages.Oneof themis the SampleNeufeldASN.1 to C/C++ Compiler(SNACC,[6]) andits derivatives,e.g.,for Java [9].

Page 5: Integration of SNMP into a CORBA- and Web-based Management

... printable ASCII characters."

readonly attribute

"A textual description ... DESCRIPTION: /* STATUS: mandatory#pragma ID sysDescr "1.3.6.1.2.1.1.1" DisplayString__Type sysDescr;

#pragma ID system "1.3.6.1.2.1.1" interface system {

#include "SNMPTypes.idl"

module RFC1213_MIB {#pragma prefix "SNMP:"

typedef OctetString DisplayString__Type;

...

b) IDL code generated from MIB-II

... printable ASCII characters." ::= { system 1 }...

RFC1213-MIB DEFINITIONS ::= BEGIN

a) Fragment of MIB-II

IMPORTS mgmt, ... FROM RFC1155-SMI... DisplayString ::= OCTET STRING... system OBJECT IDENTIFIER ::= { mib-2 1 }... sysDescr OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "A textual description ...

Gro

up

Fig.2. Translationof SNMPMIB to CORBA IDL

3 Gateway

After describingthe“specificationtranslation”of aCORBA to SNMPgateway, wenowdiscussthe“interactiontranslation”.

3.1 Communicationsin SNMP

In orderto makeSNMPcommunicationsefficient,it wasoriginally built usingtheUserDatagramProtocol(UDP) of theTCP/IPfamily. Sothemaincharacterof SNMPcom-municationsis that of an unreliable,asynchronous,messagebasedprotocol. SNMPknowsbasicallyfivemessagetypes:setrequest,getrequest,getnext request,response,andtrap.Besidessomegeneralinformationlike the SNMP versionnumber, messagetype,requestid, andauthorisationinformation,eachmessagecontainsa list of name-valuepairs,a so-calledvariablebinding list. The namesarethe OIDs of SNMP vari-ables,thevaluesoccuronly in setrequestsandin getandgetnext responses.Getnextrequestsareusedto traversethevariablesin theorderof theOID tree,especiallyin thecaseof tables,wherethe OID of the next variableis not a priori known. The defini-tion of SNMPv2additionallyintroducedbulk transfers[24] to minimisethenumberofprotocolmessagesif, e.g.,all valuesof a tablemustbetransferred.

3.2 Communicationsin CORBA

While in SNMP there are strongerfacilities to define data types,especiallyto re-strict them,in CORBA communicationsaremuchmorecomplex. Besidesasynchronous(unreliable),synchronous,anddeferredsynchronous(both reliable)communications,CORBA hasto copewith many otheraspects,e.g.,encodingof operationcalls,or dif-ferentparametersemantics.

However, the CORBA standard[16] proposessomefacilities that areparticularlyuseful in a bridging applicationlike our gateway. The definition of the Dynamic In-vocationInterface(DII) allows for a client to build up a requestduring runtime by

Page 6: Integration of SNMP into a CORBA- and Web-based Management

manuallypackingtherequestmessageasanobject,containingthereferenceof theob-ject to be called,the nameof the operation,and its parameters.The genericmethodinvoke of therequestobjectreturnswith theresultsof thecalledoperationwhichcanbe unpacked by the client. The dynamicskeletoninterface(DSI) allows the sameontheserverside,theso-called“servant” [21]. With theDSI, objectdispatchingis still leftto theCORBA objectadapter(OA), but operationdispatchingis providedby theobjectitself. Theobjectimplementsa methodinvoke which is calledby theobjectadapterwith passinga requestobjectasa parameter.

As partof theDII specification,so-calledContext objectswereintroduced.Contextobjectsarealist of properties(name+ stringvaluepairs)whichallow to passadditionalinformationwith therequestto theservant,e.g.,abouttheclientenvironment.They canbe seenas dynamic(named)parametersto the servant method,sincenormally onlystaticparametersdefinedin theIDL specificationarepossible.

3.3 Mapping of CORBA Calls to SNMP Requests

Our gateway [12] is currently implementedby five different processes,as shown inFig. 3. Sincewe mainly hadthe integrationof SNMP into CORBA in mind, the mainaccesspoint for CORBA applicationsis the CORBA Half-bridge(CB). Callson SNMPobjectsareperformedthroughtheCORBA DII andDSI.Besidestherequestparameters,encodedin arequestobject,acontext objectholdstheSNMPagentspecificinformation(agentcontext), i.e.,host,port number, communitystringetc.

Incomingrequestsarepassedto theSNMPHalf-bridge(SB)aftermappingtheIDLattribute to the correspondingSNMP variableby extractingthe SNMP OID from theCORBA IR. Additionalparametersfor this requestaretheunchangedagentcontext anda newly obtainedSNMPrequestcontext object(invocationcontext) from theGatewayInformationCentre(GIC). This invocationcontext is laterusedto associatetheSNMPresponseto theCORBA request.It mayalsobeusedto associateerrorsfor thisparticularSNMPrequestdetectedby theTrapDaemon(TD), e.g.,authenticationerrors.

TheSBactsasanSNMPentity in managerroleandis responsiblefor encodinganddecodingof SNMPmessages,i.e., conversionfrom andto CORBA requests,andcom-municationwith SNMPagents.If a requestrefersto anSNMPtable,SBautonomouslyperformsa numberof get next requests(or get bulk in SNMPv2)to traversethe tableandreturnsthewholetableat onceto thecaller(by passingit throughtheCB).

The gateway works asa protocolconverteranddoesnot manageany informationaboutpotentialcommunicationpartners,i.e.,SNMPagents.To storeandprovide suchinformation is the duty of a gateway user, who may delegatethis task to a particularserviceor repository, e.g.,ourSCOT repository(Sect.4).

It is easilypossibleto extendthe gateway by additionalSNMP MIBs, by simplyloadingtheminto the CORBA IR. No recompilationor even restartof the gateway isnecessary. The gateway cancopewith differentSNMP versionsin a transparentwayfor the client. In its multi threadedversion,the gateway enablesconcurrentrequestsfrom CORBA managersto SNMPmanagedobjects.

Page 7: Integration of SNMP into a CORBA- and Web-based Management

Interface

Repository

GatewayInformation

Center

Agent(s)SNMP

Manager(s)based

CORBA

SNMP

Mgr.(s)SNMP

(CB)HalfbridgeCORBA-

HalfbridgeSNMP-

(SB)

(IR)

(GIC)

Event Service

(ES)Trap Daemon

(TD)

Fig.3. Componentsof thegateway

3.4 Mapping of SNMP Traps

TheTD receivesany trapornotificationsentbyanSNMPagent.If themessagecontainsanSNMPv2inform notification,it sendsanappropriateconfirmationto theoriginator.Thenit forwardsthemessageto theEventService(ES).TheESunpacksthemessageandconstructsanappropriateCORBA objectwith thetraptypeinformationstoredin theIR andforwardsthisobjectto theGIC whereit mightbeusedto respondto anerroneousclient requestasdescribedabove. Additionally, the event object is storedandcanberequestedlater (polled)by a CORBA client. ESworkssimilar to a specialisedCORBA

event servicewhich providesforwardingof messagesin publisher/subscribermannerandallowsfor thesubscriptionof additionalclients.CORBA managerapplicationsmayalso register as event consumerswith the ES, similar to the standardCORBA eventservice.Currently it only provides a push interfaceand untypedevents,but can beeasilyextendedby pull interfacesandtypedevents.

3.5 Implementation and a Client Example

The gateway itself is implementedin C++, currently basedon ORBacus[17]. Theclients,however, canbe implementedin any languagewhich is supportedby CORBA

andwith any inter-operablebroker which implementsthe InternetInter-ORB Proto-col (IIOP). We give a shortexamplein Fig. 4: A context object is acquiredfrom theORB andthedynamicparametersarestored;a requestto geta MIB tableis madeandafterwardstheresultcanbeunpacked.

Table1 showssomeperformancemeasurementsof ourgatewayobtainedonasmallnetwork of PCs(200MHz Pentium,SuseLinux 5.1)connectedby a shared10 MBit/sEthernet.As onewouldexpect,involving thegatewaymakesthecommunicationmuchslower. The first row shows the averagetime neededto completea call (request+ re-sponse).In thecaseof asinglevalueit is sloweddown by afactorof nearly41.Retriev-ing anSNMPtablereducestheoverheadandthegateway is only slower by a factorof

Page 8: Integration of SNMP into a CORBA- and Web-based Management

somedata.insert_string ("1"); ctx.set_one_value ("Version", somedata); org.omg.CORBA.Any somedata = orb.create_any();org.omg.CORBA.Context ctx = orb.get_default_context (); org.omg.CORBA.Object gateway = ...// get the gateway reference somehow...

...tableTag result = tableTagHelper.extract (res); org.omg.CORBA.Any res = request.return_value(); request.invoke(); request.set_return_type (tableTagHelper.type());// the result is always a table, even if it contains only one elementrequest.ctx (ctx);

ctx.set_one_value ("ipaddress", somedata);somedata.insert_string ("130.83.14.64");

= gateway._request ("_get_RFC1213_MIB__snmpInPkts");org.omg.CORBA.Request request

Fig.4. Fragmentof CORBA-Java client for thegateway.

3.75.However, the secondrow shows the real time spentby a commandline versionof bothimplementations(usingsnmpget andsnmpwalk of theUCD SNMPimple-mentation).Theresponsetime is muchbelow onesecond,soit is sufficient for ahumanuser. Only in a few casesof automatedtasks,e.g.,monitoringof valueswith a highfrequency, it is not appropriateto usethegateway.

Table 1. Performancemeasurementsof requestsmadethroughthegateway (Timesin ms)

SingleVariable SNMPTableGW SNMP FactorGW SNMP Factor

Call only 29.141ms 0.717ms 40.64 61.497ms 16.479ms 3.73Executiontime 94.0ms 38.0ms 2.474 264.0ms 59.0ms 4.475

3.6 RelatedWork

As for theMIB compiler, we wereinspiredby the ideasof theJIDM groupwhich re-sultedin an OMG proposal[15]. It definesa large classhierarchyfor SNMP objectsand relies on the extensionof many CORBA servicessuchas namingservice,prop-ertyservice,etc.andprovidesapowerful framework. However, it alsointroducessomeoverhead,e.g.,to finally accessanSNMPMIB variable.JIDM introducestwo new ser-vices,a specialisedSNMP NamingServiceanda specialisedSNMP ObjectInterfaceRepository. Both specificationsarederivedfrom thestandardCORBA NamingServiceandthe standardCORBA InterfaceRepository. The CORBA SNMPNamingserviceisusedto build a naminghierarchystartingwith a virtual node,theSNMP-MIB-ROOT.Beyondthisvirtual node,theparticularhostsin themanagementdomainof aparticulargatewayeachhavetheirown subtree(basedon theDNShostnameor theIP addressofthehost).Within onesubtreethedifferentMIBs which areaccessibleon a hostcanbefound.TheMIBs containtheSNMPvariables,groups,andtableswith their symbolicSNMPnames.To find thecorrespondingSNMPOID of anSNMPentity, thesymbolic

Page 9: Integration of SNMP into a CORBA- and Web-based Management

namesaremappedto their SNMPOID by theSNMPObjectInterfaceRepository. Toretrieve the actualOID of an SNMP instance,at first the Naming Servicehasto betraversedto find the symbolic namevia the host subtree.Then the SNMP InterfaceRepositoryhasto mapthe symbolicnameto the SNMP OID. Both retrievals requiresomeinteractionsbetweenthegateway andthe involvedservice.We believe thatbothmappingsareorthogonalandshouldnot becombined.In our approachtheretrieval ofthe hostinformationis left to the client, which may alreadyhave this information.Inthenext sectionwe introduceour genericrepositoryfor hostconfigurationinformationwhich is oneexamplehow clientscouldgainhostspecificinformationwhichmightnotonly beusedin thecontext of SNMPrequests.Additionally we usethestandardCOR-BA InterfaceRepositoryto mapsymbolicSNMPnamesto SNMPOIDs andthereforeavoid theintroductionof anew service.

[7] introducesproxyobjects(shadow objects)for SNMPobjectswithin its gateway,i.e., caches.This hastheadvantagethatsomegetrequestscanbedirectly answeredbythegatewaywithoutany SNMPcommunication.Ontheotherhandit introducesacacheconsistency problem,especiallyif theSNMPresourcesareconcurrentlyaccessedfromothermanagersthanthe gateway. The thesis[7] statesthat complex methodsto min-imise(if not to avoid) consistency problemswouldbenecessarybut leavesthesolutionto this problemopen.

[4] summarisestwo otherdynamicapproachesto make SNMPresourcesavailablethroughCORBA. Both (GOM andLiaison)do not careaboutmakingtheexactSNMPMIB specificationsavailableby translatingtheMIB to an IDL description.They onlyprovideaccessto SNMPvariablesby a genericmappingof stringsto variablenames.

4 Integration of SNMP and SCOT

In [1] we introducedour SystemConfigurationTool (SCOT). It provides an objectrepositorybasedupontheprototypeinstancemodel[10] which allows for valueshar-ing amongobjects.Managedobjectsaredescribedwithin repositoryobjectsasa listof slot objects.A slot is a tuple

����������� ��������� ������������������ �"!. It cannotonly hold

valuesandreferencesto otherobjectsbut alsoalgorithms(Lisp functionsandlambdaexpressionssinceit is implementedin Lisp) andthereforeis ableto computecomplexobjectrelationshipsbaseduponanembeddedobject-orientedquerylanguage.Themainpurposeis to provideaspecification-driveninformationmodelfor systemsandnetworkmanagement.Administratorscandirectly specifythe administrative stateof managedobjects.In fact,they canevenconcentrateontheinterestingfeaturesthey wantto model.Every objectcanserve asa prototypefor otherobjects,which extendor specialiseitsdescription.Classicalinformationmodelsasin SNMPor OSImanagementhavealargeoverheadof operationalstatedescriptionswhicharenotnecessaryfor someadministra-tive taskslike configurationmanagement.Sincetherepositoryis embeddedinto aLispplatform, it is easyto definemanagementpoliciesandconstraintsasinvariantswhichcanbeautomaticallycheckedby therepository.

4.1 CORBA Interface

SCOT originally providedonly a very simpleCORBA interfacewhich allowed to ac-cessobjectsvia Lisp expressionsasstringparametersto a CORBA operation.We have

Page 10: Integration of SNMP into a CORBA- and Web-based Management

extendedthe implementationof repositoryobjectsandslotsby makingthemdirectlyavailableas CORBA objectsthroughthe CORBA compliantILU package(Inter Lan-guageUnification,[27]). Objectsandslotsnow canbedirectlyaccessedby appropriateoperations(getandsetfunctions,methodsto insert,delete,etc.objectsandslots).COR-BA managementapplicationscantherebyuseandmanipulatetherepository, e.g.,to getthe context information of a network elementfor SNMP accessthroughthe SNMPCORBA gateway(seeabove).

4.2 WebInterface

SCOT originally allowedto browsetherepositorythrougha Webinterface.Therepos-itory generatedHTML coderepresentingthe stateof the requestedobject.With theCORBA extensionit becamepossibleto directly launchmanagementapplicationsasJava appletsfrom theobjectspecificHTML pages.Suchapplicationscanbecommonutilities like an object editor for the administrative stateof the objectsor a genericSNMPMIB browseror morededicatedapplicationslikeperformancemonitoringtools,eventbrowsers,or userinterfacesof otherCORBA managementapplications(seeSect.5).

Applet URLEdit Button

Fig.5. SCOT standardHTML pageandSNMPbrowserapplet

Figure 5 shows an exampleof a repositoryobject and the launchpoints for twodifferentappletsanda genericSNMPMIB browserasanexamplefor suchanapplet.The browsercanbe startedby clicking on the embeddedURL in the :SNMP-slot ofthe shown object.Suchappletsmustbe parameterisedby objectspecificvalues.Theparametersare,e.g.,its stringifiedinter-operableobjectreference(IOR) or a referenceto the object in a name-server, the availableMIBs on the real resource,etc.We haveimplementedagenericCGI scriptto startsuchanparameterisedappletwith appropriateHTML code.

Page 11: Integration of SNMP into a CORBA- and Web-based Management

4.3 RelatedWork

With thegrowingpopularityof theWWW severalapproachesfor theintegrationof Dis-tributedManagementinto Web-baseduserinterfaceshavebeenproposed(seeappropri-ateconferences,e.g.,NOMSandIM). Only few of themprovideagenericarchitectureto coveror at leastintegratethewholespectrumof managementissues.

In generalit canbesaidthattherearetwo directionsfor currentdevelopment.Someapproaches,e.g.,Web-basedEnterpriseManagement(WBEM, [26]) andtheJavaMan-agementAPI (JMAPI, [25]), try to introducecompletelynew modelsandservicearchi-tectures:WBEM with theCommonInformationModel (CIM), andtheso-calledCIMObjectManager(CIMOM), JMAPI with the JMAPI ObjectModel, the so-calledAp-pliances,andcommunicationsbasedon the Java RemoteMethod Invocation(RMI).Both architecturestry to integrateotherarchitectures,mostlySNMP, by internalgate-ways.Otherstry to provide a seamlessintegrationbetweenthe differentmanagementworlds by a translationor gateway approach,e.g.,Liaison [2] (seealsoSect.3), Inte-gratedWeb-BasedManagementArchitecture[8], or the Web-basedTMN integrationproposedin [3]. Our architecturebelongsto thesecondgroupandtriesto combinetheestablishedWebtechnologiesfor simpletasksasbrowsingthroughresourcesandvisu-alisationwith automatictranslationof protocolson a CORBA basis.We try to rely onHTML/HTTP asmuchaspossibleandonly useJavaappletsif theHTML/HTTP-basedaccessis not sufficient.

5 Future Work and Conclusions

Wearecurrentlyinvestigatingtheimplementationandintegrationof additionalservicesto provide an openintegratedplatform for the managementof networks, distributedsystems,anddistributedapplicationsasrequiredin Sect.1 andoutlinedin Fig. 1.

Besidesthe currently implementedrepository, the Web interface,andthe CORBA

SNMPgateway which is anexamplefor managementgatewaysin general,we arego-ing to integratea servicefor managementscripts[5] in thenearfuture.Othercompo-nentswill bea CORBA-basedagenton the managedresourcesanda stand-aloneuserinterface(Web-baseduserinterfacingis sometimestoo restrictedfor somepurposes).Besidesthesegenericcomponentswe aredevelopingmorecomplex managementap-plicationslike a migration tool for serviceswhich may rely on highly sophisticatedCORBA serviceslike theObjectTransactionService[14].

We have presentedthedesignandimplementationof angateway for theaccessofSNMPresourcesby CORBA managers.It hasminimaloverheadin comparisonto otherapproacheswhile allowing dynamicaccessandruntimeextension.It canberun stand-aloneto integrateSNMP with CORBA management.Furthermore,we have extendedour SCOT repositoryby a full CORBA interface.In combinationwith SCOT’s WebinterfaceandtheCORBA-basedSNMPgatewaythisallowsfor thecompleteintegrationof SNMP managementinto Web-basedmanagementwithout introducingcompletelynew protocolsandservices.

Page 12: Integration of SNMP into a CORBA- and Web-based Management

References

1. G. AschemannandR. Kehr. Towardsa Requirements-basedInformationModel for Con-figurationManagement.In Proceedingsof 4th InternationalConferenceon ConfigurableDistributedSystems, pp.181–189.IEEE ComputerSocietyPress,May 1998.

2. F. Barillaud, et al. Network Managementusing InternetTechnologies. In InternationalSymposiumon IntegratedManagement(IM). 1997.

3. Z. Canela,et al. Integrating Web-BasedUser Interfacesin TMN Systems. In NetworkOperationsandManagementSymposium(NOMS). 1998.

4. L. Deri andB. Ban.Staticvs.DynamicCMIP/SNMPNetwork ManagementUsingCORBA.In 4th InternationalConferenceon Intelligencein ServicesandNetworks(IS&N). 1997.

5. R. Frohning.EntwurfundImplementierungeinesCORBA-basiertenServers fur SkripteundautonomeApplikationenzumManagementverteilterSystemeundNetze. Diploma’s thesis,FGVerteilteSysteme,FB Informatik,TU Darmstadt,Aug 1998.

6. GMD Fokus.SNACCHomepage.http://www.fokus.gmd.de/ovma/freeware/snacc/entry.html .

7. T. Holler. EntwurfundRealisierungeinesCORBA/SNMPGateways. Diploma’s thesis,TUMunchen,Aug 1996.

8. J. W.-K. Hong,et al. Web-basedIntranetServicesandNetwork Management.IEEE Com-municationsMagazine, pp.100– 110,Oct1997.

9. IBM. SNACC for Java. http://www.alphaworks.ibm.com/formula/snaccforjava .

10. H. Lieberman.UsingPrototypicalObjectsto ImplementSharedBehavior in Object-OrientedSystems.In Proc.of theOOPSLA’86, pp.214–223.Oct1986.

11. S. Mazumdar, et al. Web basedmanagement:Corba/snmpgateway approach.http://nsm.research.bell- labs.com/˜mazum/CorbaS nmp/ , 1998.

12. T. Mohr. SNMP-Managementmit CORBA — TransformationdesKommunikationsmodells.Diploma’s thesis,FGVerteilteSysteme,FB Informatik,TU Darmstadt,Apr 1998.

13. ObjectManagementGroup.CORBA EventServiceSpecification,Mar 1995.14. ObjectManagementGroup.CORBA ObjectTransactionServiceSpecification,Nov 1997.15. ObjectManagementGroup.CORBA/TMN Interworking - SNMPPart,Feb1998.16. ObjectManagementGroup. TheCommonObjectRequestBroker: ArchitectureandSpeci-

fication,Revision 2.2,Feb1998.17. ObjectOrientedConcepts,Inc. ORBacusfor C++ andJava, 1998.18. OpenGroup. Inter-DomainManagement:SpecificationTranslation,1997.19. M. RoseandK. McCloghrie.RFC1212:ConciseMIB definitions,Mar 1991.20. M. Ruppert.SNMP-Managementmit CORBA — Transformationenim Informationsmodell.

Diploma’s thesis,FGVerteilteSysteme,FB Informatik,TU Darmstadt,Apr 1998.21. D. C. SchmidtandS. Vinoski. ObjectAdapters:ConceptsandTerminology. SIGSC++

Magazine, 9(11),NovDec1997.22. M. Sloman,ed.NetworkandDistributedSystemsManagement. Addison-Wesley Publishing

Company, 1994.23. SNMPv2Working Group,et al. RFC1902:Structureof ManagementInformationfor Ver-

sion2 of theSimpleNetwork ManagementProtocol(SNMPv2),Jan1996.24. SNMPv2WorkingGroup,etal. RFC1905:ProtocolOperationsfor Version2 of theSimple

Network ManagementProtocol(SNMPv2),Jan1996.25. SunMicrosystems,Inc. Java ManagementAPI.26. J. P. Thompson.Web-BasedEnterpriseManagementArchitecture. IEEE Communications

Magazine, pp.80 – 86,Mar 1998.27. Xerox Palo Alto ResearchCenter(PARC). Inter LanguageUnification. ftp://ftp.

parc.xerox.com/pub/ilu/ilu.html .