Dynamic Media Server Allocation via Microservice Pool
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mobile devices without WebRTC support cannot engage in browser-to-browser communications with WebRTC-enabled devices, and the existing static allocation of signaling and media servers leads to inefficient resource utilization and service issues due to a one-to-one relationship, which is not dynamically adaptable.
Innovation Solution
A service discovery server dynamically allocates media server resources by using a pool of microservices, a cache for capability information, and a service directory server to facilitate communications between clients and targets, regardless of WebRTC capability, and manages media server resources to handle failures and traffic efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a static one-to-one allocation of media servers to signaling servers is used, then the system structure is simple and easy to manage, but the resource utilization efficiency is low and the system cannot adapt dynamically to failures or traffic variations
Solution Approach 1:
The patent segments the traditional monolithic server structure into microservices. Media server functionality is divided into independent media processing microservices that can be dynamically allocated, while signaling servers remain separate. This segmentation enables flexible resource allocation without increasing overall system complexity, as each microservice is independently deployable and manageable.
Solution Approach 2:
The patent creates a universal pool of media processing microservices that can serve multiple signaling servers. Instead of dedicating one media server to one signaling server, the same pool of microservices can be dynamically assigned to different signaling servers based on demand, enabling one media resource to perform multiple functions and serve multiple clients.
2Productivity
If media servers are statically bound to signaling servers, then the configuration is simple, but resource utilization efficiency is low and scaling is difficult
Solution Approach 1:
The patent introduces dynamic allocation of media processing microservices to signaling servers based on real-time demand. The system can dynamically provision, scale, and deprovision media microservices in response to changing traffic patterns, ensuring high resource utilization while maintaining simple deployment through automated orchestration.
Solution Approach 2:
The system implements self-service through automated service discovery and load balancing mechanisms. Media processing microservices automatically register themselves with the service discovery server, and the system autonomously allocates resources based on demand without requiring manual configuration or intervention, simplifying deployment while maximizing productivity.
3Reliability
If signaling servers manually configure media server connections, then the system is easy to understand, but failure detection is slow and service continuity is compromised
Solution Approach 1:
The patent implements feedback mechanisms where media processing microservices continuously report their status and health to the service discovery server. This real-time feedback enables the system to detect failures immediately and automatically reassign traffic to healthy services, ensuring service continuity without requiring complex manual monitoring or configuration.
Solution Approach 2:
The service discovery server acts as an intermediary between signaling servers and media processing microservices. It manages the service registry, handles health checks, and automatically routes requests to available services, relieving signaling servers of the burden of manual configuration while maintaining simple and reliable service connections.
4Adaptability or versatility
If a pool of media server microservices is implemented for dynamic allocation, then resource flexibility and scaling capability improve, but the system architecture becomes more complex
Solution Approach 1:
Media processing microservices implement self-service by automatically registering with the service discovery server upon startup and autonomously managing their own lifecycle. This self-registration and self-management capability eliminates the need for complex manual configuration, allowing the system to achieve high resource flexibility through a pool of dynamically allocatable microservices while keeping the architecture manageable.
Data Source
AI summary
A method of dynamically allocating media resources includes providing a plurality of microservices in a signaling server and receiving, by one of the microservices, a call message from a client capable of browser-to-browser communications. The call message includes an identifier specifying a target. The identifier is send by the microservice to a cache with a request for capability information of the target. The cache is configured to retrieve the capability information of the target using the identifier. The microservice receives the capability information of the target from the cache. The microservice sends a media resource request to a service directory server coupled to a plurality of media servers when the capability information of the target indicates that the target is not capable of browser-to-browser communications, and initiates browser-to-browser communications between the client and the target when the capability information of the target indicates the target is capable of browser-to-browser communications.


