Definition of a Delay Measurement Infrastructure and
Delay-Sensitive Least-Used Policy for Reliable Server Pooling
Simula Research Laboratory, Network Systems GroupMartin Linges vei 171364 FornebuØstlandetNorway+47-6782-8200+47-6782-8201dreibh@simula.nohttp://www.iem.uni-due.de/~dreibh/Hainan University, College of Information Science and TechnologyRenmin Avenue 58570228 HaikouHainanChina+86-898-66279141zhouxing@hainu.edu.cnInternet-DraftThis document contains the definition of a delay measurement infrastructure
and a delay-sensitive Least-Used policy for Reliable Server Pooling.Reliable Server Pooling defines protocols for providing highly available
services. PEs of a pool may be distributed over a large geographical area,
in order to provide redundancy in case of localized disasters. But the
current pool policies defined in
do not incorporate the
fact of distances (i.e. delay) between PU and PE. This leads to a low
performance for delay-sensitive applications.This draft defines a delay measurement infrastructure for ENRP servers to
add delay information into the handlespace. Furthermore, a delay-sensitive
Least-Used policy is defined. Performance evaluations can be found in
.The terms are commonly identified in related work and can be found
in the Aggregate Server Access Protocol and Endpoint Handlespace Redundancy
Protocol Common Parameters document .The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"
in this document are to be interpreted as described in
.This section describes the necessary delay measurement infrastructure for
the policy later defined in . It has to be provided as
part of the ENRP servers.Measuring delay for SCTP associations is easy: the SCTP protocol
already calculates a smoothed round-trip time
(RTT) for the primary path. This RTT only has to be queried via the standard
SCTP API as defined in .
By default, the calculated RTT has a small restriction: a SCTP endpoint waits
up to 200ms before acknowledging a packet, in order to piggyback the
acknowledgement chunk with payload data. In this case, the RTT would include
this latency. By using the option SCTP_DELAYED_SACK
(see ), the maximum delay before
acknowledging a packet can be set to 0ms (i.e. "acknowledge as soon as
possible"). After that, the RTT approximately consists of the network latency
only. Then, using the RTT, the end-to-end delay between two associated
components is approximately 0.5*RTT.In real networks, there may be negligible delay differences: for example, the
delay between a PU and PE #1 is 5ms and the latency between the PU and PE #2
is 6ms. From the service user's perspective, such minor delay differences may be
ignored and are furthermore unavoidable in Internet scenarios. Therefore, the
distance parameter between two components A and B is defined as follows:Distance = DistanceStep * round( (0.5*RTT) / DistanceStep )That is, the distance parameter is defined as the nearest integer multiple
of the constant DistanceStep for the measured delay (i.e. 0.5*RTT).In order to define a distance-aware policy, it is first necessary to
define a basic rule: PEs and PUs choose "nearby" ENRP servers. Since the
operation scope of RSerPool is restricted to a single organization, this
condition can be met easily by appropriately locating ENRP servers.
A Home ENRP server can measure the delay of the ASAP associations to
its PE. As part of its ENRP updates to other ENRP servers, it can
report this measured delay together with the PE information.A non-Home-ENRP server receiving such an update simply adds the delay
of the ENRP association with the Home ENRP server to the PE's reported
delay.
Now, each ENRP server can approximate the distance to every PE in the
operation scope using the equation in
.Note, that delay changes are propagated to all ENRP servers upon PE re-registrations,
i.e. the delay information (and the approximated distance) dynamically adapts
to the state of the network.In this section, a distance-sensitive Least Used policy is defined,
based on the delay-measurement infrastructure introduced in
.
The Least Used with Distance Penalty Factor (LU-DPF) policy uses load
information provided by the pool elements to select the
lowest-loaded pool elements within the pool. If there are multiple
elements having lowest load, the nearest PE should be chosen.
The ENRP server SHOULD select at most the requested number of pool elements.
Their load values SHOULD be the lowest possible ones within the pool and
their distances also SHOULD be lowest. Each element MUST NOT be reported
more than once to the pool user. If there is a choice of equal-loaded and
equal-distanced pool elements, round robin selection SHOULD
be made among these elements. The returned list of pool elements MUST be
sorted by load value in ascending order (1st key) and distance in ascending
order (2nd key).
The pool user should try to use the pool elements returned from the list
in the order returned by the ENRP server. A subsequent call for handle
resolution may result in the same list. Therefore, it is RECOMMENDED
for a pool user to request multiple entries in order to have a sufficient
amount of feasible backup entries available.
Load: Current load of the pool element.Load DPF: The LoadDPF setting of the PE.Distance: The approximated distance in milliseconds.
Between PE and Home ENRP server: The distance SHOULD be set to 0.Between Non-Home ENRP server and Home ENRP server:
The delay measured on the ASAP association between Home ENRP
server and PE.Between ENRP server and PU: The sums of the measured delays on
the ASAP association and the ENRP association to the Home ENRP
server.The RSerPool reference implementation RSPLIB can be found at
. It supports the functionalities
defined by
,
,
,
and
as well as the options
,
and of course the option defined by this document.
An introduction to this implementation is provided in
.Security considerations for RSerPool systems are described by
.This document does not require additional IANA actions beyond those
already identified in the ENRP and ASAP protocol specifications.