Resumable Socket Module for Wireless Video Streaming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Wireless socket connections are unreliable due to network instability, causing users to lose state information and requiring reconnection when the connection is broken, especially for stream-based applications like video or audio streaming.

Innovation Solution

A resumable socket module is implemented above the TCP/IP layer on both the wireless device and a data service, which maintains an open socket connection even when wireless connectivity is lost, using counter modules and retransmission buffers to synchronize data and resume streaming from the correct point upon reconnection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a socket connection is maintained over a wireless network, then communication with remote hosts is enabled, but the connection is unreliable and may be temporarily broken due to network instability

Engineering Contradiction:
Improveconnection reliabilityVSAvoidnetwork connection stability
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

A resumable socket module is introduced as an intermediary between the wireless device and the TCP/IP layer. This module maintains a virtual socket connection that persists even when the physical wireless connection is broken, acting as a mediator that decouples the application layer from network layer instability. The virtual socket stores state information and enables resumption of communication without requiring complete reconnection.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the wireless connection is temporarily broken, then the user must reconnect and start the video stream from the beginning, but this causes loss of state information and user inconvenience

Engineering Contradiction:
Improveuser experienceVSAvoidreconnection time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The resumable socket module performs preliminary actions by continuously storing state information (such as video playback position, buffer status, and connection state) in the virtual socket even before disconnection occurs. When the wireless connection is broken, this pre-stored state information is immediately available for resumption, eliminating the need to restart from the beginning and reducing reconnection time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The virtual socket connection maintains continuity of useful action by preserving the socket state and enabling resumption of the video stream at the exact point where disconnection occurred. The system continues the useful action of streaming without interruption to the user experience, even though the physical network connection is temporarily broken.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If a socket connection is closed due to network issues, then the connection can be reset, but all state information associated with the connection is lost

Engineering Contradiction:
Improveconnection resilienceVSAvoidstate information loss
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The resumable socket module provides beforehand cushioning by implementing error protection mechanisms that prevent state information loss before it occurs. The virtual socket continuously stores connection state, buffer status, and playback position information, creating a cushion against network failures. When disconnection happens, this pre-established protection ensures state information is preserved and available for resumption.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS9143547B2Streaming video over a wireless network
Publication Date: 2015.09.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9143547B2 patent drawing
  • US9143547B2 patent drawing
  • US9143547B2 patent drawing

AI summary

Streaming video to a wireless device is described. For example, one embodiment of a computer-implemented method for providing a multimedia stream to a wireless device over a wireless network comprises: receiving a request for a video stream from a wireless device; requesting the video stream from a streaming server on behalf of the wireless device; streaming the video stream from the streaming server and storing the video stream or portions thereof in a buffer; streaming the video stream from the buffer to the wireless device; detecting that the wireless device has lost communication with the wireless network; sending a command to the streaming server to pause the streaming of the video stream and maintaining a network connection to the remote streaming server; detecting that the wireless device has regained communication with the wireless network; determining a point within the video stream at which the wireless device lost communication; and resuming streaming of the video stream to the wireless device at the determined point within the video stream.