Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Downloadable Application Containers (DAC) is a pan-RDK initiative to develop a container solution that allows binary applications to be downloaded and run on STBs without modification.


DAC is initially targeting RDK-V set-top boxes but the aim is to extend DAC to suitable RDK-B devices in due course. DAC is a co-operation effort between Comcast, Sky, Liberty Global, Metrological RDK-M and Consult Red. The work for this is co-ordinated by by RDK DAC Special interest Group (RDKDACSIG)

This group initially focused on RDK-V and that is what this wiki page describes/focus on, but many of same principles/components are also suitable on RDK-B 

Overview

Below is a detailed reference architecture diagram for RDK-Video

draw.io Diagram
bordertrue
diagramNameE2EArchitecture
simpleViewerfalse
width600
linksauto
tbstyletop
lboxtrue
diagramWidth1073
revision14

The diagram above provides a high level end-2-end overview of system. It is divided into 3 4 functional areas:

  • APP SDK - The SW development toolkit for App developers. That allows Appdeveloper to build and package its application in oci, dac compliant AppContainer. This AppContainer is then the binary that can be shared/exchanged with RDK-M and various RDK operators via an OCI container registry.
  • OCI container registry: is standard Cloud component that allowing storage and exchange of AppContainers. As described above this is the exchange point for the binary AppContainer between Appdeveloper and consuming parties/operators
  • DAC
  • STB / CPE - This is software components that run on set top box and co-ordinate to manage container installation and runtime life cycles
  • Cloud - These are cloud hosted software elements and RESTful online services , typically run as microservices that allow containerised Apps to be published, processed and tailored to STB box types and downloadedSDK - The SW development toolkit for App developers. These are changes made to the Firebolt ® SDK to allow Apps to be developed and tested prior to publication
  • STB / CPE - This is software components that run on set top box and co-ordinate to manage container installation and runtime life cycles

These are discussed further in the following sections

...

In later stage DAC cloud µServices for automatically creating bundles has been contributed, also solution that adds security (signing and encryption).  For summary overview documentation on that we refer to DAC session at Technology Summit 2023#pane-uid-b13cbeba-87dc-4f0a-9932-5b7e00770663-1  Documentation on DAC security is available to access restricted page DAC Security 

APP SDK

To develop A DAC applications, an SDK has been developed that to make it easier for AppDevelopers to develop and build oci, dac ompliant containerized applications. The SDK is public, fully open source and uses standard Yocto 3.1 Dunfel Poky environment. The DAC SDK can run a developer workstation, does not require any proprietary or SoC specific code to be able to build your application. It is available on https://github.com/rdkcentral/meta-dac-sdk  The SDK allows developers to write Bitbake recipes that compile their code and produce an OCI compliant AppContainer image. This OCI image can then be uploaded to an OCI registry for sharing the binary AppContainer with possible consumers. Appdeveloper can then also register and publish its application to RDK-M DAC Cloud for Video Accelerator where it can will be automatically converted and downloaded to a STB ready to bundles that allow to be run by Dobby. The SDK is based on Yocto 3.1 Dunfell and does not require any RDK specific layers - instead it uses the standard Poky distribution and can run on a developer's workstation, independent of any other build systems. This decreases the amount of time it takes for a developer to build and test their application, reducing development time.

Apps build using the DAC SDK are also designed to be cross-platform, since the OCI image will contain all the necessary dependencies. Providing the platform supports the necessary DAC libraries such as Wayland, the application will run on that platform with no manual modifications.

As part of the SDK, a number of example application recipes are included such as a Wayland EGL and Qt application.

downloaded and run on any RDK6.1 Video Accelerator independent of its SoC beneath.

Fore more information on DAC SDK we refer to HOWTO to build your native App with DAC SDK and publish to RDK-M DAC cloudThe SDK is currently in Alpha and is subject to change as development continues. See here DAC SDK for more information


Background and Terminology

...