Socket Over Serial Proxy for Resource-Constrained Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Small computing devices, such as mobile and embedded systems, lack the resources to support a complete networking protocol stack, limiting their ability to establish socket connections for communication over a serial link.

Innovation Solution

The 'Socket over Serial' (SoS) protocol enables client devices to establish socket connections over a serial link without requiring a networking stack, with a host computer acting as a proxy to parse and process requests, creating a proxy connection between the client and server applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a complete networking protocol stack is implemented on a client device, then socket connections can be established for network communication, but the device complexity and resource requirements increase significantly

Engineering Contradiction:
Improvesocket connection capabilityVSAvoidnetworking stack requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The host computer acts as an intermediary proxy that receives simplified socket requests from the client device over a serial link, processes them through its own networking stack, and forwards the actual network communication to the server. This mediator approach allows the resource-constrained client to access network functionality without implementing a complete protocol stack locally.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The networking protocol stack functionality is extracted from the client device and relocated to the host computer. The client device only retains minimal serial communication capabilities, while the complex TCP/IP processing and socket management are performed by the host, which has sufficient resources to support the complete networking stack.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If a networking protocol stack is implemented on a client device, then socket connections can be established, but the number of required program threads and synchronization primitives increases

Engineering Contradiction:
Improvecommunication capabilityVSAvoidthread and synchronization requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The host computer serves as a mediator that handles all threading and synchronization complexities internally. The client device communicates through simple serial link operations without needing to manage multiple threads or synchronization primitives, as these are abstracted away by the host's proxy implementation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The threading and synchronization mechanisms are extracted from the client-side networking stack and relocated to the host. The host's operating system manages all thread creation, blocking, and synchronization operations, allowing the client device to maintain a simpler, single-threaded execution model.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If a complete protocol stack is used for socket communication, then reliable network connections can be established, but the memory resources required for allocation increase

Engineering Contradiction:
Improvesocket connection reliabilityVSAvoidmemory allocation requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The host computer acts as a memory-consuming intermediary that allocates all necessary networking resources, buffer spaces, and protocol state structures. The client device only needs minimal memory for serial communication buffering, while the host's abundant memory resources support the complete protocol stack and reliable connection management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Memory allocation responsibilities are extracted from the client device and transferred to the host. The host allocates all memory required for TCP/IP protocol implementation, socket buffers, and connection state management, allowing the client to operate with minimal local memory requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7529812B2Socket connections over a serial link
Publication Date: 2009.05.05 ORACLE AMERICAN INC
  • US7529812B2 patent drawing
  • US7529812B2 patent drawing
  • US7529812B2 patent drawing

AI summary

A method for communication includes coupling a client device to communicate with a host computer over a serial link. Responsively to a call from a client application running on the client device, the client device submits a request over the serial link to the host computer to open a proxy connection for communication between the client application and a server application. Responsively to the request, the host computer creates a socket for communication with the server application, so as to establish the proxy connection via the socket. The host computer and client device convey data between the server application and the client application over the serial link using the proxy connection.