A non-transitory computer-readable medium comprising a computer program product stored thereon and comprising code instructions for operating a communication device offering a plurality of features by a plurality of virtual machines which run on a virtualized representation of a plurality of hardware components, when loaded and run on said communication device, wherein the instructions comprise:
- instructions configured to store at least one table associated with the communication device comprising, for each of the plurality of features, a mapping between that feature and a corresponding set of virtual machines of said plurality of virtual machines and a corresponding set of hardware components of said plurality of hardware components that are required to enable the corresponding feature, said mapping comprising common sets of both virtual machines and hardware components including relations therebetween or separate sets of virtual machines and hardware components,
- wherein, for at least one feature of the plurality of features, said corresponding set of hardware components contains at least two hardware components, and
- wherein, for at least one feature of the plurality of features, said corresponding set of virtual machines contains at least two virtual machines;
- and
- instructions configured to, decide to activate a first group of features of the plurality of features and to deactivate a second group of features of the plurality of features that are not in the first group, and then subsequently to switch on or off virtual machines of said plurality of virtual machines and hardware components of said plurality of hardware components on said device depending on said at least one table, comprising:
- switching on the virtual machines of said plurality of virtual machines and the hardware components of said plurality of hardware components which, according to the at least one table, are required to enable the features of said first group of features;
- and
- switching off the virtual machines of said plurality of virtual machines and the hardware components of said plurality of hardware components which, according to the at least one table, are required to enable the features of said second group of features but are not required to enable the features of said first group of features.