Distributed Hash Table for Multi-Core Resource Persistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core systems, maintaining resource persistency across all cores is challenging due to the difficulty in replicating the configuration and resource management found in single processor systems, where one processor handles all traffic, load balancing, service identification, and session management.

Innovation Solution

A distributed hash table is used to track resource usage across multiple cores, with each core having a copy of the table divided into partitions, allowing for resource establishment, request, and update management between cores.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single processor maintains all resource configuration and session management, then resource persistency is maintained, but system scalability and processing capacity are limited

Engineering Contradiction:
Improveprocessing capacityVSAvoidresource management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the centralized resource management functionality into distributed components across multiple processors. Each processor maintains local resource information and session data, while a directory service distributes requests to appropriate processors. This segmentation enables parallel processing and improved scalability while maintaining resource persistency through distributed coordination.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple processors are introduced to increase processing capacity, then productivity improves, but maintaining resource persistency and session management across processors becomes complex

Engineering Contradiction:
Improveprocessing capacityVSAvoidresource persistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a directory service as an intermediary that coordinates resource management across multiple processors. The directory service maintains a distributed database of resource locations and handles requests by directing them to the appropriate processor. This intermediary mechanism ensures resource persistency and session management consistency while enabling multiple processors to work together efficiently.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If resource information is distributed across multiple processors, then processing capacity and scalability improve, but access efficiency and coordination overhead increase

Engineering Contradiction:
Improvesystem scalabilityVSAvoidcoordination overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by having processors pre-register their resource information with the directory service and maintain local caches of frequently accessed resource data. This advance preparation reduces the need for real-time coordination overhead during resource access operations, as processors can quickly retrieve information from local caches without constantly querying the directory service.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9621437B2Systems and methods for distributed hash table in a multi-core system
Publication Date: 2017.04.11 CITRIX SYSTEMS INC
  • US9621437B2 patent drawing
  • US9621437B2 patent drawing
  • US9621437B2 patent drawing

AI summary

The present invention is directed towards systems and methods for using a distributed hash table to maintain the same configuration and resource persistency across a plurality of cores in a multi-core system. The distributed hash table includes a plurality of partitions, each partition being owned by a respective core of the multi-core system. A core may establish resources in the partition it owns. A core may request other cores to establish resources in the partitions they own and send resource information to the core. The core may locally cache the resource information.