IP Library › Granted Patent US 11,422,850
Granted Patent B1
US 11,422,850 · App. 17/230,306 · Granted Aug 23, 2022

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,422,850
App. No.
17/230,306
Granted
Aug 23, 2022
Kind
B1
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 custom resource of a first instance of the application, in a containerized application management service, to include the behavior toggle context; and

causing provisioning of the application, using the custom resource, 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 containerized application management service is Kubernetes.

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 custom resource of a first instance of the application, in a containerized application management service, to include the behavior toggle context; and

causing provisioning of the application, using the custom resource, 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 , 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.

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 containerized application management service is Kubernetes.

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 custom resource of a first instance of the application, in a containerized application management service, to include the behavior toggle context; and

causing provisioning of the application, using the custom resource, 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 Apr 14, 2021
From: KUTIK, MICHAEL; KIRMSE, DANIEL
To: SAP SE
Reel/Frame 055917/0174 →
Continuity (1)
Provisional Application 63168758 · Mar 31, 2021
Cited By (2)
US 12,248,772 US 12,688,032