Canonical mapping - to the neophyte programmer, a canonical mapper seems more complex than a simple 1:1 mapping because of an extra step.  Here's a security scheme using a canonical pattern.

In a 1:1 mapper, CloudFront converts to LimeLight.

In canonical mapper, CloudFront converts to canonical form, then converts that to LimeLight form.

Imagine a 1:1 mapping for 4 customers.  The total number of maps is (N) x (N-1) = (4) x (3) = 12 maps.  100 customers would need (100) x (99) or 9900 maps.

Canonical mapper for 4 customers is an (N) function and has 4 maps.  100 customers would need 100 maps.