Distributed Content Block Caching for Multi-Premises Hosting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current online content management services lack user control over content item hosting locations and suffer from inefficient data synchronization and sharing, particularly for globally distributed and mobile workforces, leading to slower data upload and download speeds over the internet.
Innovation Solution
Implementing a system that allows users to host content items on-premises, off-premises, or both, using content item synchronization agents to manage uploads and downloads between personal computing devices and block servers, enabling peer-to-peer data replication and optimization, and utilizing metadata servers for namespace management and block server assignments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If content items are hosted on centralized online servers, then accessibility and synchronization are improved, but user control over hosting locations and data security are reduced
Solution Approach 1:
The system segments the centralized hosting model into distributed on-premises block servers and off-premises cloud servers. Content items are divided into blocks that can be independently hosted on different server types, allowing users to choose which blocks are hosted locally and which are hosted remotely, thus providing both accessibility and user control.
Solution Approach 2:
The system adds a new dimension to hosting by supporting hybrid deployment across on-premises and off-premises locations simultaneously. The namespace assignment mechanism allows content to exist in multiple hosting dimensions (local and remote), providing flexibility in controlling where different portions of content are hosted while maintaining unified access.
2Ease of operation
If content items are uploaded and downloaded over the Internet, then remote access is enabled, but data transfer speed is reduced
Solution Approach 1:
The system implements local quality by caching frequently accessed content blocks on on-premises block servers within the local network. This ensures that commonly used data is retrieved from local storage rather than being transferred over the Internet, significantly improving access speed while maintaining remote access capability for data not cached locally.
Solution Approach 2:
The system performs preliminary action by proactively caching content blocks on on-premises servers before they are needed for local access. The synchronization agents anticipate access patterns and pre-load data blocks to local servers, so when users need remote access to frequently used files, the data is already available locally, eliminating Internet transfer delays.
3Productivity
If distributed block caching is implemented, then data replication speed is improved, but system complexity increases
Solution Approach 1:
The system introduces intermediary components (namespace assignment service, block agents, and synchronization agents) that manage the complexity of distributed block caching. These intermediaries handle the coordination between on-premises and off-premises servers, automatically assigning blocks to appropriate servers and managing replication, thereby improving data replication speed while abstracting the complexity from end users.
Solution Approach 2:
The system implements self-service through automated synchronization agents that monitor content changes, determine which blocks need replication, and automatically transfer data blocks between on-premises and off-premises servers without manual intervention. The namespace assignment service automatically manages block server assignments based on access patterns, enabling the system to self-optimize its caching strategy while improving replication speed.
Data Source
AI summary
Selective synchronization and distributed content item block cache optimization for multi-premises hosting of digital content items. In one embodiment, for example, a method comprises: detecting an attempt to access a placeholder file corresponding to a content item, the placeholder file stored in the local storage of the computing device; determining one or more identifiers of one or more content item blocks of which the content item is composed; determining any content item blocks of the one or more content item blocks that are not stored in the local storage of the computing device; downloading, from one or more other computing devices coupled to a network to which the computing device is coupled, any content item blocks of the one of more content item blocks that are not stored locally in the local storage of the computing device; and filling the placeholder file with the one or more content item blocks.


