Recommendation Engine Scaling with Stateless Processors and Shared Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing recommendation engines face inefficiencies due to the need for large memory copies and overcapacity deployment, leading to undesired latency and increased costs when handling fluctuating user traffic, as well as inefficiencies in deploying new servers.

Innovation Solution

A scalable recommendation engine utilizing stateless processors and decoupled memory servers, allowing for rapid deployment and deactivation of processors and memory units based on real-time capacity needs, without the need for data replication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If new recommendation servers are deployed to handle increased traffic, then processing capacity is improved, but deployment time increases due to large memory copies

Engineering Contradiction:
Improveprocessing capacityVSAvoiddeployment time
Core Design Contradiction:
PowerVSLoss of time

Solution Approach 1:

The system separates memory storage from processing functions by introducing independent memory servers. Recommendation servers no longer need to store large memory copies locally, as they can access shared memory resources through the network. This segmentation allows processing servers to be deployed quickly without waiting for memory copying, while memory servers handle the storage burden independently.

Inventive Principle:
Principle #1Segmentation

2Reliability

If recommendation servers operate at overcapacity to handle traffic spikes, then service reliability is improved, but operational costs increase

Engineering Contradiction:
Improveservice reliabilityVSAvoidoperational costs
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system implements dynamic scaling where recommendation servers can be rapidly deployed or deactivated based on real-time traffic conditions. The decoupled architecture allows the system to scale processing capacity dynamically without the overhead of copying memory, enabling cost-effective handling of traffic spikes by activating additional servers only when needed rather than maintaining permanent overcapacity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Memory servers serve multiple recommendation servers simultaneously through shared access to the same memory resources. This universal memory pool allows any recommendation server to access the required data without dedicated local copies, enabling efficient resource utilization where memory capacity is shared across multiple processing nodes rather than replicated.

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

3Reliability

If large memory copies are made for new servers, then data availability is improved, but network bandwidth consumption increases

Engineering Contradiction:
Improvedata availabilityVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system merges memory resources into a shared pool that serves multiple recommendation servers simultaneously. Instead of creating separate memory copies for each server, the architecture combines memory resources at the memory server level, allowing multiple processing servers to access the same data through the network without duplicating the actual memory content.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP3365860B1Scalable systems and methods for generating and serving recommendations
Publication Date: 2026.02.25 DEMANDWARE
  • EP3365860B1 patent drawingFigure 1
  • EP3365860B1 patent drawingFigure 2
  • EP3365860B1 patent drawingFigure 3

AI summary

A scalable recommendation engine includes stateless processors in communication with at least one memory server that stores contextual data. A router is configured to direct a recommendation request to a first stateless processor, which is configured to generate a recommendation using contextual data from the memory server. A controller monitors the available processing bandwidth of the stateless processors and deploys an additional stateless processor if the available processing bandwidth is less than a minimum available processing bandwidth threshold. The controller can remove from deployment a stateless processor if the available processing bandwidth is greater than a maximum pre-determined available processing bandwidth threshold.