From RackTables Wiki
Revision as of 22:04, 5 November 2013 by Andriyanov (talk | contribs)
Jump to navigation Jump to search

This page is for thoughts about documenting of cables, patch-panels, splices and cross-connects in RT.

Object types

2 new object types: Cross and Cable.

Cable is a solid cable connecting two or more Crosses. It could be cut and terminated/connected by some of its fibers in any of its Crosses.

While Cross is much like a traditional object, Cable is a fundamentally new type. It has:

 * physical medium type (SM fiber, twisted pair, etc)
 * a model
 * named fibers. Actually Cable is a group of crossable cables (fibers)
 * a set of Crosses which a Cable belongs to
 * length and shape which could be represented visually on a map

Connection types

There are two connection types: inside the Crosses (backlinks, splices) and outside the Crosses (using patches with jacks. Now contained in the Link table).

A Cross contains connections between fibers of its Cables and its ports (backlinks). All these connections are inside the Cross (none of them does not occupy a port connector on Cross'es front). These connections could be of types:

 * loops (two ports of Cross connected)
 * terms (one of the fibers connected to one of the ports)
 * xconnect (two fibers connected)

Each of such connection could have a type (i.e. splice, glued, mates, soldering, jointing)

OTOH, outside connections (Links) could be one of two types: L1 and L2. The type of Link is determined by the type of the ports it connects. If port does not have a link-layer protocol assigned (such as 1000Base-T), it is just a physical connector, like 8P8C (RJ45) or fiber LC, and a link connecting it to any other port is an L1 link. Otherwise, if both sides of the Link are L2 ports, it is an L2 link. RT traditionally supports only L2 links.

Basic principle is: L2 port could not be linked with more than one L2 ports. Generally, any port could not be linked more than 2 times (L1 and L2), but there is an exception: multi-fiber transmitters in one physical port. Here is the proposal: mark each side of a link with unique text mark (like RX, TX) and forbid having multiple L1 links for single port with equal or missing marks. So, the rule is: each port could not have more than one L2 link, and each of its L1 links must have a unique mark.

Basic functionality

 * fiber path tracing (view the full path of the joined link by clicking the fiber in Cable, Cross or port);
 * auto-establishing an L2-link if the joined L1 link traces to another empty L2 port;
 * highlighting of ports where L1 = L2, !L1 && L2, L1 != L2;
 * ability to mark cuts and damages of fibers in a Cable;
 * ability to document spare lengths of Cables in (near) Crosses;
 * ability to split and join Cables in Crosses;
 * mass connecting or terminating of Cable's fibers in Crosses;
 * displaying of Cross map in a table view. Incoming fibers are grouped by their cables, each has a text describing how it is connected, different cables should be placed in front of each other, if possible;
 * displaying of Cables, links, Crosses on the map (different GIS compatibility would be nice);
 * adding Cables and Crossed by drawing them on the map (using GIS API) would be nice;


 * Should we bind cables to the Crosses' coordinates or not? (yes). Move cables with Crosses or not (ask, if not - unbind);
 * Shared media types (electrical power jacks, wireless, POTS and so on);

DB schema

CREATE TABLE `CrossConnects` (

 `node_id` int,
 `cable_a` int,
 `cable_b` int,
 `port_a` int,
 `port_b` int,
 `type` int


CREATE TABLE `CrossLoops` (

 `node_id` int,
 `port_a` int,
 `port_b` int,
 `type` int


CREATE TABLE `CrossTerms` (

 `node_id` int,
 `node_port` int,
 `cable_id` int,
 `cable_port` int,
 `type` int