Streaming Executable Code Segments for Reduced Activation Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Web and mobile applications that dynamically load executable code face delays due to lengthy network downloads of large code bundles, where the processor is idle during transfer but cannot process the code until the entire bundle is received for verification.
Innovation Solution
Dividing the bundle of executable code into segments for streaming delivery, allowing processing and loading of segments as they are received, with cryptographic signatures for verification, and caching and sending only changed segments for updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire bundle of executable code is downloaded before processing, then verification security is ensured, but the latency in functionality activation increases
Solution Approach 1:
The executable code bundle is divided into multiple segments that can be downloaded and processed independently. Each segment contains verified code that can be executed separately, allowing the system to begin processing before the entire bundle is received, thus reducing activation latency while maintaining verification security through individual segment verification.
Solution Approach 2:
Verification and processing actions are performed on code segments as they arrive, rather than waiting for the complete bundle. This preliminary action on received segments enables functionality activation to begin earlier, reducing the overall latency while maintaining security through incremental verification.
2Measurement precision
If the processor waits for the entire code bundle to be received, then verification accuracy is maintained, but processor utilization efficiency decreases
Solution Approach 1:
The code bundle is segmented into independent units that can be verified and processed separately. This allows the processor to work on multiple segments in parallel or sequentially without idle time, improving utilization efficiency while maintaining verification accuracy through systematic checking of each segment.
Solution Approach 2:
The processor continuously processes code segments as they are received, eliminating idle waiting time. This continuous useful action maintains verification accuracy through systematic processing while maximizing processor utilization by keeping the processor actively engaged throughout the download and execution process.
3Adaptability or versatility
If large bundles of executable code are downloaded, then functionality completeness is ensured, but network bandwidth consumption increases
Solution Approach 1:
Only the necessary code segments required for specific functionalities are extracted and downloaded, rather than downloading entire large bundles. This selective extraction ensures functionality completeness for requested features while reducing network bandwidth consumption by avoiding unnecessary code transfers.
Solution Approach 2:
The system downloads and processes only the partial set of code segments needed for current functionality requirements, rather than downloading complete bundles. This partial action approach ensures sufficient functionality while optimizing network bandwidth usage by avoiding excessive data transmission.
Data Source
AI summary
Disclosed are various embodiments for streaming of executable code to clients. A bundle of executable code to be executed in a client device is identified. A plurality of segments of the bundle of executable code are requested from a server via a network. Individual segments are independently verified as they are received via the network. Processing of data in a first segment of the plurality of segments is commenced before a second segment of the plurality of segments is received.


