iOS Process Data Exchange via Encapsulated Port Mediator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In iOS systems, non-system level programs cannot run in the background, leading to limitations in data exchange between processes, where programs cannot access each other's resources, and existing data exchange methods are inefficient and resource-intensive, especially in 'net' program architectures with multiple interactive processes.

Innovation Solution

A method and device for exchanging data between processes using a server and client interface, encapsulating a port to establish connections, send and receive data requests, and forward processed data, enhancing efficiency and applicability to both 'star' and 'net' program architectures by utilizing CFMessagePort for data exchange.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional data exchange methods are used in iOS systems, then program stability is maintained, but data exchange efficiency deteriorates due to process isolation limitations

Engineering Contradiction:
Improveprogram stabilityVSAvoiddata exchange efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a port encapsulation mechanism as an intermediary layer between isolated processes. This mediator enables data exchange by wrapping port objects that can be passed between processes, allowing them to communicate while maintaining the underlying process isolation that ensures stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The port encapsulation mechanism serves multiple functions: it acts as a communication channel, a data container, and a process identifier simultaneously. This multi-functionality allows a single mechanism to handle various data exchange scenarios without requiring separate specialized components for each case.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If interfaces are established in each process for data exchange, then data exchange capability is achieved, but device complexity increases

Engineering Contradiction:
Improvedata exchange capabilityVSAvoidinterface establishment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges the interface establishment process into a unified port encapsulation mechanism. Instead of requiring separate interface setups in each process, the encapsulated port object consolidates communication functionality into a single transferable unit that can be passed between processes, reducing the number of separate interface establishments needed.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent uses port object copying as a simplified alternative to complex interface establishment. The encapsulated port can be copied and passed between processes, providing data exchange capability without requiring each process to establish its own unique interface, thereby reducing overall system complexity.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If multiple processes exchange data in 'net' architecture, then functionality is enhanced, but resource consumption increases

Engineering Contradiction:
Improveprogram functionalityVSAvoidsystem resource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the communication overhead from the core data exchange process by using pre-encapsulated port objects. These ports are prepared in advance and can be efficiently passed between processes, reducing the computational resources needed during actual data exchange operations in multi-process 'net' architectures.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The port encapsulation is performed in advance before data exchange begins. By preparing the communication channels beforehand and encoding the port objects, the system reduces real-time processing requirements during multi-process data exchange, thereby lowering resource consumption while maintaining enhanced functionality.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9965341B2Method and device for exchanging data between processes
Publication Date: 2018.05.08 TENCENT TECHNOLOGY (SHENZHEN) CO LTD
  • US9965341B2 patent drawing
  • US9965341B2 patent drawing
  • US9965341B2 patent drawing

AI summary

A method for exchanging data between processes includes: establishing a connection with a server process via a server interface obtained by encapsulating a port; receiving a data process request carrying a name of the server process from a client process via a client interface obtained by encapsulating the port; sending the data process request to the server process via the server interface; establish a connection between the client process and the server process according to the name of the server process; forwarding data sent from the client process to the server process via the server interface; and forwarding data processed by the server process to the client process via the client interface.