Cross-Process VOIP Media Handling via Segmented Processes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Developing VOIP applications for mobile phones with limited resources poses challenges in maintaining high quality user experience across both low-end and high-end devices, particularly due to resource sharing and switching between different types of calls, which is not an issue on personal computers or tablets.
Innovation Solution
A VOIP platform is developed that partitions processes to conserve resources, using a UI host process for foreground operations and an agent host process for background tasks, leveraging existing push client services and keep-alive agents to manage battery life and resource allocation, enabling cross-process media handling to reduce latency and enhance the user experience.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If hardware resources are allocated to another application while on a VOIP call, then the other application can operate, but the VOIP call user experience is negatively impacted
Solution Approach 1:
The system segments the VOIP application into two separate processes: a UI host process that handles user interface operations and a call agent process that handles voice communication. This segmentation allows the call agent process to maintain dedicated resource allocation for VOIP calls while the UI process can switch between applications without interfering with call quality.
Solution Approach 2:
The patent introduces a media engine as an intermediary component that mediates between the UI host process and the call agent process. The media engine handles media stream routing and coordination, ensuring that media resources are properly allocated and that switching between applications does not disrupt the VOIP call.
2Device complexity
If a single process is used for VOIP application, then code simplicity is maintained, but resource consumption increases and battery life is reduced
Solution Approach 1:
The VOIP application is divided into multiple processes with distinct responsibilities: the UI host process runs only when needed for user interaction, while the call agent process runs continuously to maintain call capability. This segmentation reduces overall energy consumption by keeping the heavier UI process dormant when not needed, while maintaining lightweight background presence for call functionality.
3Productivity
If cross-process media handling is implemented, then media latency increases, but resource efficiency and battery life improve
Solution Approach 1:
The media engine serves as an intermediary that optimizes cross-process media communication. It implements efficient inter-process communication mechanisms and media stream management that minimize latency while maintaining the resource efficiency benefits of cross-process architecture.
Solution Approach 2:
The system dynamically adjusts media handling strategies based on operational context. When the UI process is active, it can utilize faster in-process media paths; when the UI process is dormant, it switches to cross-process media handling through the media engine. This dynamic adaptation optimizes the balance between latency and resource efficiency.
Data Source
AI summary
A computer-implemented system is provided that facilitates implementation of a voice-over-IP (VOIP) application. The system includes a host system and a user interface (UI) host process residing on the host system. The system also includes an agent host process residing on the host system which is being configured to process a VOIP call received by one or more VOIP applications executable on the host system. A moniker protocol is utilized for redirection of input and output between a media element which is utilized to render media on a display on the system. The redirection enables media processing to be allocated between the UI host process in the foreground and the agent host process in the background to thereby reduce latency perceived by a user during a VOIP experience.


