Socket Interface Transport Selection Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for supporting multiple transport layer implementations under a socket interface are complex and require changes to application software, leading to code duplication and impracticalities, as they necessitate selecting the appropriate transport layer implementation, which can be impossible for applications to manage.

Innovation Solution

A system that creates a socket bound to a local port without specifying a particular transport layer implementation, automatically selects the appropriate implementation based on the target port and address, allowing seamless communication with multiple transport layers without altering the networking application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple separate transport stacks are provided underneath the socket layer, then each transport implementation can be fully supported, but the application must possess knowledge of how to select the right transport which leads to difficult problems and may require changes to the application

Engineering Contradiction:
Improvesupport for multiple transport implementationsVSAvoidapplication complexity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces an intermediary mechanism in the socket layer that automatically selects the appropriate transport implementation based on the target address and port. This mediator translates application requests into transport-specific operations without requiring the application to know which transport to use, thus maintaining ease of operation while supporting multiple transport implementations

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically changes transport parameters based on the destination address and port by examining address families, port numbers, and routing information. This allows the same socket interface to adapt to different transport implementations (TCP, SDP, TOE) by changing the underlying transport parameters automatically

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If a separate IP address is allocated to each physical interface for TCP and SDP, then binding to specific interfaces becomes possible, but applications that do not bind to specific interfaces require changes to application software

Engineering Contradiction:
Improveinterface binding capabilityVSAvoidapplication compatibility
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent extracts the transport selection logic from the application layer and places it in the socket layer. This separation allows the application to remain unchanged while the socket layer handles the complexity of selecting appropriate transport implementations based on interface and address information

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If each transport stack is a full implementation of the transport protocol, then complete functionality is provided, but vast amounts of code are duplicated

Engineering Contradiction:
Improvetransport protocol completenessVSAvoidcode duplication
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges common functionality into a shared socket layer that handles address translation, connection management, and data transmission for all transport implementations. Each transport stack only needs to provide transport-specific operations, eliminating vast amounts of duplicated code while maintaining complete protocol functionality

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The socket layer is designed as a universal interface that works with multiple transport implementations simultaneously. It provides multi-functional capabilities by translating generic socket operations into transport-specific commands, allowing one socket layer to serve multiple transport protocols without requiring separate complete implementations for each

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7779132B1Method and apparatus for supporting multiple transport layer implementations under a socket interface
Publication Date: 2010.08.17 ORACLE AMERICAN INC
  • US7779132B1 patent drawing
  • US7779132B1 patent drawing
  • US7779132B1 patent drawing

AI summary

One embodiment of the present invention provides a system for communicating data using a socket interface with multiple transport layer implementations. During operation the system creates a socket which can be used with a set of transport layer implementations. Next, the system binds the socket to a local port without specifying a particular transport layer implementation. The system then receives a request to connect to a target port that is associated with a target address. Next, the system selects a protocol implementation from the set of transport layer implementations using the target port and the target address. The system then sends a connection request to the target port using the selected protocol implementation. Note that the present invention does not require changing a networking application because the transport layer implementation is selected automatically by the system, instead of requiring the application to possess the knowledge to select the appropriate transport layer implementation.