摘要:
A system and method for managing shared state using multiple programmed processors within a stateful protocol processing system is disclosed herein. The disclosed method includes receiving a first message of a first flow comprised of a first plurality of messages, and deriving a first event from the first message. A first flow state characterizing the first flow is then retrieved. A first workspace portion of the first flow is assigned to a first protocol processing core, and a second workspace portion of the flow state is assigned to a second protocol processing core. The method further includes processing the first event using the first and second protocol processing cores. The first flow state may be defined at least in part by a plurality of protocol layers, in which case the first workspace portion and the second workspace portion correspond to different ones of such layers.
摘要:
A system and method of processing data in a stateful protocol processing system (“SPPS”) configured to process a multiplicity of flows of messages is disclosed herein. The method includes receiving a first plurality of messages belonging to a first of the flows comporting with a first stateful protocol. In addition, a second plurality of messages belonging to a second of the flows comporting with a second stateful protocol are also received. Various events of at least first and second types associated with the first flow are then derived from the first plurality of received messages. The method further includes assigning a first protocol processing core to process the events of the first type in accordance with the first stateful protocol. A second protocol processing core is also assigned to process the events of the second type in accordance with the first stateful protocol.
摘要:
A method, system, and apparatus for processing messages according to one or more stateful protocols in a data communication system. Messages belonging to various communication flows (such as TCP transport layer “connections”) are processed according to a selected stateful protocol. Messages belonging to a single unified flow are distributed among different protocol processing cores (PPCs) at different times. Assignment of flows to PPCs is typically modifiable at the level of specific individual flows, permitting flexible load balancing between PPCs. The architecture of the system facilitates the method by providing a mix of pipelined and parallel processing structures.
摘要:
A system and method of processing data and managing protocol timers in a stateful protocol processing system configured to process multiple flows of messages is disclosed herein. The method includes receiving a first plurality of messages of a first of the flows comporting with a first stateful protocol. The method further includes assigning a first protocol processing core to process event information derived from the first plurality of messages. A first flow timer associated with the first of the flows is set, and a first timeout expiration event is generated upon expiration of the first flow timer. The first timeout expiration event is then forwarded to the first protocol processing core, and a first flow state associated with the first flow is retrieved in response thereto.
摘要:
A method of flow control implemented by a system disposed to execute a protocol stack and an application is disclosed herein. The method includes configuring the system to operate in a push mode pursuant to which the protocol stack initiates the forwarding, to the application, of a first sequence of data packets received by the protocol stack. The system may also be configured to operate in a pull mode pursuant to which the application initiates the forwarding, to the application, of a second sequence of data packets received by the protocol stack. In a particular implementation the system may be configured to transition from the push mode to the pull mode, or vice-versa, in response to receipt at the protocol stack of a data packet bearing a specified sequence number.
摘要:
A method of flow control implemented by a system disposed to execute a protocol stack and an application is disclosed herein. The method includes configuring the system to operate in a push mode pursuant to which the protocol stack initiates the forwarding, to the application, of a first sequence of data packets received by the protocol stack. The system may also be configured to operate in a pull mode pursuant to which the application initiates the forwarding, to the application, of a second sequence of data packets received by the protocol stack. In a particular implementation the system may be configured to transition from the push mode to the pull mode, or vice-versa, in response to receipt at the protocol stack of a data packet bearing a specified sequence number.
摘要:
A method and apparatus for facilitating failover of a stateful protocol connection is disclosed herein. The disclosed method includes receiving data sent by a first external entity in accordance with the stateful protocol connection. Acknowledgment of receipt of the data is withheld until a predefined operation involving the data has been performed. The method further includes transferring state information relating to the stateful protocol connection to a standby system. Once the predefined operation involving the data has been performed, the acknowledgment of receipt of the data is sent to the first external entity. This enables the stateful protocol connection to be failed over to the standby system with minimal or any data loss. In a particular implementation the predefined operation comprises committing the data to an application and receiving a send acknowledgment command from the application. In other implementations the predefined operation may comprise sending the data to a host entity and receiving confirmation that it has been received at the host.