Context Variable Mapping for Multi-Channel Messaging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing messaging systems face complexity and increased coding efforts when supporting multiple communication channels, leading to potential data leakage and system complexity, as they require hardcoding for each channel and persistent storage of CRM data.

Innovation Solution

An interactive computer-implemented communication system that uses a context variable data store to map channel-agnostic context variables to specific channels, allowing the messaging system to query and update CRM data without needing to maintain persistent stores, thus decoupling channel-specific logic from the runtime system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the messaging system hardcodes support for multiple communication channels, then it can support plural different messaging channels, but the system complexity increases and coding effort doubles or triples

Engineering Contradiction:
Improvesupport for multiple messaging channelsVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a messaging channel adapter as an intermediary component that sits between the core messaging system and various communication channels. Each channel has its own adapter that handles channel-specific logic, while the core system remains channel-agnostic. This mediator pattern allows the system to support multiple channels without increasing core system complexity or requiring hardcoded channel logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the messaging system into distinct modular components: a core messaging system, channel-specific adapters, and a runtime system. This segmentation allows each component to be developed, maintained, and scaled independently. The core system handles universal messaging logic while adapters handle channel-specific implementations, reducing overall system complexity.

Inventive Principle:
Principle #1Segmentation

2Speed

If the runtime system maintains persistent storage of CRM data and channel-specific data, then it can access data quickly, but data leakage occurs and ad hoc information is inappropriately stored

Engineering Contradiction:
Improvedata access speedVSAvoiddata leakage
Core Design Contradiction:
SpeedVSObject-generated harmful factors

Solution Approach 1:

The patent extracts persistent storage functionality from the runtime system and relocates it to the core messaging system. The runtime system only maintains data in memory during active conversation sessions, while the core system handles all persistent storage operations. This extraction eliminates the harmful effect of data leakage while maintaining quick access speeds through in-memory caching during sessions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a data access layer as an intermediary between the runtime system and persistent storage. This layer manages all data access operations, ensuring that only appropriate data is stored and retrieved. It prevents runtime systems from directly accessing or storing CRM data, thereby preventing data leakage while maintaining efficient data access through controlled interfaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If the system uses ad hoc information for single conversation support, then it meets specific conversation needs, but the information becomes irrelevant after conversation and should not be persisted

Engineering Contradiction:
Improveconversation-specific data handlingVSAvoidrelevance of stored information
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent implements dynamic data management where the runtime system's data storage capabilities change based on conversation state. During active conversations, the system dynamically allocates memory for ad hoc information. When conversations end, this memory is automatically released. This dynamic approach ensures that conversation-specific information is available when needed but does not persist indefinitely, maintaining information relevance.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11087333B2Facilitating session-based read/write of context variables to share information across multiple microservices
Publication Date: 2021.08.10 SALESFORCE INC
  • US11087333B2 patent drawing
  • US11087333B2 patent drawing
  • US11087333B2 patent drawing

AI summary

The communication system includes a core system having a processor storing user variables representing user-specific information. A messaging system supports communication between a user and an automated bot agent over at least one user-chosen channel employing channel-agnostic context variables. A runtime system mediates a conversation session between user and bot agent, using at least one predefined context variable. A context mapping data store stores a mapping configuration representing a correlation between the channel-agnostic variable of the user-chosen channel and a field in the core CRM system. Using the context mapping data store, the messaging system responds to a communication from the user by querying the context mapping data store to acquire and pass to the runtime system the resolved mapping configuration values corresponding to the user-chosen channel for each defined context variable.