Dynamic Rules Engine for Software Business Model Adaptation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software providers face a significant delay in changing product business models due to the need to modify and release new product code, resulting in lost revenue and lack of flexibility in enforcing new entitlement rules.
Innovation Solution
A data-driven rules engine that allows for dynamic changes to product business rules without altering the product code, enabling on-the-fly enforcement of new business models independent of the server-side code and release schedules.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If product business rules are hard-coded in product source code, then product code enforces entitlements according to a specific business model, but changing the business model requires code modification and release, causing significant delays
Solution Approach 1:
The patent separates business rules from product code by dividing the system into two independent components: (1) product code that remains unchanged and (2) a separate rules engine that stores and enforces business rules. This segmentation allows business rules to be modified independently without requiring product code changes or releases, thus resolving the contradiction between adaptability and time delay.
Solution Approach 2:
The patent introduces a rules engine as an intermediary component between the product code and the business model requirements. This rules engine acts as a mediator that translates business rules into enforcement actions, allowing the product code to remain static while the rules engine dynamically adapts to different business models, eliminating the need for code releases and reducing implementation time.
2Productivity
If product code is released on a predetermined schedule, then code stability is maintained, but new business rules cannot be implemented until the next release, resulting in lost revenue opportunities
Solution Approach 1:
By segmenting the system into stable product code and flexible rules, the patent allows the product code to maintain its release schedule and stability while the rules component can be updated immediately without affecting code reliability. This enables rapid implementation of new business rules while preserving product code integrity.
Solution Approach 2:
The patent makes the rules engine dynamic by allowing rules to be added, modified, or removed at runtime without requiring product code recompilation or release. This dynamic capability enables the system to adapt to changing business requirements immediately, increasing productivity while the static product code maintains reliability.
3Adaptability or versatility
If business rules are changed by modifying product source code, then the product enforces new entitlement rules, but the operable product code may not be released for three to six months
Solution Approach 1:
The patent eliminates the need to modify product source code by segmenting business rules into a separate, independently modifiable component. The rules engine can be updated immediately to enforce new entitlement rules without triggering a product code release cycle, thus resolving the contradiction between adaptability and time delay.
Solution Approach 2:
The rules engine serves as an intermediary that handles all business rule enforcement without requiring changes to the product code. This intermediary layer can be updated instantly to enforce new entitlement rules, eliminating the three to six month delay associated with traditional code modification and release processes.
Data Source
AI summary
A management system may update one or more parameters corresponding to system requirements to execute a product, wherein the one or more parameters are updated without changing a product code of the product. A request to execute the product may be received from a first entity system. In response to receiving the request to execute the product, the management system may determine whether the first entity system satisfies the system requirements to execute the product, wherein the management system is separate from the first entity system. In response to determining that the first entity system satisfies the system requirements, the product may be allowed to be executed by the first entity system.


