ArticleslgStudy

computer science

Koorde

Koorde is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Koorde rather than just read about it. In short: In peer-to-peer networks, Koorde is a distributed hash table (DHT) system based on the Chord DHT and the De Bruijn graph (De Bruijn sequence). Inheriting the simplicity of Chord, Koorde meets O(log n) hops per node (where n is the number of nodes in the DHT), and ⁠ O ( log ⁡ n log ⁡ ( log ⁡ n ) ) {\displaystyle O\left({\frac {\log n}{\log(\log n)}}\right)} ⁠ hops per lookup request with O(log n) neighbors per node.

Koorde — main illustration
Koorde — illustration

Key takeaways

  • Koorde belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Koorde to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Koorde from memory before moving on to harder problems.

Reference excerpt

In peer-to-peer networks, Koorde is a distributed hash table (DHT) system based on the Chord DHT and the De Bruijn graph (De Bruijn sequence). Inheriting the simplicity of Chord, Koorde meets O(log n) hops per node (where n is the number of nodes in the DHT), and ⁠ O ( log ⁡ n log ⁡ ( log ⁡ n ) ) {\displaystyle O\left({\frac {\log n}{\log(\log n)}}\right)} ⁠ hops per lookup request with O(log n) neighbors per node. The Chord concept is based on a wide range of identifiers (e.g. 2160) in a structure of a ring where an identifier can stand for both node and data. Node-successor is responsible for the whole range of IDs between itself and its predecessor.

De Bruijn's graphs

Koorde is based on Chord but also on the De Bruijn graph (De Bruijn sequence). In a d-dimensional de Bruijn graph, there are 2d nodes, each of which has a unique ID with d bits. The node with ID i is connected to nodes 2i mod 2d and 2i + 1 mod 2d. Thanks to this property, the routing algorithm can route to any destination in d hops by successively "shifting in" the bits of the destination ID but only if the dimensions of the distance between mod 1d and 3d are equal. Routing a message from node m to node k is accomplished by taking the number m and shifting in the bits of k one at a time until the number has been replaced by k. Each shift corresponds to a routing hop to the next intermediate address; the hop is valid because each node's neighbors are the two possible outcomes of shifting a 0 or 1 onto its own address. Because of the structure of de Bruijn graphs, when the last bit of k has been shifted, the query will be at node k. Node k responds whether key k exists.

Routing example

For example, when a message needs to be routed from node 2 (which is 010) to 6 (which is 110), the steps are following:

Node 2 routes the message to Node 5 (using its connection to 2i + 1 mod 8), shifts the bits left and puts 1 as the youngest bit (right side). Node 5 routes the message to Node 3 (using its connection to 2i + 1 mod 8), shifts the bits left and puts 1 as the youngest bit (right side). Node 3 routes the message to Node 6 (using its connection to 2i mod 8), shifts the bits left and puts 0 as the youngest bit (right side).

Non-constant degree Koorde The d-dimensional de Bruijn can be generalized to base k, in which case node i is connected to nodes k • i + j mod kd, 0 ≤ j < k. The diameter is reduced to Θ(logk n). Koorde node i maintains pointers to k consecutive nodes beginning at the predecessor of k • i mod kd. Each de Bruijn routing step can be emulated with an expected constant number of messages, so routing uses O(logk n) expected hops- For k = Θ(log n), we get Θ(log n) degree and ⁠ Θ ( log ⁡ n log ⁡ ( log ⁡ n ) ) {\displaystyle \Theta \left({\frac {\log n}{\log(\log n)}}\right)} ⁠ diameter.

Lookup algorithm

Pseudocode for the Koorde lookup algorithm at node n:

k is the key I is the imaginary De Bruijn node p is the reference to the predecessor of 2n s is the reference to the successor of n

References "Internet Algorithms" by Greg Plaxton, Fall 2003: [1] "Koorde: A simple degree-optimal distributed hash table" by M. Frans Kaashoek and David R. Karger: [2] Chord and Koorde descriptions: [3]

Illustrations

Koorde: Example of the way Koorde routes from node 2 to node 6 using a 3-dimensional, binary graph
Example of the way Koorde routes from node 2 to node 6 using a 3-dimensional, binary graph

Worked examples

Example 1 — a first encounter with Koorde

Start with the simplest possible case. Write down what Koorde claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Koorde before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Koorde ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Koorde

In research
Koorde appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Koorde in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Koorde is common in secondary-school and first-year university syllabi. It links to neighbouring topics Distributed data storage, File sharing networks, Hash-based data structures, so understanding it makes those chapters shorter.
In everyday life
Look for Koorde outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Koorde in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Koorde means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Koorde out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Koorde in simple terms?

In peer-to-peer networks, Koorde is a distributed hash table (DHT) system based on the Chord DHT and the De Bruijn graph (De Bruijn sequence). Inheriting the simplicity of Chord, Koorde meets O(log n) hops per node (where n is the number of nodes in the DHT), and ⁠ O ( log ⁡ n log ⁡ ( log ⁡ n ) ) {…

Why does Koorde matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Koorde?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Koorde.

Tags

  • Distributed data storage
  • File sharing networks
  • Hash-based data structures
  • Hashing

Keep exploring