A method comprising: defining a cluster of a plurality of network controllers (210, 220), wherein each respective network controller (210, 220) contributes at least one license to a current total amount of licenses in a license pool; identifying at least one threatened access point (320, 325, 330) upon detecting a first network controller (210, 220) has become unavailable, wherein the threatened access point (320, 325, 330) comprises any access point connected to the first network controller (210, 220) when the first network controller (210, 220) becomes unavailable; establishing a connection between a back-up controller and the threatened access point (320, 325, 330); while the first network controller (210, 220) is unavailable, allocating a license to each threatened access point (320, 325, 330) via the back-up network controller (210, 220); upon detecting the first network controller (210, 220) is unavailable, placing each license contributed by the first network-controller (210, 220) into a grace pool for a grace period, wherein the current total amount of licenses accounts for each license currently in the grace pool, the grace period comprising a specified time interval; and wherein allocating a license to each threatened access point (320, 325, 330) via the back-up network controller (210, 220) while the first network controller (210, 220) is in a failed state includes: during the grace period, allocating an unconsumed license to each threatened access point (320, 325, 330) when a total number of access points (310, 315, 320, 325, 330) is not greater than the current total amount of licenses, the total number of access points (310, 315, 320, 325, 330) including each threatened access point (320, 325, 330) and any other access point (310, 315, 320, 325, 330) connected to the cluster. defining a cluster of a plurality of network controllers (210, 220), wherein each respective network controller (210, 220) contributes at least one license to a current total amount of licenses in a license pool; identifying at least one threatened access point (320, 325, 330) upon detecting a first network controller (210, 220) has become unavailable, wherein the threatened access point (320, 325, 330) comprises any access point connected to the first network controller (210, 220) when the first network controller (210, 220) becomes unavailable; establishing a connection between a back-up controller and the threatened access point (320, 325, 330); while the first network controller (210, 220) is unavailable, allocating a license to each threatened access point (320, 325, 330) via the back-up network controller (210, 220); upon detecting the first network controller (210, 220) is unavailable, placing each license contributed by the first network-controller (210, 220) into a grace pool for a grace period, wherein the current total amount of licenses accounts for each license currently in the grace pool, the grace period comprising a specified time interval; and wherein allocating a license to each threatened access point (320, 325, 330) via the back-up network controller (210, 220) while the first network controller (210, 220) is in a failed state includes: during the grace period, allocating an unconsumed license to each threatened access point (320, 325, 330) when a total number of access points (310, 315, 320, 325, 330) is not greater than the current total amount of licenses, the total number of access points (310, 315, 320, 325, 330) including each threatened access point (320, 325, 330) and any other access point (310, 315, 320, 325, 330) connected to the cluster. during the grace period, allocating an unconsumed license to each threatened access point (320, 325, 330) when a total number of access points (310, 315, 320, 325, 330) is not greater than the current total amount of licenses, the total number of access points (310, 315, 320, 325, 330) including each threatened access point (320, 325, 330) and any other access point (310, 315, 320, 325, 330) connected to the cluster.