Different Client and Content Characteristics
With this use case, we want to use the same origin server, but apply different Client Characteristics and Content Characteristics, based on the Client IP associated with the request.
We'll be fielding requests to a single Property hostname, "big-games-downloads.com" for a game download. Several CIDR blocks will be called out to use specific Client Characteristics and Content Characteristics to optimize download of the game to those addresses, while requests from all other client IPs will use what's set for these behaviors in the Default Rule.
For ease of use in this scenario, NetStorage is used as the origin for all requests.
Phase 1: Create the Property hostname
We need a new DD property with one property hostname and we also want to employ Standard TLS security for access.
The steps that follow outline what you need to do to create the property hostname for this use case.
- You need a Standard TLS certificate set up the property hostname. This can take awhile to provision, so you should create it before you create the DD property. You need to include your property hostnames as a CN or SAN in the certificate—"big-games-downloads.com".
- Create a new DD property in Control Center.
- Set up a Standard TLS Property Hostname to Edge hostname association for "big-games-downloads.com."
Phase 2: Add a new rule for specific Client IP requests
For certain requesting clients, we want to optimize delivery. So, we're incorporating this rule to target requests from various CIDR blocks to use specific Client Characteristics and Content Characteristics behavior settings.
- In the Property Configuration Settings click Add Rule.
- Ensure Blank Rule Template is selected and click Insert Rule.
- Click the gear icon in the New Rule and select Edit Name. Input a desired name (for example, "CIDR block optimization") and press Enter.
- Click Add Match and set the fields
- Client IP
- is one of
- Select Items. Click this field and input a range of CIDR blocks that represent IP addresses in the desired geographic location.
- Click Add Behavior.
- Type "client" in the Search available
behaviors field to filter results, select Client Characteristics, and
Behavior. For this example, we'll set these options in this behavior:
Option Setting Client Location Select the geographic region that best represents the CIDR blocks you set for the match criteria. This optimizes delivery of the game to the clients in this geography.
- Click Add Behavior.
- Type "content" in the search field, select Content
Characteristics, and click Insert Behavior. For this
example, we'll set these options in this behavior:
Option Setting Origin Object Size For this example, the game is 5GB in size, so set this to Greater than 100MB.Note: Anything greater than 10 MB in size constitutes a "large file," so Akamai's Partial Object Caching feature is automatically applied when you select this size object. This is beneficial if all files are 10 MB in size or greater, but it can have a negative impact if your file sizes are below this value. See Do you need partial object caching? for more details. Popularity Distribution The popularity setting doesn't really apply to this rule, because it only applies to a select range of CIDR blocks. So, set this to "Unknown." Catalog Size This applies to the size of the overall catalog of content to be delivered. A single game that's 5GB in size is being delivered. So, this constitutes a Small catalog size. Content Type Set this to "Game." Optimize for Foreground Download Set this to "Yes" to enable foreground downloads to optimize client requests for the game.
Phase 3: Configure the Default Rule
Now, you configure the Default Rule to handle all other requests, as well as settings you want applied to all requests. For example, we'll configure "NetStorage" as the Origin Server for all requests. Access it and set the use case-based behaviors here as follows.
|Origin Server||Set the Origin Type to "NetStorage," and select the applicable NetStorage Account that houses the game to be downloaded.|
|Origin Characteristics||Set these options:
|Content Characteristics||Set the same options here that you set for the "CIDR
block optimization" rule, except for these options:
|Client Characteristics||Set these options:
What happens next?
Once live in production, request logic for your content works as follows:
- A request to "https://big-games-downloads.com" from within a specified CIDR block. When a request comes in that meets the match criteria in the "CIDR block optimization" rule, Akamai will cache the game in edge servers in the Client Location geography that you selected in that rule. It will additionally optimize delivery based on the settings you've applied in that rule's Content Characteristics behavior. As additional requests from the CIDR blocks set in the rule are received, they'll be directed to the cached content, allowing for quicker download.
- A request to "https://big-games-downloads.com" from outside the specified CIDR blocks. The Client Characteristics setting in the Default Rule is used for these requests. It was set to "Unknown" to support all other geographies. Akamai will still cache the game in edge servers as requests come from random geographies, but only until the cache's time to live expires. However, these requests will still be optimized to some extent, using the settings you've applied for the Content Characteristics behavior in the Default Rule.