Interactive Presentation In-Memory Logging for Scalable Replay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing presentation platforms face scalability challenges in supporting multiple simultaneous presentations to large numbers of participants, particularly in facilitating participant interactions and ensuring synchronized replay of interactions with non-interaction data.

Innovation Solution

A computer-implemented method involving an in-memory database to store and manage participant interactions during a presentation, with periodic polling to retrieve and communicate interaction records to presenter client applications, enabling synchronized replay of interactions and non-interactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If presentation platforms support multiple simultaneous presentations to large numbers of participants, then scalability is improved, but system complexity and data management burden increase

Engineering Contradiction:
ImprovescalabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments interaction data into discrete interaction records stored in an in-memory database transaction log. Each record is independently managed and can be retrieved selectively during polling, allowing the system to handle large numbers of participants without managing monolithic data structures that would increase complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The in-memory database transaction log serves as an intermediary between participant client applications and the presentation system. It buffers interaction data temporarily, allowing the system to decouple data storage from processing logic and simplify the overall system architecture while maintaining scalability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If participant interactions are managed in real-time, then interaction responsiveness is improved, but data processing load increases

Engineering Contradiction:
Improveinteraction responsivenessVSAvoiddata processing load
Core Design Contradiction:
SpeedVSPower

Solution Approach 1:

The system implements periodic polling where the presenter client application retrieves interaction records at scheduled intervals rather than requiring continuous real-time processing. This approach maintains responsive interaction updates while distributing the data processing load over time, preventing peak processing demands from overwhelming the system.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The presenter client application performs self-service by autonomously polling the in-memory database transaction log for new interaction records. This eliminates the need for continuous server-initiated notifications or complex real-time processing pipelines, reducing server processing load while maintaining update responsiveness.

Inventive Principle:
Principle #25Self-service

3Speed

If interaction records are stored in an in-memory database, then data access speed is improved, but memory resource consumption increases

Engineering Contradiction:
Improvedata access speedVSAvoidmemory resource consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system dynamically manages memory resources by clearing interaction records from the in-memory database transaction log after they have been retrieved and processed. This prevents unlimited accumulation of data in memory, allowing the system to maintain fast data access speeds while controlling memory consumption through periodic data eviction.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250238248A1Systems and methods for interactive presentations
Publication Date: 2025.07.24 CANVA PTY LTD
  • US20250238248A1 patent drawing
  • US20250238248A1 patent drawing
  • US20250238248A1 patent drawing

AI summary

Described herein is a computer implemented method for providing participant interactions in a presentation session. The method includes receiving, over the course of the presentation session, a plurality of a user interaction messages from one or more participant client applications, each user interaction message being in respect of a user interaction. For each user interaction message received, a corresponding interaction record is written to an in-memory database transaction log. Over the course of the presentation session, a presenter polling process is periodically performed. Each presenter polling process comprises retrieving new user interaction records from the in memory database transaction log and communicating the new user interaction records retrieved from the in memory database transaction log to a presenter client application.