Distributed Service Usage Metering for SaaS Billing Accuracy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing metering techniques for Software-as-a-Service (SaaS) products are inefficient in storing and processing usage metrics, unable to track fine-grain metrics over extended periods, and degrade performance, failing to provide accurate and reproducible data needed for usage-based billing.
Innovation Solution
A distributed service usage metering method that communicates a metering period to distributed network services, aggregates statistics, and populates them into a metering statistic data store, utilizing a usage metering agent and manager to collect, filter, and aggregate events in real-time, with event recovery processes to ensure data integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If existing metering techniques store large amounts of usage metrics in commercial databases, then comprehensive usage data is captured, but storage requirements and processing overhead increase significantly
Solution Approach 1:
The patent extracts only the essential metering events from the data stream, filtering out redundant information. The metering event processor identifies and extracts specific events that require billing attention, storing only these extracted events rather than all raw usage data, thereby reducing storage requirements while maintaining billing accuracy.
Solution Approach 2:
The system discards redundant or already-processed metering events while recovering and retaining only the necessary billing-relevant information. The duplicate event detector identifies and discards duplicate events, while the metering event processor recovers and stores only the unique, billable events, optimizing storage efficiency.
2Measurement precision
If existing metering techniques track detailed usage metrics, then billing accuracy improves, but processing throughput degrades
Solution Approach 1:
The patent segments the metering process into distinct functional components: event generation, event filtering, duplicate detection, and event processing. This segmentation allows each component to operate independently and efficiently, processing only the necessary portion of data at each stage, thereby maintaining precision while improving overall throughput.
Solution Approach 2:
The system performs partial processing by filtering and selecting only the necessary metering events for detailed processing, rather than processing all events with the same level of detail. The metering event processor applies full processing only to events that meet specific criteria, while other events receive streamlined processing, optimizing throughput without sacrificing required precision.
3Reliability
If existing metering systems store all usage data, then complete billing history is available, but system flexibility and responsiveness decrease
Solution Approach 1:
The patent implements a dynamic metering system that adapts its processing and storage behavior based on event characteristics. The system dynamically determines which events require detailed storage and which can be processed more simply, allowing flexibility in resource allocation while maintaining billing accuracy for all events.
Solution Approach 2:
The system changes processing parameters based on event type and billing requirements. Different metering events are processed with different levels of detail and stored with different retention policies, allowing the system to be flexible and adaptive to varying billing needs while maintaining accuracy where required.
Data Source
AI summary
Metering service instances collect predefined types of metering events on the nodes in which the service instances process. Within each node, the events are statistically filtered, aggregated, and collected. The events are also passed to audit logs. At the conclusion of a metering period or upon detection of a batching event, the aggregated statistically filtered events (statistics) are forward to a collecting cluster where they are populated to a metering statistic data store.


