When creating a new circuit in netTerrain, who decides which path it should take and how is that accomplished? There are basically three ways to define a path for a circuit — with decreasing levels of automation:
Before we drill down into each method above, we should first go over the basic rules required for a circuit to even be created in the first place.
Rules for a valid circuit path to exist
Circuits require at least one path, so when you are looking for a valid path during the circuit creation process, there are certain rules by which you must abide:
A circuit is initially defined at the map level, so it requires two distinct endpoints on the map.
You must have connectivity from A to Z at the map-level. A typical example of map-level connectivity for a fiber plant infrastructure is conduits connecting buildings and manholes:
The map level connections (for instance, conduits) must contain cables. In netTerrain parlance, a ‘conduit containing a cable’ means that the cable is bundled to that conduit (please review the blog on link bundling to learn how to do this). It’s important to note here that you must have at least one level of bundling (such as cable to conduit), but you can have multiple bundling levels as well. For example, if your cable is bundled to a microduct bundled to a conduit bundled to a duct bank bundled to a trench, that is a legal configuration for ACRA to work. You can have unlimited bundling levels (provided the cable eventually leads to the container map-level connection).
Every cable along the path must have at least two available strands. An available strand is one that is connected to a port on both ends and is not already assigned to a circuit. In a subsequent blog, we’ll review what it means for a strand to be used by a circuit.
Note that there is an additional addendum to these rules regarding the strands: a pair of strands used in a path needs to terminate on ports that are on the same device.
Why all these rules, you may ask? Because that’s how most fiber plant environments are laid out: circuits go through strands, that are part of a fiber cable, that are bundled inside a cable container (such as a microduct) and so on. netTerrain mimics real-life situations for a more intuitive and realistic user experience.
Launching the ACRA
If you want to create an apple pie from scratch, you must first create the universe. And, if you want to create a circuit from scratch, one that doesn’t even really exist in your environment, you use the ACRA.
Not the prettiest acronym in the world, ‘ACRA’ stands for Automated Circuit Routing Algorithm dialog. ACRA is an algorithm that netTerrain uses to determine optimal routes between two points on a map following the four rules stated above. The algorithm is based on a method devised by Edsger Dijkstra’s to find the shortest path between two nodes in a graph (no, Dijkstra is not a Graphical Networks employee…).
To launch the ACRA utility, the endpoints are your basic known input parameters to start the circuit creation process:
Choosing the paths
After clicking on the ‘create new circuit’ option, a dialog for step 1 of the ACRA process pops up. There could be anywhere from zero paths available up to any number. The ACRA process will try to find two optimum paths: the shortest and a diverse secondary path. This may or may not be possible. If there are no routes available, netTerrain will let you know loud and clear, invoking the circuit rules above.
To recap, a path may not be found if:
If the two optimum paths (main and diverse) are found, you can see them on the map:
You can have netTerrain choose the shortest path and then modify it by excluding hops from a path. You can also modify the cables and strands that are selected by default for your path.
Once you have your paths with the correct hops, cables, and strands you go to step 2 of the circuit creation process picking one of two circuit types: edge-to-edge or end-to-end. Stay tuned: we will review this in our next blog.