Memory monitoring in a multi-tenant OSGi execution environment

Smart Home market players aim to deploy component-based and service-oriented applications from untrusted third party providers on a single OSGi execution environment. This creates the risk of resource abuse by buggy and malicious applications, which raises the need for resource monitoring mechanisms. Existing resource monitoring solutions either are too intrusive or fail to identify the relevant resource consumer in numerous multi-tenant situations. This paper proposes a system to monitor the memory consumed by each tenant, while allowing them to continue communicating directly to render services. We propose a solution based on a list of configurable resource accounting rules between tenants, which is far less intrusive than existing OSGi monitoring systems. We modified an experimental Java Virtual Machine in order to provide the memory monitoring features for the multi-tenant OSGi environment. Our evaluation of the memory monitoring mechanism on the DaCapo benchmarks shows an overhead below 46%.

[1]  Paolo Traverso,et al.  Service-Oriented Computing: State of the Art and Research Challenges , 2007, Computer.

[2]  Perry Cheng,et al.  Oil and water? High performance garbage collection in Java with MMTk , 2004, Proceedings. 26th International Conference on Software Engineering.

[3]  Stéphane Frénot,et al.  Classification of Component Vulnerabilities in Java Service Oriented Programming (SOP) Platforms , 2008, CBSE.

[4]  Stéphane Frénot,et al.  I-JVM: a Java Virtual Machine for component isolation in OSGi , 2009, 2009 IEEE/IFIP International Conference on Dependable Systems & Networks.

[5]  Daniel Pakkala,et al.  A Method for the Resource Monitoring of OSGi-based Software Components , 2008, 2008 34th Euromicro Conference Software Engineering and Advanced Applications.

[6]  Koutheir Attouchi,et al.  Adaptive monitoring of end-user OSGi-based home boxes , 2012, CBSE '12.

[7]  João Leitão,et al.  A-OSGi: a framework to support the construction of autonomic OSGi-based applications , 2012, Int. J. Auton. Adapt. Commun. Syst..

[8]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[9]  Walter Binder,et al.  Program transformations for light-weight CPU accounting and control in the Java virtual machine , 2008, High. Order Symb. Comput..

[10]  Julia L. Lawall,et al.  VMKit: a substrate for managed runtime environments , 2010, VEE '10.