Notes - MIECT
Computação Distribuída
Notes - MIECT
Computação Distribuída
  • Computação Distribuída
  • Introduction / Architecture
    • Distributed Systems
    • Architecture
    • Middleware Organizations
    • Processes
    • Threads
    • Virtualization
    • Clients
    • Servers
    • Migration
  • Communications
    • OSI Model
    • Middleware Layer
    • Types of Communication
    • Remote Call Procedure (RPC)
    • Sockets
    • Application-level Multicasting
  • Naming
    • Names
    • Addresses
    • Identifiers
    • Naming Systems
      • Flat Naming
      • Structured Naming
    • Internet Domain Name System (DNS)
    • Attribute-based naming - LDAP
  • Coordination
    • Clocks
      • Synchronizing without UTC
    • Reference Broadcast Synchronization – RBS
    • Happened-Before Relation
      • Logical Clocks
      • Vector Clocks
    • Mutual Exclusion Algorithms
    • Election Algorithms
    • Distributed Events Correspondance
  • Consistency & Replication
    • Replication
    • Performance and Scalability
    • Client-centric models
    • Replicates
    • Unicasting vs. Multicasting
    • Continuous Consistency
    • Protocols
  • Flaw Tolerance
    • Dependability
    • Terminology
    • Confidence vs. Security
    • Halting failures
    • Redundancy to mask failures
    • Consensus
      • Realistic
      • Consensus in arbitrary failures
      • Achieving failure tolerance
      • Distributed consensus
    • Failure Detection
    • Reliable RPCs
    • Distributed commit protocols
  • Python asyncio & Friends
    • Async
    • Sync vs. Async
    • Tools
  • Flask
    • Introduction
    • Python Requests
  • Containers
    • VM's vs Containers
    • OS Support
    • Building a container
    • Tools
    • Portability
    • Docker
      • Container
  • Map Reduce
    • Map Recude
    • Hadoop
    • Software Architecture
    • Task Scheduling
    • Comparison With Traditional Models
  • Cloud Computing
    • Cloud Computing
    • IaaS – Infrastructure as a Service
    • PaaS – Platform as a Service
    • SaaS – Software as a Service
    • Business Models
Powered by GitBook
On this page
  • Broadcasting
  • Forwarding Pointers
  • Mobile IP
  • Distributed Hash Tables (DHT)
  • Chord
  • Exploring the proximity of the network
  • Hierarchical Location Services (HLS)
  • Search and Tree organization
  • Insertion
  1. Naming
  2. Naming Systems

Flat Naming

PreviousNaming SystemsNextStructured Naming

Last updated 1 year ago

In these systems, each entity is given one identifier that solely identifies it as an entity.

Identifiers are strings of fixed size, to which we give the designation of flat names or non-structured.

  • Flat names can be efficiently manipulated by machines.

Broadcasting

Announcing an ID, and waiting for a response from the entity with its current address.

  • Does not scale beyond the current local network.

  • Needs that every process listens to requests.

Example:

  • ARP - Address Resolution Protocol.

Forwarding Pointers

When an entity moves, it leaves a reference to its new location.

  • Eg: MobileIP.

Mobile IP

Distributed Hash Tables (DHT)

Chord

  • Each node has an m-bit random identifier.

  • Each entity has a unique m-bit key.

  • The entity with the k key stays under the jurisdiction of the node with an id that obeys the rule of id >= k.

Each node p keeps a Finger Table with a maximum of m entries.

Search for the k key, the p node redirects the request to the node with index j that obeys the rule:

  • q = FingerTable[j] <= k < FingerTable[j+1]

Exploring the proximity of the network

  • Attribution of nodes based on the topology: When an ID is attributed to a node, ensuring that the nodes nearest to the ID domain are also near the network topology is necessary.

  • Proximity routing: Keeping more than one successor and routing to the one nearest.

  • Neighbor selection based on proximity: When needing to choose between neighbors, choose the one closer.

Hierarchical Location Services (HLS)

Search and Tree organization

Insertion