Generic Companion-Messaging Abstraction Layer for Encrypted Cross-Platform Communication
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If users assist with configuring communication components, then communication reliability is improved, but ease of operation deteriorates
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.
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.
3Reliability
If encrypted communication channels are established between platforms, then security is improved, but communication complexity increases
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.
4Ease of operation
If automatic pairing is implemented between applications, then ease of operation is improved, but extent of automation increases system complexity
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.
Data Source
Figure 1
Figure 2
Figure 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.