Subject: [CDNi] DNS and "diamond shaped" interconnect

From: Rob Murray <[email-masked]>
Date: Wed, 4 Apr 2012 21:58:34 +0000

Hi all,

In the first WG session in Paris there was some discussion about the
specific case of DNS request routing where more than one uCDN is
interconnected with the authoritative CDN for some content. (There's a
"diamond shape" in the interconnect paths for that content.)

When this happens, dCDN has no way to tell from the incoming request which
uCDN selected it. So, it's not able to use that request to determine which
uCDN's metadata to use, or where to send logs etc.

We don't know of a technical solution to the problem, it's something
that'll probably need to be resolved by commercial agreement... but, in
the meeting I mentioned that I think we can at least detect and flag the
situation if it arises. A bold statement, and I should probably elaborate!

In "draft-jenkins-cdni-metadata" (which has now expired), uCDN advertises
a "SiteFeed". This is the full set of hostnames of uCDN content that dCDN
can serve. Each hostname is linked to metadata describing the content.

For DNS-based request routing, the hostname dCDN sees in the request from
the user-agent will be the hostname that appears in uCDN's site feed (the
whole problem is that hostname can't be manipulated as the request is
routed by each CDN).

So, if there are two uCDNs advertising the same site, its hostname will
appear in both of their site feeds. If that happens, there's not a
definite clash - for example, two uCDNs may advertise "example.com" but
one may have content in "/movies" and the other in "/music". By examining
the metadata though, if there is overlap in the patterns advertised, the
ambiguity can be spotted by dCDN.

Once dCDN sees the potential conflict it can do whatever's appropriate
under its interconnect agreements - probably reject or ignore that piece
of metadata from one of the uCDNs, perhaps log that it's doing so, perhaps
notify the uCDN, perhaps flag the issue to its own operators.

(At present it sounds like the "SiteFeed" concept from
"draft-jenkins-cdni-metadata" will survive the merge with
"draft-caulfield-cdni-metadata-core", probably as something called a "host
index".)

Rob.