trafficcontrol-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From git-site-r...@apache.org
Subject [4/4] incubator-trafficcontrol-website git commit: Update docs from commit 04d86651fb6d846f2ea10a48b9fe4303b28b725c
Date Wed, 24 Jan 2018 17:33:54 GMT
Update docs from commit 04d86651fb6d846f2ea10a48b9fe4303b28b725c


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/commit/6d70f966
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/tree/6d70f966
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/diff/6d70f966

Branch: refs/heads/asf-site
Commit: 6d70f966ef9c78580fbe374009065bd54527343a
Parents: 3d738e4
Author: jenkins <builds@apache.org>
Authored: Wed Jan 24 17:33:48 2018 +0000
Committer: jenkins <builds@apache.org>
Committed: Wed Jan 24 17:33:48 2018 +0000

----------------------------------------------------------------------
 .../_sources/admin/traffic_ops/using.rst.txt    |  93 ++-
 .../_sources/admin/traffic_router.rst.txt       |  88 +-
 .../traffic_ops_api/v12/deliveryservice.rst.txt |  48 +-
 .../traffic_ops_api/v12/server.rst.txt          |   6 +
 .../traffic_ops_api/v12/user.rst.txt            |   6 +
 docs/master/admin/index.html                    |  11 +-
 docs/master/admin/traffic_ops/using.html        | 188 +++--
 docs/master/admin/traffic_router.html           | 102 ++-
 .../traffic_ops_api/v12/deliveryservice.html    | 827 ++++++++++---------
 .../development/traffic_ops_api/v12/server.html | 114 +--
 .../development/traffic_ops_api/v12/user.html   | 114 +--
 docs/master/index.html                          |   1 +
 docs/master/objects.inv                         | Bin 4623 -> 4655 bytes
 docs/master/searchindex.js                      |   2 +-
 14 files changed, 1013 insertions(+), 587 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/6d70f966/docs/master/_sources/admin/traffic_ops/using.rst.txt
----------------------------------------------------------------------
diff --git a/docs/master/_sources/admin/traffic_ops/using.rst.txt b/docs/master/_sources/admin/traffic_ops/using.rst.txt
index 7a78bd1..e7e8eb2 100644
--- a/docs/master/_sources/admin/traffic_ops/using.rst.txt
+++ b/docs/master/_sources/admin/traffic_ops/using.rst.txt
@@ -306,6 +306,11 @@ The fields in the Delivery Service view are:
 +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | Content Routing Type                             | The type of content routing this delivery service will use. See :ref:`rl-ds-types`.                                                                                                                                 |
 +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Deep Caching                                     | (for HTTP routed delivery services only) When to do deep caching for this delivery service (see :ref:`Deep Caching <rl-deep-cache>` for more details):                                                              |
+|                                                  |                                                                                                                                                                                                                     |
+|                                                  | - NEVER                                                                                                                                                                                                             |
+|                                                  | - ALWAYS                                                                                                                                                                                                            |
++--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | Delivery Service DNS TTL                         | The Time To Live on the DNS record for the Traffic Router A and AAAA records (``<routing-name>.<deliveryservice>.<cdn-domain>``).                                                                                   |
 +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | Delivery Servics URLs                            | (Read Only) An example of how the delivery URL may start. This could be multiple rows if multiple HOST_REGEXP entries have been entered.                                                                            |
@@ -710,7 +715,11 @@ Traffic Router Profile
 +-----------------------------------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | coveragezone.polling.interval           | CRConfig.json          | How often to refresh the coverage zone map in ms                                                                                                                                                          |
 +-----------------------------------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| coveragezone.polling.url                | CRConfig.json          | The location (URL) to retrieve the coverage zone map file in XML format from.                                                                                                                             |
+| coveragezone.polling.url                | CRConfig.json          | The location (URL) to retrieve the coverage zone map file in JSON format from.                                                                                                                            |
++-----------------------------------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| deepcoveragezone.polling.interval       | CRConfig.json          | How often to refresh the deep coverage zone map in ms                                                                                                                                                     |
++-----------------------------------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| deepcoveragezone.polling.url            | CRConfig.json          | The location (URL) to retrieve the deep coverage zone map file in JSON format from.                                                                                                                       |
 +-----------------------------------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | tld.soa.expire                          | CRConfig.json          | The value for the expire field the Traffic Router DNS Server will respond with on Start of Authority (SOA) records.                                                                                       |
 +-----------------------------------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -846,23 +855,31 @@ The Coverage Zone File (CZF) should contain a cachegroup name to network prefix
   {
     "coverageZones": {
       "cache-group-01": {
+        "coordinates": {
+          "latitude":  1.1,
+          "longitude": 2.2
+        },
         "network6": [
-          "1234:5678::\/64",
-          "1234:5679::\/64"
+          "1234:5678::/64",
+          "1234:5679::/64"
         ],
         "network": [
-          "192.168.8.0\/24",
-          "192.168.9.0\/24"
+          "192.168.8.0/24",
+          "192.168.9.0/24"
         ]
-      }
+      },
       "cache-group-02": {
+        "coordinates": {
+          "latitude":  3.3,
+          "longitude": 4.4
+        },
         "network6": [
-          "1234:567a::\/64",
-          "1234:567b::\/64"
+          "1234:567a::/64",
+          "1234:567b::/64"
         ],
         "network": [
-          "192.168.4.0\/24",
-          "192.168.5.0\/24"
+          "192.168.4.0/24",
+          "192.168.5.0/24"
         ]
       }
     }
@@ -872,6 +889,62 @@ The CZF is an input to the Traffic Control CDN, and as such does not get generat
 
 The script that generates the CZF file is not part of Traffic Control, since it is different for each situation.
 
+.. note:: The ``"coordinates"`` section is optional and may be used by Traffic Router for localization in the case of a CZF "hit" where the zone name does not map to a Cache Group name in Traffic Ops (i.e. Traffic Router will route to the closest Cache Group(s) geographically).
+
+.. _rl-deep-czf:
+
+The Deep Coverage Zone File
++++++++++++++++++++++++++++
+The Deep Coverage Zone File (DCZF) format is similar to the CZF format but adds a ``caches`` list under each ``deepCoverageZone``: ::
+
+  {
+    "deepCoverageZones": {
+      "location-01": {
+        "coordinates": {
+          "latitude":  5.5,
+          "longitude": 6.6
+        },
+        "network6": [
+          "1234:5678::/64",
+          "1234:5679::/64"
+        ],
+        "network": [
+          "192.168.8.0/24",
+          "192.168.9.0/24"
+        ],
+        "caches": [
+          "edge-01",
+          "edge-02"
+        ]
+      },
+      "location-02": {
+        "coordinates": {
+          "latitude":  7.7,
+          "longitude": 8.8
+        },
+        "network6": [
+          "1234:567a::/64",
+          "1234:567b::/64"
+        ],
+        "network": [
+          "192.168.4.0/24",
+          "192.168.5.0/24"
+        ],
+        "caches": [
+          "edge-02",
+          "edge-03"
+        ]
+      }
+    }
+  }
+
+Each entry in the ``caches`` list is the hostname of an edge cache registered in Traffic Ops which will be used for "deep" caching in that Deep Coverage Zone. Unlike a regular CZF, coverage zones in the DCZF do not map to a Cache Group in Traffic Ops, so currently the deep coverage zone name only needs to be unique.
+
+If the Traffic Router gets a DCZF "hit" for a requested Delivery Service that has Deep Caching enabled, the client will be routed to an available "deep" cache from that zone's ``caches`` list.
+
+.. note:: The ``"coordinates"`` section is optional.
+
+
 .. _rl-working-with-profiles:
 
 Parameters and Profiles

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/6d70f966/docs/master/_sources/admin/traffic_router.rst.txt
----------------------------------------------------------------------
diff --git a/docs/master/_sources/admin/traffic_router.rst.txt b/docs/master/_sources/admin/traffic_router.rst.txt
index 3a37781..474dc96 100644
--- a/docs/master/_sources/admin/traffic_router.rst.txt
+++ b/docs/master/_sources/admin/traffic_router.rst.txt
@@ -102,6 +102,10 @@ Configuration files
 |                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
 |                            | cache.czmap.database.refresh.period       | The interval in milliseconds which Traffic Router will poll for a new coverage zone file            | 10800000                                          |
 |                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
+|                            | cache.dczmap.database                     | Full path to the local copy of the deep coverage zone file                                          | /opt/traffic_router/db/dczmap.json                |
+|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
+|                            | cache.dczmap.database.refresh.period      | The interval in milliseconds which Traffic Router will poll for a new deep coverage zone file       | 10800000                                          |
+|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
 |                            | cache.health.json                         | Full path to the local copy of the health state                                                     | /opt/traffic_router/db/health.json                |
 |                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
 |                            | cache.health.json.refresh.period          | The interval in milliseconds which Traffic Router will poll for a new health state file             | 1000                                              |
@@ -183,23 +187,23 @@ Items within brackets below are detailed under the HTTP and DNS sections
 Fields Always Present
 ---------------------
 
-+------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
-|Name  |Description                                                                      |Data                                                                       |
-+======+=================================================================================+===========================================================================+
-|qtype |Whether the request was for DNS or HTTP                                          |Always DNS or HTTP                                                         |
-+------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
-|chi   |The IP address of the requester                                                  |Depends on whether this was a DNS or HTTP request, see below sections      |
-+------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
-|ttms  |The amount of time in milliseconds it took Traffic Router to process the request |A number greater than or equal to zero                                     |
-+------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
-|rtype |Routing Result Type                                                              |One of ERROR, CZ, GEO, MISS, STATIC_ROUTE, DS_REDIRECT, DS_MISS, INIT, FED |
-+------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
-|rloc  |GeoLocation of result                                                            |Latitude and Longitude in Decimal Degrees                                  |
-+------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
-|rdtl  |Result Details Associated with unusual conditions                                |One of DS_NOT_FOUND, DS_NO_BYPASS, DS_BYPASS, DS_CZ_ONLY                   |
-+------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
-|rerr  |Message about internal Traffic Router Error                                      |String                                                                     |
-+------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
++------+---------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
+|Name  |Description                                                                      |Data                                                                                |
++======+=================================================================================+====================================================================================+
+|qtype |Whether the request was for DNS or HTTP                                          |Always DNS or HTTP                                                                  |
++------+---------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
+|chi   |The IP address of the requester                                                  |Depends on whether this was a DNS or HTTP request, see below sections               |
++------+---------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
+|ttms  |The amount of time in milliseconds it took Traffic Router to process the request |A number greater than or equal to zero                                              |
++------+---------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
+|rtype |Routing Result Type                                                              |One of ERROR, CZ, DEEP_CZ, GEO, MISS, STATIC_ROUTE, DS_REDIRECT, DS_MISS, INIT, FED |
++------+---------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
+|rloc  |GeoLocation of result                                                            |Latitude and Longitude in Decimal Degrees                                           |
++------+---------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
+|rdtl  |Result Details Associated with unusual conditions                                |One of DS_NOT_FOUND, DS_NO_BYPASS, DS_BYPASS, DS_CZ_ONLY                            |
++------+---------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
+|rerr  |Message about internal Traffic Router Error                                      |String                                                                              |
++------+---------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
 
 **rtype meanings**
 
@@ -210,6 +214,8 @@ Fields Always Present
 +-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 |CZ           |The result was derived from Coverage Zone data based on the address in the chi field                                                                                    |
 +-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+|DEEP_CZ      |The result was derived from Deep Coverage Zone data based on the address in the chi field                                                                               |
++-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 |GEO          |The result was derived from geolocation service based on the address in the chi field                                                                                   |
 +-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 |MISS         |Traffic Router was unable to resolve a DNS request or find a cache for the requested resource                                                                           |
@@ -347,6 +353,54 @@ The URL has 3 kinds of formats, which have different meanings:
 
 3. URL with domain that doesn't match with the delivery service. For this URL, the router will return the configured url directly to the client.
 
+
+.. _rl-deep-cache:
+
+Deep Caching - Deep Coverage Zone Topology
+==========================================
+
+Overview
+--------
+
+Deep Caching is a feature that enables clients to be routed to the closest
+possible "deep" edge caches on a per Delivery Service basis. The term "deep" is
+used in the networking sense, meaning that the edge caches are located deep in
+the network where the number of network hops to a client is as minimal as
+possible. This deep caching topology is desirable because storing content closer
+to the client gives better bandwidth savings, and sometimes the cost of
+bandwidth usage in the network outweighs the cost of adding storage. While it
+may not be feasible to cache an entire copy of the CDN's contents in every deep
+location (for the best possible bandwidth savings), storing just a relatively
+small amount of the CDN's most requested content can lead to very high bandwidth
+savings.
+
+Getting started
+---------------
+
+What you need:
+
+#. Edge caches deployed in "deep" locations and registered in Traffic Ops
+#. A Deep Coverage Zone File (DCZF) mapping these deep cache hostnames to specific network prefixes (see :ref:`rl-deep-czf` for details)
+#. Deep caching parameters in the Traffic Router Profile (see :ref:`rl-ccr-profile` for details):
+
+   * ``deepcoveragezone.polling.interval``
+   * ``deepcoveragezone.polling.url``
+
+#. Deep Caching enabled on one or more HTTP Delivery Services (i.e. ``deepCachingType`` = ALWAYS)
+
+How it works
+------------
+
+Deep Coverage Zone routing is very similar to that of regular Coverage Zone
+routing, except that the DCZF is preferred over the regular  CZF for Delivery
+Services with DC (Deep Caching) enabled. If the client requests a DC-enabled
+Delivery Service and their IP address gets a "hit" in the DCZF, Traffic Router
+will attempt to route that client to one of the available deep caches in the
+client's corresponding zone. If there are no deep caches available for a
+client's request, Traffic Router will "fall back" to the regular CZF and
+continue regular CZF routing from there.
+
+
 .. _rl-tr-steering:
 
 Steering feature

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/6d70f966/docs/master/_sources/development/traffic_ops_api/v12/deliveryservice.rst.txt
----------------------------------------------------------------------
diff --git a/docs/master/_sources/development/traffic_ops_api/v12/deliveryservice.rst.txt b/docs/master/_sources/development/traffic_ops_api/v12/deliveryservice.rst.txt
index 2884a4b..6dee578 100644
--- a/docs/master/_sources/development/traffic_ops_api/v12/deliveryservice.rst.txt
+++ b/docs/master/_sources/development/traffic_ops_api/v12/deliveryservice.rst.txt
@@ -66,6 +66,11 @@ Delivery Service
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``checkPath``            | string | The path portion of the URL to check this deliveryservice for health.                                                                |
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
+  | ``deepCachingType``      | string | When to do Deep Caching for this Delivery Service:                                                                                   |
+  |                          |        |                                                                                                                                      |
+  |                          |        | - NEVER (default)                                                                                                                    |
+  |                          |        | - ALWAYS                                                                                                                             |
+  +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``displayName``          | string | The display name of the delivery service.                                                                                            |
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``dnsBypassCname``       | string |                                                                                                                                      |
@@ -206,6 +211,7 @@ Delivery Service
             "cdnId": "2",
             "cdnName": "over-the-top",
             "checkPath": "",
+            "deepCachingType": "NEVER",
             "displayName": "My Cool Delivery Service",
             "dnsBypassCname": "",
             "dnsBypassIp": "",
@@ -301,6 +307,11 @@ Delivery Service
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``checkPath``            | string | The path portion of the URL to check this deliveryservice for health.                                                                |
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
+  | ``deepCachingType``      | string | When to do Deep Caching for this Delivery Service:                                                                                   |
+  |                          |        |                                                                                                                                      |
+  |                          |        | - NEVER (default)                                                                                                                    |
+  |                          |        | - ALWAYS                                                                                                                             |
+  +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``displayName``          | string | The display name of the delivery service.                                                                                            |
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``dnsBypassCname``       | string |                                                                                                                                      |
@@ -449,6 +460,7 @@ Delivery Service
             "cdnId": "2",
             "cdnName": "over-the-top",
             "checkPath": "",
+            "deepCachingType": "NEVER",
             "displayName": "My Cool Delivery Service",
             "dnsBypassCname": "",
             "dnsBypassIp": "",
@@ -1918,6 +1930,11 @@ URL Sig Keys
   +----------------------------------------+--------+----------+---------------------------------------------------------------------------------------------+
   | ``>customer``                          | string | yes      | Name of the customer to associated with the delivery service.                               |
   +----------------------------------------+--------+----------+---------------------------------------------------------------------------------------------+
+  | ``>deepCachingType``                   | string | no       | When to do Deep Caching for this Delivery Service:                                          |
+  |                                        |        |          |                                                                                             |
+  |                                        |        |          | - NEVER (default)                                                                           |
+  |                                        |        |          | - ALWAYS                                                                                    |
+  +----------------------------------------+--------+----------+---------------------------------------------------------------------------------------------+
   | ``>deliveryProtocol``                  | string | yes      | Eg. http or http/https                                                                      |
   +----------------------------------------+--------+----------+---------------------------------------------------------------------------------------------+
   | ``>routingType``                       | string | yes      | Eg. DNS or HTTP Redirect                                                                    |
@@ -1978,6 +1995,7 @@ URL Sig Keys
        "details": {
           "customer": "XYZ Corporation",
           "contentType": "video-on-demand",
+          "deepCachingType": "NEVER",
           "deliveryProtocol": "http",
           "routingType": "dns",
           "routingName": "foo",
@@ -2062,6 +2080,11 @@ URL Sig Keys
   +------------------------+----------+---------------------------------------------------------------------------------------------------------+
   | checkPath              | no       | The path portion of the URL to check this deliveryservice for health.                                   |
   +------------------------+----------+---------------------------------------------------------------------------------------------------------+
+  | deepCachingType        | no       | When to do Deep Caching for this Delivery Service:                                                      |
+  |                        |          |                                                                                                         |
+  |                        |          | - NEVER (default)                                                                                       |
+  |                        |          | - ALWAYS                                                                                                |
+  +------------------------+----------+---------------------------------------------------------------------------------------------------------+
   | displayName            | yes      | Display name                                                                                            |
   +------------------------+----------+---------------------------------------------------------------------------------------------------------+
   | dnsBypassCname         | no       | Bypass CNAME                                                                                            |
@@ -2232,6 +2255,11 @@ URL Sig Keys
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``checkPath``            | string | The path portion of the URL to check this deliveryservice for health.                                                                |
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
+  | ``deepCachingType``      | string | When to do Deep Caching for this Delivery Service:                                                                                   |
+  |                          |        |                                                                                                                                      |
+  |                          |        | - NEVER (default)                                                                                                                    |
+  |                          |        | - ALWAYS                                                                                                                             |
+  +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``displayName``          | string | The display name of the delivery service.                                                                                            |
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``dnsBypassCname``       | string |                                                                                                                                      |
@@ -2376,6 +2404,7 @@ URL Sig Keys
             "cdnId": "2",
             "cdnName": "over-the-top",
             "checkPath": "",
+            "deepCachingType": "NEVER",
             "displayName": "My Cool Delivery Service",
             "dnsBypassCname": "",
             "dnsBypassIp": "",
@@ -2472,6 +2501,11 @@ URL Sig Keys
   +------------------------+----------+---------------------------------------------------------------------------------------------------------+
   | checkPath              | no       | The path portion of the URL to check this deliveryservice for health.                                   |
   +------------------------+----------+---------------------------------------------------------------------------------------------------------+
+  | deepCachingType        | no       | When to do Deep Caching for this Delivery Service:                                                      |
+  |                        |          |                                                                                                         |
+  |                        |          | - NEVER (default)                                                                                       |
+  |                        |          | - ALWAYS                                                                                                |
+  +------------------------+----------+---------------------------------------------------------------------------------------------------------+
   | displayName            | yes      | Display name                                                                                            |
   +------------------------+----------+---------------------------------------------------------------------------------------------------------+
   | dnsBypassCname         | no       | Bypass CNAME                                                                                            |
@@ -2602,7 +2636,7 @@ URL Sig Keys
     {
         "xmlId": "my_ds_1",
         "displayName": "my_ds_displayname_1",
-	"tenantId": 1,
+        "tenantId": 1,
         "protocol": 1,
         "orgServerFqdn": "http://10.75.168.91",
         "cdnId": 2,
@@ -2642,6 +2676,11 @@ URL Sig Keys
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``checkPath``            | string | The path portion of the URL to check this deliveryservice for health.                                                                |
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
+  | ``deepCachingType``      | string | When to do Deep Caching for this Delivery Service:                                                                                   |
+  |                          |        |                                                                                                                                      |
+  |                          |        | - NEVER (default)                                                                                                                    |
+  |                          |        | - ALWAYS                                                                                                                             |
+  +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``displayName``          | string | The display name of the delivery service.                                                                                            |
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``dnsBypassCname``       | string |                                                                                                                                      |
@@ -2786,6 +2825,7 @@ URL Sig Keys
             "cdnId": "2",
             "cdnName": "over-the-top",
             "checkPath": "",
+            "deepCachingType": "NEVER",
             "displayName": "My Cool Delivery Service",
             "dnsBypassCname": "",
             "dnsBypassIp": "",
@@ -2911,6 +2951,11 @@ URL Sig Keys
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``checkPath``            | string | The path portion of the URL to check this deliveryservice for health.                                                                |
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
+  | ``deepCachingType``      | string | When to do Deep Caching for this Delivery Service:                                                                                   |
+  |                          |        |                                                                                                                                      |
+  |                          |        | - NEVER (default)                                                                                                                    |
+  |                          |        | - ALWAYS                                                                                                                             |
+  +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``displayName``          | string | The display name of the delivery service.                                                                                            |
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``dnsBypassCname``       | string |                                                                                                                                      |
@@ -3055,6 +3100,7 @@ URL Sig Keys
             "cdnId": "2",
             "cdnName": "over-the-top",
             "checkPath": "",
+            "deepCachingType": "NEVER",
             "displayName": "My Cool Delivery Service",
             "dnsBypassCname": "",
             "dnsBypassIp": "",

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/6d70f966/docs/master/_sources/development/traffic_ops_api/v12/server.rst.txt
----------------------------------------------------------------------
diff --git a/docs/master/_sources/development/traffic_ops_api/v12/server.rst.txt b/docs/master/_sources/development/traffic_ops_api/v12/server.rst.txt
index 77ae9f8..779f19a 100644
--- a/docs/master/_sources/development/traffic_ops_api/v12/server.rst.txt
+++ b/docs/master/_sources/development/traffic_ops_api/v12/server.rst.txt
@@ -378,6 +378,11 @@ Server
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``checkPath``            | string | The path portion of the URL to check this deliveryservice for health.                                                                |
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
+  | ``deepCachingType``      | string | When to do Deep Caching for this Delivery Service:                                                                                   |
+  |                          |        |                                                                                                                                      |
+  |                          |        | - NEVER (default)                                                                                                                    |
+  |                          |        | - ALWAYS                                                                                                                             |
+  +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``displayName``          | string | The display name of the delivery service.                                                                                            |
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``dnsBypassIp``          | string | The IPv4 IP to use for bypass on a DNS deliveryservice  - bypass starts when serving more than the                                   |
@@ -516,6 +521,7 @@ Server
             "cdnId": "2",
             "cdnName": "over-the-top",
             "checkPath": "",
+            "deepCachingType": "NEVER",
             "displayName": "My Cool Delivery Service",
             "dnsBypassCname": "",
             "dnsBypassIp": "",

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/6d70f966/docs/master/_sources/development/traffic_ops_api/v12/user.rst.txt
----------------------------------------------------------------------
diff --git a/docs/master/_sources/development/traffic_ops_api/v12/user.rst.txt b/docs/master/_sources/development/traffic_ops_api/v12/user.rst.txt
index fe07920..27efc22 100644
--- a/docs/master/_sources/development/traffic_ops_api/v12/user.rst.txt
+++ b/docs/master/_sources/development/traffic_ops_api/v12/user.rst.txt
@@ -454,6 +454,11 @@ Users
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``checkPath``            | string | The path portion of the URL to check this deliveryservice for health.                                                                |
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
+  | ``deepCachingType``      | string | When to do Deep Caching for this Delivery Service:                                                                                   |
+  |                          |        |                                                                                                                                      |
+  |                          |        | - NEVER (default)                                                                                                                    |
+  |                          |        | - ALWAYS                                                                                                                             |
+  +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``displayName``          | string | The display name of the delivery service.                                                                                            |
   +--------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------+
   | ``dnsBypassIp``          | string | The IPv4 IP to use for bypass on a DNS deliveryservice  - bypass starts when serving more than the                                   |
@@ -592,6 +597,7 @@ Users
             "cdnId": "2",
             "cdnName": "over-the-top",
             "checkPath": "",
+            "deepCachingType": "NEVER",
             "displayName": "My Cool Delivery Service",
             "dnsBypassCname": "",
             "dnsBypassIp": "",

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/6d70f966/docs/master/admin/index.html
----------------------------------------------------------------------
diff --git a/docs/master/admin/index.html b/docs/master/admin/index.html
index a99af71..733c76f 100644
--- a/docs/master/admin/index.html
+++ b/docs/master/admin/index.html
@@ -272,6 +272,7 @@
 <li class="toctree-l3"><a class="reference internal" href="traffic_ops/using.html#static-dns-entries">Static DNS Entries</a></li>
 <li class="toctree-l3"><a class="reference internal" href="traffic_ops/using.html#server-assignments">Server Assignments</a></li>
 <li class="toctree-l3"><a class="reference internal" href="traffic_ops/using.html#the-coverage-zone-file-and-asn-table">The Coverage Zone File and ASN Table</a></li>
+<li class="toctree-l3"><a class="reference internal" href="traffic_ops/using.html#the-deep-coverage-zone-file">The Deep Coverage Zone File</a></li>
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="traffic_ops/using.html#parameters-and-profiles">Parameters and Profiles</a></li>
@@ -333,9 +334,15 @@
 <li class="toctree-l3"><a class="reference internal" href="traffic_router.html#configuration">Configuration</a></li>
 </ul>
 </li>
-<li class="toctree-l2"><a class="reference internal" href="traffic_router.html#steering-feature">Steering feature</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="traffic_router.html#deep-caching-deep-coverage-zone-topology">Deep Caching - Deep Coverage Zone Topology</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="traffic_router.html#id2">Overview</a></li>
-<li class="toctree-l3"><a class="reference internal" href="traffic_router.html#id3">Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="traffic_router.html#getting-started">Getting started</a></li>
+<li class="toctree-l3"><a class="reference internal" href="traffic_router.html#how-it-works">How it works</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="traffic_router.html#steering-feature">Steering feature</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="traffic_router.html#id3">Overview</a></li>
+<li class="toctree-l3"><a class="reference internal" href="traffic_router.html#id4">Configuration</a></li>
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="traffic_router.html#https-for-http-type-delivery-services">HTTPS for Http Type Delivery Services</a><ul>

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/6d70f966/docs/master/admin/traffic_ops/using.html
----------------------------------------------------------------------
diff --git a/docs/master/admin/traffic_ops/using.html b/docs/master/admin/traffic_ops/using.html
index 17c4e81..e047e9b 100644
--- a/docs/master/admin/traffic_ops/using.html
+++ b/docs/master/admin/traffic_ops/using.html
@@ -585,34 +585,42 @@ must have an ssh key on the edge servers.</td>
 <tr class="row-even"><td>Content Routing Type</td>
 <td>The type of content routing this delivery service will use. See <a class="reference internal" href="#rl-ds-types"><span class="std std-ref">Delivery Service Types</span></a>.</td>
 </tr>
-<tr class="row-odd"><td>Delivery Service DNS TTL</td>
+<tr class="row-odd"><td>Deep Caching</td>
+<td><p class="first">(for HTTP routed delivery services only) When to do deep caching for this delivery service (see <a class="reference internal" href="../traffic_router.html#rl-deep-cache"><span class="std std-ref">Deep Caching</span></a> for more details):</p>
+<ul class="last simple">
+<li>NEVER</li>
+<li>ALWAYS</li>
+</ul>
+</td>
+</tr>
+<tr class="row-even"><td>Delivery Service DNS TTL</td>
 <td>The Time To Live on the DNS record for the Traffic Router A and AAAA records (<code class="docutils literal"><span class="pre">&lt;routing-name&gt;.&lt;deliveryservice&gt;.&lt;cdn-domain&gt;</span></code>).</td>
 </tr>
-<tr class="row-even"><td>Delivery Servics URLs</td>
+<tr class="row-odd"><td>Delivery Servics URLs</td>
 <td>(Read Only) An example of how the delivery URL may start. This could be multiple rows if multiple HOST_REGEXP entries have been entered.</td>
 </tr>
-<tr class="row-odd"><td>Display Name</td>
+<tr class="row-even"><td>Display Name</td>
 <td>A human-readable name for the delivery service.</td>
 </tr>
-<tr class="row-even"><td>DNS Bypass CNAME</td>
+<tr class="row-odd"><td>DNS Bypass CNAME</td>
 <td>&#160;</td>
 </tr>
-<tr class="row-odd"><td>DNS Bypass Ip</td>
+<tr class="row-even"><td>DNS Bypass Ip</td>
 <td>(For DNS routed delivery services only) This is the address to respond to A requests with when the max Bps or Max Tps for this delivery service are exceeded.</td>
 </tr>
-<tr class="row-even"><td>DNS Bypass IPv6</td>
+<tr class="row-odd"><td>DNS Bypass IPv6</td>
 <td>(For DNS routed delivery services only) This is the address to respond to AAAA requests with when the max Bps or Max Tps for this delivery service are exceeded.</td>
 </tr>
-<tr class="row-odd"><td>DNS Bypass TTL</td>
+<tr class="row-even"><td>DNS Bypass TTL</td>
 <td>&#160;</td>
 </tr>
-<tr class="row-even"><td>DSCP Tag</td>
+<tr class="row-odd"><td>DSCP Tag</td>
 <td>The DSCP value to mark IP packets to the client with.</td>
 </tr>
-<tr class="row-odd"><td>Edge Header Rewrite Rules</td>
+<tr class="row-even"><td>Edge Header Rewrite Rules</td>
 <td>Header Rewrite rules to apply for this delivery service at the EDGE tier. See <a class="reference internal" href="#rl-header-rewrite"><span class="std std-ref">Header Rewrite Options and DSCP</span></a>. <a class="footnote-reference" href="#id7" id="id2">[1]</a></td>
 </tr>
-<tr class="row-even"><td>Geo Limit?</td>
+<tr class="row-odd"><td>Geo Limit?</td>
 <td><p class="first">Some services are intended to be limited by geography. The possible settings are are:</p>
 <ul class="last simple">
 <li>None - Do not limit by geography.</li>
@@ -621,75 +629,75 @@ must have an ssh key on the edge servers.</td>
 </ul>
 </td>
 </tr>
-<tr class="row-odd"><td>Geo Limit Redirect URL</td>
+<tr class="row-even"><td>Geo Limit Redirect URL</td>
 <td>(for HTTP routed delivery services only) This is the URL Traffic Router will redirect to when Geo Limit Failure. See <a class="reference internal" href="../traffic_router.html#rl-tr-ngb"><span class="std std-ref">GeoLimit Failure Redirect feature</span></a></td>
 </tr>
-<tr class="row-even"><td>Geo Limit Countries</td>
+<tr class="row-odd"><td>Geo Limit Countries</td>
 <td>&#160;</td>
 </tr>
-<tr class="row-odd"><td>Geo Miss Default Latitude</td>
+<tr class="row-even"><td>Geo Miss Default Latitude</td>
 <td>Default Latitude for this delivery service. When client localization fails for both Coverage Zone and Geo Lookup, the client will be routed as if it was at this lat.</td>
 </tr>
-<tr class="row-even"><td>Geo Miss Default Longitude</td>
+<tr class="row-odd"><td>Geo Miss Default Longitude</td>
 <td>Default Longitude for this delivery service. When client localization fails for both Coverage Zone and Geo Lookup, the client will be routed as if it was at this long.</td>
 </tr>
-<tr class="row-odd"><td>Geolocation Provider</td>
+<tr class="row-even"><td>Geolocation Provider</td>
 <td>&#160;</td>
 </tr>
-<tr class="row-even"><td>Global Max Mbps</td>
+<tr class="row-odd"><td>Global Max Mbps</td>
 <td>The maximum bits per second this delivery service can serve across all EDGE caches before traffic will be diverted to the bypass destination. For a DNS delivery service, the Bypass Ipv4 or Ipv6  will be used
 (depending on whether this was a A or AAAA request), and for HTTP delivery services the Bypass FQDN will be used.</td>
 </tr>
-<tr class="row-odd"><td>Global Max TPS</td>
+<tr class="row-even"><td>Global Max TPS</td>
 <td>The maximum transactions this delivery service can serve across all EDGE caches before traffic will be diverted to the bypass destination. For a DNS delivery service, the Bypass Ipv4 or Ipv6  will be used
 (depending on whether this was a A or AAAA request), and for HTTP delivery services the Bypass FQDN will be used.</td>
 </tr>
-<tr class="row-even"><td>HTTP Bypass FQDN</td>
+<tr class="row-odd"><td>HTTP Bypass FQDN</td>
 <td>(for HTTP routed delivery services only) This is the FQDN Traffic Router will redirect to (with the same path) when the max Bps or Max Tps for this deliveryservice are exceeded.</td>
 </tr>
-<tr class="row-odd"><td>Info URL</td>
+<tr class="row-even"><td>Info URL</td>
 <td>Info URL  for this delivery service. To be consumed from the APIs by downstream tools (Portal).</td>
 </tr>
-<tr class="row-even"><td>Initial Dispersion</td>
+<tr class="row-odd"><td>Initial Dispersion</td>
 <td>&#160;</td>
 </tr>
-<tr class="row-odd"><td>IPv6 Routing Enabled</td>
+<tr class="row-even"><td>IPv6 Routing Enabled</td>
 <td>When set to yes, the Traffic Router will respond to AAAA DNS requests for the routed name of this delivery service. Otherwise, only A records will be served.</td>
 </tr>
-<tr class="row-even"><td>Key (XML ID)</td>
+<tr class="row-odd"><td>Key (XML ID)</td>
 <td>A unique string that identifies this delivery service.</td>
 </tr>
-<tr class="row-odd"><td>Logs Enabled?</td>
+<tr class="row-even"><td>Logs Enabled?</td>
 <td>&#160;</td>
 </tr>
-<tr class="row-even"><td>Long Description</td>
+<tr class="row-odd"><td>Long Description</td>
 <td>Long description for this delivery service. To be consumed from the APIs by downstream tools (Portal).</td>
 </tr>
-<tr class="row-odd"><td>Long Description 2</td>
+<tr class="row-even"><td>Long Description 2</td>
 <td>&#160;</td>
 </tr>
-<tr class="row-even"><td>Long Description 3</td>
+<tr class="row-odd"><td>Long Description 3</td>
 <td>&#160;</td>
 </tr>
-<tr class="row-odd"><td>Max DNS Answers</td>
+<tr class="row-even"><td>Max DNS Answers</td>
 <td>&#160;</td>
 </tr>
-<tr class="row-even"><td>Mid Header Rewrite Rules</td>
+<tr class="row-odd"><td>Mid Header Rewrite Rules</td>
 <td>Header Rewrite rules to apply for this delivery service at the MID tier. See <a class="reference internal" href="#rl-header-rewrite"><span class="std std-ref">Header Rewrite Options and DSCP</span></a>. <a class="footnote-reference" href="#id7" id="id3">[1]</a></td>
 </tr>
-<tr class="row-odd"><td>Multi Site Origin</td>
+<tr class="row-even"><td>Multi Site Origin</td>
 <td>Enable the Multi Site Origin feature for this delivery service. See <a class="reference internal" href="#rl-multi-site-origin"><span class="std std-ref">Multi Site Origin</span></a></td>
 </tr>
-<tr class="row-even"><td>Origin Server Base URL</td>
+<tr class="row-odd"><td>Origin Server Base URL</td>
 <td>The Origin Server&#8217;s base URL. This includes the protocol (http or https). Example: <code class="docutils literal"><span class="pre">http://movies.origin.com</span></code></td>
 </tr>
-<tr class="row-odd"><td>Origin Shield (Pipe Delimited String)</td>
+<tr class="row-even"><td>Origin Shield (Pipe Delimited String)</td>
 <td>Origin Shield string.</td>
 </tr>
-<tr class="row-even"><td>Profile</td>
+<tr class="row-odd"><td>Profile</td>
 <td>The profile for this delivery service.</td>
 </tr>
-<tr class="row-odd"><td>Protocol</td>
+<tr class="row-even"><td>Protocol</td>
 <td><p class="first">The protocol to serve this delivery service to the clients with:</p>
 <ul class="last simple">
 <li>0 http</li>
@@ -698,7 +706,7 @@ must have an ssh key on the edge servers.</td>
 </ul>
 </td>
 </tr>
-<tr class="row-even"><td>Query String Handling</td>
+<tr class="row-odd"><td>Query String Handling</td>
 <td><p class="first">How to treat query strings:</p>
 <ul class="simple">
 <li>0 use in cache key and hand up to origin - this means each unique query string is treated as a unique URL.</li>
@@ -709,7 +717,7 @@ must have an ssh key on the edge servers.</td>
 To set the qstring without the use of regex remap, or for further options, see <a class="reference internal" href="#rl-qstring-handling"><span class="std std-ref">Qstring Handling</span></a>.</p>
 </td>
 </tr>
-<tr class="row-odd"><td>Range Request Handling</td>
+<tr class="row-even"><td>Range Request Handling</td>
 <td><p class="first">How to treat range requests:</p>
 <ul class="last simple">
 <li>0 Do not cache (ranges requested from files that are already cached due to a non range request will be a HIT)</li>
@@ -718,33 +726,33 @@ To set the qstring without the use of regex remap, or for further options, see <
 </ul>
 </td>
 </tr>
-<tr class="row-even"><td>Raw Remap Text</td>
+<tr class="row-odd"><td>Raw Remap Text</td>
 <td>For HTTP and DNS deliveryservices, this will get added to the end of the remap line on the cache verbatim. For ANY_MAP deliveryservices this is the remap line. <a class="footnote-reference" href="#id7" id="id4">[1]</a></td>
 </tr>
-<tr class="row-odd"><td>Regex Remap Expression</td>
+<tr class="row-even"><td>Regex Remap Expression</td>
 <td><p class="first">Regex Remap rule to apply to this delivery service at the Edge tier. See <a class="reference external" href="https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_remap.en.html">ATS documentation on regex_remap</a>. <a class="footnote-reference" href="#id7" id="id5">[1]</a></p>
 <p class="last"><strong>Note:</strong> you will not be able to save a Regex Remap Expression if you have Query String Handling set to drop query strings at the edge. See <a class="reference internal" href="#rl-regex-remap"><span class="std std-ref">Regex Remap Expression</span></a>.</p>
 </td>
 </tr>
-<tr class="row-even"><td>Regional Geo-Blocking</td>
+<tr class="row-odd"><td>Regional Geo-Blocking</td>
 <td>&#160;</td>
 </tr>
-<tr class="row-odd"><td>Routing Name</td>
+<tr class="row-even"><td>Routing Name</td>
 <td>The routing name to use for the delivery FQDN, i.e. <code class="docutils literal"><span class="pre">&lt;routing-name&gt;.&lt;deliveryservice&gt;.&lt;cdn-domain&gt;</span></code>. It must be a valid hostname without periods. <a class="footnote-reference" href="#id8" id="id6">[2]</a></td>
 </tr>
-<tr class="row-even"><td>Signing Algorithm</td>
+<tr class="row-odd"><td>Signing Algorithm</td>
 <td>&#160;</td>
 </tr>
-<tr class="row-odd"><td>SSL Key Version</td>
+<tr class="row-even"><td>SSL Key Version</td>
 <td>&#160;</td>
 </tr>
-<tr class="row-even"><td>Tenant</td>
+<tr class="row-odd"><td>Tenant</td>
 <td>By selecting a tenant for the delivery service, you restrict access of that delivery service to only those users that belong to the same tenant or a parent tenant.</td>
 </tr>
-<tr class="row-odd"><td>Traffic Router Request Headers</td>
+<tr class="row-even"><td>Traffic Router Request Headers</td>
 <td>&#160;</td>
 </tr>
-<tr class="row-even"><td>Traffic Router Response Headers</td>
+<tr class="row-odd"><td>Traffic Router Response Headers</td>
 <td>&#160;</td>
 </tr>
 </tbody>
@@ -1232,7 +1240,15 @@ for associated servers when assigned to a server profile. Value must be &#8220;c
 </tr>
 <tr class="row-odd"><td>coveragezone.polling.url</td>
 <td>CRConfig.json</td>
-<td>The location (URL) to retrieve the coverage zone map file in XML format from.</td>
+<td>The location (URL) to retrieve the coverage zone map file in JSON format from.</td>
+</tr>
+<tr class="row-even"><td>deepcoveragezone.polling.interval</td>
+<td>CRConfig.json</td>
+<td>How often to refresh the deep coverage zone map in ms</td>
+</tr>
+<tr class="row-odd"><td>deepcoveragezone.polling.url</td>
+<td>CRConfig.json</td>
+<td>The location (URL) to retrieve the deep coverage zone map file in JSON format from.</td>
 </tr>
 <tr class="row-even"><td>tld.soa.expire</td>
 <td>CRConfig.json</td>
@@ -1430,23 +1446,31 @@ for associated servers when assigned to a server profile. Value must be &#8220;c
 <div class="highlight-default"><div class="highlight"><pre><span class="p">{</span>
   <span class="s2">&quot;coverageZones&quot;</span><span class="p">:</span> <span class="p">{</span>
     <span class="s2">&quot;cache-group-01&quot;</span><span class="p">:</span> <span class="p">{</span>
+      <span class="s2">&quot;coordinates&quot;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s2">&quot;latitude&quot;</span><span class="p">:</span>  <span class="mf">1.1</span><span class="p">,</span>
+        <span class="s2">&quot;longitude&quot;</span><span class="p">:</span> <span class="mf">2.2</span>
+      <span class="p">},</span>
       <span class="s2">&quot;network6&quot;</span><span class="p">:</span> <span class="p">[</span>
-        <span class="s2">&quot;1234:5678::\/64&quot;</span><span class="p">,</span>
-        <span class="s2">&quot;1234:5679::\/64&quot;</span>
+        <span class="s2">&quot;1234:5678::/64&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;1234:5679::/64&quot;</span>
       <span class="p">],</span>
       <span class="s2">&quot;network&quot;</span><span class="p">:</span> <span class="p">[</span>
-        <span class="s2">&quot;192.168.8.0\/24&quot;</span><span class="p">,</span>
-        <span class="s2">&quot;192.168.9.0\/24&quot;</span>
+        <span class="s2">&quot;192.168.8.0/24&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;192.168.9.0/24&quot;</span>
       <span class="p">]</span>
-    <span class="p">}</span>
+    <span class="p">},</span>
     <span class="s2">&quot;cache-group-02&quot;</span><span class="p">:</span> <span class="p">{</span>
+      <span class="s2">&quot;coordinates&quot;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s2">&quot;latitude&quot;</span><span class="p">:</span>  <span class="mf">3.3</span><span class="p">,</span>
+        <span class="s2">&quot;longitude&quot;</span><span class="p">:</span> <span class="mf">4.4</span>
+      <span class="p">},</span>
       <span class="s2">&quot;network6&quot;</span><span class="p">:</span> <span class="p">[</span>
-        <span class="s2">&quot;1234:567a::\/64&quot;</span><span class="p">,</span>
-        <span class="s2">&quot;1234:567b::\/64&quot;</span>
+        <span class="s2">&quot;1234:567a::/64&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;1234:567b::/64&quot;</span>
       <span class="p">],</span>
       <span class="s2">&quot;network&quot;</span><span class="p">:</span> <span class="p">[</span>
-        <span class="s2">&quot;192.168.4.0\/24&quot;</span><span class="p">,</span>
-        <span class="s2">&quot;192.168.5.0\/24&quot;</span>
+        <span class="s2">&quot;192.168.4.0/24&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;192.168.5.0/24&quot;</span>
       <span class="p">]</span>
     <span class="p">}</span>
   <span class="p">}</span>
@@ -1455,6 +1479,62 @@ for associated servers when assigned to a server profile. Value must be &#8220;c
 </div>
 <p>The CZF is an input to the Traffic Control CDN, and as such does not get generated by Traffic Ops, but rather, it gets consumed by Traffic Router. Some popular IP management systems output a very similar file to the CZF but in stead of a cachegroup an ASN will be listed. Traffic Ops has the &#8220;Networks (ASNs)&#8221; view to aid with the conversion of files like that to a Traffic Control CZF file; this table is not used anywhere in Traffic Ops, but can be used to script the conversion using the API.</p>
 <p>The script that generates the CZF file is not part of Traffic Control, since it is different for each situation.</p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">The <code class="docutils literal"><span class="pre">&quot;coordinates&quot;</span></code> section is optional and may be used by Traffic Router for localization in the case of a CZF &#8220;hit&#8221; where the zone name does not map to a Cache Group name in Traffic Ops (i.e. Traffic Router will route to the closest Cache Group(s) geographically).</p>
+</div>
+</div>
+<div class="section" id="the-deep-coverage-zone-file">
+<span id="rl-deep-czf"></span><h3>The Deep Coverage Zone File<a class="headerlink" href="#the-deep-coverage-zone-file" title="Permalink to this headline">¶</a></h3>
+<p>The Deep Coverage Zone File (DCZF) format is similar to the CZF format but adds a <code class="docutils literal"><span class="pre">caches</span></code> list under each <code class="docutils literal"><span class="pre">deepCoverageZone</span></code>:</p>
+<div class="highlight-default"><div class="highlight"><pre><span class="p">{</span>
+  <span class="s2">&quot;deepCoverageZones&quot;</span><span class="p">:</span> <span class="p">{</span>
+    <span class="s2">&quot;location-01&quot;</span><span class="p">:</span> <span class="p">{</span>
+      <span class="s2">&quot;coordinates&quot;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s2">&quot;latitude&quot;</span><span class="p">:</span>  <span class="mf">5.5</span><span class="p">,</span>
+        <span class="s2">&quot;longitude&quot;</span><span class="p">:</span> <span class="mf">6.6</span>
+      <span class="p">},</span>
+      <span class="s2">&quot;network6&quot;</span><span class="p">:</span> <span class="p">[</span>
+        <span class="s2">&quot;1234:5678::/64&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;1234:5679::/64&quot;</span>
+      <span class="p">],</span>
+      <span class="s2">&quot;network&quot;</span><span class="p">:</span> <span class="p">[</span>
+        <span class="s2">&quot;192.168.8.0/24&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;192.168.9.0/24&quot;</span>
+      <span class="p">],</span>
+      <span class="s2">&quot;caches&quot;</span><span class="p">:</span> <span class="p">[</span>
+        <span class="s2">&quot;edge-01&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;edge-02&quot;</span>
+      <span class="p">]</span>
+    <span class="p">},</span>
+    <span class="s2">&quot;location-02&quot;</span><span class="p">:</span> <span class="p">{</span>
+      <span class="s2">&quot;coordinates&quot;</span><span class="p">:</span> <span class="p">{</span>
+        <span class="s2">&quot;latitude&quot;</span><span class="p">:</span>  <span class="mf">7.7</span><span class="p">,</span>
+        <span class="s2">&quot;longitude&quot;</span><span class="p">:</span> <span class="mf">8.8</span>
+      <span class="p">},</span>
+      <span class="s2">&quot;network6&quot;</span><span class="p">:</span> <span class="p">[</span>
+        <span class="s2">&quot;1234:567a::/64&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;1234:567b::/64&quot;</span>
+      <span class="p">],</span>
+      <span class="s2">&quot;network&quot;</span><span class="p">:</span> <span class="p">[</span>
+        <span class="s2">&quot;192.168.4.0/24&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;192.168.5.0/24&quot;</span>
+      <span class="p">],</span>
+      <span class="s2">&quot;caches&quot;</span><span class="p">:</span> <span class="p">[</span>
+        <span class="s2">&quot;edge-02&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;edge-03&quot;</span>
+      <span class="p">]</span>
+    <span class="p">}</span>
+  <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>Each entry in the <code class="docutils literal"><span class="pre">caches</span></code> list is the hostname of an edge cache registered in Traffic Ops which will be used for &#8220;deep&#8221; caching in that Deep Coverage Zone. Unlike a regular CZF, coverage zones in the DCZF do not map to a Cache Group in Traffic Ops, so currently the deep coverage zone name only needs to be unique.</p>
+<p>If the Traffic Router gets a DCZF &#8220;hit&#8221; for a requested Delivery Service that has Deep Caching enabled, the client will be routed to an available &#8220;deep&#8221; cache from that zone&#8217;s <code class="docutils literal"><span class="pre">caches</span></code> list.</p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">The <code class="docutils literal"><span class="pre">&quot;coordinates&quot;</span></code> section is optional.</p>
+</div>
 </div>
 </div>
 <div class="section" id="parameters-and-profiles">

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/6d70f966/docs/master/admin/traffic_router.html
----------------------------------------------------------------------
diff --git a/docs/master/admin/traffic_router.html b/docs/master/admin/traffic_router.html
index 4e59eb1..c98b3fa 100644
--- a/docs/master/admin/traffic_router.html
+++ b/docs/master/admin/traffic_router.html
@@ -199,16 +199,17 @@
 <div class="contents topic" id="contents">
 <p class="topic-title first">Contents</p>
 <ul class="simple">
-<li><a class="reference internal" href="#traffic-router-administration" id="id4">Traffic Router Administration</a><ul>
-<li><a class="reference internal" href="#installing-traffic-router" id="id5">Installing Traffic Router</a></li>
-<li><a class="reference internal" href="#configuring-traffic-router" id="id6">Configuring Traffic Router</a></li>
-<li><a class="reference internal" href="#dnssec" id="id7">DNSSEC</a></li>
-<li><a class="reference internal" href="#troubleshooting-and-log-files" id="id8">Troubleshooting and log files</a></li>
-<li><a class="reference internal" href="#event-log-file-format" id="id9">Event Log File Format</a></li>
-<li><a class="reference internal" href="#geolimit-failure-redirect-feature" id="id10">GeoLimit Failure Redirect feature</a></li>
-<li><a class="reference internal" href="#steering-feature" id="id11">Steering feature</a></li>
-<li><a class="reference internal" href="#https-for-http-type-delivery-services" id="id12">HTTPS for Http Type Delivery Services</a></li>
-<li><a class="reference internal" href="#tuning-recommendations" id="id13">Tuning Recommendations</a></li>
+<li><a class="reference internal" href="#traffic-router-administration" id="id5">Traffic Router Administration</a><ul>
+<li><a class="reference internal" href="#installing-traffic-router" id="id6">Installing Traffic Router</a></li>
+<li><a class="reference internal" href="#configuring-traffic-router" id="id7">Configuring Traffic Router</a></li>
+<li><a class="reference internal" href="#dnssec" id="id8">DNSSEC</a></li>
+<li><a class="reference internal" href="#troubleshooting-and-log-files" id="id9">Troubleshooting and log files</a></li>
+<li><a class="reference internal" href="#event-log-file-format" id="id10">Event Log File Format</a></li>
+<li><a class="reference internal" href="#geolimit-failure-redirect-feature" id="id11">GeoLimit Failure Redirect feature</a></li>
+<li><a class="reference internal" href="#deep-caching-deep-coverage-zone-topology" id="id12">Deep Caching - Deep Coverage Zone Topology</a></li>
+<li><a class="reference internal" href="#steering-feature" id="id13">Steering feature</a></li>
+<li><a class="reference internal" href="#https-for-http-type-delivery-services" id="id14">HTTPS for Http Type Delivery Services</a></li>
+<li><a class="reference internal" href="#tuning-recommendations" id="id15">Tuning Recommendations</a></li>
 </ul>
 </li>
 </ul>
@@ -339,7 +340,7 @@ Also, crconfig previously recieved will be cached, and needs to be removed manua
 <td>Password for the user specified in traffic_ops.username</td>
 <td>N/A</td>
 </tr>
-<tr class="row-odd"><td rowspan="8">cache.properties</td>
+<tr class="row-odd"><td rowspan="10">cache.properties</td>
 <td>cache.geolocation.database</td>
 <td>Full path to the local copy of the MaxMind geolocation binary database file</td>
 <td>/opt/traffic_router/db/GeoIP2-City.mmdb</td>
@@ -356,6 +357,14 @@ Also, crconfig previously recieved will be cached, and needs to be removed manua
 <td>The interval in milliseconds which Traffic Router will poll for a new coverage zone file</td>
 <td>10800000</td>
 </tr>
+<tr class="row-odd"><td>cache.dczmap.database</td>
+<td>Full path to the local copy of the deep coverage zone file</td>
+<td>/opt/traffic_router/db/dczmap.json</td>
+</tr>
+<tr class="row-even"><td>cache.dczmap.database.refresh.period</td>
+<td>The interval in milliseconds which Traffic Router will poll for a new deep coverage zone file</td>
+<td>10800000</td>
+</tr>
 <tr class="row-odd"><td>cache.health.json</td>
 <td>Full path to the local copy of the health state</td>
 <td>/opt/traffic_router/db/health.json</td>
@@ -441,8 +450,8 @@ This file grows up to 200Mb and gets rolled into older log files, 10 log files t
 <table border="1" class="docutils">
 <colgroup>
 <col width="4%" />
-<col width="50%" />
-<col width="46%" />
+<col width="47%" />
+<col width="49%" />
 </colgroup>
 <thead valign="bottom">
 <tr class="row-odd"><th class="head">Name</th>
@@ -465,7 +474,7 @@ This file grows up to 200Mb and gets rolled into older log files, 10 log files t
 </tr>
 <tr class="row-odd"><td>rtype</td>
 <td>Routing Result Type</td>
-<td>One of ERROR, CZ, GEO, MISS, STATIC_ROUTE, DS_REDIRECT, DS_MISS, INIT, FED</td>
+<td>One of ERROR, CZ, DEEP_CZ, GEO, MISS, STATIC_ROUTE, DS_REDIRECT, DS_MISS, INIT, FED</td>
 </tr>
 <tr class="row-even"><td>rloc</td>
 <td>GeoLocation of result</td>
@@ -499,22 +508,25 @@ This file grows up to 200Mb and gets rolled into older log files, 10 log files t
 <tr class="row-odd"><td>CZ</td>
 <td>The result was derived from Coverage Zone data based on the address in the chi field</td>
 </tr>
-<tr class="row-even"><td>GEO</td>
+<tr class="row-even"><td>DEEP_CZ</td>
+<td>The result was derived from Deep Coverage Zone data based on the address in the chi field</td>
+</tr>
+<tr class="row-odd"><td>GEO</td>
 <td>The result was derived from geolocation service based on the address in the chi field</td>
 </tr>
-<tr class="row-odd"><td>MISS</td>
+<tr class="row-even"><td>MISS</td>
 <td>Traffic Router was unable to resolve a DNS request or find a cache for the requested resource</td>
 </tr>
-<tr class="row-even"><td>STATIC_ROUTE</td>
+<tr class="row-odd"><td>STATIC_ROUTE</td>
 <td>_*DNS Only*_ No DNS Delivery Service supports the hostname portion of the requested url</td>
 </tr>
-<tr class="row-odd"><td>DS_MISS</td>
+<tr class="row-even"><td>DS_MISS</td>
 <td>_*HTTP Only*_ No HTTP Delivery Service supports either this request&#8217;s URL path or headers</td>
 </tr>
-<tr class="row-even"><td>DS_REDIRECT</td>
+<tr class="row-odd"><td>DS_REDIRECT</td>
 <td>The result is using the Bypass Destination configured for the matched Delivery Service when that Delivery Service is unavailable or does not have the requested resource</td>
 </tr>
-<tr class="row-odd"><td>FED</td>
+<tr class="row-even"><td>FED</td>
 <td>_*DNS Only*_ The result was obtained through federated coverage zone data outside of any delivery service</td>
 </tr>
 </tbody>
@@ -715,10 +727,52 @@ NXDOMAIN (the domain/name requested does not exist)</td>
 </ol>
 </div>
 </div>
-<div class="section" id="steering-feature">
-<span id="rl-tr-steering"></span><h2><a class="toc-backref" href="#contents">Steering feature</a><a class="headerlink" href="#steering-feature" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="deep-caching-deep-coverage-zone-topology">
+<span id="rl-deep-cache"></span><h2><a class="toc-backref" href="#contents">Deep Caching - Deep Coverage Zone Topology</a><a class="headerlink" href="#deep-caching-deep-coverage-zone-topology" title="Permalink to this headline">¶</a></h2>
 <div class="section" id="id2">
 <h3>Overview<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3>
+<p>Deep Caching is a feature that enables clients to be routed to the closest
+possible &#8220;deep&#8221; edge caches on a per Delivery Service basis. The term &#8220;deep&#8221; is
+used in the networking sense, meaning that the edge caches are located deep in
+the network where the number of network hops to a client is as minimal as
+possible. This deep caching topology is desirable because storing content closer
+to the client gives better bandwidth savings, and sometimes the cost of
+bandwidth usage in the network outweighs the cost of adding storage. While it
+may not be feasible to cache an entire copy of the CDN&#8217;s contents in every deep
+location (for the best possible bandwidth savings), storing just a relatively
+small amount of the CDN&#8217;s most requested content can lead to very high bandwidth
+savings.</p>
+</div>
+<div class="section" id="getting-started">
+<h3>Getting started<a class="headerlink" href="#getting-started" title="Permalink to this headline">¶</a></h3>
+<p>What you need:</p>
+<ol class="arabic simple">
+<li>Edge caches deployed in &#8220;deep&#8221; locations and registered in Traffic Ops</li>
+<li>A Deep Coverage Zone File (DCZF) mapping these deep cache hostnames to specific network prefixes (see <a class="reference internal" href="traffic_ops/using.html#rl-deep-czf"><span class="std std-ref">The Deep Coverage Zone File</span></a> for details)</li>
+<li>Deep caching parameters in the Traffic Router Profile (see <a class="reference internal" href="traffic_ops/using.html#rl-ccr-profile"><span class="std std-ref">Traffic Router Profile</span></a> for details):<ul>
+<li><code class="docutils literal"><span class="pre">deepcoveragezone.polling.interval</span></code></li>
+<li><code class="docutils literal"><span class="pre">deepcoveragezone.polling.url</span></code></li>
+</ul>
+</li>
+<li>Deep Caching enabled on one or more HTTP Delivery Services (i.e. <code class="docutils literal"><span class="pre">deepCachingType</span></code> = ALWAYS)</li>
+</ol>
+</div>
+<div class="section" id="how-it-works">
+<h3>How it works<a class="headerlink" href="#how-it-works" title="Permalink to this headline">¶</a></h3>
+<p>Deep Coverage Zone routing is very similar to that of regular Coverage Zone
+routing, except that the DCZF is preferred over the regular  CZF for Delivery
+Services with DC (Deep Caching) enabled. If the client requests a DC-enabled
+Delivery Service and their IP address gets a &#8220;hit&#8221; in the DCZF, Traffic Router
+will attempt to route that client to one of the available deep caches in the
+client&#8217;s corresponding zone. If there are no deep caches available for a
+client&#8217;s request, Traffic Router will &#8220;fall back&#8221; to the regular CZF and
+continue regular CZF routing from there.</p>
+</div>
+</div>
+<div class="section" id="steering-feature">
+<span id="rl-tr-steering"></span><h2><a class="toc-backref" href="#contents">Steering feature</a><a class="headerlink" href="#steering-feature" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="id3">
+<h3>Overview<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
 <p>A Steering delivery service is a delivery service that is used to &#8220;steer&#8221; traffic to other delivery services. A Steering delivery service will have target delivery services configured for it with weights assigned to them.  Traffic Router uses the weights to make a consistent hash ring which it then uses to make sure that requests are routed to a target based on the configured weights.  This consistent hash ring is separate from the consistent hash ring used in cache selection.</p>
 <p>Special regular expressions called Filters can also be configured for target delivery services to pin traffic to a specific delivery service.  For example, if a filter called .*/news/.* for a target called target-ds-1 is created, any requests to traffic router with &#8216;news&#8217; in them will be routed to target-ds-1.  This will happen regardless of the configured weights.</p>
 <p>A client can bypass the steering functionality by providing a header called X-TC-Steering-Option with the xml_id of the target delivery service to route to.  When Traffic Router receives this header it will route to the requested target delivery service regardless of weight configuration.</p>
@@ -734,8 +788,8 @@ NXDOMAIN (the domain/name requested does not exist)</td>
 <li>Load balancing between delivery services.</li>
 </ol>
 </div>
-<div class="section" id="id3">
-<h3>Configuration<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
+<div class="section" id="id4">
+<h3>Configuration<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3>
 <p>The following needs to be completed for Steering to work correctly:</p>
 <ol class="arabic simple">
 <li>Two target delivery services are created in Traffic Ops.  They must both be HTTP delivery services part of the same CDN.</li>


Mime
View raw message