Cling OSGi UPnP Device Service
Cling is a UPnP-compatible software stack for Java environments. UPnP (Universal Plug and Play) is a set of networking protocols that permits networked devices, such as personal computers, printers, Internet gateways, Wi-Fi access points and mobile devices to seamlessly discover each other's presence on the network and establish functional network services for data sharing, communications, and entertainment. UPnP is intended primarily for residential networks without enterprise-class devices.
The Cling OSGi UPnP Device Service is an implementation of the OSGi UPnP Device Service specification version 1.1. This OSGi specifications address how code can be run and managed in a remote system.
The Cling UPnP Service includes UPnP network listeners, background maintenance threads, etc. Cling accepts a custom RegistryListener instance which is notified of all incoming device and service registrations as soon as the network stack is ready. Using a Cling RegistryListener the base driver can observe the discovery of devices and then register them with the OSGi framework.
An OSGi bundle exposes its UPnP device services by registering them with the OSGi framework. Using an OSGi framework ServiceTracker the base driver can observe the registration of these services and then present them externally using Cling’s UPnP Service.