Streaming Server Emulation for Software Execution Delays

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software streaming technologies face challenges such as delays, instability on devices with intermittent connections, and a user experience that does not match that of installed programs, particularly in providing seamless execution and performance comparable to traditionally installed software.

Innovation Solution

A method that enables a local device to function as a streaming server by inserting a removable storage device with streaming applications, installing and running the application, and using a streaming software player to intercept requests for content, allowing the application to stream data from the device instead of external media, while supporting updates and modifications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If streaming data is downloaded from external media as needed, then storage space is saved and software can be distributed on compact media, but startup delays occur and execution speed is reduced

Engineering Contradiction:
Improvestorage spaceVSAvoidexecution speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The system performs preliminary actions by pre-loading streaming data blocks into local memory before they are actually needed during program execution. The streaming client anticipates future data requirements and downloads these blocks in advance, thereby eliminating startup delays and improving execution speed while maintaining the space-saving benefits of streaming.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements dynamic data loading by adjusting the streaming behavior based on real-time execution needs. The client dynamically determines which data blocks to preload based on program counter analysis and execution patterns, optimizing the balance between storage utilization and execution speed during runtime.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If streaming data is downloaded in real-time, then complete software installation is not required, but connection stability becomes critical and intermittent connections cause failures

Engineering Contradiction:
Improveinstallation flexibilityVSAvoidconnection stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary data acquisition by downloading and caching streaming blocks locally before actual execution needs arise. This advance preparation reduces dependency on real-time network connectivity during program execution, allowing the system to tolerate intermittent connections while maintaining installation flexibility.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces a local caching mechanism as an intermediary between the network and the streaming client. This intermediary layer stores data blocks locally, providing a buffer that decouples the execution environment from network availability, thereby improving reliability without sacrificing the flexibility of streaming-based distribution.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If streaming client requests data blocks as needed, then memory usage is optimized, but request-response delays slow down program execution

Engineering Contradiction:
Improvememory usageVSAvoidrequest-response delay
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The streaming client performs preliminary analysis of the program structure to identify and pre-load data blocks that will be needed soon, rather than waiting for actual requests. This anticipatory loading reduces request-response delays while maintaining optimized memory usage by loading data in advance during low-utilization periods.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements dynamic block pre-loading by continuously monitoring program execution state and adjusting which data blocks to load next. This dynamic approach optimizes the timing of data transfers, loading blocks during idle periods and before critical execution points, thereby reducing perceived delays without excessive memory consumption.

Inventive Principle:
Principle #15Dynamics

4Speed

If complete software is installed locally, then execution speed is maximized, but storage requirements increase and distribution becomes less efficient

Engineering Contradiction:
Improveexecution speedVSAvoidstorage requirements
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system segments the software into discrete data blocks that can be independently streamed and cached. This segmentation allows the execution environment to load only the necessary portions of the software into local storage, achieving fast execution speeds for active code while maintaining efficient distribution by not requiring complete software installation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically manages local caching of software blocks, transitioning between fully streamed and locally cached states based on execution needs. Frequently accessed blocks are cached locally to maximize execution speed, while less frequently used blocks remain on external media, optimizing the trade-off between execution speed and storage requirements.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8359591B2Streaming from a media device
Publication Date: 2013.01.22 NUMECENT HOLDINGS LTD
  • US8359591B2 patent drawing
  • US8359591B2 patent drawing
  • US8359591B2 patent drawing

AI summary

A technique for streaming from a media device involves enabling a local device to function as a streaming server. An example of a method according to the technique includes inserting a removable storage device that includes programs associated with a streaming application, running one or more of the programs, ensuring that a streaming software player is installed, and executing a streaming-related activity associated with the streaming application. An example of a system according to the technique includes a means for providing a streaming application that expects content to be found on a media drive, a means for intercepting requests for content expected to be found on the media drive, and a means for honoring the requests with content from a different media location.