Extensible File Synchronization via Custom Agents

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file synchronization systems require complex modifications and involve multiple stakeholders to implement custom synchronization procedures, which is inefficient and often impractical due to differing programming languages and licensing restrictions.

Innovation Solution

A primary agent monitors changes and creates synchronization plans, interacting with custom agents to customize these plans, allowing for separate custom agents to implement custom synchronization procedures without modifying the primary agent, and delegates can register to control specific portions of the file tree for customized synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If custom synchronization procedures are implemented by directly modifying the synchronization agent, then custom synchronization procedures can be achieved, but programming time and expertise requirements increase

Engineering Contradiction:
Improvecustom synchronization proceduresVSAvoidprogramming time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The synchronization agent is segmented into a core synchronization engine and separate customizable plugins. Each plugin handles specific synchronization scenarios independently, allowing custom procedures to be added without modifying the core agent. This segmentation reduces programming time by isolating customization logic from the main system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A configuration interface acts as an intermediary between users and the synchronization system. Instead of requiring direct programming modifications, users can define custom synchronization procedures through a user-friendly configuration interface that translates their requirements into executable synchronization plans, eliminating the need for programming expertise.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If custom synchronization procedures are implemented by directly modifying the synchronization agent, then custom synchronization procedures can be achieved, but programming expertise requirements increase

Engineering Contradiction:
Improvecustom synchronization proceduresVSAvoidprogramming expertise
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

A configuration interface serves as an intermediary layer that translates user-friendly synchronization requirements into technical synchronization plans. This interface handles the complexity of programming conversions, allowing users to define custom procedures without needing programming expertise while still achieving the desired synchronization behavior.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system provides self-service customization capabilities where users can independently configure custom synchronization procedures through intuitive interfaces. The system automatically generates the necessary synchronization logic and plans, eliminating the need for users to possess programming expertise while still achieving customized synchronization functionality.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If multiple people with different backgrounds are involved in customization, then diverse synchronization needs can be met, but complexity and coordination difficulty increase

Engineering Contradiction:
Improvesynchronization procedure sourcesVSAvoidcustomization complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The customization system is segmented into independent plugins that can be developed by different teams or individuals. Each plugin handles specific synchronization scenarios and can be created independently, then integrated into the main system. This segmentation reduces coordination complexity by allowing parallel development without requiring constant communication between all stakeholders.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A centralized configuration interface acts as an intermediary that standardizes how different synchronization procedure sources communicate with the system. This interface provides a uniform interaction model that simplifies coordination between multiple people with different backgrounds, as they all interact with the same standardized interface rather than requiring knowledge of each other's specific implementation details.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If custom synchronization procedures are implemented by directly modifying the agent, then synchronization customization is achieved, but licensing restrictions may prevent code incorporation

Engineering Contradiction:
Improvecustom synchronization proceduresVSAvoidcode incorporation
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The synchronization system is divided into a core agent and separate plugin modules. Custom synchronization procedures are implemented as independent plugins that can be developed using any programming language or framework, then integrated into the core agent. This segmentation allows incorporation of code from different sources without licensing conflicts, as each plugin is an independent unit that can be selectively integrated.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A standardized plugin interface acts as an intermediary between external code sources and the core synchronization agent. This interface provides a uniform contract that allows code from different programming languages and licensing contexts to be incorporated into the system, as long as they conform to the standardized interface specifications, thereby overcoming licensing restrictions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11775561B2Extensible file synchronization
Publication Date: 2023.10.03 ADOBE INC
  • US11775561B2 patent drawing
  • US11775561B2 patent drawing
  • US11775561B2 patent drawing

AI summary

Systems and methods provide custom synchronization procedures in file synchronization. A primary agent is used to monitor for changes, create synchronization plans to synchronized changes, and execute the synchronization plan. The primary agent, however, interacts with one or more separate custom agents to customize the synchronization plans. One exemplary technique involves monitoring for local changes to a first copy of a file tree and updates from another computing device regarding remote changes to a second copy of the file tree. When a change to either copy is identified, a synchronization plan for the change is created based on a default synchronization procedure. The synchronization plan is sent to a custom agent for customization. The custom agent creates the custom synchronization plan by modifying the synchronization plan and sends the custom synchronization plan to the primary agent. The custom synchronization plan is then executed by the primary agent.