User-Level Routing Table Copy for Data Processing Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face inefficiencies in transmitting data across networks due to the need for frequent access to operating system routing tables, and in managing concurrent access to shared memory, leading to potential application crashes and high processing overhead.

Innovation Solution

A data processing system that includes an operating system capable of policing resource access, maintaining a copy of network routing tables independently, and using a lockless data structure to manage shared memory access, allowing for efficient data transmission and memory access without direct OS intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the user-level stack accesses routing tables stored by the OS, then routing functionality is maintained, but the processing overhead increases significantly due to frequent OS table access

Engineering Contradiction:
Improvedata transmission efficiencyVSAvoidprocessing overhead
Core Design Contradiction:
ProductivityVSPower

Solution Approach 1:

The user-level stack maintains its own copy of the routing table independently of the OS routing table. This copy is updated whenever the OS routing table changes, allowing the user-level stack to access routing information locally without frequent OS table accesses, thereby reducing processing overhead while maintaining routing functionality.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

A mediator mechanism is introduced between the user-level stack and the OS routing table. This mediator maintains a copy of the routing table and handles updates asynchronously, allowing the user-level stack to operate independently without direct, frequent accesses to the OS routing table, thus reducing the burden on the OS and improving overall processing efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple processes access shared memory concurrently, then system functionality is enhanced, but application crashes may occur due to race conditions

Engineering Contradiction:
Improveconcurrent access capabilityVSAvoidapplication stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system implements self-service mechanisms where processes automatically manage their own memory access rights and synchronization. Each process maintains its own view of shared memory and handles its own access control, eliminating the need for centralized locking and reducing race conditions that cause crashes.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Shared memory access is segmented into discrete, controlled operations. Instead of providing unrestricted concurrent access to the entire shared memory space, the system divides access into specific, managed operations that can be performed safely by multiple processes simultaneously, reducing conflicts and improving stability.

Inventive Principle:
Principle #1Segmentation

3Speed

If the user-level stack maintains its own routing tables independently, then access speed improves, but device complexity increases due to additional table management requirements

Engineering Contradiction:
Improverouting table access speedVSAvoidtable management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The user-level stack initializes and maintains its own routing table copy in advance, so that when routing decisions need to be made, the information is already available locally without requiring complex real-time queries to the OS. This preliminary preparation speeds up access while the automatic update mechanism handles the complexity of keeping the copy synchronized.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A feedback mechanism automatically updates the user-level stack's routing table copy whenever the OS routing table changes. This feedback loop maintains synchronization between the two tables without requiring manual intervention or complex management, allowing the user-level stack to access routing information quickly while the feedback system handles the complexity of maintaining accuracy.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8650569B2User-level re-initialization instruction interception
Publication Date: 2014.02.11 XILINX INC
  • US8650569B2 patent drawing
  • US8650569B2 patent drawing
  • US8650569B2 patent drawing

AI summary

A data processing system comprising an operating system for supporting processes, such that the process are associated with one or more resources and the operating system being arranged to police the accessing by processes of resources so as to inhibit a process from accessing resources with which it is not associated. Part of this system is an interface for interfacing between each process and the operating system and a memory for storing state information for at least one process. The interface may be arranged to analyze instructions from the processes to the operating system, and upon detecting an instruction to re-initialize a process cause state information corresponding to that pre-existing state information to be stored in the memory as state information for the re-initialized process and to be associated with the resource.