Finite-State Machine for Content Player Event Logging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional approaches for generating and logging software events in content players are prone to inaccuracies due to bugs, leading to incorrect event generation and logging, which results in suboptimal content item ranking and presentation.

Innovation Solution

The use of finite-state machines to manage events generated by content players, ensuring accurate logging of events by transitioning through defined states and performing actions associated with each state, such as logging event information, thereby preventing duplicate or erroneous events.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional approaches are used to generate and log software events in content players, then event logging functionality is provided, but inaccuracies occur due to bugs leading to incorrect event generation and logging

Engineering Contradiction:
Improveevent logging accuracyVSAvoidevent management system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary event management system that sits between the content player and the logging mechanism. This intermediary validates, standardizes, and manages event lifecycle operations, preventing buggy code from directly generating incorrect events. The intermediary layer ensures reliability by enforcing proper event generation rules and coordination without requiring complete rewriting of existing player code.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The event management system is segmented into distinct functional components: event generation, event validation, event logging, and event coordination. This segmentation isolates bug-prone areas and allows each component to be independently tested and maintained. By dividing the monolithic event handling into modular segments, the system reduces overall complexity while improving reliability through focused validation at each stage.

Inventive Principle:
Principle #1Segmentation

2Reliability

If finite-state machines are used to manage events, then event logging accuracy is improved, but system complexity increases due to state management overhead

Engineering Contradiction:
Improveevent logging accuracyVSAvoidstate management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The finite-state machine implementation uses dynamic state transitions that adapt to the specific event types and player contexts. Rather than a rigid, pre-defined state machine, the system dynamically determines appropriate states and transitions based on the event being processed. This dynamic approach maintains accuracy by enforcing proper event sequencing while reducing unnecessary complexity by only creating states that are actually needed for each specific scenario.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The finite-state machine is designed as a universal event management framework that handles multiple event types (playback events, user interactions, errors) through a single cohesive mechanism. Rather than creating separate state management systems for each event type, the universal FSM handles all events through standardized state transitions, reducing overall system complexity while maintaining reliability across diverse event scenarios.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If events are logged sequentially through state transitions, then duplicate or erroneous events are prevented, but processing time increases due to state transition overhead

Engineering Contradiction:
Improveevent logging accuracyVSAvoidevent processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary validation and state checking before events are fully processed and logged. By pre-establishing valid state transitions and validating events against expected sequences before they are committed to logs, the system prevents duplicate and erroneous events from being processed. This preliminary action reduces rework and corrective processing, ultimately saving time despite the initial validation overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces traditional mechanical event logging mechanisms with an event-driven architecture that uses message passing and asynchronous processing. Instead of synchronous state transitions that block processing, the system uses event queues and non-blocking state changes. This substitution maintains the reliability of sequential processing while dramatically reducing processing time by allowing events to be queued and handled without blocking the main execution flow.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10754713B1Systems and methods for managing software events
Publication Date: 2020.08.25 META PLATFORMS INC
  • US10754713B1 patent drawing
  • US10754713B1 patent drawing
  • US10754713B1 patent drawing

AI summary

Systems, methods, and non-transitory computer-readable media can determine at least one event generated by a content player while accessing a content item. Event information describing the at least one event can be provided to a finite-state machine being used to manage events generated by the content player. The finite-state machine is in a first state. The finite-state machine can be transitioned from the first state to a second state in response to provision of the event information. One or more actions associated with the second state can be performed based at least in part on transitioning the finite-state machine to the second state.