Client wanted to introduce a customer friendly licensing format based on users as compared to licensing restrictions based on connections without affecting performance.
Transition from connection-based licensing to user-based licensing
Looking up the number of connections in progress per user is a costly operation especially when the number of connections are large which would hence affect login rate /performance linearly O(n).
By reviewing the cache design, we arrived at a new approach that minimized the time required to parse the cache and make the necessary information available in constant time O(1).
- HTML5 enabled browsers connect to a CGI engine running on the firewall handling user connection requests,
- CGI engine validates user requests and retrieves licensing information,
- All user and session records are organized in a datastore