Pluggable Pricing Architecture Decouples Engine Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional pricing platforms require significant programming overhead to support multiple clients and modifications, as the pricing algorithm must be integrated into the pricing engine, limiting flexibility and efficiency in managing different pricing methods for various clients.

Innovation Solution

A pluggable pricing architecture that allows clients to define their own pricing constructs and utilize both standard and custom pricing methods as plugins, decoupling the pricing engine from specific pricing logic, enabling incremental development and customization without modifying the engine.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the pricing algorithm is integrated into the pricing engine, then the pricing operations can be performed efficiently, but the programming overhead increases and flexibility is reduced when supporting multiple clients

Engineering Contradiction:
Improvepricing operation efficiencyVSAvoidprogramming overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The pricing engine is segmented into a core engine component and separate pricing algorithm plugins. Each client's pricing algorithm is implemented as an independent plugin that can be loaded and executed by the core engine without modifying the engine's core structure. This segmentation allows the engine to maintain high efficiency while reducing programming overhead, as plugins can be added or modified independently without affecting the core engine code.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary layer is introduced between the pricing engine and the pricing algorithms. This intermediary layer handles the loading, execution, and management of pricing plugins, allowing the engine to interact with multiple client-specific algorithms through a standardized interface without needing to know or modify the specifics of each algorithm implementation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the pricing algorithm is integrated into the pricing engine, then the pricing operations can be performed efficiently, but the adaptability decreases when pricing algorithms need to be modified for different clients

Engineering Contradiction:
Improvepricing operation efficiencyVSAvoidpricing algorithm flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

By separating pricing algorithms into independent plugins, the system achieves high adaptability. Each client can have their own pricing algorithm plugin that is customized to their specific needs, and these plugins can be loaded, unloaded, or modified without affecting the core engine or other clients' algorithms. This maintains pricing operation efficiency while enabling flexible adaptation to different client requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The pricing engine is designed with dynamic capability to load and execute different pricing algorithm plugins at runtime based on client requirements. This dynamic architecture allows the system to adapt to changing pricing needs by simply loading new plugins or updating existing ones, without requiring engine modifications or recompilation.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If the pricing engine is modified to support new pricing algorithms, then client-specific pricing can be implemented, but the core engine stability is compromised

Engineering Contradiction:
Improvepricing method customizationVSAvoidengine stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The pricing engine is segmented into a stable core and variable plugin components. The core engine maintains its stability by providing only standardized loading and execution frameworks, while all client-specific pricing logic is contained in separate plugins. This ensures that adding new pricing algorithms or customizing existing ones does not compromise core engine stability, as changes are isolated to individual plugins.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Pricing algorithm-specific code is extracted from the core engine and placed into separate plugin modules. This extraction ensures that the core engine remains clean, stable, and unchanged, while client-specific pricing capabilities are implemented through independent plugins that can be added or modified without affecting engine reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11798044B2Pluggable architecture for performance of pricing operations
Publication Date: 2023.10.24 SALESFORCE INC
  • US11798044B2 patent drawing
  • US11798044B2 patent drawing
  • US11798044B2 patent drawing

AI summary

Embodiments are directed to a pluggable architecture for performance of pricing operations. An embodiment of a storage medium includes instructions for installing multiple pricing methods at a pricing service including a pluggable architecture for pricing methods, each pricing method including a set of pricing functions; receiving a pricing request for a sales transaction including one or more sales items, the pricing request including a pricing context for each sales item; and performing a price calculation for the sales transaction, including resolving a pricing method for each sales item, applying the set of pricing functions for the resolved pricing method for each sales item, the application of the set of pricing functions being based at least in part on the pricing context for the sales item, calculating a price for each sales item based upon an outcome of the pricing functions, and aggregating the calculated prices for the sales items.