WIMS> Changes for multi-level WIMS Proxy configurations

From: McDonald, Ira (imcdonald@sharplabs.com)
Date: Tue Feb 07 2006 - 17:25:41 EST

  • Next message: wamwagner@comcast.net: "Re: WIMS> CIM>2 Feb Concall at 2PM EST"

    Hi folks, Tuesday (7 February 2006)

    Below are proposed WIMS Protocol spec and WIMS XML schema updates for
    support of multi-level (or 'chained') WIMS Proxy configurations that we
    discussed at the January PWG face-to-face and last week's WIMS telecon.

    Basically, in _every_ Action _except_ UpdateSchedule, replace the
    (one-level) 'agentReferences : AgentReferences' parameter with a
    (multi-level) 'agentPaths : AgentPaths' parameter (see below).

    UpdateSchedule MUST NOT be forwarded and MUST still use a single-valued
    'agentReference : AgentReference' parameter that MUST resolve to the
    local (receiving) WIMS Agent.

    The processing model is simple:

    (1) WIMS Proxy receives incoming 'Action' from adjacent upstream WIMS
        Manager (via running Schedule or ExecuteAction request).
    (2) WIMS Proxy rewrites 'ActionAgentPaths' of 'Action', removing the
        _first_ WIMS Agent reference (to itself) in each agent path in the
        array of paths.
    (3) WIMS Proxy forwards rewritten 'Action' to the adjacent downstream
        WIMS Agents via ExecuteAction requests and/or Legacy Agents via
        legacy protocol requests (e.g., SNMP Set).
    (4) Recursion of steps (1) to (3) leads to final WIMS Agents or Legacy
        Agents (nearest to actual managed entities).
    (5) Upstream ExecuteAction or legacy protocol responses convey resulting
        status back to original WIMS Proxy who conveys resulting status
        back via SendReports request or ExecuteAction response to original
        WIMS Manager.

    Note: ExecuteAction is used here for operation forwarding downstream in
    order to preserve the 'immediate' nature of a triggered Action in a
    Schedule. It would be possible to forward operations via downstream
    Schedule objects, but vastly more complicated to correlate the responses
    and not faithful to an 'immediate' trigger.

    Comments?

    Cheers,
    - Ira

    Ira McDonald (Musician / Software Architect)
    Blue Roof Music / High North Inc
    PO Box 221 Grand Marais, MI 49839
    phone: +1-906-494-2434
    email: imcdonald@sharplabs.com

    ------------------------------------------------------------------------
    [WIMS Protocol spec]

    [diagrams and notes in section 4]

    [change]
        agentReferences
    [to]
        agentPaths

    [definition in section 6.1.1 - note plural 'Paths']

    [change]
        agentReferences : AgentReferences
    [to]
        agentPaths : AgentPaths

    [change]
        References to the WIMS...
    [to]
        Paths to the WIMS...

    [definition in section 6.1.3 - note plural 'Paths']

    [change]
        agentReferences : AgentReferences
    [to]
        agentPaths : AgentPaths

    [change]
        References to the WIMS...
    [to]
        Paths to the WIMS...

    [RegisterForManagement in section 6.2.1 - note plural 'Paths']

    [change]
        agentReferences : AgentReferences
    [to]
        agentPaths : AgentPaths

    [UnregisterForManagement in section 6.2.2 - note plural 'Paths']

    [change]
        agentReferences : AgentReferences
    [to]
        agentPaths : AgentPaths

    [actions in sections 6.4, 6.5, and 6.6 - note plural 'Paths']

    [change]
        agentReferences : AgentReferences
    [to]
        agentPaths : AgentPaths

    ------------------------------------------------------------------------
    [WIMS Message schema]

    [RegisterForManagement and UnregisterForManagement requests]

    [change]
        RequestAgentReferences
    [to]
        RequestAgentPaths

    ------------------------------------------------------------------------
    [WIMS Type schema]

    [add two new types]

    <xsd:complexType name="ObjectAgentPath">
      <!-- path to legacy or WIMS agent nearest to a managed entity -->
      <!-- for support of multi-level WIMS Proxy configurations -->
      <xsd:sequence>
        <xsd:element name="ObjectAgentReference"
          type="ObjectAgentReference"
          minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="ObjectAgentPaths">
      <xsd:sequence>
        <xsd:element name="ObjectAgentPath"
          type="ObjectAgentPath"
          minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>

    ------------------------------------------------------------------------
    [WIMS Schedule schema]

    [delete unused 'ActionAgentReferences' element]

    [add new 'ActionAgentPaths' element]

    <xsd:element name="ActionAgentPaths"
      type="ObjectAgentPaths"/>
      <!-- OPTIONAL - MAY be multi-valued -->
      <!-- paths to legacy or WIMS agents nearest to managed entities -->
      <!-- for support of multi-level WIMS Proxy configurations -->

    [modify each action in WIMS Schedule schema, for example]

    <xsd:element name="ActionGetElements">
      <xsd:complexType name="ActionGetElements"
        <xsd:sequence>
          <xsd:element ref="ActionAgentPaths"
            minOccurs="0" maxOccurs="1"/>
          <xsd:element ref="ActionTargetObjects"
            minOccurs="0" maxOccurs="1"/>
          <xsd:element ref="ActionRequestedElements"
            minOccurs="0" maxOccurs="1"/>
          <xsd:element ref="ActionVendorParameters"
            minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
      </xsd:complexType>
    </xsd:element>

    ------------------------------------------------------------------------



    This archive was generated by hypermail 2.1.4 : Tue Feb 07 2006 - 17:25:51 EST