Kernel Token System for Reliable Cross-Process Response Delivery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-processing computing environments, there is no guarantee that a first process will receive a response from a remote process performing work on its behalf, as intervening processes may terminate or fail, preventing the response from reaching the first process.
Innovation Solution
The implementation of a token set system, where a first process generates an Action object and requests a token set from the kernel, ensuring that only one process can hold the token at a time, allowing the response to be passed directly from the remote process to the first process through the kernel, thereby guaranteeing delivery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a first process passes an Action object through one or more intervening processes to reach a remote process, then the remote process can perform work on behalf of the first process, but the first process cannot guarantee receiving a response if any intervening process terminates or fails
Solution Approach 1:
The kernel acts as an intermediary between the first process and the remote process. The kernel receives the Action object and first token from the first process, tracks the object through intervening processes, and directly delivers the response back to the first process. This mediator approach ensures reliable response delivery without requiring the first process to trust intervening processes with response forwarding.
Solution Approach 2:
The system creates a copy of the Action object that can be tracked independently through the system. The kernel maintains a reference to this copied object and uses it to ensure the response reaches the original first process, even if intervening processes fail. This copying mechanism decouples the response delivery path from the work execution path.
2Reliability
If the kernel tracks the Action object and enforces token uniqueness to guarantee response delivery, then response reliability improves, but the kernel's processing overhead and system complexity increase
Solution Approach 1:
The kernel performs preliminary actions by receiving and validating the token set before passing the Action object to the remote process. The kernel establishes the tracking relationship and enforces token uniqueness upfront, rather than continuously monitoring throughout the process. This preliminary setup reduces ongoing processing overhead while maintaining reliability guarantees.
Solution Approach 2:
The token set mechanism enables self-service tracking where the tokens themselves carry the necessary information for the kernel to enforce uniqueness and track the Action object. The first token embedded in the Action object and the second token held by the first process automatically validate response authenticity without requiring complex kernel intervention, reducing processing overhead.
3Reliability
If the first process holds a second token to validate the response, then response authentication improves, but the complexity of token management and validation increases
Solution Approach 1:
The response validation process merges multiple checks into a single operation. The first process validates the response by checking if the embedded first token matches the expected token and if the second token held by the process is still valid. This combined validation approach ensures authentication while simplifying the operation compared to separate verification steps.
Data Source
AI summary
Systems and methods are disclosed for tracking the lifecycle of an object across processes and for tracking the lifecycle of processes that are processing the object. A first process, P1 can generate an Action object representing work to be performed by another process, PN. The Action object can carry a payload of arbitrary information, an action handler, a handle to a response queue, and a timeout value. A token set can be requested from a kernel of an operating system. A first token in the set can be held by one process at a time. The kernel enforces that rule. The kernel can track the location of the first token. A copy of the Action object is viable for sending a response if it holds the first token. An Action Listener within P1 holds the second token of the set and uses it to validate a response received by P1 from a remote process. The remote process performs the work of the Action object and guarantees a response back to P1, through the kernel, without passing the response back through intervening processes P2 through PN-1.


