Video Production Server Array
TeleMuse Networks implemented from ExecProducer specification a novel Video Production server array. Scalable to millions of concurrent video productions, the array is a gigantic 3-tier client / server application that implements the ExecProducer Massive Video Production concept.
The architecture of the MVP service mechanism is in essence an object-oriented software reimplementation of a studio and broadcast environment.
Like managing multiple concurrent real estate projects, resouces and space are allocated virtually to an authorized production for the duration of its run and then returned for use in another production. Production is automated and of high-quality.
Access is through the most commonplace Internet interaction – email. Schedules, searches, and ratings / reports are built-in as part of the customer experience.
The architecture is a hosted software enterprise three tiered application in a datacenter.
Almost all of the software is in Python scripts, with key bottleneck portions that are memory / CPU intensive like codecs implemented in C/C++ native compiled code.
An object database and a SQL database retain the software objects, schema of external data relationships, and a mass filer holds the video library content files.
A security mechanism is used to decouple each tier such that all tiers must be successively compromised in order to penetrate file contents.
It is also possible to independantly manage operations for each of the tiers, potentially with different business partnerships.
Entry to MVP is through a massive web/email front end that optimizes mass input of volumes of potentially huge (e.g. 100 to 500 MByte) emails. Spam, authorization challenges, email flooding, and other potential attacks are handled by the front end.
Format and standards issues are addressed by a proactive support environment that redirects to existing customer support services already present elsewhere on the web.
The application tier is a scaleable software cluster that handles coarse grain parallelism of separate video tasks scaled by a joint resource scheduler. All elements are identical and seperately replaceable, and can be added / dropped in operation. If too few are available to meet demand, the application array processing rate falls gracefully. Processing elements can be run independantly to test new versions of the application, and to experiment with integration of new video processing technologies and techniques.
Each processor element possesses tools for video manipulation under scripted control through external XML description. Supporting software systems are used to translate from existing production systems into the XML description held in the database. Specialized use of low-latency communications technologies allow for high effiency remote procedure calls to coordinate processor elements, achieving extremely high server resource utilization
Back-end systems supporting databases and filers can be run in fault tolerent duplex mode with a variety of different technology bases, and potentially in different geographic locations.
A significant consideration is the network architecture of the datacenter, specifically the entry/exit structure to the head end and its peerage on the network. To handle the resulting potential load of millions of high bandwidth media streams, a distributed video architecture that moves more of the content closer to the edge is a desireable refinement anticipated for ultimate deployment.