Multi-Tenant MVC Middleware for an IPTV Streaming Platform
The Client
The rise of modular television has ignited new frameworks for content delivery, where distribution must navigate multiple users, cloud storage, and repositories that shift with consumer demand. While maintaining back-end technologies, content delivery networks (CDNs) must sustain accessibility and speed on the front end for a growing user base. The client is part of the CDN and streaming space and needed development support for a middleware application it wanted to add to its software suite. Previously, the client used an off-the-shelf IPTV media-server middleware for its admin panel, content management, dashboards, reporting, and other IPTV functionality.
INNERLUXES was engaged to engineer an MVC, API-based application to manage content — a core component of the IPTV operation — that would be directly responsible for streaming requested content to the end-user's device.
A Three-Part Project
The engagement spanned three phases: the middleware application, a blockchain/ICO component, and an iOS app for content access.
- Middleware — INNERLUXES studied the content-management and streaming sections of the existing middleware to understand the requirements, then replicated those elements and modules for a proprietary middleware, compartmentalized into an admin panel, content management and dashboards, a content-delivery module, separate databases for content and customer data, and an API-based multi-tenant architecture.
- Blockchain / ICO — an Ethereum ERC-20 token and an ICO used to incentivize subscriptions; the client planned to grant tokens to subscribers alongside normal subscriptions.
- iOS app — a streaming app offering both on-demand and live streams, controlled by channel servers, with all encoding/decoding handled by the content/channel server and each channel managing its own content.
Building the Multi-Tenant MVC Middleware
The middleware provides an admin portal for all customer and reseller settings, an admin dashboard, and a robust set of reporting modules to document application performance. For the middleware and REST API, the functional modules were layered as:
- User & login module (create users, update users, change password)
- Role management
- Customer settings and reseller configurations
- Content management modules
- Dashboards and reports
- Content streaming modules
INNERLUXES prepared the development environment (the client supplied staging and production) and used the MVC pattern together with multi-tenant data isolation, since the client planned to white-label the application for resellers. MVC (Model-View-Controller) is well-suited to multi-tenant environments: the controller acts as a mediator between the View and Model, the Model loads data for a request, and the View handles display. In ASP.NET, INNERLUXES implemented Razor syntax to create the views, with the controller selecting the view after authorizing a request and formulating a response — handling separate authorizations to support the multi-tenant design.
The Impact
- A proprietary, multi-tenant ASP.NET MVC middleware replacing off-the-shelf IPTV software.
- An API-based content-delivery and streaming core with admin, content-management, dashboard, and reporting modules.
- Multi-tenant data isolation enabling white-labeling for resellers.
- An Ethereum ERC-20 token and ICO to incentivize subscriptions.
- An iOS app delivering live and on-demand streaming via channel servers.
Technologies and Tools
ASP.NET MVC (Razor), Web API / REST, Windows Server, IIS, Visual Studio 2017, cloud-based SQL Server 2016; Ethereum (ERC-20 token, ICO, smart contracts); iOS.