Code Name Table

To quickly decipher what the different code names used in Marlin technology stand for, refer to the table below.

Code NameProduct Name (if applicable)Description


Bento4 Packager


A C++ class library designed to read and write ISO-MP4 files.  Bento4 supports a number of extensions, including some support for ISMA Encryption and Decryption as defined in the [ISMA E&A] specification, OMA 2.0 DCF/PDCF Encryption and Decryption as defined in the [OMA 2.0 DCF/PDCF] specification, and iTunes-compatible metadata. The SDK includes a number of command line tools, built using the class library, that serve as general-purpose tools as well as examples of how to use the API.



Marlin Broadband Server

A JBoss-hosted Java-based installable server that implements the server-side Marlin Broadband DRM functionality. The DRM Server relies on a Back Office service for executing the business logic associated with each DRM transaction and for providing it with data such as license parameters and content keys. A rudimentary implementation of such a service is included as a test service. Two manuals are included with the server. One describes installation, configuration, and administration. The other documents the server-to-service XML interface used for communication between Bluewhale and the Back Office.



Marlin Conformance Test Suite

A test environment that ensures that specific types of implementations, such as Sushi-based Marlin clients, and Bluewhale servers that have been customized via configuration, conform to the Marlin specifications.


Marlin Proximity Detection Process

A protocol used to detect the network proximity of two devices.



Marlin Reference Implementation

A Java reference implementation of a Marlin client and  a Marlin server.



Marlin Compiler

A Plankton compiler written by Philips and contributed to community code. It compiles a C-like language into Plankton bytecode, with special support for Extended Status Blocks.

NEMO (Networked Environment for Media Orchestration)

Marlin Trusted Messaging Protocol

A framework for trusted connections between the various components of a Marlin DRM System. NEMO combines SOAP web services with SAML authorizations to provide end-to-end message integrity and confidentiality protection, entity authentication, and role-based service authorization.


Marlin DRM Framework

A general-purpose DRM architecture. The Marlin specifications are an application of this generic DRM architecture to consumer media distribution. In particular, Marlin uses Octopus for governance and key management.



A technical specification for packaging content so that it can be rendered by Marlin and OMA-compliant devices. For example, if a song is packaged according to the OMArlin specification, then both a Marlin media player and a phone with an OMA DRM v2.0 engine can play that song.


Marlin License Evaluator

A minimal assembly language used by Octopus to evaluate licenses. Octopus will create a small-footprint Plankton virtual machine to run Plankton code.


Marlin Key Distribution Scheme

A method for securely distributing keys in Marlin.



The protected database used by Marlin Clients to store state information (such as playcounts, etc.).


Graphical interface for Marlin Client SDK

A program that runs on Windows and provides a graphical interface to common Sushi functionality such as personalizing, displaying lists of users and services, processing tokens, exercising licenses, and configuring the Sushi SDK.


Marlin Broadcast Encryption Scheme

The Marlin broadcast encryption scheme based on HBES (Hierarchical Hash-Chain Broadcast Encryption Scheme) used to exclude Marlin clients from content distribution.



A rich test suite (written in Java) that tests the Marlin Broadband Server (Bluewhale). It includes smoke tests, comprehensive tests, and performance tests. It also includes a GUI application for personalizing, registering, acquiring licenses and subscriptions, and license evaluation. Content is not rendered, but licenses are evaluated and the content key is extracted.


Marlin Client SDK

A C/C++ software development kit (SDK) that exposes a simple application interface providing access to all the Marlin DRM functionality necessary to implement a Marlin Broadband Client. Included in this SDK are a number of tools and examples, such as command line utilities to exercise the Marlin client-server protocols to the extent necessary for testing and debugging. The SDK includes build targets for a number of platforms, as well as detailed API documentation.