Asynchronous Pricing Engine Segmentation for Scalability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current pricing systems face scalability issues due to computationally intensive pricing tasks and the need for multiple pricing methods, which can lead to inefficiencies and increased complexity in handling large sales orders and client operations.
Innovation Solution
A scalable pricing engine architecture that includes a pluggable pricing framework with separate runtimes for low-scale and high-scale operations, utilizing asynchronous pricing to subdivide large requests into chunks for parallel processing, and a distributed data service for improved latency and resource management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a central pricing engine architecture is used to provide pricing operations for multiple clients, then the efficiency of client operations is improved, but the system complexity increases due to the need to support multiple pricing methods and large sales orders
Solution Approach 1:
The pricing engine is segmented into multiple independent pricing methods that can be selectively applied to different sales items. Each pricing method operates as a separate computational unit, allowing the system to handle complex pricing scenarios by combining multiple simple methods rather than creating a single complex monolithic system.
Solution Approach 2:
The central pricing engine is designed as a universal platform that can execute multiple different pricing methods (e.g., cost-plus pricing, market-based pricing, value-based pricing) using the same core architecture. This multi-functionality allows the system to serve diverse client operations without requiring separate specialized systems for each pricing approach.
2Adaptability or versatility
If multiple pricing methods are implemented to handle different sales items, then the adaptability of the pricing system is improved, but the computational intensity and processing time increase
Solution Approach 1:
The pricing computation is segmented by dividing the sales order into individual sales items, each of which can be processed independently using its specific pricing method. This segmentation enables parallel processing of multiple pricing calculations simultaneously, reducing the total computational burden on any single processing unit while maintaining the ability to apply different pricing methods to different items.
3Speed
If synchronous pricing processing is used to provide immediate pricing results, then the response time is improved, but the system scalability is limited due to the computationally intensive nature of pricing tasks
Solution Approach 1:
The pricing request is segmented into individual pricing tasks for each sales item, which can then be distributed across multiple processing units. This segmentation enables the system to handle large-scale pricing operations by parallelizing computations rather than processing everything sequentially in a single synchronous request, thereby improving scalability while maintaining acceptable response times.
Solution Approach 2:
The system transitions from single-threaded synchronous processing to multi-threaded asynchronous processing, adding a temporal dimension to the processing model. This allows pricing operations to be executed in parallel across multiple threads and time units, enabling the system to scale horizontally while maintaining service level agreements through asynchronous result delivery.
Data Source
AI summary
Apparatus and method for asynchronous pricing. For example, some implementations include an asynchronous pricing service in addition to the pricing service. When performing a first pricing operation on a first set of pricing data, the pricing service performs operations on a pricing engine. In response to a second pricing request at the asynchronous pricing service with a second set of pricing data, the second set of pricing data is subdivided into a plurality of portions and a corresponding plurality of pricing jobs are specified, which are independently executed by the pricing engine to produce a corresponding plurality of partial pricing results. The asynchronous pricing service aggregates the partial pricing results to generate a second pricing result.


