Thread Segmentation for Network Connection Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software development libraries, such as OpenCV, often cause applications to deadlock when encountering network errors due to hidden underlying network control entities, leading to loss of state information and requiring application restarts.

Innovation Solution

A data processing apparatus separates acquisition and processing into different threads, allowing the processing thread to terminate and restart the acquisition thread safely, maintaining state information intact and iteratively re-establishing network connections using OpenCV functions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the application uses a library function that hides underlying network control entities, then the application can use simplified functions for network operations, but the application may deadlock when network errors occur and cannot recover without restarting

Engineering Contradiction:
Improvesimplified network operationsVSAvoidnetwork connection reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent segments the application into multiple threads: an acquisition thread that handles network socket operations and a processing thread that performs application logic. This segmentation allows the acquisition thread to be restarted independently when network errors occur, while the processing thread maintains application state and continues operation, resolving the deadlock issue while keeping network operations simplified.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the application restarts to recover from network deadlock, then the network connection can be re-established, but state information is lost and service is adversely affected

Engineering Contradiction:
Improvenetwork connection recoveryVSAvoidstate information loss
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent extracts the network socket control entities from the main application process into a separate acquisition thread. This extraction allows the acquisition thread to be terminated and restarted to recover network connections, while the processing thread retains application state information, preventing data loss during network recovery operations.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If the acquisition thread is terminated to recover network connection, then the network connection can be re-established, but the thread structure becomes more complex

Engineering Contradiction:
Improvenetwork connection recoveryVSAvoidthread structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic thread management where the acquisition thread can be created, terminated, and restarted based on network conditions. The processing thread dynamically monitors the acquisition thread's health and triggers restarts when network errors are detected, providing adaptive network recovery without requiring complex static architecture.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10244010B2Data processing apparatus configured to recover a network connection, a method, a system and a non-transitory computer readable medium configured to perform same
Publication Date: 2019.03.26 NOKIA OF AMERICA CORP
  • US10244010B2 patent drawing
  • US10244010B2 patent drawing
  • US10244010B2 patent drawing

AI summary

In at least some example embodiments, a data processing apparatus is configured to recover a network connection within an application framework that hides sockets by separating acquisition and processing into different threads of the same process, and, thus, when the processing thread is unable to retrieve a frame from the acquisition thread, the data processing device may terminate the acquisition thread with impunity since all important application state may safely remain within the processing thread.