Dynamic Media Server Allocation via Microservice Pool

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedynamic adaptabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoiddeployment complexity
Core Design Contradiction:
ProductivityVSEase of manufacture

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improveservice continuityVSAvoidconfiguration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveresource flexibilityVSAvoidarchitecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9917746B2Adaptive allocation of server resources
Publication Date: 2018.03.13 FUTUREWEI TECHNOLOGIES INC
  • US9917746B2 patent drawing
  • US9917746B2 patent drawing
  • US9917746B2 patent drawing

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.