ICE Candidate Filtering for Faster Peer-to-Peer Camera Links
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing security systems face difficulties in establishing peer-to-peer connections between monitoring devices and cameras due to the generation of numerous unsuitable ICE candidates, leading to resource wastage and significant delays, often resulting in time out conditions and unsuccessful connections.
Innovation Solution
Implementing ICE candidate filtering based on knowledge of network conditions and device capabilities to eliminate unsuitable candidates before evaluation, thereby increasing the likelihood of successful peer-to-peer connections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If ICE candidate filtering is not implemented, then all possible connectivity candidates are evaluated, but the system experiences resource wastage and significant delays leading to timeout conditions
Solution Approach 1:
The patent applies preliminary action by filtering ICE candidates before evaluation based on network conditions and device capabilities. The system pre-processes the candidate list to remove obviously unsuitable candidates (such as those incompatible with the device's network architecture or capabilities) before the actual connection attempt, thereby avoiding wasted evaluation time and improving overall connection success rate.
Solution Approach 2:
The patent extracts and removes unsuitable ICE candidates from the evaluation set based on predefined criteria related to network conditions and device capabilities. By taking out these problematic candidates beforehand, the system reduces the burden on the connection establishment process and prevents timeout conditions caused by evaluating incompatible options.
2Adaptability or versatility
If all ICE candidates are evaluated without filtering, then comprehensive connectivity options are tested, but numerous unsuitable candidates cause resource wastage
Solution Approach 1:
The patent applies local quality by applying different filtering criteria based on specific network conditions and device capabilities. Instead of a uniform approach, the system tailors the filtering process to the local characteristics of each connection attempt, such as filtering out candidates incompatible with specific network types (WiFi, cellular, Ethernet) or device capabilities (browser-based, native application), thereby maintaining adaptability while reducing resource consumption.
Solution Approach 2:
The patent uses partial action by implementing selective filtering that processes only the necessary subset of ICE candidates based on known network and device characteristics. Rather than evaluating all possible candidates exhaustively, the system performs partial evaluation on filtered candidates, significantly reducing processing resource consumption while maintaining sufficient connectivity option coverage.
3Productivity
If ICE candidate filtering is implemented, then evaluation time is reduced and connection success rate improves, but the filtering process adds initial processing overhead
Solution Approach 1:
The patent applies parameter changes by dynamically adjusting filtering criteria based on detected network conditions and device capabilities. The system modifies which candidates are filtered and how they are evaluated based on parameters such as network type, device type, and available resources, thereby optimizing connection establishment efficiency without requiring overly complex fixed filtering logic.
Data Source
AI summary
In accordance with one disclosed method, a first application may receive a first connectivity candidate from a second application, the first connectivity candidate identifying at least a first internet protocol (IP) address that a remote application can potentially use to send data over a network to the second application for use by the first application. The first application may determine that the first connectivity candidate satisfies at least one criterion and, based at least in part on the first connectivity candidate satisfying the at least one criterion, may cause the first connectivity candidate to be sent to the remote application via a signaling channel to cause the remote application to attempt to use the first connectivity candidate to send data to the second application via the network.


