Application-Aware Annotation Binding for Collaborative Sessions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing online collaborative session technologies struggle to accurately display and manage annotations across multiple shared applications, leading to confusion as annotations often persist on incorrect applications, especially when application windows are switched or moved.

Innovation Solution

An online collaborative session application tracks the state of shared applications, including their location and events, to provide 'application-aware' annotations by binding annotation data with application state metadata, ensuring annotations are correctly displayed and updated based on application changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If annotations are displayed on shared application screens during online collaborative sessions, then participants can highlight and discuss specific content, but annotations may persist on incorrect applications when application windows are switched or moved, causing confusion

Engineering Contradiction:
Improveannotation display accuracyVSAvoidannotation management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the annotation system by binding each annotation to a specific application instance through unique identifiers. Annotations are divided into application-specific groups, allowing the system to track and manage annotations for each application independently. This segmentation enables accurate annotation display even when multiple applications are switched between, as each annotation knows which application instance it belongs to.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms where the online collaborative session application continuously monitors application state changes (window moves, switches, resizes) and uses this feedback to update annotation positions and associations. The system receives feedback about application identifier changes and automatically adjusts annotation display accordingly, ensuring annotations remain attached to the correct application content.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If the system tracks application state changes to maintain accurate annotation positioning, then annotations remain correctly associated with their target content, but the system complexity and processing overhead increase

Engineering Contradiction:
Improveannotation position accuracyVSAvoidstate tracking system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by binding annotation data to application state metadata in advance, before application switches or moves occur. The system pre-establishes the relationship between annotations and application instances using unique identifiers, so when application state changes happen, the system can quickly resolve the correct annotation position without complex real-time calculations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating and maintaining copies of application state metadata (including unique identifiers, window positions, and application parameters) that are stored alongside annotation data. These metadata copies enable the system to quickly determine annotation positioning without repeatedly accessing the actual application windows, reducing processing overhead while maintaining precision.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If annotations are bound to specific application instances using unique identifiers, then annotations automatically update when applications are switched or moved, but the data structure and processing requirements become more complex

Engineering Contradiction:
Improveannotation adaptability to application changesVSAvoiddata structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements universality by using a standardized unique identifier format that can represent any application instance across different applications and sessions. The annotation binding mechanism is designed to work universally with any application that provides a unique identifier, making the system adaptable to various application types without requiring application-specific customization. This universal approach simplifies the overall architecture despite handling diverse applications.

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

Solution Approach 2:

The patent applies parameter changes by dynamically updating annotation associated parameters (such as application identifier, window position coordinates, and application state) when application state changes are detected. Instead of restructuring the entire data model, the system efficiently updates specific parameters within the existing annotation data structure, maintaining adaptability while minimizing complexity increases.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11310292B2Application aware annotations in online collaborative sessions
Publication Date: 2022.04.19 CISCO TECHNOLOGY INC
  • US11310292B2 patent drawing
  • US11310292B2 patent drawing
  • US11310292B2 patent drawing

AI summary

An online collaborative session application executing on a processing device tracks a state of an application shared by the processing device over an online collaborative session. The online collaborative session application receives data indicative of an annotation made to an instance of the application as part of the online collaborative session. A first location of the annotation relative to the instance of the application is determined from the data indicative of the annotation and the state of the application. Based on the tracking, a change to the state of the application is determined. A second location of the annotation is determined based on the change of the state of the application.