Paula SLAC Julie Schultz CIM George Brett. Internet2 Jim Ferguson. Will be a consumer Shawn Mackey. Internet2 Eric Boyd. Internet2. ?? RHJ Dan Gunter. Also Internet2 Martin Swaney Uni Delaware Kieth is in Brazil Agenda: ------- Overview of WS and OGSI Kieth Overview of current XML Schema & examples document Dan Overview of Network measurements in CIM Julie Report of Work in progress testbed for XML schema & web services for publishing network information Discussion of data model - each class in the profiles document Detailed discussion of the XML schema for each characteristic OGSI for Network Measurement -------- Key concepts: transient service instances WSs address discovery and invocation of persisten services. But in grids you have to have these transient services that are created dynamically. The reason they have to exist is that they are interfaces to distributed activities that are themselves transitory. Much of the grid is concerned with the management of transient services (one *could* claim, if one wanted an argument :) ) Standard interfaces & behaviours -- Naming & bindings Lifecycle interface Service instances created by fcactories Destroyed explicitly of via soft state Information model Services data associated with Gs instances; operations for accessing Basis for svc introspection monitoring discovery This is the part that NMWG are likely to be most concerned with Notification This will concern us at some point, though it's rather down the road. OGSI GS spec -- GridService portType Defines fundamental behaviour Separately there is the factory portType create services. Factories are typically persistent. Optional interface. Notifaction porttypes two ports types: one for the sink, one for the source. Services data elements -- No services data specific operations defined. not getXXX or setXXX there's a uniform operation for manipulating all service data. findserviceData GS porttype operation -- Notification source SDEs -- Not having an agreed schema doesn't necessarily mean that we're not interoperable - you can use XSLT to do transformations between schema. However, this is hard to maintain. Dan's schema ----------- Why use XML -- It's widely accepted. Most support mechanism in this space for interoperable interfaces. Flexibility assumptions -- 1) Assume that all characteristics are not known in advance. Therefore don't build it into the schema. Just represent the names by a string. 2) Relation between characterstics and tools not fixed. 3) /*/nm:NetworkMeasurement/nm:networkCharacteristic[normalize-space(text()) = "path.bandwidth.achievable.TCP"]/../nm:resultSet/..)[1] For every network measurement with networkCharacteristic = path.bandiwdth.achievable.TCP, get the first resultSet. XPath isn't the be-all and end-all of query languages. XQuery is similar but can do all the SQL-type operations. Julie: CIM ---------- A System can encompass a single host or an administrative domain. XSD View of a network diag service -- A DiagnosticService (test) consists of SoftwareIdentity - the software on the system ComputerSystem (source) ComputerSystem (destination) DiagnosticSettingData (test settings) DiagnosticServiceRecord (TestResults) Mapping from CIM to XSD -- CIM class is defined as a xs:ComplextType CIM hier " " by use of xs:Extension CIM property " " as a xs:Element CIM assocs are assumed by the XSD definition CIM methods have not been mapped Mapping inconsistencies -- CIM has enumerations. Currently represented as strings, but it can be done. Representation of arrays of strings and integers seems a bit odd. XSD can do it but with warnings about support. CIM keys -- had time deciding whether the XSD example should contain the CIM key or not. A CIM key is a way of identifying an instance. You have one per XML CIM class. Reduced the CIM hier and class definitions - some of the items are empty classes because they're not useful, and some have reduced entries. CIM has many-many relationships. The are forced to a single containment relationsip. Otherwise you need arrays of complex types. Containments of the test itself... does it sit on the source, the destination or both. - DanGunter: there may be more complicated stuff than that - sometimes measurements may not sit on a source or a destination. Alignment with CIM -- Pros: She thinks that it would be easy to get our schema accepted by CIM. Cons: Examples of XSD representation of CIM -- 1) ManagedElement Made use of whether the class was abstract. 2) ManagedSystemElement Extends ManagedElement 3) EnabledLogicalElement missing an operation. This is an abstract class, so stuff doesn't make so much sense here. 4) NetworkDiagService This is the network service itself. Elements are: * First four are from DiagnosticService * Next shows the info about the service * Source, * Dest - IPProtocolEndpoinst connected to NetworkPipe via EndpointOfNetworkPipe * Settings * Results * JobSettings and ResultingTestJob show the scheduling. If a single service difinition can perform multiple types of tests with a single invocation. So, you have to have multiple setting definitions Multiple result definitions Recommendations -- New class definitions should be submitted as CRs to appropriate DMTF working groups Define CIM profile to match resulting XSD - e.g. if you are a fibre channel switch, these are the properties you need to implement. Need to do the same for the NMWG schema. Identify liasons -- We should use the CIM host object, because it's already there and redefining it would be silly. CIM is system-centric. We are sample-centric. UK Network Monitoring --------------------- Mark gave this. Gridmon: the TAKE Atm, the NMWG people use an SQL database and convert data to XML when it's read. Internet2 have a terrible problem, in that they get so much data that the database has to be optimised for writing. It seems like a difficult idea to convert either a database to XML to run an XPath on it, or to translate an XPath query to whatever else (e.g. SQL). The problem of somehow creating a way of querying the data which is presented with our schema is a general problem, on which there must be some work happening (semantic grid, for eg). However, maybe we need to propose some interim solution. We're avoiding GT3 for the time being. When we're more informed about it we'll be able to make a, er, informed decision.