WIMS> Proposal for WIMS Proxy Interfaces

WIMS> Proposal for WIMS Proxy Interfaces

McDonald, Ira imcdonald at sharplabs.com
Mon Feb 21 11:43:14 EST 2005


Hi folks,                                      Monday (21 February 2005)

After recent work on the WIMS Object Model, I see a need for two more
WIMS interfaces:

(1) Proxy Agent Interface - operation requests forwarded by a WIMS Proxy
    Agent to a (local or remote) subordinate WIMS Proxy Manager and
    subsequently delivered to subordinate Agent(s) registered with that
    Proxy Manager

(2) Proxy Manager Interface - operation requests relayed by a WIMS Proxy
    Manager to a (local or remote) superior WIMS Proxy Agent, based on
    operation requests received from subordinate Agent(s) registered
    with that Proxy Manager

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 at sharplabs.com
------------------------------------------------------------------------


There are two possible network topologies for a WIMS Proxy:


            Integrated WIMS Proxy

{DomainA}   {............DomainB............}
*-------*   *-------*   *-------*   *-------*
|  Top  |   | Proxy |   | Proxy |   |  End  |
|Manager|   | Agent |   |Manager|   | Agent |
*-------*   *-------*   *-------*   *-------*
 (HostA)     (......HostB......)    (HostC)


            Distributed WIMS Proxy

{DomainA}   {............DomainB............}
*-------*   *-------*   *-------*   *-------*
|  Top  |   | Proxy |   | Proxy |   |  End  |
|Manager|   | Agent |   |Manager|   | Agent |
*-------*   *-------*   *-------*   *-------*
 (HostA)     (HostB)     (HostC)     (HostD)


Notes:

(1) If DomainA and DomainB are different, then this is fleet management
    and firewalls constrain the origin of connections.

(2) If DomainA and DomainB are the same, this is enterprise management.

(3) In all cases, Proxy Agent, Proxy Manager, and End Agent MUST be in
    the same domain for any practical implementation.

(4) In the 'Integrated WIMS Proxy' case, Proxy Agent to Proxy Manager
    communications MAY be proprietary.

(5) In the 'Distributed WIMS Proxy' case, Proxy Agent to Proxy Manager
    communications MUST be standardized (so these new interfaces should
    be CONDITIONALLY MANDATORY to support).

(6) These topologies are recursive, that is, the End Agent may in fact
    be a Proxy Agent with further subordinate Proxy Managers.

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


Proxy Agent Interface operations:

(1) ForwardAction
    - forwarded ExecuteAction received from a superior WIMS Manager
    - triggered Action in a current Schedule on the Proxy Agent

(2) ForwardSchedule
    - forwarded SetSchedule received from a superior WIMS Manager and
      possibly decomposed by the Proxy Agent

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


Proxy Manager Interface operations:

(1) RegisterForProxy
    - registers Proxy Manager with superior Proxy Agent
      based on prior configuration (NOT dynamic discovery)

(2) UnregisterForProxy
    - unregisters Proxy Manager with superior Proxy Agent

(3) RelayRegister
    - relayed RegisterForManagement received from a subordinate WIMS
      Agent and possibly aggregated or delayed by the Proxy Manager

(4) RelayUnregister
    - relayed UnregisterForManagement received from a subordinate WIMS
      Agent and possibly aggregated or delayed by the Proxy Manager

(5) RelayAlerts
    - relayed SendAlerts received from a subordinate WIMS Agent
      and possibly aggregated or delayed by the Proxy Manager

(6) RelayReports
    - relayed SendReports received from a subordinate WIMS Agent
      and possibly aggregated or delayed by the Proxy Manager

(7) RelayGetSchedule
    - relayed GetSchedule received from a subordinate WIMS Agent

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


Example Sequences of Operations:


*-------*   *-------*   *-------*   *-------*
|  Top  |   | Proxy |   | Proxy |   |  End  |
|Manager|   | Agent |   |Manager|   | Agent |
*-------*   *-------*   *-------*   *-------*
                         RegisterForProxy
                <-----------/

             RegisterForProxy.response
                \----------->


*-------*   *-------*   *-------*   *-------*
|  Top  |   | Proxy |   | Proxy |   |  End  |
|Manager|   | Agent |   |Manager|   | Agent |
*-------*   *-------*   *-------*   *-------*
                                     RegisterForManagement
                            <-----------/
                         RelayRegister
                <-----------/
             RegisterForManagement
    <-----------/

 RegisterForManagement.response
    \----------->
             RelayRegister.response
                \----------->
                         RegisterForManagement.response
                            \----------->


*-------*   *-------*   *-------*   *-------*
|  Top  |   | Proxy |   | Proxy |   |  End  |
|Manager|   | Agent |   |Manager|   | Agent |
*-------*   *-------*   *-------*   *-------*
 ExecuteAction
    \----------->
             ForwardAction
                \----------->
                         ExecuteAction
                            \----------->

                                     ExecuteAction.response
                            <-----------/
                         ForwardAction.response
                <-----------/
             ExecuteAction.response
    <-----------/


*-------*   *-------*   *-------*   *-------*
|  Top  |   | Proxy |   | Proxy |   |  End  |
|Manager|   | Agent |   |Manager|   | Agent |
*-------*   *-------*   *-------*   *-------*
                                     GetSchedule
                            <-----------/
                         RelayGetSchedule
                <-----------/
             GetSchedule
    <-----------/

 GetSchedule.response
    \----------->
             RelayGetSchedule.response
                \----------->
                         GetSchedule.response
                            \----------->

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



More information about the Wims mailing list