Centralized Controller for Real-Time Media Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing communication systems lack centralized control for real-time media communication events, leading to inefficiencies in managing calls and media flow between endpoints, particularly in handling complex scenarios like multi-party calls and ensuring high availability and scalability.

Innovation Solution

A cloud-based platform with centralized controllers manages real-time media communication events, utilizing a distributed system architecture that includes call controllers and media modality controllers to handle signaling, media flow, and scalability, employing techniques like URL rewriting for security and high availability, and object graph serialization for state management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional communication systems use endpoint-to-endpoint request-response paradigm, then communication protocol implementation is straightforward, but centralized control for managing complex communication events is lacking

Engineering Contradiction:
Improvecommunication protocol implementationVSAvoidcentralized control architecture
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a centralized controller as an intermediary component that mediates between endpoints and manages complex communication events. The controller receives requests from endpoints, processes them centrally, and coordinates the communication flow, thereby providing centralized control while maintaining protocol simplicity at the endpoint level.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If service objects store direct memory pointers to referenced objects, then object referencing is efficient, but serialization and state management become complex

Engineering Contradiction:
Improveobject referencing efficiencyVSAvoidserialization complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent replaces direct memory pointers with copies of service object identifiers in the serialized state data. Instead of storing actual memory addresses that would be invalid after serialization, the system stores copyable identifier values that can be reconstructed when deserializing, enabling persistent state management without pointer validation issues.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary action by storing service object identifiers in the serialized state data before actual object reconstruction. This allows the deserialization process to efficiently locate and reconstruct referenced objects by their identifiers without needing to traverse complex object graphs or validate memory addresses during the reconstruction phase.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If communication systems handle multi-party calls with multiple service objects, then service functionality is enhanced, but managing service object states and references becomes complex

Engineering Contradiction:
Improvemulti-party call handlingVSAvoidservice object state management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the communication system into independent service objects, each representing a specific communication event or function (e.g., call, message, media flow). Each service object maintains its own state independently, and the system manages collections of these segmented objects. This segmentation allows flexible handling of multi-party calls by creating and managing multiple independent service objects rather than one monolithic state structure.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3213194B1Computer system
Publication Date: 2021.03.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3213194B1 patent drawingFigure 1
  • EP3213194B1 patent drawingFigure 2
  • EP3213194B1 patent drawingFigure 3

AI summary

A service is delivered by a computer system comprising a processor, a memory accessible to the processor and computer storage. The memory holds code which defines service object classes. The service object classes are configured to provide service functions, and the service object classes are instantiated to create service objects which implement the service functions. For each service object, an associated service object identifier is generated in the memory which distinguishes that service object from any other service object. The service objects are serialized to generate serialized data, the serialized data comprising a representation of each service object, and the representation comprising that service object's service object identifier, that service object's associated state data and the service object identifier of any other service object referenced by that service object. Following deactivation, the service objects can be recreated by following the chain of references.