Augmented Socket Inter-Process Communication via Shim Library
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed computing systems, communication between processes is bottlenecked by the operating system kernel, leading to higher overheads and performance slowdowns, as processes lack awareness of whether an augmented communications service is available for inter-process communication.
Innovation Solution
A method to detect the establishment of connections between processes and determine the availability of an augmented communications service, configuring the connection to use either the augmented service or a non-augmented service without modifying the executable codes of the processes, utilizing a shim library to mediate inter-process communications and facilitate faster data exchange through shared memory space.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If processes exchange data through the operating system kernel, then communication is reliable and manageable, but overhead increases and performance slows down
Solution Approach 1:
The patent introduces an augmented communications service as an intermediary layer between processes. This service provides mediation for inter-process communication, allowing processes to exchange data through a specialized mechanism rather than through the general-purpose operating system kernel, thereby reducing overhead while maintaining reliability through the intermediary's management of the communication channel
Solution Approach 2:
The patent extracts the communication function from the operating system kernel by implementing a separate augmented communications service. This extraction allows communication operations to be handled by a dedicated service that can optimize performance by bypassing the kernel's general-purpose processing, thus improving productivity while maintaining the reliability benefits of kernel-managed communication through selective use
2Productivity
If an augmented communications service is used, then communication performance improves by bypassing kernel overhead, but processes must be modified to use the service
Solution Approach 1:
The patent implements self-service by having the augmented communications service automatically detect whether communicating processes support the service and dynamically select the appropriate communication mechanism. This eliminates the need for process modifications because the service autonomously determines compatibility and routes communication accordingly, maintaining performance benefits without requiring changes to existing processes
Solution Approach 2:
The patent changes the parameter of communication mechanism selection from a static, process-configured choice to a dynamic, service-determined decision. The augmented communications service monitors system parameters and process capabilities in real-time, adjusting the communication path automatically based on whether both processes support the augmented service, thus improving performance without modifying process code
3Productivity
If processes are made aware of service availability, then communication efficiency improves, but system complexity increases
Solution Approach 1:
The patent uses the augmented communications service as an intermediary that handles the complexity of service availability detection and communication path selection. Rather than requiring processes to be aware of service availability, the intermediary service manages this information and makes routing decisions, thus improving communication efficiency while containing system complexity within the intermediary layer
Solution Approach 2:
The patent implements a universal communication interface that works with both augmented and non-augmented services. The augmented communications service provides multi-functionality by supporting both optimized communication paths for compatible processes and fallback to standard kernel-based communication for incompatible processes, thereby improving efficiency without increasing perceived system complexity for individual processes
Data Source
AI summary
A method at one or more computers having memory and one or more processors includes detecting establishment of a connection between a first process and a second process; determining whether an augmented communications service is available for the connection between the first process and second process; in accordance with a determination that the augmented communications service is available, configuring the connection between the first process and the second process to make use of the augmented communications service with no modification to the executable codes of the first process and the second process; and in accordance with a determination that the augmented communications service is not available, configuring the connection between the first process and the second process to make use of a non-augmented communications service.


