On-Demand Load Balancer for Virtual Live Slicer Server Farms
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current on-demand streaming services for program providers require manual intervention and are inefficient, as they involve assigning virtual live slicer servers and managing resources manually, which is time-consuming and not scalable.
Innovation Solution
An on-demand streaming service that allows program source devices to request and obtain streaming services dynamically, with a network device validating requests, spinning up virtual live slicer servers based on load balancing, monitoring resource utilization, and automatically tearing down sessions after inactivity, enabling efficient and scalable program streaming.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If manual assignment of virtual live slicer servers is used, then service reliability is maintained through human oversight, but productivity deteriorates due to time-consuming manual operations
Solution Approach 1:
The system enables self-service through automatic server selection and assignment. The load balancer automatically monitors server load, selects appropriate virtual live slicer servers, and assigns them to streaming requests without manual intervention. This automation resolves the contradiction by eliminating time-consuming manual operations while maintaining service reliability through systematic load management.
Solution Approach 2:
The system performs preliminary actions by pre-configuring virtual live slicer servers and maintaining a ready pool of servers. When a streaming request arrives, the system can immediately assign a pre-prepared server from the pool, eliminating the need for manual setup. This resolves the contradiction by preparing resources in advance, enabling rapid automated deployment.
2Adaptability or versatility
If fixed server allocation is used, then device complexity is reduced with straightforward resource management, but adaptability deteriorates when handling variable streaming demands
Solution Approach 1:
The system implements dynamic resource allocation where the load balancer continuously monitors server load metrics and adjusts server assignments in real-time based on current conditions. This dynamic approach resolves the contradiction by allowing the system to adapt to variable streaming demands automatically, with the complexity of load balancing managed through automated algorithms rather than manual configuration.
Solution Approach 2:
The load balancer employs feedback mechanisms by continuously monitoring server performance metrics and using this information to make intelligent routing decisions. The system adjusts resource allocation based on feedback from server load conditions, resolving the contradiction between adaptability and complexity through data-driven automated management.
3Reliability
If continuous server operation is maintained, then service reliability is ensured with always-available resources, but energy consumption increases during low-demand periods
Solution Approach 1:
The system implements a server pool architecture where virtual live slicer servers can be dynamically allocated and deallocated based on demand. When demand is low, excess servers are taken offline or placed in low-power states, reducing energy consumption while maintaining reliability through the availability of servers when needed. This resolves the contradiction by allowing servers to be discarded (taken offline) during low demand and recovered (brought online) when demand increases.
Data Source
AI summary
A method, a device, and a non-transitory storage medium to receive a request for an on-demand streaming service from a program source device, wherein the on-demand streaming service provides on-demand publishing of programs originating from program source devices, and wherein the publishing includes streaming of the programs via the Internet to users; obtain configuration data based on the request; spin up a live slicer server based on the request; transmit the configuration data to the live slicer server; and transmit a network address of the live slicer server to the program source device.


