×

Systems and methods for routing network packets between multi-core intermediaries

  • US 10,333,846 B2
  • Filed: 02/19/2016
  • Issued: 06/25/2019
  • Est. Priority Date: 02/19/2016
  • Status: Active Grant
First Claim
Patent Images

1. A method of routing network packets between multi-core intermediaries, comprising:

  • receiving, by a processor of a plurality of processors of a client-side intermediary device deployed between a client device and a plurality of server-side intermediary devices, a packet from the client device, each of the plurality of processors of the client-side intermediary device identified by a core identifier of a corresponding plurality of core identifiers, the packet including a first source port address corresponding to the client device;

    calculating, by the processor of the client-side intermediary device, a first set of source port addresses of the client-side intermediary device based on a hash function applied to inputs of a first key and the core identifier;

    identifying, by the processor of the client-side intermediary device, from the plurality of server-side intermediary devices, a server-side intermediary device based on data received with the packet from the client device or control information received from the target server-side intermediary device, the target server-side intermediary device comprising a plurality of processors;

    selecting, by the processor of the client-side intermediary device, a target core identifier corresponding to a target processor of the plurality of processors of the selected server-side intermediary device based on the data received with the packet from the client device or the control information received from the target server-side intermediary device;

    calculating, by the processor of the client-side intermediary device, a second set of source port addresses of the client-side intermediary device based on the hash function applied to inputs of a second key and the target core identifier;

    identifying, by the processor of the client-side intermediary device, a second source port address common to both the first set of source port addresses and the second set of source port addresses, the second source port address corresponding to the target processor of the plurality of processors of the target server-side intermediary device for routing the packet; and

    replacing, by the processor of the client-side intermediary device, the first source port address in the packet with the second source port address.

View all claims
  • 8 Assignments
Timeline View
Assignment View
    ×
    ×