# Globally Executable MHP

Globally Executable MHP (GEM) ist eine DVB-Spezifikation einer Java-basierten Softwareplattform für interaktive Dienste im digitalen Fernsehen, wie Geräte für das Internetfernsehen IPTV, Set-Top-Boxen und Blu-ray-Abspielgeräte. GEM ist ein Standard des Europäischen Instituts für Telekommunikationsnormen (ETSI TS 102 819, ETSI TS 102 728) und eine Empfehlung der International Telecommunication Union (ITU-T J.202). GEM definiert gemeinsame Application Programming Interfaces (API) und Funktionalitäten für unterschiedliche Geräteklassen, die unabhängig von den Netzwerkprotokollen und der Signalisierung in einem spezifischen Übertragungsnetz sind und daher interoperable Java Applikationen ermöglichen.
GEM wird nicht direkt implementiert, sondern bildet die Basis für Endgerätespezifikationen für spezifische Netze (z. B. amerikanische Kabelnetze, IPTV) oder Geräteklassen (z. B. Blu-ray Disc player). GEM definiert Profile für unterschiedliche Geräteklassen (targets). Diese legen die verfügbaren Funktionalitäten für die zugehörige Geräteklasse fest. Gegenwärtig definiert GEM Geräteklassen für Broadcast, Packaged Media (Blu-Ray), IPTV und OTT (Internet). Diese Geräteklassen können zu einer Hybrid-Plattform kombiniert werden, wodurch Geräte mit unterschiedlichen Netzwerkschnittstellen, wie beispielsweise eine kombinierte Broadcast/Internet Set-Top Box ermöglicht werden.

## Geschichte

Vor mehreren Jahren entwickelte das DVB-Projekt eine Java-basierte Softwareplattform namens MHP, die es ermöglichte, Software Applikationen für Digitale Fernsehplattformen zu entwickeln. Beispiele für solche Anwendungen sind unter anderem Electronic Program Guides (EPG), Video on Demand (VOD), Nachrichtenticker, Videotext, Interaktive Applikationen, E-Mail etc. Die Festlegungen der MHP definieren die Übertragung von MHP-Anwendungen (xlets) über DVB-basierte Übertragungsnetze (z. B. terrestrische Netze über DVB-T, Satelliten-Netze über DVB-S, Kabelnetze über DVB-C). Nachdem andere Standardisierungsorganisationen wie beispielsweise CableLabs und die Blu-ray Disc Association beschlossen, ihre eigenen standardisierten Softwareplattformen für DTV auf MHP aufzubauen, wurde es erforderlich, eine Basisspezifikation für diese Anwendungsfälle zu schaffen, die von den protokoll- und übertragungsspezifischen Elementen von MHP abstrahiert, aber die Programmierschnittstellen (APIs) beibehält und dadurch eine breite Interoperabilität von Applikationen auf verschiedenen Endgeräten ermöglicht.
Mittlerweile ist GEM die primäre Middlewarespezifikation des DVB und eine eigenständige Version von GEM wurde in ETSI TS 102 728 publiziert, die jüngste Version von MHP ETSI TS 102 727 ist von GEM abgeleitet.

## Plattformen

Gegenwärtig basieren die folgenden Standards auf GEM:
* Die Multimedia Home Platform (MHP), die offene Multimedia Softwareplattform vom DVB-Projekt,
* Die Open Cable Application Platform (OCAP / tru2way), eine Softwareplattform für Kabelnetze in Nordamerika, die von CableLabs standardisiert wird,
* Die Advanced Common Application Platform (ACAP), die von Nordamerikas ATSC standardisiert wird,
* GEM-IPTV, eine GEM-Variante für Telekommunikationsnetzwerke,
* ARIB B.23, die in Japan von ARIB standardisiert wird,
* PAE, die Java basierte prozedurale Middleware des Open IPTV Forum,
* BD-J die Java-Plattform für Blu-ray.
Da alle diese Plattformen auf Java und einen gemeinsamen GEM-Kern basieren, ist es möglich, Applikationen zu schreiben, die für diese Plattformen interoperabel sind.