One document matched: draft-ietf-intserv-hetero-00.txt
Internet Engineering Task Force Integrated Services WG
INTERNET-DRAFT L. Breslau/S. Shenker
draft-ietf-intserv-hetero-00.txt Xerox
15 November 1995
Expires: 5/15/96
A Proposal for Accommodating Heterogeneity
Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas,
and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
To learn the current status of any Internet-Draft, please check the
"1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
ftp.isi.edu (US West Coast).
This document is a product of the Integrated Services working group
of the Internet Engineering Task Force. Comments are solicited and
should be addressed to the working group's mailing list at int-
serv@isi.edu and/or the author(s).
Abstract
Routers need not provide all services defined by the intserv WG.
This will inevitably lead to heterogeneity in the set of services
offered by network elements. How can we enable applications to
obtain the end-to-end service they desire in the face of this
heterogeneity? This document describes an approach involving
replacement services and characterizations that builds end-to-end
service out of heterogeneous per-link service offerings. This
proposal was first described in [1], from whence much of the text
was lifted.
Breslau/Shenker Expires 5/15/96 [Page 1]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov 1995
Introduction
The Integrated Services WG is currently operating under the
assumption that while the IETF will define and standardize a set of
services such as those described in [2-5], it cannot -- and indeed
should not -- mandate the universal deployment of these services.
Within this context, a router can be considered compliant with the
integrated services architecture if it can respond to requests for
enhanced qualities of service, even though it may not implement all
(or any) of the specified real-time services. We refer to such a
router as "integrated services-aware". Whether or not a service is
deployed remains under the control of individual network service
providers and router vendors. Different vendors may choose to support
different subsets of defined services in their products, and
different service providers may choose to deploy a different subset
of defined services in their networks. Thus, different services will
be available at different routers (or, more generally, network
elements in the sense of [2]) in the Internet, and some routers may
not support any service other than best-effort. While private IP
networks may achieve a high degree of homogeneity, heterogeneity in
the set of services offered by various routers is inevitable in the
Internet as a whole, and we must incorporate its presence in our
overall architecture.
In this document we discuss one approach to dealing with such
heterogeneity gracefully. We consider the situation where there are
several defined services that require admission control, along with
the traditional best effort service. Absent the mechanisms we
describe in this document, the normal semantics of a service request
for these admission controlled service are assumed to be that if the
service requested is not available, either because the current load
is too high or because the router does not offer the service, then
the service request is denied. For specificity we will refer to the
Guaranteed, Predictive, and Controlled Delay services defined in [3-
5], but nothing in this proposal limits us to those particular
services. All routers support best effort service, but routers need
not support any of the other services. We confine this discussion to
the problem of heterogeneity in the set of services offered by
integrated services-aware routers. We specifically do not address
the problem of non-integrated services-aware routers, which offer
only best effort service and cannot respond to requests for other
services.
Without mechanisms to cope with heterogeneity in the set of offered
services, routers not supporting a service requested by an
application must deny the service request. This enables applications
Breslau/Shenker Expires 5/15/96 [Page 2]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
to use only those services offered by all routers along a path
between source and destination. This restriction to the "best common
service" significantly limits the services available to applications.
For example, applications running on any host attached to an ethernet
supporting only best effort service would be unable to secure
anything other than best-effort service at all routers along a path.
Such a design would severely limit the use of partially deployed
services, thereby inhibiting the incremental deployment of new
services. This default "best common service" behavior would
therefore greatly slow, and perhaps even prevent, the evolution of
the Internet towards an integrated services architecture. Thus,
mechanisms that address the problem of heterogeneity are a necessary
component of an integrated services architecture.
Some cases of heterogeneity can be handled trivially. When presented
with a service request, routers are always free to substitute a
"better" service, in the sense of the ordering used for merging (see
[2]). For instance, a router can always use a better level of
predictive service than the one requested, and in fact merging
depends on such substitutions. Less trivially, if predictive is
always considered better than controlled delay in the ordering
relationship, then a router can always substitute predictive service
for controlled delay service. In such "ordered" cases, the network
element actually can be considered to offer the lesser service as
well as the better service. Thus, when we say a network element does
not offer a service, we mean that it does not offer it or any other
strictly better service. However, as part of offering the lesser
service, the element must export the appropriate characterization
values.
Replacement Services
The approach we take is based on the principle of "replacement"
services. When a service is requested, it can be replaced by an
alternate service (under conditions described below) at those routers
not offering it. That is, the service request's RSpec specifies one
service, but the router not offering that service invokes another
service. The fundamental principles underlying this approach are
that (1) the service expected by an application should be modeled on
the ideal of end-to-end connectivity of the requested service (i.e.,
the service that would be provided if all routers along the path
offered the requested service), and (2) the network is responsible
Breslau/Shenker Expires 5/15/96 [Page 3]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
for informing the application the extent to which this is a realistic
approximation. This insulates applications from having to
understand, or even know about, the detailed nature of heterogeneity
or how the different services along the path compose. This
insulation is critical, we feel, for enabling applications to
function relatively undisturbed while the network infrastructure
evolves.
Before continuing, it is important to note that we are not addressing
the issue of allowing substitutions for admission control failures.
That is, we are not proposing using replacements if the requested
service is offered at a router but admission control has denied the
request because the load is too high, or the request is not mergeable
with a previously existing reservation (if two services do not have a
common "upper bound" that is better than both of them then there is
no way to merge them). We do think this is an important issue,
especially when admission control failures are a result of merging
problems and so are likely to deny service for a long period of time
(i.e., if there is no ordering between predictive and guaranteed
service, then a predictive request and a guaranteed request will not
be able to merge and the later arriving request will continue to be
denied until the earlier reservation terminates). However, it does
not seem on the critical path to early deployment of services. In
contrast, the heterogeneity problem, particularly where there are
many network elements that offer no services besides best effort,
will seriously hinder deployment if not addressed immediately.
The use of replacement services can be viable for two reasons.
First, local conditions and service definitions may enable a router
to substitute one service for another without a perceptible
difference in the quality of service delivered to the application.
For example, a lightly loaded ethernet that offers only best-effort
service may have low enough delays that it provides service as good
as is required by predictive service. Second, applications vary in
the degree of assurance they require about the service they receive.
An adaptive application that is tolerant of packet loss, may be
satisfied with best-effort service at those routers where real-time
service is not available.
We characterize replacement services as "reliable" or "unreliable".
A reliable replacement is one that meets the service specifications
of the service it is replacing a large majority of the time. We do
not express the degree of compliance precisely, but for purposes of
the present discussion we assume reliable replacements achieve this
conformance well over 95% of the time.
There is a distinction between the notion of the reliability of
replacement services and the reliability of service implementations.
Breslau/Shenker Expires 5/15/96 [Page 4]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
The reliability of a reliable replacement need only apply to the
particular environment in which it is deployed, where assumptions can
be made about the nature of the load. Thus, an overprovisioned
router with FIFO scheduling, and no admission control, does not
support predictive service, but can offer a reliable replacement for
predictive service. In contrast, a compliant implementation of an
actual service, such as predictive or controlled delay, must be able
to meet the service requirements independent of both where it is
deployed and the ambient load.
While the lack of specification of the degree of reliability may seem
vague, we assume that over time operational guidelines and informal
standards of acceptable practice will emerge. The key point behind
the notion of reliable replacements is an implicit statement that use
of the replacement will result in service that is usually not
perceptibly different from the requested service. Examples of
reliable replacements could be the use of predictive service for
guaranteed service, or the use of best effort service on an
underutilized ethernet as a replacement for controlled delay service.
However, these specific examples of replacement services, and their
classification as reliable or unreliable, should not be taken as a
definitive statement about the suitability of these services to act
as replacements. This ultimately depends on the specific services
defined and on decisions taken by routers, which can be impacted by
local conditions.
Unreliable replacements are a weaker form of replacement services,
carrying no assurance about the quality of the resulting service.
That is, service offered as an unreliable replacement can be
arbitrarily bad. For example, controlled delay service or best-
effort service on an often congested network could be considered
unreliable replacements for guaranteed service. Some applications
may be willing to use unreliable replacements when no alternative
exists, since poor service will in some cases be better than no
service at all. Unreliable replacements are always offered, as best
effort service constitutes an unreliable replacement for all
services.
The choice of which service to use as a replacement for a service
request, and whether the replacement is characterized as reliable or
unreliable, is left to the router. This allows overprovisioning of
less stringent services to serve as replacements for more demanding
ones. A network built around overprovisioned best-effort service
cannot claim to support guaranteed or predictive service, but it
could claim to provide reliable replacements for them. In some cases
users will care about the difference in perceived quality between
guaranteed or predictive service and its reliable replacement and
will not use reliable replacements, but for the majority of cases the
Breslau/Shenker Expires 5/15/96 [Page 5]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
difference in perceived quality may not matter.
Router Substitutions
In this section, we describe how routers substitute replacements for
services that are not offered. We defer until later the issue of
when the use of replacements are allowed and how much control
applications maintain over this process. For now we assume that
whenever a router receives a request for a service that is not
offered, it attempts to use a replacement service.
Requests for services not offered by a router can be divided into two
categories: services known but not offered by the router and services
that are neither offered nor known. In the former case the router
substitutes its best replacement service for the original request.
This means a reliable replacement is substituted if one is offered,
and an unreliable replacement is substituted if no reliable
replacement is offered. The service request is then processed as if
it were a request for the replacement service. If the replacement
service requires admission control, the router uses the admission
control algorithm to determine the admissibility of the new request.
The service request is rejected if the admission control test fails;
substitutions of additional replacement services are not permitted.
(The reason for this restriction will become evident later. In
short, it enables routers using replacement services to export useful
characterization parameters describing their replacement services.)
If the admission control test passes, or if the replacement service
does not require admission control, the service request is accepted.
If a setup protocol like RSVP is used to deliver the service request
to the router, the original service request is propagated along the
data path by the setup protocol.
When a router receives a service request for an unknown service, it
cannot even judge the suitability of services as replacements. The
best it can do is to substitute the ubiquitously available best-
effort service.
We show in some simple examples how characterization and service
replacements can be used to deal with heterogeneity. We expect the
two scenarios we describe here to be representative of situations
likely to be encountered in the future Internet. Consider first a
situation in which a single real-time service (e.g. controlled
delay) is offered at some routers along a path, and other routers
offer only best-effort service. These routers will substitute best-
effort service for the request for controlled delay service. Thus,
the use of service replacements allows an application to obtain the
Breslau/Shenker Expires 5/15/96 [Page 6]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
real-time service where it is offered. Applications are not confined
to using a common service offered end-to-end. Instead, the end-to-
end service is built out of heterogeneous services offered at the
routers.
Next, we consider the case in which all routers offer real-time
service, but they do not all offer the same real-time service. For
example, some routers may offer guaranteed service, while others
offer predictive (but neither service is offered at all routers).
Without a mechanism to allow for the composition of end-to-end
service out of different services, applications would only be able to
use best-effort service (which is offered everywhere). In this
example, if routers use the real-time service they offer as a
replacement for the service they do not offer, applications can
acquire a real-time service at each router. For example, an
application may request guaranteed service, and routers that offer
only predictive can substitute predictive. Using these replacements,
applications receive better service than if they were confined to
using a single service.
The previous example depends on routers using the real-time services
they offer as replacements for ones they do not offer. While the
intelligent use of replacements at routers cannot be mandated, we
believe that service providers will have strong incentives to use the
best replacement strategies they can. Offering replacement services
will make their services more usable and will therefore increase the
utilization of their networks.
Characterizing Service Availability
In this section we describe the implications of our proposal for
coping with heterogeneity on the characterization parameters that
routers must export. These parameters fall into two categories.
First, we describe characterization parameters that provide
information about the availability of services. Second, we discuss
how routers handle the service specific characterization parameters
when they offer a replacement for a particular service.
While routers may or may not offer particular services, they must
characterize the availability (or lack thereof) of every service.
For each service, the router characterizes the availability of the
service as one of the following four conditions:
Offered
Reliable replacement available
Breslau/Shenker Expires 5/15/96 [Page 7]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
No reliable replacement available
Not known
The first condition indicates the router offers the service as
defined in the service specification. The second indicates the
router does not offer the service, but instead offers a reliable
replacement for it. The third indicates that the router offers
neither the actual service nor a reliable replacement. Every router
implicitly offers an unreliable replacement, as best-effort service
constitutes an unreliable replacement for all services. Finally,
"not known" means that in addition to not offering the specified
service, the router does not even know what the service is. For
instance, a newly defined service will not be known to most deployed
routers.
For each service, there is a characterization parameter that keeps a
count of how many routers fall into each category (offered, reliable
replacement available, etc.). The composition rule is to add one to
the characterization parameter associated with the router's status.
Thus, a setup protocol like RSVP can use these characterization
parameters to transmit to the application the degree of service
availability end-to-end.
In addition to the characterization parameters describing service
availability, a router must attempt to update the service-specific
characterization parameter fields, such as the delay bounds in
predictive service, with meaningful values. When a replacement
service is offered (reliable or otherwise), the router updates the
characterization parameters in the normal manner. For a reliable
replacement, the characterization parameter values should accurately
reflect the service provided by the replacement service. A router
can also attempt to fill in a characterization parameter value for an
unreliable replacement since it understands something about the
service. For example, a router that uses an unreliable replacement
and is consequently unable to guarantee packet delivery might still
be able to provide an estimated delay bound based on delays
experienced at the router. However, the characterization parameters
for unreliable services will often be of little value. If there is
no meaningful number that can be inserted, the router can set the
validity bit of the associated characterization parameter. This
signals that the content of the composed characterization parameter
is no longer valid.
Finally, routers cannot provide any meaningful characterization
parameters for services that are not known because they have no idea
what the various characterization parameters represent. For example,
a router cannot know whether the characterization value for an
Breslau/Shenker Expires 5/15/96 [Page 8]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
unknown service reflects the delay experienced or the loss rate or
some other value. In this case, routers should set the validity bit
on all the characterization values associated with services they do
not know about. Applications receiving characterizations will know
how much confidence to place in the values based on the availability
of the services end-to-end and on the status of the validity bit.
If the characterizations of service availability are made available
to the endpoints, e.g. through the use of "advertising" in RSVP, then
applications know the extent to which replacements would be made for
a specific service request. This would enable an application that
did not want such replacements to know beforehand to not submit the
service request.
Use of Replacement Services
While the use of replacement services permits the composition of
heterogeneous services end-to-end, applications may have different
levels of tolerance for the use of replacement services. Some
tolerant applications may always be willing to accept replacement
services (reliable or unreliable), while others may prefer their
service request to be denied when the requested service is not
offered. We discuss mechanisms to accommodate diverse application
requirements below. Not surprisingly, providing additional
functionality and flexibility to applications entails added
complexity in the associated mechanisms.
The simplest design removes all choice from the applications and
mandates a uniform use of replacement services. That is, a router
will always attempt to use its best replacement service when the
requested service is not offered. While this design is easy to
implement in the sense that it requires no added complexity in
service requests or in merging behavior, it does not accommodate
applications that do not want replacements to be used. As we noted
above, however, in environments where end-to-end characterization of
service availability is provided to applications, they will know
before making a request whether a service replacement will be made.
In such an environment, an application that does not want service
replacements has the option not to request a service that is not
offered end-to-end. If end-to-end characterizations were always
available to endpoints (as was implicitly assumed in [1]) then this
design choice is an appealing option. However, our design must
accommodate the situation where such characterizations are not
available.
An extension to the simple design enables applications to control the
Breslau/Shenker Expires 5/15/96 [Page 9]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
extent to which replacement services are used. In this design, a
replacement handling bit is associated with every service request.
If the bit is set in a service request, replacement services are
allowed. If the bit is not set, a router that does not offer the
requested service must reject the service request and return an
error. This enables applications to express their preferences about
the use of replacement services. In environments where end-to-end
characterization of service availability is not known, setting the
bit indicates that the application is willing to accept whatever
service replacements are made along the path. In environments where
end-to-end service characterization is available, applications should
always set the bit since applications that do not want replacements
used will know about their use beforehand and therefore have the
option to not request service.
Including this extra bit in service requests, and allowing
applications to control how this bit is set introduces the problem of
merging requests that have the bit set differently. What should be
done when two requests must be merged, one of which has the
replacement handling bit set and the other of which does not?
We have identified two options to handle this merging problem. The
first mandates a particular merging behavior. Namely, when merging
two requests that have the bit set differently, the merged request
does not have the bit set. This approach takes the conservative
approach that it is better to deny the "flexible" application the use
of a replacement service than it is to provide the "inflexible"
application with service inferior to what it requested. If the
applications are well-behaved, the inflexible application should
cease or change its service request, which will give the other
application the opportunity to use replacement services (although
their service may be disrupted). Hence, this middle ground allows
applications to express their desires, but it avoids complicated
merging behavior. In this case, setting the bit to allow use of
replacements can be thought of as advisory only. The network will
honor this desire unless it conflicts with the desires of other
applications. Applications that do not set the bit and are not
well-behaved can deny service to those applications willing to use
replacement services. This option results in the desired behavior
when end-to-end characterizations are made available to endpoints,
since all applications will set their bits and there is no
complicated merging behavior. When end-to-end characterizations are
not available, some flexible applications may have their service
disrupted due to requests from inflexible applications.
Treating the replacement handling bit as more than advisory requires
maintaining additional information when service requests are merged.
Specifically, merging service requests that have the replacement
Breslau/Shenker Expires 5/15/96 [Page 10]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
handling bit set differently requires maintaining two RSpecs in the
merged request. One RSpec indicates the best service requested by an
application that is willing to use replacements and the other
represents the best service requested by an application that is not
willing to use replacements.
Processing these merged requests is also more complicated. The
router must determine the appropriate level of service to install,
when to return an error, and when and how to modify the service
requests (we omit the details here). However, the advantage of this
design is that it makes available to applications a wider range of
functionality.
Examples of Service Replacement
In this section, we give examples of how services can be used as
replacements. We consider the 3 real-time services (Guaranteed,
Predictive and Controlled Delay) currently being considered by the
Integrated Services Working Group. However, we reiterate that our
proposal for coping with the problem of heterogeneity in the set of
offered services could be used with other real-time services. These
examples are intended to demonstrate that service replacement is
possible. Other ways to accomplish these replacements may be
possible; we do not intend to preclude their use.
Replacing Guaranteed Service with Predictive
A network element that offers predictive service as a replacement
for guaranteed should first select a single level of predictive
service that it will use to serve guaranteed flows. This level,
i, can be any of the 3 levels of predictive service. The network
element assigns the guaranteed service characterization parameter
C the value 0, and it assigns the characterization parameter D the
value DB_i, where DB_i is the delay bound of predictive service
level i.
When the network element receives a request for guaranteed
service, it treats the request as if it were a request for
predictive level i, with the TSpec as specified in the original
request.
If the network element typically meets the service requirements of
predictive service with no or very few delay bound violations,
then this replacement can be characterized as reliable.
Replacing Guaranteed Service with Controlled Delay
Breslau/Shenker Expires 5/15/96 [Page 11]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
A network element that offers controlled delay service as a
replacement for guaranteed should first select a single level of
controlled delay that it will use to serve guaranteed flows. This
level, i, can be any of the 3 levels of controlled delay service.
The network element assigns the guaranteed service
characterization parameter C the value 0. The characterization
parameter D can be assigned the value of the maximal packet delay
seen in the last 3600 seconds for level i of controlled delay
(this is one of the required characterization parameters for
controlled delay service). Alternatively, if the network element
maintains maximal delays seen over longer intervals, or if it
maintains internally a delay target that it attempts to meet for
level i of controlled delay service, it can use either of those
values for the characterization parameter D. If there is no
available value for the characterization parameter that is likely
to be an upper bound on the packet delays experienced, the network
element should set the validity bit associated with the
characterization parameter (indicating that the characterization
is not valid) and not compose the associated characterization
value.
When the network element receives a request for guaranteed
service, it treats the request as if it were a request for
controlled delay level i, with the TSpec as specified in the
original request.
The network element can characterize this replacement as either
reliable or unreliable, depending on the likelihood that
guaranteed packets will experience delays less than the value it
exported for the characterization parameter D.
Replacing Guaranteed Service with Best Effort.
The network element assigns the guaranteed service
characterization parameter C the value 0. If the network element
maintains values of delay experienced by best effort traffic, it
can use a value of maximal delays seen over a fairly long interval
for the characterization parameter D. Alternatively, if the
network element does not measure packet delays, it can estimate a
suitable value for D based on such factors as the amount of buffer
space available at the network element. If there is no available
value for the characterization parameter that is likely to be an
upper bound on the packet delays experienced, the network element
should set the validity bit associated with the characterization
parameter and not compose the associated characterization value.
Since best effort is not an admission controlled service, all
requests for guaranteed service are accepted.
Breslau/Shenker Expires 5/15/96 [Page 12]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
Such a replacement can be characterized as reliable if the network
element is typically underutilized so that packet loss is
infrequent, and if the network element has confidence that packet
delays will be less than the value it exports for the
characterization parameter D. Otherwise, the replacement should
be characterized as unreliable.
Replacing Predictive Service with Guaranteed
A network element replacing predictive service with guaranteed
chooses a delay bound, DB_i, for each level i of predictive
service. The only constraint on these values is that they be
larger than the characterization parameter D exported for the
guaranteed service.
The network element uses these delay bounds as the
characterization parameters that describe the delay bounds for
each level of predictive service. Network elements providing
guaranteed service are not required to maintain measures of packet
delays. Furthermore, because implementations of guaranteed
service are likely to isolate flows from each other, delays
experienced by existing guaranteed flows are not necessarily
indicative of delays that new flows may experience. Unless the
network element maintains measures of packet delay that are
indicative of delays that will be experienced by new flows, it
should not attempt to compose the characterization parameters
associated with actual delays experienced by predictive traffic,
and it should set the validity bit associated with these
parameters.
When the network element receives a request for predictive
service, it must compute an appropriate RSpec for guaranteed
service. It can compute the reserved rate, R, using the following
formula:
R = (b + C)/(DB_i - D)
where b is the token bucket depth specified in the TSpec, C and D
are the characterization parameters for the guaranteed service,
and DB_i is the delay bound for the requested level of predictive
service.
The network element treats this as a request for guaranteed
service with the TSpec as specified in the original request and
the RSpec having the rate R as computed above.
This replacement can be characterized as reliable.
Breslau/Shenker Expires 5/15/96 [Page 13]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
Replacing Predictive Service with Controlled Delay
The network element uses the characterization parameters
describing measured delays for controlled delay service as the
corresponding characterization parameters for predictive service.
For each level of service, the network element can use as a
characterization parameter describing the delay bound either the
maximal delay seen over the last 3600 seconds, the maximal delay
seen over some longer interval, or any internal delay target it
maintains in its controlled delay implementation.
A request for predictive service is treated as if it were a
request for the same level of controlled delay service.
This replacement can be characterized as either reliable or
unreliable, depending on the confidence the network element has
that the delays experienced by predictive flows will be less than
the delay bound characterization parameters it exports for
predictive service.
Replacing Predictive Service with Best Effort
The network element exports the same characterization parameters
for each level of predictive service. The network element can use
as characterization parameters describing the delay bounds some
long term measure of maximal packet delay or some estimate of
maximum possible delay based on such factors as the amount of
buffer space available at the network element. If the network
element maintains measured values of maximal packet delays, these
can be used as the characterization parameters describing maximal
delays experienced. Alternatively, configured values based on
average load or buffer space at the network element can be used.
If these values are not likely to accurately reflect the service
delivered by the network element, the network element should set
the validity bit associated with the characterization parameters
and not compose the characterization value.
Since best effort does not use admission control, all requests for
predictive service can be accepted.
Such a replacement can be characterized as reliable if packet loss
is infrequent at the network element and if the network element
has confidence in its ability to meet the delay bounds it exports
for predictive service.
Replacing Controlled Delay with Guaranteed
This replacement is similar to the replacement of predictive
Breslau/Shenker Expires 5/15/96 [Page 14]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
service with guaranteed described above, with the only difference
being that the network element does not export characterization
parameters describing delay bounds. However, even though
controlled delay service does not have a per service level delay
bound, the network element must maintain such bounds so that the
it can compute an appropriate service rate R.
This replacement can be characterized as reliable.
Replacing Controlled Delay with Predictive
This replacement is trivial, as a conformant implementation of
predictive service satisfies all requirements for controlled delay
service and the two services use the same invocation parameters.
In fact, rather than characterizing this as a replacement service,
a network element offering predictive service can also claim to
offer controlled delay service.
Replacing Controlled Delay with Best Effort
This replacement is similar to the replacement of predictive
service with best effort. The only difference is that
characterization parameters describing delay bounds need not be
exported.
Such a replacement can be characterized as reliable if packet loss
is infrequent at the network element.
Other Approaches
Our solution is built on the notion of routers selecting appropriate
replacements for the services they do not offer. Also, we presented
ways to provide applications with a limited amount of control over
the actual use of these replacements. Specifically, applications can
allow the use of replacements, or have their requests rejected when a
requested service is not offered.
To put this solution in context, it is worth mentioning alternative
approaches which we considered. The option described above which
provided applications control over whether or not replacement
services are used is a constrained example of what we refer to as
"reservation scripts". Fully general reservation scripts allow the
entity requesting service to specify a set of router actions to be
taken when the requested service is not offered. Thus, a reservation
script could expand the set of router behavior to include use any
replacement, use only reliable replacements, or use only the
Breslau/Shenker Expires 5/15/96 [Page 15]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
requested service (with no replacements). While more general scripts
would expand functionality by presenting applications with additional
options, they also increase complexity. This increased complexity is
primarily manifested in the problem of merging scripts of users who
desire different router actions. We feel this additional complexity
is not worth the functionality it provides.
One can extend the idea of reservation scripts to have individual
applications indicate which specific services should be used as
replacements. For example, an application could indicate that
predictive service should be substituted if guaranteed is not
offered. This idea exacerbates the merging problems described above.
In addition, and perhaps more importantly, we believe it places the
responsibility for selecting replacements in the wrong hands. Since
the quality of service provided by best-effort and controlled delay
services will likely depend a great deal on the ambient load
conditions, the local router is much better equipped to make the
decision about whether or not a given service can function as a
reasonable replacement (if the router knows about the service).
There may be a few exceptional cases where a particular application
requirement would suggest a different substitution, but we are not
convinced that such occurrences outweigh the considerable additional
complexity such specific reservation scripts would introduce.
A more limited but similar alternative we considered is to include an
explicit list of services in the reservation request. Upon receiving
a reservation request, a router would scan the list of requested
services until finding the first one that it knows about. It would
then process the request as a request for this service. If this
service is known, but not offered, the router would substitute a
replacement; it does not continue to scan the list of services for
one it offers. Thus, receiver specified replacement services are
used only when the router does not know about the receiver's first
choice service; in all other cases, the decision about replacement
services is left to the router. Since it is specifically in
situations where services are not known that routers lack sufficient
information to make intelligent decisions about replacement services,
this limited control exerted by the receiver might be useful.
The options discussed above vary in the amount of functionality and
flexibility they allow and in what entity, either the router or
application, exerts control over the use of replacement services.
Another approach would be for the working group to mandate router
behavior when requested services are not offered. For example, the
working group could define specific services as replacements for
others and mandate that routers always use these defined substitutes
when services are not offered. We view this as inferior to our
proposal as it places the control over replacements in the wrong
Breslau/Shenker Expires 5/15/96 [Page 16]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
hands. As mentioned previously, the suitability of one service to
act as a replacement for another depends in some cases on the
environment in which it is deployed. Lacking information about where
a service is deployed, the working group cannot make appropriate
decisions. For example, best effort service may in many
circumstances be an adequate replacement for other services.
However, given that it can also be arbitrarily bad, the working group
could not define it as an acceptable replacement for any real time
service. As an alternative to specifying replacement services, the
working group could mandate a uniform router behavior when services
are not offered. For example, the working group could require a
default action of providing best effort service when a service is not
offered. While inviting because of its simplicity, we rejected this
approach because it does not give enough control to applications.
Specifically, it does not satisfy those applications that desire a
strong assurance that an actual service, or a close facsimile of it,
will be used.
Discussion
In this section, we touch on three issues in the integrated services
architecture that are relevant to this proposal.
We stated earlier that this proposal only attempts to solve the
problem of what to do when a requested service is not offered. We
did not address the question of what to do when a requested service
is offered, but not available. The latter problem is the subject of
discussion within the RSVP working group. Various issues and
solutions discussed in that context are similar to those we
considered. For instance, upon an admission control failure, some
applications may want an error message returned to them, while others
may prefer to receive best effort service at the node in question
while their original request is propagated to other nodes. This is
similar to the choice of returning an error message or using the best
replacement service when a requested service is not offered. The
mechanisms needed to provide this functionality in the two contexts
are similar. We confined the current discussion to the problem of
heterogeneity. However, since the two problems are related, their
eventual solutions ought to fit into a unifying framework.
Within the Internet community, there is still a vigorous debate about
whether the overprovisioning of best-effort links is a reasonable
real-time architecture. Our proposal to accommodate heterogeneity in
the set of offered services would allow such overprovisioned best-
effort networks to compete with networks supporting real-time
Breslau/Shenker Expires 5/15/96 [Page 17]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
services. That is, an over-provisioned network providing only best
effort service could characterize this best effort service as a
reliable replacement for real-time services. Different service
providers can thus experiment with different ways of meeting
application needs without changing the service model. We think this
is crucial in allowing us to learn while the Internet evolves.
Finally, we note that even among those supporting the standardization
and deployment of real-time services, debate over the nature and
number of these services continues. We believe that heterogeneity
will be an issue, regardless of what service model is defined for
real-time services. Even if only a single type of real-time service
were to be specified, this service will not be universally deployed.
Some routers will offer it and others will not. However, we expect
that the requirements of real-time applications differ enough to
warrant multiple types of real-time service, each geared towards
supporting different classes of applications. Multiple classes of
service, none of which will be offered everywhere, only serves to
compound the problem of heterogeneity.
Specific Recommendations
We recommend the following approach be adopted.
For each service for which the element offers a strictly better
replacement, the element must also support the lesser service (by
providing characterization values for it, and making ordered
substitutions of the service requests).
For each service it knows about but does not offer, a router should
select a suitable replacement service. The router should
characterize the replacement as reliable or unreliable.
For each known service, a router should export information about
whether it offers the service, whether it offers a reliable
replacement, or whether it offers no reliable replacement.
A router should attempt to export useful characterization parameters
for each service it replaces. These parameters should reflect, as
much as possible, the service the router provides. When the router
is unable to export a meaningful value for a characterization
parameter, it sets the validity bit associated with that
characterization parameter.
Setup protocols, or other mechanisms, may be used to collect
characterization information about end-to-end service availability
and about the characteristics of the resulting service.
Breslau/Shenker Expires 5/15/96 [Page 18]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
Service requests should be augmented to include a single service
replacement handling bit. Service replacements are allowed when the
bit is set. They are not allowed when the bit is not set.
Applications should set the bit according to their requirements.
Applications that receive end-to-end characterizations about service
availability should always set the bit on indicating that
replacements are allowed. If they are not satisfied with the
replacements that would be made, they should not issue a service
request.
When merging two service requests with different values for the
replacement handling bit, the router should turn the bit off,
indicating that replacements are not allowed.
When a router receives a request for a service it does not offer, it
rejects the request if the replacement handling bit is off. If the
bit is on, the router should treat the request as a request for its
best replacement for the requested service. If the replacement
service uses admission control, the router should apply an admission
control decision. If the admission control test fails, the request
is rejected. The router's replacement does not affect the original
request if it is propagated to other routers by a setup protocol.
When a router receives a request for a service it does not know
about, it should use best effort as a replacement service, if the
replacement handling bit is on. Otherwise it should reject the
request.
This proposal has some deficiencies when end-to-end characterizations
are not available. However, providing better behavior in this case
requires substantial additional complexity, so we deem it advisable
to first observe the extent to which end-to-end characterizations
become part of the integrated services architecture. If these
characterizations become ubiquitously available, then this handling
bit will become a vestigial relic and we will have avoided the
additional complexity. If end-to-end characterizations are rarely
provided, then we will have to see how serious an impediment the
error handling deficiencies are.
Security Considerations
Security considerations are not discussed in this memo.
Breslau/Shenker Expires 5/15/96 [Page 19]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
References
[1] S. Shenker and L. Breslau. "Two Aspects of Reservation
Establishment", Proceedings of Sigcomm '95.
[2] S. Shenker and J. Wroclawski. "Network Element Service
Specification Template", Internet Draft, June 1995, <draft-ietf-
intserv-svc-template-01.txt>
[3] S. Shenker, C. Partridge, and J. Wroclawski. "Specification of
Controlled Delay Quality of Service", Internet Draft, ?? 1995,
<draft-ietf-intserv-control-del-svc-02.txt>
[4] S. Shenker and C. Partridge. Specification of Guaranteed Quality
of Service", Internet Draft, ?? 1995, <draft-ietf-intserv-
guaranteed-svc-03.txt>
[5] S. Shenker, C. Partridge, B. Davie, and L. Breslau.
"Specification of Predictive Quality of Service", Internet Draft, ??
1995, <draft-ietf-intserv-predictive-svc-01.txt>
Author's Address:
Lee Breslau
Xerox PARC
3333 Coyote Hill Road
Palo Alto, CA 94304-1314
shenker@parc.xerox.com
415-812-4402
415-812-4471 (FAX)
Scott Shenker
Xerox PARC
3333 Coyote Hill Road
Palo Alto, CA 94304-1314
shenker@parc.xerox.com
415-812-4840
415-812-4471 (FAX)
Breslau/Shenker Expires 5/15/96 [Page 20]
INTERNET-DRAFT draft-ietf-intserv-hetero-01.txt Nov. 1995
Breslau/Shenker Expires 5/15/96 [Page 21]
| PAFTECH AB 2003-2026 | 2026-04-22 08:05:50 |