Configuration-aware functionality enablement in information processing system environment
Intelligent functionality enablement techniques are disclosed. In one example, a method comprises obtaining a functionality enablement file comprising at least a first block and a second block, wherein the first block is usable to activate one or more features of a product and the second block is usable to perform a configuration setup to enable the product to operate in accordance with at least one computing platform.
1 . A method comprising:
storing, in a secure storage system, a functionality enablement file comprising at least a first block and a second block, wherein the first block is configured to activate one or more features of a product based on a user selection of the one or more features of the product, and wherein the second block is configured to perform a configuration setup to enable the product to operate in accordance with a first computing platform based on a product identity of the product, the selected one or more features of the product, configuration criteria of the product, configuration criteria of the selected one or more features of the product, and operational data criteria for the configuration setup;
sending, from the secure storage system to the product, the first block for activation of the selected one or more features of the product; and
in response to detection of the activation of the selected one or more features of the product, sending, from the secure storage system to a device of a second computing platform, the second block to perform the configuration setup of the product by the device;
wherein the first computing platform is a cloud computing platform managed by a provider of the product and the second computing platform is an edge computing platform coupled to the product and to the cloud computing platform, and further wherein the product lacks access to the first computing platform.
2 . The method of claim 1 , wherein:
the first block of the functionality enablement file is encrypted with a first public key of a first cryptographic key pair that also comprises a first private key corresponding to the first public key; and
the second block of the functionality enablement file is encrypted with a second public key of a second cryptographic key pair that also comprises a second private key corresponding to the second public key.
3 . The method of claim 2 , further comprising:
storing, the first private key, and the second private key in the secure storage system accessible by the product and the device, respectively.
4 . The method of claim 3 , further comprising:
obtaining, by the product, the first private key from the secure storage system;
decrypting, by the product, the first block using the first private key; and
activating, by the product, the one or more features of the product.
5 . The method of claim 4 , further comprising:
obtaining, by the device, the second private key from the secure storage system;
decrypting, by the device, the second block using the second private key; and
performing, by the device, the configuration setup to enable the product to operate in accordance with the first computing platform.
6 . The method of claim 5 , wherein obtaining the second private key, decrypting the second block using the second private key, and performing the configuration setup to enable the product to operate in accordance with the first computing platform are performed following detection that the one or more features of the product have been activated.
7 . The method of claim 1 , wherein the first block comprises product activation-related data.
8 . The method of claim 1 , wherein the second block comprises a set of one or more configuration instructions for setting up the product to operate in accordance with the first computing platform.
9 . The method of claim 1 , wherein the product and the device of the second computing platform reside at a data center of a customer that obtained the product from the provider of the product.
10 . An apparatus comprising:
at least one processing platform comprising at least one processor coupled to at least one memory, the at least one processing platform, when executing program code, is configured to:
store, in a secure storage system, a functionality enablement file comprising at least a first block and a second block, wherein the first block is configured to activate one or more features of a product based on a user selection of the one or more features of the product, and wherein the second block is configured to perform a configuration setup to enable the product to operate in accordance with a first computing platform based on a product identity of the product, the selected one or more features of the product, configuration criteria of the product, configuration criteria of the selected one or more features of the product, and operational data criteria for the configuration setup;
send, from the secure storage system to the product, the first block for activation of the selected one or more features of the product; and
in response to detection of the activation of the selected one or more features of the product, send, from the secure storage system to a device of a second computing platform, the second block to perform the configuration setup of the product by the device;
wherein the first computing platform is a cloud computing platform managed by a provider of the product and the second computing platform is an edge computing platform coupled to the product and to the cloud computing platform, and further wherein the product lacks access to the first computing platform.
11 . The apparatus of claim 10 , wherein:
the first block of the functionality enablement file is encrypted with a first public key of a first cryptographic key pair that also comprises a first private key corresponding to the first public key; and
the second block of the functionality enablement file is encrypted with a second public key of a second cryptographic key pair that also comprises a second private key corresponding to the second public key.
12 . The apparatus of claim 11 , wherein the at least one processing platform, when executing the program code, is further configured to cause storage of the first private key, and the second private key in the secure storage system accessible by the product and the device, respectively.
13 . The apparatus of claim 12 , wherein the at least one processing platform, when executing the program code, is further configured to:
obtain, by the product, the first private key from the secure storage system;
decrypt, by the product, the first block using the first private key; and
activate, by the product, the one or more features of the product.
14 . The apparatus of claim 13 , wherein the at least one processing platform, when executing the program code, is further configured to:
obtain, by the device, the second private key from the secure storage system;
decrypt, by the device, the second block using the second private key; and
perform, by the device, the configuration setup to enable the product to operate in accordance with the first computing platform.
15 . The apparatus of claim 14 , wherein obtaining the second private key, decrypting the second block using the second private key, and performing the configuration setup to enable the product to operate in accordance with the first computing platform are performed following the detection that the one or more features of the product have been activated.
16 . The apparatus of claim 10 , wherein the first block comprises product activation-related data.
17 . The apparatus of claim 10 , wherein the second block comprises a set of one or more configuration instructions for setting up the product to operate in accordance with the first computing platform.
18 . The apparatus of claim 10 , wherein the product and the device of the second computing platform reside at a data center of a customer that obtained the product from the provider of the product.
19 . A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device to:
store, in a secure storage system, a functionality enablement file comprising at least a first block and a second block, wherein the first block is configured to activate one or more features of a product based on a user selection of the one or more features of the product, and wherein the second block is configured to perform a configuration setup to enable the product to operate in accordance with a first computing platform based on a product identity of the product, the selected one or more features of the product, configuration criteria of the product, configuration criteria of the selected one or more features of the product, and operational data criteria for the configuration setup;
send, from the secure storage system to the product, the first block for activation of the selected one or more features of the product; and
in response to detection of the activation of the selected one or more features of the product, send, from the secure storage system to a device of a second computing platform, the second block to perform the configuration setup of the product by the device;
wherein the first computing platform is a cloud computing platform managed by a provider of the product and the second computing platform is an edge computing platform coupled to the product and to the cloud computing platform, and further wherein the product lacks access to the first computing platform.
20 . The computer program product of claim 19 , wherein:
the first block of the functionality enablement file is encrypted with a first public key of a first cryptographic key pair that also comprises a first private key corresponding to the first public key; and
the second block of the functionality enablement file is encrypted with a second public key of a second cryptographic key pair that also comprises a second private key corresponding to the second public key.