Project:
|
![]() Figure Tpgy.03 - Topology Example- Data Center and Routers : Object diagram
TMF920A Topology Discovery Service and TMF686 Topology API<br/>Typical examples considered in the TMF920A Topology Discovery Service (which uses this graph model ) are Routers with Port Cards interconnected by communication link . An interconnected router exemplar within a Data Center is described in TR288 Study of Topology Discovery Service use with Property Graph Databases v1.0.0 | TM Forum, This studies the use of graph based languages - Open Cipher and Gremlin - for queries that traverse such a network graph. (Examples below are in Open Cipher).<br/>This study created a graph representation of an actual data center and routers illustrated as Objects in this diagram<br/>This shows Data Center(green) and routers (Blue) Interface cards (Mauve) and links (graph edges) between Router Interface Cards.<br/>A mapping of these instance to SID Information Framework Concepts is shown in the following table: <br/>Exemplar Vertex Information Framework ABE Entity<br/>Location Location ABE#gt;#gt; GeographicPlace<br/>Data Center Location ABE#gt;#gt; GeographicSite<br/>Core Router Physical Resource ABE#gt;#gt; Equipment ABE#gt;#gt; Equipment<br/>IP Interface Physical Resource ABE#gt;#gt; Equipment ABE#gt;#gt; NetworkCard<br/>DISK Physical Resource ABE#gt;#gt; Equipment ABE#gt;#gt; MemoryCard<br/>CPU Physical Resource ABE#gt;#gt; Equipment ABE#gt;#gt; SystemCard<br/>VM LogicalResourceABE#gt;#gt;Compute and Software ABE#gt;#gt;Software Resource and Software ABE#gt;#gt; SoftwareResource/ Installed Software<br/>NOTE for virtualized Resources these may be modeled as Resource Functions <br/>Exemplar Directed Edge Entities Information framework ABEAssociation<br/>LOCATION_of Geographic Place ABE GeoSiteRelatedTo<br/>CONTAINS Standard UML relation Or Root Business Entities ABE Root#gt;#gt; Entity Group ABE RootEntityGroupComprisedOf Contains Interface Equipment HolderABE HoldsHardware<br/>Hosted_ON LogicalResourceABE#gt;#gt;Compute and Software ABE#gt;#gt;Software Resource and Software ABE#gt;#gt; InstallSoftwareRuns or InstalledSoftwareUses<br/>LINK Physical Resource ABE PhysicalLink<br/><br/><b>Image 1 </b>Open Cypher creation code <br/><font color="#6a9955"><b>//version 2</b></font><br/><font color="#6a9955"><b>//Create Vertices</b></font><br/><font color="#c586c0"><b>CREATE</b></font><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>Paris</b></font><font color="#d4d4d4"><b>:</b></font><font color="#4ec9b0"><b>Location</b></font><font color="#d4d4d4"><b> {</b></font><font color="#569cd6"><b>name</b></font><font color="#d4d4d4"><b>: </b></font><font color="#ce9178"><b>'Paris'</b></font><font color="#d4d4d4"><b>,</b></font><font color="#569cd6"><b>Region</b></font><font color="#d4d4d4"><b>:</b></font><font color="#ce9178"><b>'Europe'</b></font><font color="#d4d4d4"><b>})</b></font><br/><font color="#c586c0"><b>CREATE</b></font><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>Paris_DC_1</b></font><font color="#d4d4d4"><b>:</b></font><font color="#4ec9b0"><b>DataCenter</b></font><font color="#d4d4d4"><b> {</b></font><font color="#569cd6"><b>name</b></font><font color="#d4d4d4"><b>:</b></font><font color="#ce9178"><b>'Paris_DC_1'</b></font><font color="#d4d4d4"><b>})</b></font><br/><font color="#c586c0"><b>CREATE</b></font><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>Core_Router_1</b></font><font color="#d4d4d4"><b>:</b></font><font color="#4ec9b0"><b>CoreRouter</b></font><font color="#d4d4d4"><b> {</b></font><font color="#569cd6"><b>vendor</b></font><font color="#d4d4d4"><b>:</b></font><font color="#ce9178"><b>'Vendor1'</b></font><font color="#d4d4d4"><b>, </b></font><font color="#569cd6"><b>name</b></font><font color="#d4d4d4"><b>: </b></font><font color="#ce9178"><b>'Core Router 1'</b></font><font color="#d4d4d4"><b>})</b></font><br/><font color="#c586c0"><b>CREATE</b></font><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>Core_Router_2</b></font><font color="#d4d4d4"><b>:</b></font><font color="#4ec9b0"><b>CoreRouter</b></font><font color="#d4d4d4"><b> {</b></font><font color="#569cd6"><b>vendor</b></font><font color="#d4d4d4"><b>:</b></font><font color="#ce9178"><b>'Vendor1'</b></font><font color="#d4d4d4"><b>, </b></font><font color="#569cd6"><b>name</b></font><font color="#d4d4d4"><b>: </b></font><font color="#ce9178"><b>'Core Router 2'</b></font><font color="#d4d4d4"><b>})</b></font><br/><font color="#c586c0"><b>CREATE</b></font><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>DC1_VM1</b></font><font color="#d4d4d4"><b>:</b></font><font color="#4ec9b0"><b>VM</b></font><font color="#d4d4d4"><b> {</b></font><font color="#569cd6"><b>name</b></font><font color="#d4d4d4"><b>: </b></font><font color="#ce9178"><b>'DC1-VM1'</b></font><font color="#d4d4d4"><b>})</b></font><br/><font color="#c586c0"><b>CREATE</b></font><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>CR1_CPU1</b></font><font color="#d4d4d4"><b>:</b></font><font color="#4ec9b0"><b>CPU</b></font><font color="#d4d4d4"><b> {</b></font><font color="#569cd6"><b>name</b></font><font color="#d4d4d4"><b>: </b></font><font color="#ce9178"><b>'CR1-CPU1'</b></font><font color="#d4d4d4"><b>})</b></font><br/><font color="#c586c0"><b>CREATE</b></font><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>CR1_Disk1</b></font><font color="#d4d4d4"><b>:</b></font><font color="#4ec9b0"><b>DISK</b></font><font color="#d4d4d4"><b> {</b></font><font color="#569cd6"><b>name</b></font><font color="#d4d4d4"><b>: </b></font><font color="#ce9178"><b>'CR1-Disk1'</b></font><font color="#d4d4d4"><b>})</b></font><br/><font color="#c586c0"><b>CREATE</b></font><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>DC1_VM2</b></font><font color="#d4d4d4"><b>:</b></font><font color="#4ec9b0"><b>VM</b></font><font color="#d4d4d4"><b> {</b></font><font color="#569cd6"><b>name</b></font><font color="#d4d4d4"><b>: </b></font><font color="#ce9178"><b>'DC1-VM2'</b></font><font color="#d4d4d4"><b>})</b></font><br/><font color="#c586c0"><b>CREATE</b></font><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>CR2_CPU1</b></font><font color="#d4d4d4"><b>:</b></font><font color="#4ec9b0"><b>CPU</b></font><font color="#d4d4d4"><b> {</b></font><font color="#569cd6"><b>name</b></font><font color="#d4d4d4"><b>: </b></font><font color="#ce9178"><b>'CR2-CPU1'</b></font><font color="#d4d4d4"><b>})</b></font><br/><font color="#c586c0"><b>CREATE</b></font><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>CR2_Disk1</b></font><font color="#d4d4d4"><b>:</b></font><font color="#4ec9b0"><b>DISK</b></font><font color="#d4d4d4"><b> {</b></font><font color="#569cd6"><b>name</b></font><font color="#d4d4d4"><b>: </b></font><font color="#ce9178"><b>'CR2-Disk1'</b></font><font color="#d4d4d4"><b>})</b></font><br/><font color="#c586c0"><b>CREATE</b></font><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>CR1_IPInterface1</b></font><font color="#d4d4d4"><b>:</b></font><font color="#4ec9b0"><b>IP_Interface</b></font><font color="#d4d4d4"><b> {</b></font><font color="#569cd6"><b>name</b></font><font color="#d4d4d4"><b>: </b></font><font color="#ce9178"><b>'CR1-IpInterface1'</b></font><font color="#d4d4d4"><b>, </b></font><font color="#569cd6"><b>protocol</b></font><font color="#d4d4d4"><b>: </b></font><font color="#ce9178"><b>'IP'</b></font><font color="#d4d4d4"><b> })</b></font><br/><font color="#c586c0"><b>CREATE</b></font><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>CR2_IPInterface1</b></font><font color="#d4d4d4"><b>:</b></font><font color="#4ec9b0"><b>IP_Interface</b></font><font color="#d4d4d4"><b> {</b></font><font color="#569cd6"><b>name</b></font><font color="#d4d4d4"><b>: </b></font><font color="#ce9178"><b>'CR2-IpInterface1'</b></font><font color="#d4d4d4"><b>, </b></font><font color="#569cd6"><b>protocol</b></font><font color="#d4d4d4"><b>: </b></font><font color="#ce9178"><b>'IP'</b></font><font color="#d4d4d4"><b> })</b></font><br/><font color="#c586c0"><b>CREATE</b></font><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>CR1_IPInterface2</b></font><font color="#d4d4d4"><b>:</b></font><font color="#4ec9b0"><b>IP_Interface</b></font><font color="#d4d4d4"><b> {</b></font><font color="#569cd6"><b>name</b></font><font color="#d4d4d4"><b>: </b></font><font color="#ce9178"><b>'CR1-IpInterface2'</b></font><font color="#d4d4d4"><b>, </b></font><font color="#569cd6"><b>protocol</b></font><font color="#d4d4d4"><b>: </b></font><font color="#ce9178"><b>'IP'</b></font><font color="#d4d4d4"><b> })</b></font><br/><font color="#c586c0"><b>CREATE</b></font><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>CR2_IPInterface2</b></font><font color="#d4d4d4"><b>:</b></font><font color="#4ec9b0"><b>IP_Interface</b></font><font color="#d4d4d4"><b> {</b></font><font color="#569cd6"><b>name</b></font><font color="#d4d4d4"><b>: </b></font><font color="#ce9178"><b>'CR2-IpInterface2'</b></font><font color="#d4d4d4"><b>, </b></font><font color="#569cd6"><b>protocol</b></font><font color="#d4d4d4"><b>: </b></font><font color="#ce9178"><b>'IP'</b></font><font color="#d4d4d4"><b> })</b></font><br/><font color="#d4d4d4"><b>//Create Edges</b></font><br/><font color="#c586c0"><b>CREATE</b></font><br/><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>Paris</b></font><font color="#d4d4d4"><b>)-[:</b></font><font color="#4ec9b0"><b>LOCATION_OF</b></font><font color="#d4d4d4"><b>]-#gt;(</b></font><font color="#9cdcfe"><b>Paris_DC_1</b></font><font color="#d4d4d4"><b>),</b></font><br/><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>Paris_DC_1</b></font><font color="#d4d4d4"><b>)-[:</b></font><font color="#4ec9b0"><b>CONTAINS</b></font><font color="#d4d4d4"><b>]-#gt;(</b></font><font color="#9cdcfe"><b>Core_Router_1</b></font><font color="#d4d4d4"><b>),</b></font><br/><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>Core_Router_1</b></font><font color="#d4d4d4"><b>)-[:</b></font><font color="#4ec9b0"><b>HOSTED_ON</b></font><font color="#d4d4d4"><b>]-#gt;(</b></font><font color="#9cdcfe"><b>DC1_VM1</b></font><font color="#d4d4d4"><b>),</b></font><br/><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>Core_Router_1</b></font><font color="#d4d4d4"><b>)-[:</b></font><font color="#4ec9b0"><b>CONTAINS</b></font><font color="#d4d4d4"><b>]-#gt;(</b></font><font color="#9cdcfe"><b>CR1_CPU1</b></font><font color="#d4d4d4"><b>),</b></font><br/><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>Core_Router_1</b></font><font color="#d4d4d4"><b>)-[:</b></font><font color="#4ec9b0"><b>CONTAINS</b></font><font color="#d4d4d4"><b>]-#gt;(</b></font><font color="#9cdcfe"><b>CR1_Disk1</b></font><font color="#d4d4d4"><b>),</b></font><br/><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>Core_Router_1</b></font><font color="#d4d4d4"><b>)-[:</b></font><font color="#4ec9b0"><b>CONTAINS_INTERFACE</b></font><font color="#d4d4d4"><b>]-#gt;(</b></font><font color="#9cdcfe"><b>CR1_IPInterface1</b></font><font color="#d4d4d4"><b>),</b></font><br/><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>Core_Router_1</b></font><font color="#d4d4d4"><b>)-[:</b></font><font color="#4ec9b0"><b>CONTAINS_INTERFACE</b></font><font color="#d4d4d4"><b>]-#gt;(</b></font><font color="#9cdcfe"><b>CR1_IPInterface2</b></font><font color="#d4d4d4"><b>),</b></font><br/><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>Paris_DC_1</b></font><font color="#d4d4d4"><b>)-[:</b></font><font color="#4ec9b0"><b>CONTAINS</b></font><font color="#d4d4d4"><b>]-#gt;(</b></font><font color="#9cdcfe"><b>Core_Router_2</b></font><font color="#d4d4d4"><b>),</b></font><br/><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>Core_Router_2</b></font><font color="#d4d4d4"><b>)-[:</b></font><font color="#4ec9b0"><b>HOSTED_ON</b></font><font color="#d4d4d4"><b>]-#gt;(</b></font><font color="#9cdcfe"><b>DC1_VM2</b></font><font color="#d4d4d4"><b>),</b></font><br/><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>Core_Router_2</b></font><font color="#d4d4d4"><b>)-[:</b></font><font color="#4ec9b0"><b>CONTAINS</b></font><font color="#d4d4d4"><b>]-#gt;(</b></font><font color="#9cdcfe"><b>CR2_CPU1</b></font><font color="#d4d4d4"><b>),</b></font><br/><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>Core_Router_2</b></font><font color="#d4d4d4"><b>)-[:</b></font><font color="#4ec9b0"><b>CONTAINS</b></font><font color="#d4d4d4"><b>]-#gt;(</b></font><font color="#9cdcfe"><b>CR2_Disk1</b></font><font color="#d4d4d4"><b>),</b></font><br/><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>Core_Router_2</b></font><font color="#d4d4d4"><b>)-[:</b></font><font color="#4ec9b0"><b>CONTAINS_INTERFACE</b></font><font color="#d4d4d4"><b>]-#gt;(</b></font><font color="#9cdcfe"><b>CR2_IPInterface1</b></font><font color="#d4d4d4"><b>),</b></font><br/><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>Core_Router_2</b></font><font color="#d4d4d4"><b>)-[:</b></font><font color="#4ec9b0"><b>CONTAINS_INTERFACE</b></font><font color="#d4d4d4"><b>]-#gt;(</b></font><font color="#9cdcfe"><b>CR2_IPInterface2</b></font><font color="#d4d4d4"><b>),</b></font><br/><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>CR1_IPInterface1</b></font><font color="#d4d4d4"><b>)-[:</b></font><font color="#4ec9b0"><b>IP_LINK</b></font><font color="#d4d4d4"><b> {</b></font><font color="#569cd6"><b>protocol</b></font><font color="#d4d4d4"><b>:[</b></font><font color="#ce9178"><b>'IP'</b></font><font color="#d4d4d4"><b>]}]-#gt;(</b></font><font color="#9cdcfe"><b>CR2_IPInterface1</b></font><font color="#d4d4d4"><b>),</b></font><br/><font color="#d4d4d4"><b> (</b></font><font color="#9cdcfe"><b>CR1_IPInterface2</b></font><font color="#d4d4d4"><b>)-[:</b></font><font color="#4ec9b0"><b>IP_LINK</b></font><font color="#d4d4d4"><b> {</b></font><font color="#569cd6"><b>protocol</b></font><font color="#d4d4d4"><b>:[</b></font><font color="#ce9178"><b>'IP'</b></font><font color="#d4d4d4"><b>]}]-#gt;(</b></font><font color="#9cdcfe"><b>CR2_IPInterface2</b></font><font color="#d4d4d4"><b>)</b></font><br/><br/>
|