Distributed File System Metadata Service for Cross-Device Availability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data access and sharing solutions for multiple computing devices, such as smartphones and desktops, require pre-planning and are not designed for home environments where devices vary significantly in availability and connectivity, leading to user frustration and difficulty in accessing files across disparate devices.
Innovation Solution
A distributed file system that assigns location and availability attributes to each data element, with a metadata service managing these attributes to ensure strong consistency and availability, allowing devices to wake up for access and utilize cached copies or replication for seamless data access across devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If devices are made available continuously to ensure file access, then availability is improved, but energy consumption increases
Solution Approach 1:
The system performs preliminary actions by pre-waking devices or preparing cached copies of files before actual access is needed. The metadata service proactively manages device states and file caching to ensure availability without requiring continuous device operation, thus reducing energy consumption while maintaining reliability.
Solution Approach 2:
The system creates cached copies of files on devices that are unavailable, allowing clients to access file data without needing the original device to be awake or available. This copying mechanism resolves the contradiction by enabling file availability through replicas rather than keeping original devices continuously active.
2Reliability
If a centralized metadata service is used to manage location and availability attributes, then data consistency is improved, but system complexity increases
Solution Approach 1:
The metadata service acts as an intermediary between clients and stored files, centralizing the management of location and availability attributes. This mediator approach improves data consistency by having a single authority for metadata management while abstracting the complexity from individual clients, as they only interact with the simplified metadata service API.
Solution Approach 2:
The metadata service performs multiple functions including tracking file locations, monitoring device availability, managing replication, and handling client requests. This multi-functionality consolidates complexity into a single universal service rather than distributing it across multiple specialized components, improving consistency while managing overall system complexity.
3Reliability
If devices are woken up on demand to access files, then availability is improved, but response time increases
Solution Approach 1:
The system performs preliminary actions by pre-waking devices or preparing cached copies of frequently accessed files before actual access is needed. The metadata service proactively manages device states and file caching to ensure availability without requiring devices to be continuously awake, thus reducing the wake-up time penalty while maintaining reliability.
Solution Approach 2:
The system creates cached copies of files on devices that are unavailable, allowing clients to access file data without needing the original device to be awake or available. This copying mechanism resolves the time loss contradiction by enabling immediate access through replicas rather than waiting for device wake-up.
4Reliability
If replication is used to ensure data availability, then reliability is improved, but storage requirements increase
Solution Approach 1:
The system applies local quality by implementing selective replication where files are replicated only on specific devices based on their availability, location, and access patterns. Rather than uniform replication across all devices, the metadata service intelligently determines optimal replication targets, reducing total storage requirements while maintaining adequate availability through localized redundancy.
Solution Approach 2:
The system uses partial replication rather than complete replication of all files across all devices. The metadata service manages replication selectively, creating copies only when and where needed to maintain availability, thus avoiding the excessive storage consumption that would result from replicating everything everywhere.
Data Source
AI summary
A distributed file system for devices is described. In an embodiment, each data element stored on one of the devices has an associated location and availability attribute. The location attribute is stored co-located with the data element. The availability attribute and a copy of the location attribute are stored by a metadata service. When a client on a device needs to access a data element, it sends a request to the metadata service to find the location of the data element. If the data element is available, this information is provided to the client and this may involve waking a dormant device which holds the data element. Where the data element is not available, read only access may be granted to a cached copy of the data element. Where replication is used and one of the devices holding a replica is unavailable, the system may use write off-loading.


