Counter Data Structure for Accurate Coupon Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for tracking coupon usage in online platforms are inefficient, often leading to premature termination of promotions due to inaccurate counting or excessive use, and lack flexibility in resetting counters for different events.

Innovation Solution

A computer-implemented system and method for updating counter values in a data structure, which includes receiving information about events, determining counter identifier values, and either incrementing existing entries or creating new ones, allowing for flexible and efficient tracking of coupon usage and other events.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing counter systems (e.g., Cassandra counters) are used for tracking events, then counting functionality is provided, but data consistency is compromised due to reading and writing to multiple tables simultaneously or sequentially

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the counter system into independent atomic operations where each counter update is performed as a separate, isolated transaction. This segmentation allows the system to maintain data consistency by ensuring that each counter modification is completed atomically without requiring complex multi-table coordination, thus resolving the contradiction between reliability and system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of a standardized counter data structure and update protocol that mediates between event sources and storage systems. This intermediary layer abstracts the complexity of data consistency management, allowing counters to be updated reliably without requiring the application layer to manage complex multi-table operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If data is written and then immediately read back in existing counter systems, then real-time tracking is achieved, but random NullPointerExceptions occur and application performance is negatively affected

Engineering Contradiction:
Improvereal-time tracking speedVSAvoidapplication stability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by ensuring that counter data is properly initialized and committed to storage before any read operations are performed. The system guarantees that write operations complete successfully and data is persisted before subsequent reads, eliminating the race conditions that cause NullPointerExceptions while maintaining real-time tracking capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements beforehand cushioning by introducing validation and error handling mechanisms that prepare for potential read/write failures in advance. The system checks data existence and integrity before read operations and implements proper error recovery, cushioning against the occurrence of NullPointerExceptions while preserving real-time performance.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Adaptability or versatility

If existing counter systems are used, then basic counting is provided, but flexibility to reset counters for different events with different reset frequencies is lost

Engineering Contradiction:
Improvecounter reset flexibilityVSAvoidsystem configuration
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamics by making counter configurations adjustable and event-specific. Each counter can be independently configured with its own reset frequency, time period, and event type, allowing the system to adapt to different tracking requirements without requiring complex global configuration changes. This dynamic configuration approach enables flexible counter management while maintaining system simplicity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies parameter changes by allowing different counter instances to have different configurable parameters such as reset frequency, time period, and event type. This parameterization enables the same counter mechanism to serve multiple purposes with different reset behaviors, achieving high adaptability without increasing overall system complexity.

Inventive Principle:
Principle #35Parameter changes

4Measurement precision

If maximum number of coupon uses is enforced, then promotion control is achieved, but accurate real-time counting must be maintained to avoid premature termination or excessive use

Engineering Contradiction:
Improvecoupon usage counting accuracyVSAvoidpromotion management efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements feedback by continuously monitoring counter values and providing real-time information about coupon usage status. The system compares current counter values against maximum limits and immediately triggers appropriate actions (allowing or denying coupon use), ensuring accurate enforcement of promotion rules while maintaining high transaction processing efficiency through automated real-time feedback loops.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11899718B2Systems and methods for automatically updating guaranteed computing counters
Publication Date: 2024.02.13 COUPANG CORP
  • US11899718B2 patent drawing
  • US11899718B2 patent drawing
  • US11899718B2 patent drawing

AI summary

A computer-implemented system for updating a counter value in a data structure. The system may include a memory storing instructions and at least one processor configured to execute the instructions to perform a process. The process may include receiving information relating to an event, and determining, for the event, a counter identifier value for the counter identifier field of the data structure. The data structure may include one or more entries. Each of the one or more entries may include the counter identifier field and a counter value field. The process may also include identifying, in the data structure, an entry that comprises a counter identifier value identical to the determined counter identifier value. The process may further include increasing a counter value in the counter value field of the identified entry.