iOS Process Data Exchange via Encapsulated Port Mediator
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Adaptability or versatility
If interfaces are established in each process for data exchange, then data exchange capability is achieved, but device complexity increases
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.
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.
3Adaptability or versatility
If multiple processes exchange data in 'net' architecture, then functionality is enhanced, but resource consumption increases
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.
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.
Data Source
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.


