Centralized Controller for Real-Time Media Communication
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Speed
If service objects store direct memory pointers to referenced objects, then object referencing is efficient, but serialization and state management become complex
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.
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.
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
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.
Data Source
Figure 1
Figure 2
Figure 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.