An apparatus and method that can enable multi-protocol data processing at a single point in a data network. The apparatus includes a logic state machine that is capable of performing a variety of pre-defined actions for a plurality of communication protocols. The present data processing solution enables wire speed data processing, utilizing minimal instruction memory, because all the data resources required to process multiple protocols are stored on state machine tables, in the data memory. According to the data processing methodology, incoming packet headers are parsed for session ID, protocol ID and events ID per protocol. A relevant session history block is then found by a General State Machine Handler, according to the protocol ID, and the current state of each protocol is extracted. Subsequently, the relevant State Machine Table is found, according to the protocol ID, wherein a list of actions is described. These actions are then executed, according to the rules defined in an Action Handler Library, by the General State Machine Handler.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for enabling multi protocol data processing at a single point in a data network, comprising: parsing incoming packet headers for session ID, protocol ID, and events ID per protocol ID, by a parser; extracting current state data from a relevant session History Block, based on said session ID, by a General State Machine Handler (GSMH); looking up an action to execute for said packet, said action being described in a Protocol Stateful Table (PST) according to said protocol ID, by said GSMH; and executing said action, according to rules described by an Action Handler Library, by said GSMH.
2. The method of claim 1 , wherein in the case where said protocol ID is relative: querying a list of suspected protocols, to match said relative protocol ID with a listed protocol; detecting said relative protocol ID from said list, by inspecting said relative protocol ID by said listed protocols; and choosing a PST, according to results of said inspection.
3. The method of claim 1 , wherein in the case where said protocol ID is a non-recognized protocol: defining a special protocol for processing of packets that utilize non-supported protocols; and adding an absolute proprietary protocol identification to said packets.
4. The method of claim 1 , wherein in the case where said current state data is not available from said relevant session History Block: determining that a new session is in process; creating a new Session History Block; and defining said new Session History Block as “idle”.
5. The method of claim 6 , wherein said GSMH enables generally available hardware to implement wire speed protocol processing, said processing being enabled for protocols at all OSI layers.
6. The method of claim 1 , wherein said GSMH enables optimization of network processor resources, to achieve wire speed performance levels using typical network processor resources.
7. The method of claim 1 , wherein said rules described by said Action Handler Library are changed, said changes being available upon the next processing cycle.
8. The method of claim 1 , further comprising a pre-configuration stage, wherein protocol definitions are analyzed to create said Protocol Stateful tables (PST), for each protocol.
9. The method of claim 8 , wherein said protocol definitions are taken from a protocol's RFC.
10. The method of claim 8 , wherein said PST further comprises current state of protocol, assumed state of protocol and a set of routines to be called in a particular scenario.
11. An apparatus for enabling wire speed processing of a plurality of protocols at a single point in a data network, comprising: a Packet Parser for identifying and extracting identity (ID) data per protocol from an incoming multi-protocol data packet; a General State Machine Handler (GSMH) for executing actions in response to said packet, according to actions defined in a protocol stateful table; a Protocol Stateful Table (PST) for defining executable actions per state and event, for each protocol; a Session History Table, for determining current states of each protocol at any time; and an Action Handler Library for storing protocol independent action rules.
12. The system of claim 11 , wherein said ID further comprises session ID, protocol ID, and event ID per said protocol ID.
13. The system of claim 11 , wherein said PST further comprises steady state data and assumed event data per protocol, from said protocol's RFC.
14. The system of claim 13 , further comprising transient-state data for each said protocol.
15. The system of claim 11 , wherein said Session History Block further comprises a Protocol State Machine current snapshot per user specific session, for enabling handling instructions for incoming data per user.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
March 13, 2002
September 13, 2005
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.