IP Library Granted Patent US 11,614,960
Granted Patent B2
US 11,614,960 · App. 17/824,735 · Granted Mar 28, 2023

Behavior toggle for stateful applications

Inventors: Michael Kutik (Berlin, DE); Daniel Kirmse (Berlin, DE)
Assignee: SAP SE
G06F9/4843G06F9/44536
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,614,960
App. No.
17/824,735
Granted
Mar 28, 2023
Kind
B2
Abstract

In an example embodiment, a specialized software object, called a behavior toggle, is utilized for stateful applications in cloud environments. The behavior toggle, once enabled and used by an entity, is not able to be disabled anymore for that entity, other than by explicit migration. Unlike feature toggles, whose values are expressed using “true” or “false” flags or the like, behavior toggles are enabled by specific version. Specifically, the value indicates which version of the behavior is enabled. The behavior toggle software objects may then be referenced by, or included in, other software objects, to utilize the behavior toggle software objects with the other software objects and have the behavior toggle be applied to the other software objects.

Claims (38)

1. A system comprising:

at least one hardware processor; and

a computer-readable medium storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising:

obtaining a software code description stored in a database, the software code description including a behavior toggle, the behavior toggle describing a plurality of variants of a behavior and including a value identifying which variant is permitted to be performed by an application;

creating a behavior toggle context identifying the behavior toggle included in the software code description;

updating a first instance of the application to include the behavior toggle context using the database; and

causing provisioning of the application, the provisioning enabling the behavior by the first instance of the application.

2. The system of claim 1 , wherein the behavior cannot be disabled in the first instance of the application without migrating the first instance of the application to a different version of the application.

3. The system of claim 1 , wherein the software code description further includes a feature toggle, the feature toggle describing a feature that is permitted to be used by the application and including a value identifying whether the feature is enabled or disabled.

4. The system of claim 3 , wherein the operations further comprise disabling the feature in the first instance of the application by changing the value in the feature toggle to a value indicating that the feature is disabled, without migrating the first instance of the application to a different version of the application.

5. The system of claim 1 , wherein the operations are performed by a frontend service in a cloud landscape.

6. The system of claim 5 , wherein the provisioning is performed by an application operator in an application lifecycle orchestration component in the cloud landscape.

7. The system of claim 1 , wherein the database is an in-memory database.

8. The system of claim 1 , wherein the operations further comprise:

detecting a change to the value in the software code description; and

in response to the detection, automatically migrating the first instance of the application to a version of the application matching the changed value.

9. A method comprising:

obtaining a software code description stored in a database, the software code description including a behavior toggle, the behavior toggle describing a plurality of variants of a behavior and including a value identifying which variant is permitted to be performed by an application;

creating a behavior toggle context identifying the behavior toggle included in the software code description;

updating a first instance of the application to include the behavior toggle context using the database; and

causing provisioning of the application, the provisioning enabling the behavior by the first instance of the application.

10. The method of claim 9 , wherein the behavior cannot be disabled in the first instance of the application without migrating the first instance of the application to a different version of the application.

11. The method of claim 9 , wherein the software code description further includes a feature toggle, the feature toggle describing a feature that is permitted to be used by the application and including a value identifying whether the feature is enabled or disabled.

12. The method of claim 11 , comprising disabling the feature in the first instance of the application by changing the value in the feature toggle to a value indicating that the feature is disabled, without migrating the first instance of the application to a different version of the application.

13. The method of claim 9 , wherein the method is performed by a frontend service in a cloud landscape.

14. The method of claim 13 , wherein the provisioning is performed by an application operator in an application lifecycle orchestration component in the cloud landscape.

15. The method of claim 9 , wherein the database is an in-memory database.

16. The method of claim 9 , further comprising:

detecting a change to the value in the software code description; and

in response to the detection, automatically migrating the first instance of the application to a version of the application matching the changed value.

17. A non-transitory machine-readable medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform operations comprising:

obtaining a software code description stored in a database, the software code description including a behavior toggle, the behavior toggle describing a plurality of variants of a behavior and including a value identifying which variant is permitted to be performed by an application;

creating a behavior toggle context identifying the behavior toggle included in the software code description;

updating a first instance of the application to include the behavior toggle context using the database; and

causing provisioning of the application, the provisioning enabling the behavior by the first instance of the application.

18. The non-transitory machine-readable medium of claim 17 , wherein the behavior cannot be disabled in the first instance of the application without migrating the first instance of the application to a different version of the application.

19. The non-transitory machine-readable medium of claim 17 , wherein the software code description further includes a feature toggle, the feature toggle describing a feature that is permitted to be used by the application and including a value identifying whether the feature is enabled or disabled.

20. The non-transitory machine-readable medium of claim 19 , wherein the operations further comprise disabling the feature in the first instance of the application by changing the value in the feature toggle to a value indicating that the feature is disabled, without migrating the first instance of the application to a different version of the application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2022
From: KUTIK, MICHAEL; KIRMSE, DANIEL
To: SAP SE
Reel/Frame 060121/0329 →
Continuity (3)
Continuation 17230306 · Apr 14, 2021
Provisional Application 63168758 · Mar 31, 2021
Related Publication 20220326983A1 · Oct 13, 2022