发明名称 Systems and methods for identifying a processor from a plurality of processors to provide symmetrical request and response processing
摘要 Described herein is a method and system for distributing request and responses across a multi-core system. Each core executes a packet engine that further processes data packets allocated to that core. A flow distributor executing within the multi-core system forwards client requests to a packet engine on a core that is selected based on a value generated when a hash is applied to a tuple comprising a client IP address, a client port, a server IP address and a server port identified in the request. The packet engine selects a first IP address and a first port of the core, and determines whether a hash of a tuple comprising those values identifies the selected core. A modification is then made to the client request so that the client request includes a tuple comprising the first IP address, the server IP address, the first port and the server port.
申请公布号 US8990431(B2) 申请公布日期 2015.03.24
申请号 US200912489180 申请日期 2009.06.22
申请人 Citrix Systems, Inc. 发明人 Goel Deepak;Kurma Jyotheesh;Gopinath Sandhya
分类号 G06F15/16;H04L29/08;G06F9/455 主分类号 G06F15/16
代理机构 Foley & Lardner LLP 代理人 Foley & Lardner LLP ;McKenna Christopher J.;Rose Daniel E.
主权项 1. A method for providing symmetrical request and response processing across a packet engine of a plurality of packet engines, each of the plurality of packet engines executing on a respective core of a plurality of cores in a multi-core system intermediary to a client and a server, the method comprising: a) receiving, by a packet engine on a first core of a multi-core device intermediary to a client and a server, from a flow distributor, a request of the client to the server, the first core selected by the flow distributor based on a first hash of a first tuple comprising a client internet protocol address, a client port, a server internet protocol address and a server port identified in the request; b) selecting, by the packet engine, a first internet protocol address of one or more internet protocol addresses of the first core and a first port from a plurality of ports of the first core; c) determining, by the packet engine, that a second hash of a second tuple comprising at least the first internet protocol address and the first port, identifies the first core; d) identifying, by the packet engine, that the first port is available; e) modifying, by the packet engine, the client internet protocol address of the request of the client to comprise the first internet protocol address and the client port of the request of the client to comprise the first port; and f) transmitting, by the packet engine, the modified request of the client to the server.
地址 Fort Lauderdale FL US