Hello! Every second worldwide, the number of interactions between digital subjects and objects in everyday life, education, medicine, the Internet of things, industry, high technology, commerce, entertainment, telecommunications and financial services is growing.
Digital objects: video, webcam, game, e-book, smart home, car, fitness gadget, payment terminal, database, content storage, sensors in agriculture, bank, etc. - all of them interact according to the agreements that include the participants, the conditions and the subject of interaction.
How to manage these interactions and contracts between countless participants? There was no solution. In this article, the
Aggregion team that creates a digital rights management platform will talk about the issues of digital rights, the motivation to create a project, the real needs and architecture of a project that manages millions of entities within the digital law life cycle. Inside the article there are
sidebars with quotes from
Nukri Basharuli , the project’s founder, and
Denis Bezrukov , the head of development.
Aggregion creates a digital rights management platform that allows you to build and control any complexity of the distribution scheme of digital rights, their conditions and operations on them.
')
Nukri: I worked in a project with Intel in education, when in one of the schools, along with the equipment - school laptops - the teachers were asked to put educational content. Appealed to major publishers with a request to sign a license agreement and provide content. It seemed to me that this is a simple task. As a result, the signing of the contract took 1.5 years. This has repeatedly exceeded my expectations, prompting the idea that everyone who is trying to obtain rights to digital products is faced with such a problem. He formulated a hypothesis that the digital products market needs digital rights processing like Mastercard. They move money, and processing should move digital licenses. So Aggregion appeared.Aggregion is working on:
- Digital Rights Management System
- Digital rights billing and limit management
- Integration adapters for related solutions.
Nukri: As previously mentioned, we work with digital copyright holders. They create products: services, software, applications, content, books, videos, etc. These products may consist of digital objects that can be assembled into a product according to copyright (license) agreements. Then these products (objects) can be sent to resellers. A license agreement works for this, and these products can be sold in channels in various modifications. Distribution channels of such products can be many, often different. Every day there are new. The question is, on the one hand, how to assemble right holders and their products, and, on the other hand, to connect multiple sales channels and at the same time observe complex licensing models for digital objects (products)? For this, Aggregion is created - a single mechanism for controlling the distribution of such products.Digital rights management projects are already being implemented together with Microsoft, Intel, Disney, Pearson, Vodafone, financial institutions, major retailers, and others.
For example, a decision made for one of the regional branches of Disney. In essence, the Aggregion license processing platform allows Disney to license and safely sell its digital content through various distribution channels and numerous distributors, while maintaining complete control.
What is the essence of this system? We attach both text and image:
- Azure services that allow you to quickly download content, convert it to the desired format and ensure uninterrupted transfer to the user's device. Basically here Azure Storage, Blobs.
- Single catalog , in which a large number of different products are aggregated. At first it was just a directory, now we are planning to release integration with Azure Machine Learning so that we can automatically build directories and descriptions for digital objects of any type, which should reduce the manual work of rights holders.
- For each product, a licensed model is built, including hundreds of licensing parameters that describe the rules for using the product from the DRM scheme to geo-targeting.
- Billing and limit management is a separate module to automatically calculate all participants of the distribution channel and control the limits on operations with content.
- Integration adapters to adjacent systems : content players, protection systems, Smart TV, marketplaces, POS-terminals, etc.
EquipmentThe team designed the solution architecture immediately in the cloud, but the solution can be limitedly used in a hybrid mode.
Below is the visually life cycle of the entire request from loading the document to issuing the protected document to the user.

It all starts with saving user files. Users can quickly and reliably watch them on client devices. For this - Azure Blob Storage. Aggregion provides the ability to use the internal storage of Aggregion (Azure Blob Storage + CDN), and gives customers the ability to connect to the Aggregion own storage of Azure Blob Storage - just enter your credentials. The process of downloading content is as follows:

Noticed the material protection unit? This is a lot of tasks, so they are performed by several services. For streaming and video content protection - Azure Media Services. Unfortunately, the Aggregion task conditions do not allow using the video encoding service provided by AMS, however, we achieved excellent results using virtual machines with GPUs in Azure. Video uploaded by the client is processed on N-series virtual machines using hardware acceleration using NVIDIA Tesla M60. Aggregion managed to achieve a video encoding speed of more than 10 times the encoding speed on the CPU.
Denis Bezrukov, development manager: The original video is divided into several audio tracks for different languages, subtitle tracks are extracted, the original video track is encoded with different resolutions and bit rate to support adaptive playback. To do this, we use the ffmpeg utility compiled with support for the h264_nvenc and cuvid modules. The decoding of the original video track is carried out by means of the GPU in the event that the source stream is encoded using a codec supported by the video card and using a supported color profile. Otherwise, decoding is performed by means of the CPU. Coding in all cases is carried out by means of a GPU. Provided the source video is encoded with the parameters supported by the video card, it has a resolution of 1080p, the speed of the complete simultaneous encoding process at resolutions of 320p, 480p, 720p and 1080p is, on average, 15-20x. In the case of using the GPU for encoding only, the speed is, on average, 2-3x. A similar process without using a GPU shows a speed of 0.2-0.3x. Thus, we have achieved a video encoding speed of at least 10 times higher than when using a CPU. Despite the fact that virtual machines with N-series with GPU are more expensive than ordinary virtual machines, due to the high speed of encoding performance on them, we end up spending significantly less money.The life cycle of video content is as follows:
Licenses are managed using Microsoft Azure RMS (Right Management Services). Rights to a document hosted in Aggregion can be distributed using any available license management tools in Aggregion and ultimately set for the document using the RMS PaaS service in the cloud.
Nukri: users of our system are divided into 2 types: Publishers and Consumers. Publishers load different types of content into the system, manage license rights, build dealer chains. Users consume content: download and read e-books, watch videos, use online resources. When a publisher downloads content to the system, it is pre-processed: video is recoded for adaptive streaming, e-books are encrypted with our own DRM.
When loading content, the main application places the task for encoders in the RabbitMQ queue. The task contains all the necessary information so that the encoder instance can process the content and upload it to the repository, or publish the Asset to Azure Media Services.
That's the whole system. The system could handle hundreds of millions of simultaneous users. Where so much?
Nukri: in the system there is a huge number of objects of digital law on the one hand, and on the other hand more than 100 million virtual users who perform different tasks on working with these rights of these objects - create, modify, distribute, use - work with individual objects or groups . The rights of digital objects, as a rule, consist of tens, sometimes hundreds of parameters. You can imagine the scale of such a task. And that was a year ago. Today, the volume of digital rights managed by our platform has grown many times, given the current pace of cooperation with rightholders, I can assume that after a few number of digital objects under management will amount to billions.Instead of conclusionThe main tasks of Aggregion are to implement rights management projects in all the most interesting industries, of which there are 27 and to connect the largest rightholders to the platform. We did not expect such a high interest in the platform from the world's largest rightholders. Each of them has set us a difficult task.
The most important advantage of using Azure is the security of customer data. In no other cloud, there are so many ready-to-use products and at the same time pro-leased by our largest customers.