Resource Proxy Asynchronous Request Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Portable computing devices face challenges in managing parallel resource requests efficiently, particularly in asynchronous processing scenarios where resources are not immediately available, leading to potential service interruptions and inefficiencies.
Innovation Solution
A method and system that utilize a resource proxy to initiate asynchronous processing of requests, allowing the client to continue operation while the request is being processed, and ensures resource coherence by marking the resource as 'joinable' once the request is completed, enabling subsequent requests to be processed without interruption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous processing is used, then resource operation is ensured, but client operation is suspended and productivity decreases
Solution Approach 1:
The patent segments the request processing into two independent parts: the client continues execution while the resource processes the request in the background. This is achieved by separating the client's operational thread from the resource processing thread, allowing both to proceed independently without blocking each other, thus resolving the contradiction between ensuring resource operation and maintaining client productivity
Solution Approach 2:
The patent introduces a resource proxy as an intermediary between the client and the resource. The resource proxy manages the asynchronous request by initiating processing in the background and handling the coordination between client and resource, enabling the client to continue operating while the resource is processed, thus eliminating the suspension problem
2Productivity
If asynchronous processing is initiated, then client continues operation, but resource coherence may be compromised
Solution Approach 1:
The patent implements a feedback mechanism where the resource proxy waits for the resource to complete processing and then notifies the client. This feedback loop ensures that the resource is fully processed and coherent before the client continues, maintaining resource reliability while allowing asynchronous operation. The proxy acts as a coordinator that receives completion signals and manages the state transitions
Solution Approach 2:
The patent performs preliminary actions by marking the resource as forked before asynchronous processing begins, and then marking it as joinable after completion. These preliminary state markings prepare the system for coherent resource access while allowing the client to continue operation, thus maintaining both productivity and resource coherence through proactive state management
3Adaptability or versatility
If resource is marked as forked, then asynchronous processing is enabled, but resource is in incoherent state
Solution Approach 1:
The patent makes the resource state dynamic by transitioning it between forked (incoherent) and joinable (coherent) states based on processing requirements. The resource proxy dynamically marks the resource as forked when asynchronous processing is needed, and then updates it to joinable after completion, allowing the system to adapt between different operational modes while maintaining state coherence when required
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method and system for managing parallel resource requests in a portable computing device ("PCD") are described. The system and method includes generating a first request (252) from a first client, the first request issued in the context of a first execution thread. The first request may be forwarded to a resource (255). The resource may acknowledge the first request and initiate asynchronous processing. The resource may process the first request (256)while allowing the first client to continue processing (260) in the first execution thread. The resource may signal completion of the processing of the first request (264) and may receive a second request (268). The second request causes completion of the processing of the first request (270). The completion of the processing of the first request may include updating a local representation of the resource to a new state and invoking any -- registered callbacks. The resource may become available to service the-second request, and may process the second request.