Patent ID: 9088501
Filing Date: 2015-07-21
Classification: G06F,H04L

Abstract:
1. A method for load balancing a plurality of connections to a plurality of services across a plurality of packet engines of a multi-core device, the method comprising: (a) establishing a number of sub-slots in each slot of each of a plurality of packet engines executing on a device intermediary between a plurality of clients and a plurality of services, the number of sub-slots corresponding to a number of the packet engines executing on the device, each of the packet engines executing on a respective core from a plurality of cores on the device, each slot of each packet engine for tracking a different number of active connections allocated to a service accessible via the corresponding packet engine; (b) assigning, by the device, a first service and a second service each having no active connections, to each of the packet engines in a first slot corresponding to no active connections, the first service and the second service assigned to different sub-slots of the first slot in adjacent packet engines, the first service and the second service configured to be allocated with active connections for load balancing by the device; and (c) updating, by the device responsive to allocation of a first active connection to the first service, the first service from a sub-slot in the first slot of a first packet engine of the plurality of packet engines, to a corresponding sub-slot in a second slot of the first packet engine, the second slot corresponding to one active connection allocated to the first service via the load balancing.