Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

Overview of the Base Driver Architecture 

The Figure 4 shows a simplified component view of the base driver. The driver is composed of two components, the exporter and importer; both using the CyberDomo library, which is a modified version of the library released by the "CyberLink for Java" project, maintained by the Domoware project. The library implements a full UPnP stack. The base driver acts as a bridge between OSGi and the UPnP networks .

Figure 4 The UPnP Base Driver architecture

In order to instantiate UPnP devices, developers must register services implementing the interfaces represented in Figure 5 and provided by the org.osgi.compendium bundle. The exporter is registered as ServiceListener with the framework and it automatically exposes on the networks each UPnPDevice service registered with the registration property UPNP_EXPORT. The importer listens to the advertisements sent on the networks by external devices and registers with the framework one or more UPnPDevice services. Even if it is not required by the specification, the devices imported by the Felix base driver are labeled with the registration property UPNP_IMPORT.

Figure 5 The UPnP Device interfaces

...

The system properties:
cyberdomo.ssdp.mx (default 5)
cyberdomo.ssdp.buffersize (default 2048)
cyberdomo.ssdp.port (default 1900)unmigrated-wiki-markup

are used by the UPnP stack library during the UPnP discovery process. The paper "[Adaptive Jitter Control for UPnP M-Search|http://w3.antd.nist.gov/~mills/papers/Paper521.pdf]" \ [1\] provides a good analysis of the tuning of such parameters related to scalability issues. The MX parameter default has been set to 5 sec. Higher values improve the discovery effectiveness but increase the latency for new device discovery. The Intel "[Device Spy|http://www.intel.com/cd/ids/developer/asmo-na/eng/downloads/upnp/index.htm]" tool uses a delay of 10 sec, the "CyberLink for Java" library 3 sec. The SSDP port in UPnP specification is by default 1900 we allow the modification of such parameter.

The following system properties:
felix.upnpbase.exporter.enabled (default true)
felix.upnpbase.importer.enabled (default true)

...

felix.upnpbase.cyberdomo.net.loopback (default false)
felix.upnpbase.cyberdomo.net.onlyIPV4 (default true)
felix.upnpbase.cyberdomo.net.onlyIPV6 (default false)

Getting Started << | >> Testing UPnP Devices

...

Wiki Markup\[1\] K. Mills, C. Dabrowski "Adaptive Jitter Control for UPnP M-Search" IEEE International Conference on Communications, 2003. ICC '03. page(s): 1008\- 1013 vol.2