Transition from connection-based licensing to user-based licensing

OBJECTIVES/GOAL

Client wanted to introduce a customer friendly licensing format based on users as compared to licensing restrictions based on connections without affecting performance.

CHALLENGES

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).

ACCOMPLISHMENTS

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).

TECHNOLOGIES

Perl/CGI, HTML5

SOLUTION ARCHITECTURE
  • 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