Reaves.dev

v0.1.0

built using

Phoenix v1.7.12

Peer To Peer Mobility

Stephen M. Reaves

::

2023-03-05

Notes about Lesson 11 of CS-7210

Required Readings

Summary

Communication Support Assumed So Far

We typically have used application/service-level namespace

We need to map these to network level

Introduce intermediary metadata service, called Overlay Network

Created and updated on control plane

Need to make sure things

This may introduce overhead on extremely dynamic systems

Interconnect Support

Hardware and drivers

Assume network has support for:

Peer to Peer Systems

P2P systems only assume that systems can communicate over IP. No other assumptions are made for things like scale, structure, topology, etc.

Connectivity in P2P

How to find right peer?

Distributed Hash Table

Each client in distributed system uses same hash function

DHT is like a normal HT, except keys are sharded between nodes

Chord

DHT is represented as a ring of all numbers from 0 - N-1

ID = SHA(IP)

N must be sufficiently large to avoid collision

N is max number of nodes

NodeValue = SHA(KEY)

If node exists at NodeValue, update. Else, go to next node that does exist

Lookups needs to be need for immediate node and successors

Each node contains Finger Table:

Nodes joining, departing

Probabilistic guarantees about performance

Hierarchical Systems

Cost of communication vs cost of maintaining overlay

Nodes with different properties:

Consider hybrid approaches and hierarchical designs

Heterogeneous Systems A Mobile Network Example

Two types of nodes:

Goals:

Alternative Algorithms

Metrics:

Time = Number (and type) of connections that need to be traversed