Methods, systems, and computer program products for identifying and enforcing software feature limits across different hardware platforms, software releases, and tiers
First Claim
1. A method for identifying and enforcing a software feature limit, the method comprising:
- (a) storing a data structure on a hardware platform, the data structure including a plurality of feature limits for a plurality of software features, each feature limit being indexed by at least a software program identifier, a software release level identifier, and a feature identifier;
(b) initializing software on the hardware platform;
(c) determining a release level of the software, wherein the release level identifies a software version having a set of operational capabilities;
(d) determining a commit level, wherein the commit level identifies a software release level for determining feature limits to be enforced on the set of operational capabilities, wherein the commit level is determined by the software version that is committed to the hardware platform;
(e) invoking a feature limit manager independent from the software and providing at least a software program identifier, a commit level identifier, and a feature identifier as input to the feature limit manager, wherein the feature limit manager uses the input to query the data structure for a feature limit;
(f) receiving the feature limit from the feature limit manager corresponding to the commit level and based on the input; and
(g) enforcing the feature limit during execution of the software corresponding to the commit level, wherein enforcing the feature limit includes monitoring a value of a variable associated with the feature limit during execution of the software, determining whether the feature limit has been met, and in response to determining that feature limit has been met, preventing the feature limit from being exceeded.
9 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and computer program products for identifying and enforcing software feature limits across different hardware platforms, software releases, and tiers are disclosed. According to one method, a feature limit data structure is stored on the hardware platform. Each entry in the feature limit data structure is indexed by at least a software program identifier, a software release level identifier, and a feature name. When software is initialized, its release level is determined. A feature limit manager separate from the software being initialized is invoked. At least the software program identifier, the release level, and the feature identifier are provided as input to the feature limit manager. The feature limit manager provides a feature limit value. The feature limit value is stored and the software uses the feature limit value to enforce the feature limit during execution.
13 Citations
28 Claims
-
1. A method for identifying and enforcing a software feature limit, the method comprising:
-
(a) storing a data structure on a hardware platform, the data structure including a plurality of feature limits for a plurality of software features, each feature limit being indexed by at least a software program identifier, a software release level identifier, and a feature identifier; (b) initializing software on the hardware platform; (c) determining a release level of the software, wherein the release level identifies a software version having a set of operational capabilities; (d) determining a commit level, wherein the commit level identifies a software release level for determining feature limits to be enforced on the set of operational capabilities, wherein the commit level is determined by the software version that is committed to the hardware platform; (e) invoking a feature limit manager independent from the software and providing at least a software program identifier, a commit level identifier, and a feature identifier as input to the feature limit manager, wherein the feature limit manager uses the input to query the data structure for a feature limit; (f) receiving the feature limit from the feature limit manager corresponding to the commit level and based on the input; and (g) enforcing the feature limit during execution of the software corresponding to the commit level, wherein enforcing the feature limit includes monitoring a value of a variable associated with the feature limit during execution of the software, determining whether the feature limit has been met, and in response to determining that feature limit has been met, preventing the feature limit from being exceeded. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for identifying and enforcing software feature limits, the system comprising:
-
(a) a computer storing a feature limit data structure for storing limits for a plurality of different software features corresponding to a commit level, each entry in the data structure being indexed by at least a software program identifier, a software release level, and a feature identifier, wherein the software release level identifies a software version having a set of operational capabilities; (b) a feature limit manager for receiving as input at least a program identifier, a commit level identifier, and a feature identifier, for using the input to query the data structure for a feature limit, and for accessing the feature limit data structure to obtain feature limits corresponding to the commit level to be enforced by software being initialized on a hardware platform, wherein the commit level identifies a software release level for determining feature limits to be enforced on the set of operational capabilities, wherein the commit level is determined by the software version that is committed to the hardware platform; and (c) a software program independent from the feature limit manager for invoking the feature limit manager, for providing the feature limit manager with the at least a program identifier, a commit level identifier, and a feature identifier as input, for receiving a corresponding feature limit from the feature limit manager, and for enforcing the feature limit corresponding to the commit level, wherein enforcing the feature limit includes monitoring a value of a variable associated with the feature limit during execution of the software, determining whether the feature limit has been met, and in response to determining that feature limit has been met, preventing the feature limit from being exceeded. - View Dependent Claims (7)
-
-
8. A computer program product comprising computer executable instructions embodied in a non-transitory computer readable medium for performing steps comprising:
-
(a) storing a data structure on a hardware platform, the data structure including a plurality of feature limits for a plurality of software features, each feature limit being indexed by at least a software program identifier, a software release level identifier and a feature identifier; (b) initializing software on the hardware platform; (c) determining a release level of the software, wherein the release level identifies a software version having a set of operational capabilities; (d) determining a commit level, wherein the commit level identifies a software release level for determining feature limits to be enforced on the set of operational capabilities, wherein the commit level is determined by the software version that is committed to the hardware platform; (e) invoking a feature limit manager independent from the software and providing at least a software program identifier, a commit level identifier, and a feature identifier as input to the feature limit manager, wherein the feature limit manager uses the input to query the data structure for a feature limit; (f) receiving the feature limit from the feature limit manager corresponding to the commit level and based on the input; and (g) enforcing the feature limit during execution of the software corresponding to the commit level, wherein enforcing the feature limit includes monitoring a value of a variable associated with the feature limit during execution of the software, determining whether the feature limit has been met, and in response to determining that feature limit has been met, preventing the feature limit from being exceeded.
-
-
9. A method for identifying a feature limit associated with software being initialized on a hardware platform, the method comprising:
-
(a) storing, on a hardware platform, a feature limit data structure having a plurality of entries specifying feature limits for software features, each entry being indexed by at least a software program identifier, a software release level, and a feature identifier, wherein the software release level identifies a software version having a set of operational capabilities; (b) determining a commit level for software being initialized on a hardware platform, wherein the commit level identifies a software release level for determining feature limits to be enforced on the set of operational capabilities, wherein the commit level is determined by the software version that is committed to the hardware platform; (c) receiving, from software being initialized on the hardware platform, a call requesting a value for a feature limit, the call including at least a software program identifier, the commit level, and a feature identifier as input; (d) accessing the feature limit data structure, locating an entry corresponding to the software program identifier, the commit level, and the feature identifier; and (e) providing the feature limit to the software being initialized, wherein the software being initialized enforces the feature limit, where enforcing the feature limit includes monitoring a value of a variable associated with the feature limit during execution of the software, determining whether the feature limit has been met, and in response to determining that feature limit has been met, preventing the feature limit from being exceeded. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A method for identifying and enforcing software feature limits based on a commit level, the method comprising:
-
(a) storing a feature limit data structure on a hardware platform, the feature limit data structure including a plurality of feature limits for a plurality of software features, each feature limit being indexed by at least a software program identifier, a software release level identifier, and a feature identifier; (b) initializing software on the hardware platform; (c) determining a release level of the software, wherein the release level identifies a software version having a set of operational capabilities; (d) determining a commit level, wherein the commit level identifies a software release level for determining feature limits to be enforced on the set of operational capabilities, wherein the commit level is determined by the software version that is committed to the hardware platform; (e) obtaining, from the feature limit data structure, feature limits corresponding to the commit level and based on at least a software program identifier, the commit level, and a feature identifier; and (f) executing the software using the feature limits corresponding to the commit level, wherein enforcing the feature limit includes monitoring a value of a variable associated with the feature limit during execution of the software, determining whether the feature limit has been met, and in response to determining that feature limit has been met, preventing the feature limit from being exceeded. - View Dependent Claims (16, 17, 18)
-
-
19. A system for identifying and enforcing software feature limits, the system comprising:
-
(a) a computer storing a feature limit data structure for storing limits for a plurality of different software features, each entry in the data structure being indexed by at least a software program identifier, a software release level, and a feature identifier; (b) a feature limit manager for accessing the feature limit data structure to obtain feature limits to be enforced by software being initialized on a hardware platform; and (c) a software program independent from the feature limit manager for invoking the feature limit manager, for providing the feature limit manager with at least a program identifier, a software release level identifier, and a feature identifier as input, for receiving a corresponding feature limit from the feature limit manager based on the input, and for enforcing the feature limit, wherein enforcing the feature limit includes monitoring a value of a variable associated with the feature limit during execution of the software, determining whether the feature limit has been met, and in response to determining that feature limit has been met, preventing the feature limit from being exceeded, wherein the software release level identifier identifies a software version having a set of operational capabilities, wherein the software release level identifier comprises a commit level, wherein the commit level identifies a software release level for determining feature limits to be enforced on the set of operational capabilities, wherein the commit level is determined by the software version that is committed to the hardware platform. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A universal system for identifying and enforcing software version feature limits across different hardware platforms, software releases, and tiers, the system comprising:
-
(a) a computer storing a feature limit data structure including entries containing feature limits for software operational parameters, each entry in the data structure being indexed by at least a hardware platform identifier, a software program identifier, a software release level identifier, and a feature identifier; and (b) a feature limit manager being callable by a plurality of different applications for obtaining software feature limits for different release levels of the applications from the feature limit data structure, wherein an application of the plurality of different applications is adapted to provide to the feature limit manager at least a software program identifier, a software release level identifier, and a feature identifier as input and wherein the feature limit manager is adapted to provide, based on the input, a corresponding feature limit to the application, wherein the application enforces the feature limit, wherein enforcing the feature limit includes monitoring a value of a variable associated with the feature limit during execution of the software, determining whether the feature limit has been met, and in response to determining that feature limit has been met, preventing the feature limit from being exceeded, wherein the software release level identifier identifies a software version having a set of operational capabilities, wherein the software release level identifier comprises a commit level, wherein the commit level identifies a software release level for determining feature limits to be enforced on the set of operational capabilities, wherein the commit level is determined by the software version that is committed to the hardware platform. - View Dependent Claims (26)
-
-
27. A computer program product comprising computer executable instructions embodied in a non-transitory computer readable medium for performing steps comprising:
-
(a) storing a data structure on a hardware platform, the data structure including a plurality of feature limits for a plurality of software features, each feature limit being indexed by at least a software program identifier, a software release level identifier and a feature identifier; (b) initializing software on the hardware platform; (c) determining a release level of the software, wherein the release level identifies a software version having a set of operational capabilities; (d) determining a commit level, wherein the commit level identifies a software release level for determining feature limits to be enforced on the set of operational capabilities, wherein the commit level is determined by the software version that is committed to the hardware platform; (e) obtaining feature limits corresponding to the commit level; (f) invoking a feature limit manager independent from the software and providing at least a software program identifier, a software release level identifier, and a feature identifier as input to the feature limit manager, wherein the feature limit manager uses the input to query the data structure for a feature limit; (g) receiving a feature limit from the feature limit manager based on the input; and (h) enforcing the feature limit during execution of the software, wherein enforcing the feature limit includes monitoring a value of a variable associated with the feature limit during execution of the software, determining whether the feature limit has been met, and in response to determining that feature limit has been met, preventing the feature limit from being exceeded.
-
-
28. A computer program product comprising computer executable instructions embodied in a non-transitory computer readable medium for performing steps comprising:
-
(a) storing, on a hardware platform, a feature limit data structure having a plurality of entries specifying feature limits for software features, each entry being indexed by at least a software program identifier, a software release level identifier, and a feature identifier; (b) receiving, from software being initialized on the hardware platform, a call requesting a value for a feature limit, the call including at least a software program identifier, a software release level identifier, and a feature identifier as input, wherein the software release level identifier identifies a software version having a set of operational capabilities, wherein the software release level identifier comprises a commit level, wherein the commit level identifies a software release level for determining feature limits to be enforced on the set of operational capabilities, wherein the commit level is determined by the software version that is committed to the hardware platform; (c) accessing the feature limit data structure and locating an entry corresponding to the software program identifier, release level identifier, and the feature identifier; and (d) providing the feature limit to the software being initialized, wherein the software being initialized enforces the feature limit, wherein enforcing the feature limit includes monitoring a value of a variable associated with the feature limit during execution of the software, determining whether the feature limit has been met, and in response to determining that feature limit has been met, preventing the feature limit from being exceeded.
-
Specification