Distributed Finite State Machine Router Architecture
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current commercial routers lack the necessary open and programmable architecture to support the development, validation, and deployment of new Internet Protocol (IP) services, leading to dependency on router vendors for feature implementation and laborious change processes, which hinders experimental and field implementation of new IP services.
Innovation Solution
A modular router architecture with distinct hardware modules for forwarding and processing elements, utilizing meta-data headers for information transfer and rate limiting mechanisms, enabling scalable, dependable, and predictable network service provisioning with hot-standby redundancy and load balancing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a traditional commercial router architecture is used, then the router is stable and reliable, but it lacks the programmability and openness needed to deploy new IP services
Solution Approach 1:
The router is divided into distinct functional modules: forwarding elements (FE) for packet forwarding, control elements (CE) for control plane functions, and service elements (SE) for new IP services. Each module has dedicated memory and can be independently configured, enabling new services to be deployed without redesigning the entire router architecture.
Solution Approach 2:
The router architecture supports multiple functions through a universal control element that can manage different service elements and forwarding elements. The control element provides a unified interface for deploying various IP services, making the system adaptable to different service requirements while maintaining a single manageable architecture.
2Adaptability or versatility
If new IP services are deployed in traditional routers, then service functionality is extended, but the deployment process becomes laborious and time-consuming
Solution Approach 1:
Service elements are pre-configured with the necessary software and functionality for specific IP services. The control element maintains a repository of pre-validated service configurations that can be rapidly deployed by simply activating the appropriate service element, eliminating the need for time-consuming manual configuration and validation during deployment.
Solution Approach 2:
The control element can replicate service element configurations across multiple forwarding elements or service elements. Once a service is validated in one element, the configuration can be copied and deployed to other elements, significantly reducing deployment time for additional instances of the same service.
3Adaptability or versatility
If new features are implemented by router vendors, then the router functionality is enhanced, but the process requires vendor involvement and compensation
Solution Approach 1:
Network operators can independently deploy new IP services by utilizing the service elements and control element interfaces provided in the router architecture. The system is designed to allow operators to self-configure and activate services without requiring vendor involvement, making the router capable of self-updating with new functionalities through software rather than hardware changes.
4Productivity
If a modular architecture with distinct hardware modules is used, then scalability and service flexibility are improved, but system complexity increases
Solution Approach 1:
The control element acts as an intermediary that manages communication and coordination between forwarding elements, service elements, and the network management system. It handles the complexity of inter-module interactions by providing standardized interfaces and protocols, allowing modular components to work together without requiring complex point-to-point integration logic in each module.
Data Source
AI summary
A finite state machine and a router adapted thereto for providing a service. The finite state machine is executed on a first and a second distinct hardware modules. The first module has access to a first memory and the second module has access to a second memory. The first and second memory are different and not shared therebetween. At least one transition between a first state and a second state of the finite state machine from the first module to the second module is performed by sending local information of the first module toward the second module. The local information at least indicates the second state of the finite state machine. Local information can be inserted by the router, for example, in a meta-data header.


