Clarification reg. jump consistent hashing I was reading the paper on Jump consistent hashing, and I'm having some trouble understanding one particular line (page 5, paragraph 2)

"Since we want P(j ≥ i) = (b+1) / i, we set P(j ≥ i) iff r ≤ (b+1) / i."

My understanding is that:


P(j ≥ i) is the probability that a key "jumps"/moves to a different bucket after bucket#i
r is a pseudo random number between [0, 1) with a uniform distribution
b is the last bucket# for which a jump occurred for this key


In particular, I am having trouble understanding this phrase: "we set P(j ≥ i) iff".

Set it to what? Do they mean to say "We want a key to jump to a different bucket ≥ i with a random probability r. This means that P(j ≥ i) ≥ r, which implies that (b+1)/i ≥ r. Hence the smallest such bucket number is obtained by the equation i = floor((b+1)/r)"?
I suggest this as a better version of the paragraph.

Now, for a given $i$ and $k$, we generate a pseudo­random variable, $r$, that is uniformly distributed between 0 and 1, and set $j = \lfloor(b+1) / r\rfloor$. This gives $P(j \ge i) = (b+1) / i$, as we want:
$P(j \ge i)$
$ = P(\lfloor(b+1) / r\rfloor ≥ i)\quad$ substituting the definition of j
$ = P((b+1) / r \ge i)\quad$ because $i$ is an integer
$ = P(r \le (b+1) / i)\quad$ solving the inequality for $r$
$ = (b+1) / i\quad$ because $r$ is uniformly distributed between 0 and 1