Flow-Based Network Switching with Programmable Rules
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional network switching systems are inflexible and limited by rigid packet processing logic, unable to scale with emerging technologies and feature enhancements, particularly in handling real-time web-based content-aware applications.
Innovation Solution
A flow-based network switching system that includes a memory with a flow table and a packet processor featuring programmable flow-based rule storage, a flow-based handler and session manager, and a flow-based rule processing engine to apply rules to packets based on application layer metadata, enabling deeper packet inspection and flexible forwarding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional packet switching systems use predefined metadata in destination fields for packet processing, then packet forwarding efficiency is maintained, but system flexibility and adaptability to new technologies deteriorate
Solution Approach 1:
The patent transforms the static, rigid packet processing logic into a dynamic, flow-based system where processing rules can be programmatically defined and modified. The flow table stores flow identifiers and associated processing rules that can be dynamically updated without hardware redesign, enabling the system to adapt to new technologies and applications while maintaining efficient packet forwarding.
Solution Approach 2:
The invention changes the fundamental parameter of packet processing from using fixed destination field metadata to using flow-based identifiers and programmable rules. This parameter change allows the system to transition from rigid predefined processing to flexible, configurable processing that can accommodate emerging technologies and application requirements.
2Productivity
If conventional systems are designed for high bandwidth packet switching using predefined metadata, then packet forwarding speed is improved, but granular packet processing capability deteriorates
Solution Approach 1:
The patent segments packet processing into flow-based units where packets belonging to the same flow are processed together according to shared rules. This segmentation allows the system to maintain high throughput by processing packets in efficient batches while simultaneously providing granular control over individual flows through the flow table and associated processing rules.
Solution Approach 2:
The flow-based processing engine serves multiple functions: it maintains high packet forwarding throughput like traditional systems, while simultaneously providing granular packet processing control, application-layer awareness, and programmable rule application. This multi-functionality resolves the contradiction between speed and control granularity.
3Productivity
If TCAM tables are used for storing packet metadata for future lookups, then packet forwarding efficiency is maintained, but memory usage and system cost increase
Solution Approach 1:
The patent uses flow identifiers that are copied from packet headers and stored in the flow table, rather than storing complete packet metadata in TCAM structures. This copying approach maintains forwarding efficiency by enabling quick flow identification while significantly reducing memory resource requirements compared to traditional TCAM implementations.
Data Source
AI summary
A flow-based network switching system includes a memory having a flow table and a packet processor coupled to the memory. The packet processor includes a user-programmable flow-based rule storage that includes a plurality of flow-based rules. A flow-based handler and session manager in the packet processor is operable to retrieve application layer metadata from a first packet received over a network, determine a first flow session associated with the first packet using the application layer metadata from the first packet and the flow table, and retrieve at least one of the plurality of flow-based rules from the programmable flow-based rule storage using the application layer metadata from the first packet. A flow-based rule processing engine in the packet processor is operable to apply the at least one flow-based rule to the first packet. Packets with applied flow-based rules are forwarded through the network.


