Parallel Intent Object Locking for Multi-Core Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software applications that match individuals based on preferences face scalability issues and inefficient utilization of multi-core hardware due to serial processing of intent objects, limiting their ability to handle large numbers of individuals and preferences effectively.

Innovation Solution

Implementing a parallel processing system where intent objects are locked based on preferences, allowing multiple matcher objects to operate simultaneously on distinct sets of intent objects, ensuring that only one matcher can modify a set and maximizing the use of multi-core hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If serial processing is used to ensure constraint compliance, then reliability is improved, but productivity deteriorates

Engineering Contradiction:
Improveconstraint complianceVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the processing space by dividing intent objects into multiple groups based on preference values. Each matcher object is assigned to process a specific group, allowing parallel processing while maintaining constraint compliance within each segment. This segmentation enables multiple matchers to work simultaneously on different preference groups without conflicting with each other.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces preference values as intermediary classification criteria that mediate between the constraint compliance requirement and parallel processing need. By using preference values as the basis for grouping and locking, the system creates an intermediary layer that allows concurrent access to different groups while ensuring that constraints are satisfied within each group's context.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If serial processing is used to simplify constraint management, then device complexity is reduced, but productivity deteriorates

Engineering Contradiction:
Improveprocessing architectureVSAvoidmatching throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The processing architecture is segmented into multiple matcher objects, each handling a specific preference group. This segmentation distributes the processing load across multiple independent units, reducing the complexity burden on any single processor while enabling parallel execution to improve overall productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of organization based on preference values, transforming the single-dimensional serial processing into multi-dimensional parallel processing. By adding the preference-based grouping dimension, the system can simultaneously process multiple intent objects along different preference dimensions without increasing the fundamental complexity of constraint management.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If parallel processing is implemented to improve productivity, then scalability is improved, but device complexity increases

Engineering Contradiction:
Improveprocessing throughputVSAvoidparallel processing architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system is divided into multiple independent matcher objects that can be scaled horizontally. Each matcher is a self-contained unit that processes a specific preference group, allowing the system to scale by simply adding more matcher instances. This segmentation makes the parallel processing architecture more manageable and less complex than a tightly-coupled parallel system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each matcher object is designed to be universal and multi-functional, capable of processing intent objects based on its assigned preference group. This universality reduces the overall system complexity by using identical or similar matcher templates rather than requiring custom processing logic for each parallel component, making the parallel architecture more scalable and maintainable.

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

4Productivity

If locking mechanisms are introduced to enable parallel processing, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidlocking mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The locking mechanism is segmented and applied at the group level rather than the individual intent object level. Each matcher locks a specific preference group, which reduces the granularity and overhead of locking operations. This segmented approach to locking enables parallel processing while keeping the locking mechanism relatively simple and efficient.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The locking mechanism applies local quality control by allowing different lock granularities and strategies for different preference groups. Each matcher applies locking locally to its assigned group, rather than requiring a global locking strategy. This local approach reduces the overall complexity of the locking mechanism while still enabling safe parallel processing.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8868529B2N-dimensional locking
Publication Date: 2014.10.21 SAP SE
  • US8868529B2 patent drawing
  • US8868529B2 patent drawing
  • US8868529B2 patent drawing

AI summary

An apparatus, method and computer-readable storage medium for determining intent object preferences for locking intent objects, and grouping the intent objects into sets based on the intent object preferences for locking. The sets may contain intent objects with matching preference values for the intent object preferences for locking. Each set may be locked such that only a matcher object associated with the set may operate on the set. The locking may be done in memory, or via a database. The matcher associated with a set may determine whether the intent objects in that set match other intent objects in the set. Multiple matchers may operate on their associated sets in parallel.