Distributed File System Metadata Service for Cross-Device Availability

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Reliability

If devices are made available continuously to ensure file access, then availability is improved, but energy consumption increases

Engineering Contradiction:
Improvefile availabilityVSAvoiddevice energy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

2Reliability

If a centralized metadata service is used to manage location and availability attributes, then data consistency is improved, but system complexity increases

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If devices are woken up on demand to access files, then availability is improved, but response time increases

Engineering Contradiction:
Improvefile accessibilityVSAvoidwake-up time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

4Reliability

If replication is used to ensure data availability, then reliability is improved, but storage requirements increase

Engineering Contradiction:
Improvedata availabilityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10853329B2Distributed file system
Publication Date: 2020.12.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10853329B2 patent drawing
  • US10853329B2 patent drawing
  • US10853329B2 patent drawing

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.