From 5ae0474644960859887730d348637c67f44be2b4 Mon Sep 17 00:00:00 2001 From: Ruakij Date: Wed, 22 Dec 2021 22:14:47 +0100 Subject: [PATCH] Explained first idea --- README.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/README.md b/README.md index c96877c..ebf1a25 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ Table of Contents ================= - [1. Description](#1-description) + - [1.1. The Idea](#11-the-idea)
@@ -19,3 +20,36 @@ This is for me a deeper dive into the C language and FUSE with the library [libf
+## 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.
+When the Ack comes back, the file is available to be written to **locally**.
+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.
+When the Ack comes back, the file will be written **write-through**.
+Lock-Requests are not synced and expire after no data has flown for a period of time.
+Writing remotely to a file without a lock-request is rejected.