Intersection Algorithm

The Intersection Algorithm is an agreement algorithm used to select sources for estimating accurate time from a number of noisy time sources, it forms part of the modern Network Time Protocol. It is a modified form of Marzullo's algorithm. While Marzullo's Algorithm will return the smallest interval consistent with the largest number of sources, the returned interval does not necessarily include the center point (calculated offset) of all the sources in the intersection. The Intersection Algorithm returns an interval that includes that returned by Marzullo's algorithm but may be larger since it will include the center points. This larger interval allows using additional statistical data to select a point within the interval, reducing the jitter in repeated execution.

Method

Given M intervals c +/- r (which is c-r,c+r) the algorithm seeks to find an interval with M-f sources. The value f is referred to as the number of falsetickers, those sources which are in error (the actual value is outside the confidence band). The best estimate is that which assumes the least number of falsetickers, f. The results will be considered valid if f. For each interval there are three entries, the lower endpoint, the midpoint and the upper endpoint, labelled with types -1, 0 1 respectively. Thus interval c +/- r results in entries . These are then sorted by offset. Variables: This algorithm uses f as number of false tickers, endcount and midcount' are integers. Lower and upper'' are values of offsets. 0) best f Start with f=0, assuming all input intervals are valid. Each time no interval is found f will be incremented until either an interval is found or f>=m/2. 1) initialize endcount=0 midcount=0 2) lower endpoint Start at begining of the list (lowest offset) consider each tuple in order. endpoint=endpoint-type. If endcount>=m-f then lower=offset and goto step 3 because the (possible) lower endpoint has been found. If the type=0 then midcount=midcount+1. Repeat with next tuple. If reach end of list then goto step 6. 3) lower endpoint found, initialize to find upper endpoint set endcount=0. 4) number of midpoints Start from end of list and work towards lower offsets. endcount=endcount+type. If endcount>=m-f then upper=offset, goto step 5. If type=0 then midcount=midcount+1. Repeat for next tuple. If reach end of list then goto step 6. 5) if lower<=upper and midcount<=f then return interval lowerendpoint,upperendpoint as resulting confidence interval. 6) number of falsetickers f=f+1. If f>=m/2 then terminate and return FAILED, otherwise goto step 1.

 

<< PreviousWord BrowserNext >>
tamlyn tomita
ivan cankar
turgis green
errant story
telstar (music)
hangzhou university
edgmond, shropshire
loch strathbeg
andong institute of information technology
clavioline
soros fund management
nafaanra language
ythan
pagan lorn
ansan college
point fortin
kaunan
cugir
japanese filipino
morning post
mike murley
campia turzii
franchises established on nintendo systems
universitat oberta de catalunya
i, d'oh bot
brazil's stock car series
genealogies of genesis
internet interdisciplinary institute
ocular manifestations of systemic disease
battle of aughrim
jason witten
1975 in prophecy!
malcolm wells
red herring surf
larry allen
helen shaver
dakah hip hop orchestra
dear boss letter
muelle
european walking route e2
niavaran palace complex
mexican white pine
anatolijs gorbunovs
superwoman