Interprocess Communication Driver for Database Buffer Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database communication methods involve multiple copy operations, leading to inefficiencies in transferring request and response buffers between client and server processes, resulting in poor performance due to increased computing power and time requirements.
Innovation Solution
A method and interprocess communication driver that transfers request and response buffers in a single step, utilizing a shared buffer area directly accessible by both the database client and server processes, reducing the number of copy operations from eight to two and minimizing system calls.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If operating system message queues or network protocols are used for buffer communication, then interprocess communication between database client and server is enabled, but the number of copy operations increases significantly leading to poor performance
Solution Approach 1:
The patent merges the client buffer area and server buffer area into a single shared memory space that is directly accessible by both processes. This eliminates the need for separate message queues and multiple copy operations, reducing the communication path from 8 copies to just 2 copies while maintaining reliable interprocess communication.
Solution Approach 2:
The patent introduces a buffer management routine as an intermediary that handles buffer allocation, assignment, and management in the shared memory space. This mediator coordinates access between client and server processes, ensuring reliable communication while enabling direct buffer sharing without multiple copy operations.
2Reliability
If multiple copy operations are performed for buffer transfer, then complete data transmission between processes is achieved, but computing power and time requirements increase
Solution Approach 1:
The patent combines multiple separate copy operations into a single direct buffer transfer by establishing a shared memory space that both client and server processes can access directly. This reduces the transmission path from 8 sequential copy operations to just 2 copies, significantly reducing communication time while ensuring complete data transmission.
Solution Approach 2:
The patent performs preliminary buffer allocation and setup in the shared memory space before actual data transmission occurs. The buffer management routine pre-allocates buffers and sets up the communication framework, so that when data needs to be transmitted, only minimal copy operations are required rather than setting up the entire communication path at transmission time.
3Adaptability or versatility
If traditional message queue interfaces are used, then standard interprocess communication is provided, but the number of involved copy operations reaches eight per communication direction
Solution Approach 1:
The patent merges the client and server buffer areas into a single shared memory structure, reducing the communication architecture from multiple separate message queues to one unified buffer management system. This simplification reduces the number of copy operations from 8 to 2 per communication direction while maintaining adaptability through the buffer management routine.
Solution Approach 2:
The patent creates a universal buffer management routine that handles multiple functions: buffer allocation, buffer assignment to requests, data transfer coordination, and memory management. This multi-functional approach provides standard interprocess communication capabilities while simplifying the overall system architecture and reducing copy operations.
Data Source
AI summary
Certain example embodiments relate to techniques for managing the interprocess communication between at least one database client process and at least one database server process in a database system. The at least one database client process sends at least one request to the at least one database server process, with the at least one request comprising one or more buffers. The one or more buffers are transferred, in a single step, from the at least one database client process to a buffer area. The one or more buffers are transferred, in a single step, from the buffer area to the at least one database client process. The buffer area is directly accessible by the at least one database server process.


