OSGi4C: enabling OSGi for the cloud

  • Authors:
  • Holger Schmidt;Jan-Patrick Elsholz;Vladimir Nikolov;Franz J. Hauck;Rüdiger Kapitza

  • Affiliations:
  • Ulm University, Germany;Ulm University, Germany;Ulm University, Germany;Ulm University, Germany;University of Erlangen-Nürnberg, Germany

  • Venue:
  • Proceedings of the Fourth International ICST Conference on COMmunication System softWAre and middlewaRE
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

OSGi is an industry standard for a lean Java-based component system with focus on local applications following the service-oriented architecture. Initially developed for dedicated application domains such as gateways and set-top boxes it is meanwhile used in many other areas, with Eclipse as a prominent example. OSGi allows dynamic deployment of components called bundles with automatic local dependency resolution on basis of exported Java packages. In this regard, OSGi builds an ideal basis for demand-driven deployment of complex Java applications, such as needed in the context of emerging cloud computing infrastructures. However, it lacks distributed code deployment and resolving. We present OSGi for the Cloud (OSGi4C), a novel OSGi service allowing seamless deployment of locally non-existent OSGi bundles and services on demand without requiring any changes to the OSGi platform. In OSGi4C, we use an underlying peer-to-peer infrastructure to provide, share and load OSGi bundles at runtime. Unlike related work, OSGi4C automatically resolves OSGi bundle and service dependencies. Therefore, dependent bundles that are not yet locally installed are also deployed. OSGi4C considers platform-specific implementations (e.g., native code) and non-functional requirements (e.g., performance and resource demand) while automatically discovering and selecting the best of multiple available bundles for download.