Generic Companion-Messaging Abstraction Layer for Encrypted Cross-Platform Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software development for device communication lacks a seamless construct, requiring developers to account for differences in various communication devices and applications, and users must assist with configuring communication components, leading to complexity in achieving transparent and encrypted communication.

Innovation Solution

The implementation of a generic companion-messaging session using an abstraction layer that automatically pairs base and companion platform applications, enabling encrypted bidirectional communication through direct or indirect connections, facilitating platform-independent communication and dynamic scriptable rendering for enhanced user interaction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If developers account for differences between various communication devices and applications, then communication compatibility is improved, but device complexity and development difficulty increase

Engineering Contradiction:
Improvecommunication compatibilityVSAvoiddevelopment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an abstraction layer as an intermediary between the application layer and transport layer. This abstraction layer provides a unified interface for sending and receiving messages, handling the complexity of different communication protocols and devices internally. Developers interact only with the simplified abstraction layer interface, while the layer itself manages the diversity of underlying platforms, thereby improving compatibility without increasing development complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The abstraction layer is designed to be universal, supporting multiple communication protocols and device types through a single unified interface. This multi-functional design allows the same code to operate across different platforms (mobile devices, tablets, PCs, consoles) without modification, resolving the contradiction between broad adaptability and development simplicity.

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

2Reliability

If users assist with configuring communication components, then communication reliability is improved, but ease of operation deteriorates

Engineering Contradiction:
Improvecommunication reliabilityVSAvoiduser configuration effort
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system implements automatic pairing functionality that eliminates the need for manual user configuration. When a user logs into their account on a new device, the system automatically pairs that device with their existing devices and establishes communication channels without requiring the user to manually configure any communication components. This self-service approach maintains reliability through automated secure connection establishment while dramatically improving ease of operation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary actions by pre-establishing account-based identification and authentication mechanisms. Before actual communication is needed, the system has already configured the necessary communication components and security credentials associated with the user's account. This preliminary setup enables automatic pairing and connection establishment without requiring users to perform configuration tasks at the moment of use.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If encrypted communication channels are established between platforms, then security is improved, but communication complexity increases

Engineering Contradiction:
Improvecommunication securityVSAvoidcommunication protocol complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The abstraction layer serves as an intermediary that handles all encryption and decryption operations. The layer manages the complexity of establishing secure encrypted channels between different platforms, handling key exchange, encryption, and decryption internally. Applications interact only with the simplified abstraction layer interface, sending and receiving plaintext messages while the layer automatically manages the cryptographic complexity, thereby maintaining security without exposing protocol complexity to developers.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of operation

If automatic pairing is implemented between applications, then ease of operation is improved, but extent of automation increases system complexity

Engineering Contradiction:
Improvepairing simplicityVSAvoidpairing automation complexity
Core Design Contradiction:
Ease of operationVSExtent of automation

Solution Approach 1:

The abstraction layer acts as an intermediary that manages the complex automatic pairing process. It handles device discovery, authentication, and connection establishment automatically in the background. The layer translates high-level user actions (like logging in) into the series of automated steps required for pairing, thereby providing simplicity to users while containing the automation complexity within the abstraction layer itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2945714B1Generic companion-messaging between media platforms
Publication Date: 2021.03.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2945714B1 patent drawingFigure 1
  • EP2945714B1 patent drawingFigure 2
  • EP2945714B1 patent drawingFigure 3

AI summary

Various embodiments, methods, and systems for communicating via a generic companion-messaging session are provided. The generic companion-messaging session includes a base platform running a base platform application and a companion platform running a companion platform application. An initialization message that automatically pairs the companion platform application and the base platform application is sent from the companion platform to the base platform for a generic companion-messaging session. The companion platform is connected to an encrypted communication channel for the generic companion-messaging session with the base platform. The encrypted communication channel supports bidirectional communication over a plurality of connections. A connection from the plurality of connections is determined for routing a message. The message is routed via a direct connection when the direct connection with the base platform is determined and the message is routed via an indirect connection when the indirect connection with the base platform is determined.