-
Notifications
You must be signed in to change notification settings - Fork 0
Home
The dafs project uses a decentralized, self-healing ring-model architecture. What this means is that no single entity knows about the entire system and that each entity is fault-tolerant. These features allow the system to scale-out with minimal maintenance cost.
Files in the system are represented as a collection of blocks. Blocks are replicated on multiple servers through a replication library. Each block and each server have unqiue identifiers. Given that an identifier can be represented as a number, then each block is guaranteed to most closely match a single server. What this means is that the system can be thought of as a map of blocks to servers and if we know the identity of the servers then we also know where any given block is located.
A client knows how the blocks are used to represent a file. This decoupling means that a server has no concept of a file. Instead a server is only concerned with ensuring that blocks are safely replicated and returned to the client on request.