Streaming Server Application Segmentation and Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for delivering and managing computer application programs across networks face challenges such as piracy, inefficient use of hard disk space, and complexity in user experience, as well as limitations in protecting software companies' revenue streams.
Innovation Solution
An optimized server system for streaming applications that efficiently manages and delivers application programs by persistently storing read-only file pages, using a license server for access validation, compressing data, profiling access patterns for prefetching, and dynamically assigning application sets to improve response time and server efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If application programs are installed on consumer machines, then users can run the programs locally, but hard disk space is occupied indefinitely and piracy becomes easier
Solution Approach 1:
The application program is divided into multiple file pages that are stored on the server and selectively streamed to the client machine. Only the necessary file pages are downloaded and cached locally, rather than installing the complete application. This segmentation allows local execution capability while minimizing local storage requirements.
Solution Approach 2:
A streaming server acts as an intermediary between the application developer and the consumer machine. The server stores the application file pages and manages their streaming to clients. This intermediary enables local execution without requiring full local installation, as the server dynamically provides the necessary application components.
2Ease of operation
If application programs are downloaded in full, then users can run the programs, but the download time and network bandwidth are excessive
Solution Approach 1:
The application is segmented into multiple file pages that can be downloaded on-demand rather than requiring a complete full-application download. The client requests only the specific file pages needed to run the application, dramatically reducing initial download time and network bandwidth consumption.
Solution Approach 2:
The application file pages are pre-prepared and stored on the streaming server in a ready-to-stream format. This preliminary preparation eliminates the need for complex client-side assembly or compilation, allowing rapid on-demand delivery of application components without extensive download or setup time.
3Adaptability or versatility
If trial versions are installed locally, then users can test the programs, but piracy is easier to execute by uninstalling and reinstalling
Solution Approach 1:
The streaming server acts as a trusted intermediary that enforces trial period limitations. Instead of relying on client-side trial version software that can be easily bypassed by uninstalling, the server controls access to application file pages and can revoke or limit access based on licensing terms, making piracy significantly more difficult.
Solution Approach 2:
Rather than providing a complete copy of the application that can be freely copied and redistributed, the system provides controlled access to application file pages through the streaming server. The application code remains primarily on the server, with only necessary portions temporarily transferred to the client under strict access control, reducing piracy risk.
4Ease of operation
If browser-based approaches are used, then access control is simplified, but the user experience loses original software features and adds complexity
Solution Approach 1:
The streaming server serves as an intermediary that handles access control and authentication, allowing the client to run native applications rather than browser-based versions. This maintains the full functionality and original user experience of the software while the server manages security and access permissions through licensing mechanisms.
Data Source
AI summary
An optimized server for streamed applications provides a streamed application server optimized to provide efficient delivery of streamed applications to client systems across a computer network such as the Internet. The server persistently stores streamed application program sets that contain streamed application file pages. Client systems request streamed application file pages from the server using a unique set of numbers common among all servers that store the particular streamed application file pages. A license server offloads the streamed application server by performing client access privilege validations. Commonly accessed streamed application file pages are stored in a cache on the streamed application server which attempts to retrieve requested streamed application file pages from the cache before retrieving them from persistent storage. Requested streamed application file pages are compressed before being sent to a client as well as those stored in the cache.


