Network routing, the process of selecting routing paths in a communication network, can be optimized to lower costs, improve network utilization, and maximize performance.
In packet-switched networks such as the Internet, communication vendors (including telecommunications operators) have many choices—often with multiple hops and transmission options—as to how a packet travels to its destination. As packets come in, network routing software assesses these choices and makes real-time decisions concerning how the packet should travel to its destination.
Networks are dynamic, with conditions changing by the second, which introduces a new level of complexity. The network routing system has to optimize for each packet. Optimization may include cost, bandwidth, service level agreements, number of hops, availability, etc.
In order to address these complexities, service providers need a rules-based decisioning engine that sits on top of a high-performance, low-latency database and is constantly updated with real-world inputs, including network availability, bandwidth, and cost. The decisioning engine looks at each packet and its destination, then queries the database in order to apply its decisioning rules to make its routing decision.