Socket-Level Packet Scheduler for UDP Performance Metrics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data transmission over connectionless network protocols, such as UDP, faces challenges in managing packet scheduling for multiple clients with varying performance requirements, leading to increased complexity and processing costs for multimedia servers, which can result in unacceptable delays and interruptions.

Innovation Solution

A system and method for socket-level packet scheduling that includes a packet scheduler configured to schedule data transmissions based on desired performance metrics, allowing the operating system to predict supportability and manage data transfers efficiently, reducing the burden on application-level processes by handling packet generation and transmission details.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If packet scheduling is implemented at the application level for each client, then individual client performance requirements can be met, but the complexity and processing costs for the server application increase prohibitively

Engineering Contradiction:
Improveability to meet individual client performance requirementsVSAvoidcomplexity of server application
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The invention introduces an intermediary packet scheduling mechanism at the socket level that mediates between the application layer and network layer. This intermediary handles packet scheduling, queuing, and transmission management, allowing the server application to focus on high-level data processing while the socket layer manages packet-level operations. The socket-level scheduler acts as a buffer and coordinator, reducing the complexity burden from the application layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The invention segments the packet scheduling function from the application layer and places it at the socket layer. This segmentation separates concerns by allowing the application to generate data packets without being responsible for their scheduling and transmission management. The socket layer independently handles packet queuing, scheduling, and transmission, reducing application complexity while maintaining adaptability to different client requirements.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If multiple system call invocations are used for packet scheduling and transmission, then precise control over packet transmission can be achieved, but the processing overhead and time consumption increase significantly

Engineering Contradiction:
Improvecontrol over packet transmissionVSAvoidtime for system call invocations
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The invention merges multiple system call operations into a unified socket-level packet scheduling mechanism. Instead of requiring separate system calls for packet creation, queuing, scheduling, and transmission, the socket layer provides an integrated solution that handles these operations internally. This consolidation reduces the number of context switches and system call overhead while maintaining precise control over packet transmission timing and ordering.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The invention implements preliminary packet scheduling and queuing at the socket level before transmission. Packets are prepared, queued, and scheduled in advance at the socket layer, allowing the transmission process to proceed efficiently without repeated system call invocations during actual data transfer. This preliminary action reduces real-time processing overhead while maintaining control precision.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If connectionless protocols like UDP are used for data transmission, then transmission speed and scalability improve, but packet loss and delivery reliability deteriorate

Engineering Contradiction:
Improvetransmission speedVSAvoidpacket delivery reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The invention implements beforehand cushioning by introducing packet scheduling and queuing mechanisms at the socket level that prepare packets for transmission in advance. This cushioning layer buffers packets during network fluctuations, allowing the system to maintain steady transmission rates even when individual packets are lost or delayed. The scheduler can adjust transmission timing and retry mechanisms without affecting overall transmission speed.

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

4Adaptability or versatility

If the server application manages packet scheduling for numerous clients, then individual client performance can be optimized, but the processing costs and resource consumption become prohibitive

Engineering Contradiction:
Improveability to serve multiple clients with different requirementsVSAvoidprocessing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The socket-level packet scheduling mechanism serves as an intermediary that handles the complex task of managing multiple client connections and their individual performance requirements. This intermediary layer absorbs the processing burden of packet scheduling, queuing, and transmission management, allowing the server application to focus on high-level data processing and client logic. The intermediary efficiently multiplexes resources across multiple clients without requiring the application to directly manage each packet.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7761609B1Socket level packet scheduling for connectionless protocols
Publication Date: 2010.07.20 ORACLE AMERICAN INC
  • US7761609B1 patent drawing
  • US7761609B1 patent drawing
  • US7761609B1 patent drawing

AI summary

A system for socket-level packet scheduling over connectionless network protocols includes a processor and a memory coupled to the processor. The memory contains program instructions executable by the processor to implement an operating system including a packet scheduler for scheduling data transmissions via a connectionless network protocol. In response to a request from an application specifying one or more desired performance metrics for a data transfer via the connectionless network protocol, the packet scheduler is configured to schedule the data transfer in accordance with the one or more desired performance metrics.