Hypergraphs and Layer-3 Topology

In 2009, I posted some code to document a network's topology from a layer-3 perspective. Since that time, the quick-and-dirty BASH scripts have slowly been replaced, and a database and web interface have been added, making for a surprisingly robust tool that I may, one day, package and release for public consumption and scrutiny. But, while being able to draw layer-3 topologies is very nice, it is the addition of a centralized database, filled with topology data, that is the catalyst for continued exploration.

In January of this year, I worked out a simple algorithm to tackle the following problem:

Given an undirected graph G = (VE), find all simple paths having terminal vertices vs and vt for all vs ∈ V.

Some time has elapsed, but I was finally able to put code to my paperbound scrawl. Fortunately, this problem is easily solved (though my own approach is almost certain to be far from optimal), but before proceeding to the subject of implementation, allow me to first state the problem more plainly and explain its significance.