Explained first idea
This commit is contained in:
parent
9367c217d5
commit
5ae0474644
34
README.md
34
README.md
@ -7,6 +7,7 @@ Table of Contents
|
||||
=================
|
||||
<!-- TOC -->
|
||||
- [1. Description](#1-description)
|
||||
- [1.1. The Idea](#11-the-idea)
|
||||
<!-- /TOC -->
|
||||
|
||||
<br>
|
||||
@ -19,3 +20,36 @@ This is for me a deeper dive into the C language and FUSE with the library [libf
|
||||
|
||||
<br>
|
||||
|
||||
## 1.1. The Idea
|
||||
|
||||
1\. The idea is to connect multiple sites in a mesh-network-topology.
|
||||
|
||||
2\. The filesystem makes all files from all sites available at each site in a combined view.
|
||||
|
||||
```
|
||||
/mnt/ltdfs/
|
||||
\ siteA-Readme.md
|
||||
\ siteB-Readme.md
|
||||
```
|
||||
|
||||
3\. Each file has certain metadata to identify location and owner.
|
||||
|
||||
```
|
||||
siteA-Readme.md
|
||||
---
|
||||
Availability:
|
||||
- SiteA
|
||||
- SiteB
|
||||
Owner: SiteA
|
||||
```
|
||||
|
||||
4\. When reading, first the local cache is checked and then one or even multiple sites are chosen to load the file.
|
||||
|
||||
5\. When writing, if the file is available locally, an ownership-transfer is requested with the owner-site.<br>
|
||||
When the Ack comes back, the file is available to be written to **locally**.<br>
|
||||
Ownership-transfers are synced immediately through the network from the owner-site.
|
||||
|
||||
If the file was not available locally, a Write-lock-request is send to the owner-site.<br>
|
||||
When the Ack comes back, the file will be written **write-through**.<br>
|
||||
Lock-Requests are not synced and expire after no data has flown for a period of time.<br>
|
||||
Writing remotely to a file without a lock-request is rejected.
|
||||
|
Loading…
x
Reference in New Issue
Block a user