[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
comments on various CDN Internet Drafts
- To: cdn@ops.ietf.org
- Subject: comments on various CDN Internet Drafts
- From: hoe@zurich.ibm.com
- Date: Tue, 3 Apr 2001 09:56:38 +0200
- Delivery-date: Tue, 03 Apr 2001 00:58:53 -0700
- Envelope-to: cdn-data@psg.com
Dear all,
I am interested in content peering mainly from a storage management
perspective, and have therefore read/browsed through the currently
available Internet Drafts. Here are some comments (many of them on a
syntactic level, for now) that may be of some help. (I havn't had a
chance to follow the discussions on the mailing list so far -- can
someone please point me to an archive, thanks)
Best regards,
Christian
Christian Hoertnagl
Research Staff Member
Distributed Systems and network management group
IBM Zurich Research Lab
draft-day-cdnp-model-05.txt
+ p.9 "AUTHORATIVE REQUEST-ROUTING SYSTEM": the following sentence
from the request-routing requirements document should be added to
the definition to make it more precise: "REQUEST-ROUTING SYSTEMs
MUST be able to respond to request-routing requests for content for
which they are authoritative" (on p.8).
+ p.10 "DISTRIBUTION ...": the paragraph does not make it clear
whether communication of CONTENT SIGNALs (as opposed to CONTENT) is
part of DISTRIBUTION as well (I guess it is)
+ p.11 "REQUEST-ROUTING": append "Some state-of-the-art
request-routing techniques are presented in [6]."
+ p.11 "REQUEST-ROUTING SYSTEM": definitions of ACCOUNTING SYSTEM and
DISTRIBUTION SYSTEM do not include "single CONTENT NETWORK"
constraint; maybe it should be added for reasons of symmetry/clarity
+ p.11 "Receives a mapped request": if use of REQUEST-ROUTING is
preferred over MAPPING, then what's the corresponding verb to use ?
+ p.11 "Because CDNs contain": perhaps clarify as "Because CDNs
contain ... as discrete elements"; I understand that
e.g. proxy-cache-based CNs contain (implicit and very simple)
request-routing systems as well
+ p.13 "DISTRIBUTION PEERING": send-only (INJECTION) and receive-only
forms of DISTRIBUTION PEERING are mentioned in this and other
documents; maybe extend definition to clarify these sub-terms
+ p.13 "PEERING SYSTEM": it may be worthwhile/correct to add that
peering starts with pairwise ralationships, and meshes can then be
built by aggregating such point-to-point connections; from the
second paragraph in section 3.1 [3] it would seem that PEERING
SYSTEMs always constitute parts of CONTENT PEERING GATEWAYs (the
corresponding SYSTEMs, such as DISTRIBUTION SYSTEMs, on the other
hand belong inside the CONTENT NETWORKs); other descriptions seem to
suggest that each CONTENT NETWORK provides its own PEERING SYSTEMs
as external interfaces, or that PEERING SYSTEMs are an accumulation
of corresponding elements from across all participating CONTENT
NETWORKs (e.g. Figure 3 in [2]); please clarify definition; similar
(small) inconsistencies exist for the exact relationship between CNs
and CPGs
+ p.14 "Because CDNs contain": see above
draft-day-cdnp-scenarios-03.txt
+ both CN and CDN are used in this document in similar contexts; maybe
it should settle for one or the other
+ p.2 "for developing the requirements given in [3]": shouldn't the
other two requirements documents (besides AAA) be referenced as well ?
+ p.3 "bound to a particular caching proxy": there may be several
caching proxies within each ACN's domain; would switch to plural
+ p.3 "A Publishing Content Network (PCN) is an ORIGIN": in [1] ORIGIN
is described as a server (or set of a servers), it's attribution as
CN (with AUTHORATIVE REQUEST-ROUTING SYSTEM, etc.) therefore seems
unnatural
+ p.3 "its own surrogates": SURROGATEs in upper-case
+ p.3 "does not operate its own surrogates or REQUEST-ROUTING system"
... "BCN may also choose to participate in REQUEST-ROUTING
PEERING": this seems to contradict (peering by definition requires
corresponding systems)
+ p.4 "ORIGIN CONTENT NETWORK": not defined in [1]; definition should
relate to AUTHORATIVE REQUEST-ROUTING SYSTEM
+ p.5 "AUTHORATIVE DIRECTION SYSTEM": should read "AUTHORATIVE
REQUEST-ROUTING SYSTEM"
+ p.7 "any or all of the peered CONTENT NETWORKS": "any or all of the
DISTRIBUTING CONTENT NETWORKs" would be more precise
+ p.8 "DISTRIBUTING CDNs": use "DISTRIBUTING CNs" for better consistency
+ p.9 "enter into;": "enter into"
+ p.9 "It likely": "It is likely"
+ p.10 "4. Accounting": it would be interesting to see a discussion of
possible fraud issues; what prevents praticipating CNs to send out
wrong accounting information, say, in order to have revenue flow in
their direction, although they may not have delivered corresponding
services; what's the trust model assumed/monitored, etc. ?
+ p.11 "BILLING": "billing" (term not defined)
+ p.11 "is therefore not important to consider": "is therefore not
important to consider at the level of interfaces between CNs"
+ p.11, at end of section 4.1.2: "An example of this concept concerns
online advertisement."
+ p.12 "fee associated with the reception of CONTENT": according to
section 4.1.2 (distribution has value), the fee could also be associated
with the sending of CONTENT; maybe use "transport" or another more
generic term (or is this scenario specifically about the value of
content only ?); this also applies in part to the other scenarios
presented in sections 4.2.x
draft-green-cdnp-gen-arch-03.txt
+ p.3: again there is a bit of confusion between the term CN and CDN
throughout this document; maybe a brief clarification should be
copied from [13]
+ p.3 "used in, this": "used in this"
+ p.3 "control selection of the delivery Content Network": unclear
+ p.3 "interconnect several": "interconnect a selection of the frist
three" is more precise, since SURROGATEs are never directly
interconnected under the assumptions of this model
+ p.5, Figure 1: several box corners are "|"s, not "+"s (trivial, of
course ;-)
+ p.6 "administration .": "administration."
+ p.6 "loosely modeled after BGP": this is a rather sudden switch in
context; until now, the subject treatment was fully abstract and
concentrating on requirements and scenarios; now this jumps to a
sudden conclusion as for the right technical choice; maybe BGP-ness
should be mentioned only later on, or with qualification (e.g. state
observation that the environment resembles what shaped BGP in the
routing area)
+ p.6 "delegate authority": is should be clarified what this means
exactly; I understand that a request-routing system, after having
received such authority, is free to route request to whatever
SURROGATEs it deems appropriate, and not necessarily e.g. to the
host whose (symbolic) IP address appears verbatim in the URI
+ p.6 "common convention for encoding CN metadata into the URI name
space": where is this further explained? (perhaps add reference to
section; there is a little bit of further information in bullet item
2 in section 3.3, bullet 5 in section 3.6)
+ p.7: the first paragraph of section 2.1 lists the systems (not
PEERING SYSTEMs) as core elements; I'm still a bit confused by the
mix of those two sets of (distinct?) terms (see above); the same
paragraph mentions SURROGATEs as core elements as well (asterisk
missing)
+ p.7 "CONTENT which is pre-populated (pushed)": is there an
intermediate version/scenario as well, where content is first pushed
into CNs, and later on pulled in by clients (or pre-fetched towards
them)? this may be more realistic that a pure pull-based scenario
across multiple CNs; in fact section 4.2 in [2] mentions something
of this sort
+ p.8 "feedback ADVERTISEMENTs" (multiple occurences): either CONTENT
SIGNALs (bullet item 3) or REQUEST-ROUTING ADVERTISEMENT (bullet
item 5) seems to be the right term here
+ p.8 "due to URI name space delegation, the request is actually made
to the REQUEST-ROUTING PEERING SYSTEM": I would put this
differently: the request will always be made to the REQUEST-ROUTING
(PEERING) SYSTEM, because this is a static property of the CDI
model/architecture; however, URI name space delegation may lead to
the request being actually handled/satisfied by an arbitrary
SURROGATE server
+ p.8 "Access Control Network": add reference to [14] (scenarios
document)
+ p.10 "is responsible for routing CLIENT requests to an appropriate
peered CN": perhaps refine to "to a SURROGATE in an appropriate
peered CN; the selection of a particular SURROGATE is left as a
local task to the selected CN, and is outside the scope of the
REQUEST-ROUTING PEERING SYSTEM at large" (this is e.g. in line with
the last paragraph in section 3.2, but then bullet item 1 in section
3.3 suggests that the request-routing should lead all the way to
the selection of a single SURROGATE -- needs more clarification)
+ p.10 "the only requirement of the request-routing system": use
upper-case for REQUEST-ROUTING SYSTEM
+ p.10 "in path caching proxy": "in-path caching proxy"
+ p.11 "more than one request routing tree": use plural for "trees"
+ p.11 "REQUEST-ROUTING CPG": this should be replaced, or the term
should be defined in relation to REQUEST-ROUTING (PEERING) SYSTEM
and CPG (multiple occurences; holds for ACCOUTING CPG, DISTRIBUTION
CPG as well)
+ p.13 "to the syntactical grammar defined in [7]": is this reference
to the Real Time Streaming Protocol correct ? I would rather expect
a document on URI formats here
+ p.13 "use a compatible request-routing mechanism": first mentioning
of this term; perhaps add reference to [16] (known mechanisms)
+ p.14 "content-aware request-routing systems": undefined term;
perhaps align with terminology presented in [16] (application-level
request-routing)
+ p.14 "the merits of designing a generalized content routing
protocol, rather than relying on request-routing mechanisms: "the
merits of a generalized protocol for REQUEST-ROUTING PEERING, rather
than relying on existing request-routing mechanism"; content routing
and request-routing are not complementary terms as such
+ p.14 "DISTRIBUTION ADVERTISEMENT SYSTEM": undefined term; use
"DISTRIBUTION SYSTEM and its ADVERTISEMENTs" instead
+ p.15 "must to consider the distribution policies involved in Section
4": reformulate
+ p.16 "moving content closer to the CLIENT": "one goal of the Content
Internetworking system is to move content to the CLIENT and to
potentially optimize by moving such content closer to CLIENTs
ahead of their requests"
+ Figure 4: other Figures show (DISTRIBUTION) CPGs outside the ranges
(rectangles) of peered CNs; this one does not (but then the last
paragraph of section 1.2 in [17] also suggests that CPGs are parts
of CNs; that's a bit confusing)
+ p.18, last paragraph in section 4.1: it may be helpful to indicate
why the distinction between INTER-CN distribution peering and
INJECTION peering is made, and whether there is a functional
difference (e.g. different protocol aspects), in particular
+ p.18 "add a exchange network": the rest of the sentence does not
make fully clear what is meant by content provider network (a term
left undefined so far), and which CN is addressed (I guess it's CNs
A and B), if "the example above" refers to Figure 4 at all
+ p.18, last paragraph in section 4.2: this suggests that the
difference between CONTINOUS MEDIA and other CONTENT is mainly about
caching inside SURROGATEs; the original definition refers to
additional timing requirements instead
+ p.19 "Replication involves moving the content from an ORIGIN server
to SURROGATE servers": does replication only refer to the whole
end-to-end process, or can adjecent CNs not replicate content
locally, without the ORIGIN necessarily having to participate at
this stage at all?
+ p.19 "such information such as": error
+ p.19 "Replication systems": undefined term; use DISTRIBUTION SYSTEMs
instead
+ p.20 "a well-known state machine": why is this a specific
requirement under advertising?; I would rather (implicitly) subsume
it under requirements for a protocol (whose implementation may then
give rise to proper state machines, etc.)
+ p.20 "use of TCP or SCTP": TCP is not normally contrasted against
soft-state protocols; maybe add examples of the latter to clarify
the point
+ p.22 "how do replication systems forward a request?": here a
reference to a CONTENT REQUEST (as opposed to REQUEST-ROUTING
REQUEST), and hence a distinction between the two (sub-)terms as
proposed elsewhere, would make good sense
+ p.22 "How are policies communicated": without anticipating on-going
policy work, it would be helpful to add some coarse examples showing
the possible role of concrete policies in relation to content
peering; ; bullet item 4 in section 2.1.2.1 of [17] gives a hint;
could policies e.g. also be used to cause certain replications to be
carried out when overall net traffic is low, say?
+ p.23 "CPG exchanges": are these places for enquiring about other
CPGs available for peering ? explain
+ p.24 "using SNMP or FTP": this sounds like an odd pair/match;
therefore I would extend to "using SNMP or FTP (appropriate for log
files)"
+ p.23 "in an asynchronous manner (push)": "(push)" or "(pull)" ?
+ p.25, Figure 5: how do you make sure there is only one BILLING
ORGANIZATION per CONTENT item; in the similar case of ORIGINs (and
AUTHORATIVE REQUEST-ROUTING SYSTEMs) this is achieved by arranging
REQUEST-ROUTING SYSTEMs in a tree topology; what's the mechanism
applied here (e.g. to prevent that multiple billing organizations
charge for a single transaction, say); a tree will not do because
(as is shown in Figure 5) there may be more than one "root node",
namely both the ORIGIN and BILLING ORGANIZATIONs, who both require
receiving ACCOUNTING ADVERTISEMENTs
+ p.27, "Network elements within the Content Internetworking system
are considered to be "insiders" and therefore trusted": is this a
realistic assumption, given that different CNs may belong to
different administrative domains?; after all, there is a reason that
CNs give away only part of their information (via the
protocols/interfaces defined by CDI), and keep the rest private; a
realistic system should perhaps allow peering CNs to both cooperate
and compete (depending on the type of content, strategic issues,
etc.); it should include mechanisms (either strict or via
incentives) to prevent them from frauding each other, etc. The rest
of section 6 seems to take this partly into account, but then this
overall statement seems misleading (and should only refer to
"network elements within a single CN").
+ p.29 "Denial of service attacks": they can also (an in the
conventional case also foremost) be targeted at the CNs SURROGATEs
draft-cain-cdnp-known-request-routing-01.txt
+ add the usual reference to framing documents, such as the one on
model/terminology
+ maybe (consistently) exchange use of CDN by CN (as in other
documents as well)
+ p.2: "can be thought off": error
+ section 2: add references to proper documents/RFCs covering DNS
+ section 2.8: a further argument against could also critizise its
abuse of Internet transparency (similar to arguments from NAT
debate); the same would apply to transport-layer request-routing as
well
+ section 4: "can provide better control over the selection of the
best surrogate, due to their exposure to the client's IP address":
this is not specific to the method, in fact it better fits in as a
relative advantage of the transport-layer-based technique
I my view, the main advantage of application-layer based
request-routing (URL-based, in particular) is that it takes all
components of each URI identifying items of CONTENT into account,
and hence can provide the best granularity for load balancing,
etc. (and hence also the best scalability)
it (and other application-based methods) is also the best solution
in terms of sustaining transparency at lower protocol layers
third, here it's most straightforward to take application-specific
context information into account; e.g. shopping transactions from an
e-commerce site can usually be distinguished from more idle browsing
simply by checking the URIs involved, and clients/customers who are
about to order/pay may be given better content delivery treatment by
using application-based techniques
+ p.9 "by using a software tools": error
+ section 4.2.3, bullet 1: this is seen as an advantage/requirement by
some, because it allows the origin to maintain accurate hit count
count information (for advertising purposes, etc.); however, with an
elaborate ACCOUTING PEERING SYSTEM, this information could be
gathered via more elegant means
+ p.12 "Passive measurements": perhaps refer to them as in-bound
measurements as well
+ p.12 "Metric Types": as the CDI infrastructure developes, cost-based
metrics should increasingly play an important role as well; various
QoS-related metrics (e.g. DiffServ PHBs) come to mind as well
+ p.13 "Well-known Metrics": fault-tolerance-related, and
price-related metrics (e.g. UPS available) may play a role as well
(see above)
draft-cain-request-routing-req-01.txt
+ the terms content type (e.g. static, streaming), and request-routing
type (e.g. DNS-based, in-line) play an important role; their
definitions should be given early on (perhaps use upper-case letters
for these, as well as area and content advertisements, as in
[MODEL])
+ maybe (consistently) exchange use of CDN by CN (as in other
documents as well)
+ p.1 "in order too enable": error
+ section 1.2: change heading to "Overwiew of Request-Routing System
for Content Peering", otherwise one expects a recapitulation of what's
in [KNOWN_MECH]
+ p.1 "surrogates are part of the distribution system": this is in
conflict with other statements, which say that both SURROGATEs and
the DISTRIBUTION SYSTEM are elements of CNs next to each other
+ p.2 "Content Topology Database": maybe add "This is the functional
equivalent of routing tables in conventional forwarding schemes for
IP packets (not content)."
+ p.2 "capabilities, content advertisements, and network advertisements":
[MODEL] mentions REQUEST-ROUTING ADVERTISEMENTs only
+ section 2.1: this should best be replaced by a reference to
[KNOWN_MECH], not least in order to align differences in terminology
(e.g. in-line vs. application-layer, transport-layer seems missing
here); some of the arguments mentioned here should be worked into
the other document, where they may be currently missing:
e.g. DNS-based methods cannot reveal clients' IP addresses to
REQUEST-ROUTING SYSTEMs
+ p.4 "a Layer-7 router or Proxy situated close to a client": although
this will be the common case, it's not necessary for such a router
to reside close to clients; in fact solutions exist that route
requests inside server farms, based on such decisions (e.g. IBM, HP);
I would therefore leave the geographic qualification out
+ p.5 "router R..": remove one dot
+ p.5 "cilent": error
+ p.5 "Request-routing systems present a "black-box" view of their
associated distribution systems": unclear; the very nature of the
REQUEST-ROUTING SYSTEM itself is maintained as a black-box by the
present architecture, which is only specifying interfaces for its
building blocks; DISTRIBUTION SYSTEMs have their own interfaces (for
DISTRIBUTION PEERING SYSTEM)
+ p.5 "posseses": error
+ p.5 "is only aware of its direct neighbor": singular or plural ?;
see previous comment about basic point-to-point nature of peering
+ p.5 "Request-routing systems are associated with one or more
distribution systems": unclear; I understand that each
REQUEST-ROUTING SYSTEM is associated with either no or one
DISTRIBUTION SYSTEM insofar as each CN contains up to one system of
each kind; if association refers to a wider scope than a single CN,
the relation should be more precisely defined
+ p.6 "maybe": "may be"
+ p.8 "SHOULD treat other networks as "black boxes"" (and accompanying
note): what's the reason for considering SHOULD instead of MUST at
all? does this relate to optional, vendor-specific extensions (which
may still be ignored) ?
+ p.8 "at least one common type of request-routing": this seems to be
obsolated by a more specific requirement relating to CNAME-based
DNS-based REQUEST-ROUTING given below
+ p.8 "MUST communicate their request-routing type to neighbors":
plural (types), e.g. because of next requirement ("MAY be able to
utilize more than one")
+ p.8 "Common formats for content identification SHOULD exist such
that DNS redirection may occur based on the content type": I think
this requirement should remain at level SHOULD (not MUST); refers
also to but-but-next requirement
+ p.10 "Z static http": how can this be understood as a metric?
+ p.10 "CONTENT UNIT advertisement": elsewhere called "CONTENT
ADVERTISEMENT" (multiple occurences)
+ p.11 "This graph information MUST be used to prevent request-routing
loops": It should be left in the CDNs' local responsibilities to
decide how they want to accomplish loop prevention
+ p.12 "should support neighbor discovery": relevant work is going on
in other IETF working-groups, and perhaps should be taken into
account/on board here (service discovery, etc.)
+ p.12 "protocols for MUST": error
+ p.12 "provide properly identify": error
+ p.13 "the online list of claimed rights": where is this kept?;
add explicit URL
draft-amini-cdi-distribution-reqs-00.txt
+ p.1 "larger scale, or reach": [8] describes these as different
quanities (this use suggests they are synonym instead)
+ p.1 "from one Distribution CDN to another Distribution CDN": perhaps
rephrase as "from the DISTRIBUTION-SYSTEM of one CDN to another
ones" (or define new term); notice that DISTRIBUTING CN is already
taken
+ p.3 "who communicates": which
+ p.4 "full peering": possible alternatives terms for full peering:
all-component peering, maximum-peering, triple peering; for
component peering: some-component peering, selective peering
+ p.4 "all information that flows between the various CDI components":
I think of communication inside CDNs (black boxes) as comprising
vertical and horizontal portions (in comparison to Figure 2);
neither is the subject matter of CDI; an example for vertical
communication is e.g. between a DISTRIBUTION SYSTEM and
REQUEST-ROUTING SYSTEM that are both local inside a single CDN, as
stated; an example for horizontal communication is e.g. between
network elements in a single CDN's REQUEST-ROUTING SYSTEM;
expressing this (horizontal) restriction may be more relevant,
because although CDI won't describe this, its final protocols may
still well be appropriate for such horizontal communication (and may
therefore be choosen by CDNs' implementations for convenience; you
mention this already in section 1)
+ p.5 "an example of CDI Full Peering": why does the use of proxies
imply full peering ? I understand use of proxies is a local and
particular choice for the REQUEST-ROUTING SYSTEM; even if a CDN
would have a REQUEST-ROUTING SYSTEM with proxies installed, it may
still decide not to do any accounting (at all or by itself); hence
there would be no ACCOUNTING SYSTEM, no accouting peering, and no
full peering; instead of this example with proxies, it may be better
to refer to a scenario from [9]
+ p.5 "for the purpose of for": error
+ p.8 "represent pull model": prefetching (i.e. action taken by
SURROGATEs without triggers from cache misses) may qualify under the
pull model as well
+ p.8 "In the case of live broadcast": data may not (or need not) be
cached on the SURROGATEs; I think the latter is more appropriate
+ section 4.4: perhaps add "an extensible data-model for meta-data" to
bullet item 2
+ p.11 "decision may have been preceded": may (or MUST) have been
preceded? there's this other requirement, whereby CDNs must make
sure that it is "likely" that content can be delivered, before they
delegate actual delivery to a peered CDN, so MUST (waiting for and
evaluating previous advertisements) seems to make better sense (or
is the necessary handshake/negotiation only envisaged as part of the
replication step?); on the other hand, MAY seems justified in light
of possible off-line negotiations (mentioned below); clarification
in text would help
+ p.15 "as well alternative": as well as
+ p.16 "Content ID": normally, an URI serves as Content ID; is this
new concept introduced because it identifies aggregates (Content Set
ID), or is the idea that its lifetime may even exceed URIs' (I guess
the former is true); maybe explicitly refer to content sets (not
CONTENT)
draft-gilletti-cdnp-aaa-reqs-00.txt
+ p.2 "clients interacting with origin servers": perhaps refine to
"clients interacting directly with origin servers"
+ p.7 "request "pricing" information to a CDN": request from (or
provide to) ?
+ p.9 "layer 5 network": layer 7 ?
+ section 5.2: the handling of privacy issues in terms of forwarding
accounting information between countries seems like a good example
for the potential use of policies inside/together with the CDI
architecture; compliance with ongoing IETF policy work has been
emphasized several times in the various documents
+ "build off of": build on
+ "a model that supports either direct aggregation to home provider
3rd party brokering": clarify/elaborate
+ important areas are not yet covered in this early version of the
document (as is also expressed in section 8); I would like to see a
(progressively) better alignment between proposed
mechanisms/requirements and the accounting scenarios in [5]:
cable/telco/ticket/calling