Provider Service Architecture for Scalable Calculation Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current power management software in power monitoring systems lacks scalability, extensibility, and customizability, leading to inefficient data processing and delayed reporting due to duplicative calculations and lack of centralized management.
Innovation Solution
A provider service architecture with a ticket service and host service that manages and performs calculations efficiently by determining the appropriate provider, handling ticket requests, and storing results based on criteria, allowing for scalable and customizable calculations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If new modules are added to perform different calculations on measured data, then the functionality and adaptability of the power management software is improved, but the device complexity and implementation time increase significantly
Solution Approach 1:
The patent implements a universal calculation engine that can perform multiple types of calculations through a standardized interface. The engine uses configuration files and scriptable providers to handle different calculation types without requiring separate software modules, thus achieving multi-functionality while maintaining system simplicity.
Solution Approach 2:
The calculation engine is segmented into independent scriptable providers that can be individually configured and executed. Each provider handles a specific calculation type but all operate through a common framework, allowing the system to be extended by adding individual providers rather than entire modules.
2Ease of manufacture
If calculations are performed without centralized management, then the ease of implementation is improved, but the productivity and resource utilization deteriorate due to duplicative storage and calculations
Solution Approach 1:
The patent merges multiple calculation requests into a single centralized calculation engine. The engine maintains a cache of previously performed calculations and checks this cache before executing new calculations, eliminating duplicative work while maintaining ease of implementation through a unified management point.
Solution Approach 2:
The calculation engine performs preliminary checks by querying the cache before executing calculations. This preliminary action determines whether a calculation has already been performed, preventing redundant computations and improving productivity without complicating the implementation.
3Adaptability or versatility
If multiple providers are used to perform calculations, then the adaptability and extensibility are improved, but the coordination and management complexity increases
Solution Approach 1:
The patent introduces a configuration file as an intermediary between multiple providers and the calculation engine. The configuration file defines which providers to use and in what order, allowing multiple providers to be coordinated without increasing management complexity. The engine simply reads and executes based on the configuration.
Solution Approach 2:
The calculation engine dynamically selects and chains providers based on configuration files and runtime conditions. This dynamic behavior allows the system to adapt to different calculation requirements by changing configurations rather than hardcoding provider selection logic, maintaining simplicity while achieving high extensibility.
Data Source
AI summary
A method of acquiring data and performing calculations on the data using a provider service. A provider ticket service (PTS) receives tickets from one or more clients. Each ticket includes a calculation identifier and a payload. The calculation identifier identifies a calculation to be performed using information in the payload. The PTS associates a unique ticket identifier with each ticket. A ticket manager submits a selected ticket from the PTS to a provider host service (PHS), which determines which provider is to perform the calculation identified by the selected ticket by inspecting provider identification information in the selected ticket. The PHS launches a provider host thread (PHT) that invokes the provider determined to perform the calculation identified by the calculation identifier of the selected ticket. The provider performs the calculation and returns its result to the PHS, which passes the result back to the PTS, which returns the result to the requesting client.


