IRDBAccessSvc Node1 IRDBAccessSvc + getRecordsetPtr() + getChildTag() + getQuery() + getTagDetails() + interfaceID() # connect() # disconnect() # shutdown() Node3 RDBAccessSvc - m_sessions - m_openConnections - m_recordsetptrs - m_globalTagLookup - m_recordsetMutex - m_sessionMutex + RDBAccessSvc() + initialize() + finalize() + queryInterface() + connect() + disconnect() + shutdown() + getRecordsetPtr() + getChildTag() + getChildTag() + getQuery() + getTagDetails() + getAllLeafNodes() + getLockedSupportedTags() + getSession() + interfaceID() - shutdown_connection() Node1->Node3 Node4 SqliteReadSvc - m_recordsets - m_db - m_recordsetMutex - m_sessionMutex + SqliteReadSvc() + finalize() + queryInterface() + connect() + disconnect() + shutdown() + getRecordsetPtr() + getChildTag() + getQuery() + getTagDetails() + interfaceID() Node1->Node4 Node2 IInterface Node2->Node1