Inter-process Communication via Rendezvous Files

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing inter-process communication methods for applications running on a single computer are either too heavy-weight for cross-platform compatibility or are operating system-dependent, making it difficult to port software between different operating systems.

Innovation Solution

A lightweight inter-process communication mechanism using rendezvous files that contain platform-dependent information for establishing connections between application processes, allowing for cross-platform compatibility through a platform-independent API, ensuring only one instance of each application runs and enabling easy portability across different operating systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If cross-platform inter-process communication methods like CORBA are used, then platform compatibility is improved, but system complexity and overhead increase significantly

Engineering Contradiction:
Improveplatform compatibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the essential communication functionality from complex cross-platform protocols and implements it through simple platform-specific files. Instead of using heavy-weight CORBA infrastructure, the invention extracts only the necessary file-based communication mechanism that works natively on each platform, eliminating unnecessary complexity while maintaining compatibility.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses lightweight platform-specific files as temporary communication intermediaries rather than establishing persistent complex communication infrastructure. These files are created, read, and discarded as needed for each communication task, providing a simple disposable mechanism that avoids the overhead of maintaining complex cross-platform protocol stacks.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

2Ease of manufacture

If operating system-dependent methods like COM are used, then implementation simplicity is improved, but portability to other platforms deteriorates

Engineering Contradiction:
Improveimplementation simplicityVSAvoidportability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent segments the communication mechanism into platform-specific file handling layers. Each operating system has its own simple file-based implementation, allowing each platform to use its native simple mechanism while the overall system achieves portability through this segmented architecture. This avoids the need to port complex OS-dependent protocols like COM to different platforms.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7454758B2Inter-process communication on a computer
Publication Date: 2008.11.18 META PLATFORMS INC
  • US7454758B2 patent drawing
  • US7454758B2 patent drawing
  • US7454758B2 patent drawing

AI summary

The invention provides a method of inter-process communication between at least two application processes on one computer. One embodiment of the invention includes a first process of a first application determining a name of a first file in a file system of the computer, the name of the first file being associated with a second application, the first file containing information for the first process to connect to a second process of the second application for inter-process communication; and the first process initiating a first connection to the second process using the information contained in the first file; the first process communicating with the second process using the first connection if the first connection is successfully established; and the first process starting a third process of the second application if the first process fails to establish a connection with the second process.