Multi-threaded Content Transfer Accelerator for Enterprise Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing content transfer technologies in enterprise content management systems face inefficiencies in transferring content across wide area networks, particularly in handling multiple content files, network fluctuations, and user-driven pause/resume operations, without adequate acceleration or prioritization.

Innovation Solution

A system comprising a server-side component connected to an application server within a local area network and a client-side component outside the network, utilizing multiple threads to transfer content files in configurable chunks, with features for pausing, resuming, and prioritizing transfers, as well as automatic handling of network fluctuations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If content is transferred using traditional single-threaded methods, then the system is simpler to implement, but the transfer speed is slower and efficiency is reduced

Engineering Contradiction:
Improvecontent transfer speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The content file is divided into multiple configurable chunks, and each chunk is transferred through a separate thread. This segmentation allows parallel transfer operations, significantly increasing transfer speed while maintaining manageable complexity through modular chunk handling

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from single-threaded sequential transfer to multi-threaded parallel transfer by adding the thread dimension. Multiple threads operate simultaneously to transfer different chunks, transforming the transfer process from a one-dimensional sequential operation to a multi-dimensional parallel operation

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If content transfer continues without interruption, then transfer speed is maintained, but network fluctuations cause data loss and reliability decreases

Engineering Contradiction:
Improvetransfer reliabilityVSAvoidtransfer time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-configures multiple threads and chunk divisions before transfer begins, establishing a robust parallel transfer framework in advance. This preliminary setup enables the system to quickly adapt to network fluctuations and resume transfers efficiently without extensive reconfiguration

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

While individual threads may pause or fail due to network issues, other threads continue transferring their assigned chunks. This ensures continuous useful action across the system, maintaining overall transfer progress even when specific threads encounter problems

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If the system transfers multiple content files simultaneously, then overall throughput increases, but resource allocation becomes more complex and management difficulty increases

Engineering Contradiction:
Improveoverall transfer throughputVSAvoidresource management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The multi-threaded chunk transfer mechanism serves as a universal solution that can handle multiple content files simultaneously. The same thread pool and chunking logic are reused across different files, providing multi-functionality without proportionally increasing complexity

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

Solution Approach 2:

The system merges the transfer operations of multiple content files into a unified multi-threaded process. Threads are dynamically allocated and managed across different files, combining resource utilization to improve overall throughput while sharing management overhead

Inventive Principle:
Principle #5Merging (Combining)

4Ease of operation

If users can pause and resume transfers, then operational flexibility improves, but system complexity and state management overhead increase

Engineering Contradiction:
Improveoperational flexibilityVSAvoidstate management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The transfer state is segmented by thread and chunk, allowing independent pause and resume operations at the thread level. Each thread maintains its own state information, enabling flexible user control without requiring complex global state management

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each transfer thread independently manages its own pause and resume state, along with tracking its assigned chunks. This self-service approach to state management reduces the overhead on the central control system while maintaining operational flexibility

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9203892B2Content transfer accelerator
Publication Date: 2015.12.01 ACCENTURE GLOBAL SERVICES LTD
  • US9203892B2 patent drawing
  • US9203892B2 patent drawing
  • US9203892B2 patent drawing

AI summary

Content transfer technology, in which a client side component sends, to a server side component, a request for a content file from an enterprise content management system. The server side component establishes a connection with the enterprise content management system and downloads the content file. The client side component requests the server side component to transfer, to the client side component, the content file in configurable size chunks over multiple threads. The server side component reads, from the content file, chunks of content of the size specified by the client side component and transfers, to the client side component, the chunks of content over the number of the multiple threads specified by the client side component. The client side component receives, over the multiple threads, the chunks of content and, when all of the chunks of content have been received, recombines the chunks of content into the content file.