Figure Tpgy.03 - Topology Example- Data Center and Routers

Header Image
Project:
Figure Tpgy.03 - Topology Example- Data Center and Routers : Object diagram
Created: 10/25/2023 10:33:29 AM
Modified: 6/11/2024 9:51:22 AM
Project:
Advanced:
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/>