IP Library Granted Patent US 12,737,173
Granted Patent B2
US 12,737,173 · App. 18/578,892 · Granted Sep 15, 2026

Updating a deployed app method and system

Inventor: Arjen Wisse (GN Hooglanderveen, NL)
Assignee: Siemens Industry Software Netherlands B.V.
G06F8/656
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 12,737,173
App. No.
18/578,892
Granted
Sep 15, 2026
Kind
B2
Abstract

For an improved updating of deployed apps, a method is provided. The app is deployed on a target device and the app includes at least one current workflow that is processed by a computing platform, respectively. The method includes providing an app development user interface (UI) of an app development platform to a user. User's input relating to at least one amendment of the respective current workflow is captured in response to user interactions with the app development UI. At least one respective difference between the respective current workflow and the respective amended workflow is determined. The method determining if the determined respective difference is conflicting or non-conflicting. If the determined respective difference is determined to be non-conflicting, the method includes updating the respective current workflow to the respective amended workflow, and updating the deployed app on the target device. The updated app includes the respective updated workflow.

Claims (88)

1 . A method of updating a deployed app, wherein the deployed app is deployed on a target device, wherein the deployed app comprises at least one current workflow that is processed by a computing platform, respectively, the method being computer-implemented and comprising:

providing an app development user interface (UI) of an app development platform to a user for developing the deployed app;

capturing user input of the user relating to at least one amendment of the respective current workflow in response to user interactions with the app development UI;

determining at least one respective difference between the respective current workflow and a respective amended workflow;

determining if the determined respective difference is conflicting or non-conflicting; and

when the respective difference is determined to be non-conflicting:

updating the respective current workflow to the respective amended workflow; and

updating the deployed app on the target device, the updated deployed app comprising the respective updated workflow,

wherein the respective amendment of the respective amended workflow is relatable to one or more amended workflow definitions, one or more amended workflow instances, one or more amended workflow activities, or any combination thereof, and

wherein the method further comprises:

determining at least one of the following differences as a non-conflicting difference:

an addition of a workflow activity in a not yet executed path of the current workflow;

a removal of a workflow activity in an executed path of the current workflow;

a re-ordering of a workflow activity in an executed path of the current workflow;

changes in properties of a workflow activity or in an outcome of a workflow activity;

an addition of an outcome in an exclusive split, of a call-microflow, or of a user task activity;

a change in a context entity, in a referenced microflow, in a referenced page, or in a referenced workflow; or

any combination thereof.

2 . The method of claim 1 , further comprising:

determining a hash value for the respective workflow, the hash value depending on a respective workflow activity identifier, a respective workflow activity type, parallel split branches, a respective workflow activity outcome identifier, or any combination thereof, and

comparing the respective hash values of the respective current workflow and the respective amended workflow, such that a version change between the respective workflows is identified.

3 . The method of claim 1 , further comprising:

determining a list of all current workflow activities of the respective workflow;

determining the respective instances of the workflow activities of the determined list; and

identifying a version change of the respective amended workflow when at least one of the determined instances is not related to the respective amended workflow.

4 . The method of claim 1 , further comprising, when the respective determined difference is determined to be non-conflicting:

cloning the respective current workflow activities, such that respective updated workflow activities are obtained; and

executing the respective updated workflow activities and deactivating the respective current workflow activities.

5 . The method of claim 1 , further comprising:

determining as conflicting difference:

a removal of a current workflow activity in the current workflow definition;

an introduction of a parallel branch in an already executed path;

an introduction of a workflow activity in an already executed path;

replacement or deletion of a selected workflow outcome;

moving an already executed workflow activity to a position in the workflow definition that will cause the already executed workflow activity to be re-executed;

a removal of a workflow definition;

moving a current workflow activity outside a parallel branch; or

any combination thereof.

6 . The method of claim 1 , further comprising:

displaying at least one conflict resolution option to the user via the app development UI for a given conflicting difference relating to a conflicting workflow, wherein the at least one conflict resolution option comprises aborting the given conflicting workflow, restarting the given conflicting workflow, continuing the given conflicting workflow, or any combination thereof;

capturing user input relating to a selection of one of the displayed, at least one conflict resolution option for the given conflicting workflow in response to user interactions with the app development UI; and

aborting, restarting, or continuing the given conflicting workflow according to the selected at least one conflict resolution option for the given conflicting workflow.

7 . The method of claim 6 , further comprising, during the development of the amended workflow app or the amended app:

determining at least one respective difference between the respective current workflow and the respective amended workflow;

determining when the determined respective difference is conflicting or non-conflicting;

displaying the at least one conflict resolution option for the respective conflicting difference to a user via the app development UI, the at least one conflict resolution option comprising aborting the given conflicting workflow, restarting the given conflicting workflow, continuing the given conflicting workflow, or any combination thereof;

capturing user input relating to a selection of one of the displayed at least one conflict resolution option for the respective conflicting difference in response to user interactions with the app development UI; and

resolving the respective conflicting difference according to the selected at least one conflict resolution option for the respective conflicting differences.

8 . The method of claim 7 , further comprising:

determining the respective conflict resolution option that is available for resolving the respective conflicting difference; and

displaying the determined, respective conflict resolution option for the respective conflicting difference to a user via the app development UI.

9 . A computer system comprising:

a processor configured to update a deployed app, wherein the deployed app is deployed on a target device, wherein the deployed app comprises at least one current workflow that is processed by a computing platform, respectively, the processor being configured to update the deployed app comprising the processor being configured to:

provide an app development user interface (UI) of an app development platform to a user for developing the deployed app;

capture user input relating to at least one amendment of the respective current workflow in response to user interactions with the app development UI;

determine at least one respective difference between the respective current workflow and a respective amended workflow;

determine if the determined respective difference is conflicting or non-conflicting; and

when the respective difference is determined to be non-conflicting:

update the respective current workflow to the respective amended workflow; and

update the deployed app on the target device, the updated deployed app comprising the respective updated workflow,

wherein the respective amendment of the respective amended workflow is relatable to one or more amended workflow definitions, one or more amended workflow instances, one or more amended workflow activities, or any combination thereof, and

wherein the processor is further configured to:

determine at least one of the following differences as a non-conflicting difference:

an addition of a workflow activity in a not yet executed path of the current workflow;

a removal of a workflow activity in an executed path of the current workflow;

a re-ordering of a workflow activity in an executed path of the current workflow;

changes in properties of a workflow activity or in an outcome of a workflow activity;

an addition of an outcome in an exclusive split, of a call-microflow, or of a user task activity;

a change in a context entity, in a referenced microflow, in a referenced page, or in a referenced workflow; or

any combination thereof.

10 . In a non-transitory computer-readable storage medium that stores instructions executable by a computer system to update a deployed app, wherein the deployed app is deployed on a target device, wherein the deployed app comprises at least one current workflow that is processed by a computing platform, respectively, the instructions comprising:

providing an app development user interface (UI) of an app development platform to a user for developing the deployed app;

capturing user input relating to at least one amendment of the respective current workflow in response to user interactions with the app development UI;

determining at least one respective difference between the respective current workflow and a respective amended workflow;

determining if the determined respective difference is conflicting or non-conflicting; and

when the respective difference is determined to be non-conflicting:

updating the respective current workflow to the respective amended workflow; and

updating the deployed app on the target device, the updated deployed app comprising the respective updated workflow,

wherein the respective amendment of the respective amended workflow is relatable to one or more amended workflow definitions, one or more amended workflow instances, one or more amended workflow activities, or any combination thereof, and

wherein the instructions further comprise:

determining at least one of the following differences as a non-conflicting difference:

an addition of a workflow activity in a not yet executed path of the current workflow;

a removal of a workflow activity in an executed path of the current workflow;

a re-ordering of a workflow activity in an executed path of the current workflow;

changes in properties of a workflow activity or in an outcome of a workflow activity;

an addition of an outcome in an exclusive split, of a call-microflow, or of a user task activity;

a change in a context entity, in a referenced microflow, in a referenced page, or in a referenced workflow; or

any combination thereof.

Assignments (2)
MERGER Recorded Apr 20, 2026
From: MENDIX TECHNOLOGY B.V.
To: SIEMENS INDUSTRY SOFTWARE NETHERLANDS B.V.
Reel/Frame 075417/0499 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2024
From: WISSE, ARJEN
To: MENDIX TECHNOLOGY B.V.
Reel/Frame 068437/0913 →
Continuity (1)
Related Publication 20240256268A1 · Aug 1, 2024
References Cited (43)
US 7221377B1 · Okita · 2007 [cited by examiner]
US 7805327B1 · Schulz · 2010 [cited by examiner]
US 8209564B2 · Vidal · 2012 [cited by examiner]
US 8335773B2 · Balko · 2012 [cited by examiner]
US 9977654B2 · Coslovi · 2018 [cited by examiner]
US 10169004B2 · Khoyi · 2019 [cited by examiner]
US 10175951B2 · Stanfill · 2019 [cited by applicant]
US 10191728B2 · Lee · 2019 [cited by examiner]
US 10296323B2 · Pink · 2019 [cited by examiner]
US 10698733B1 · Lee · 2020 [cited by examiner]
US 10754637B1 · Zeng · 2020 [cited by examiner]
US 10891569B1 · Werner · 2021 [cited by examiner]
US 10896034B2 · Vinod · 2021 [cited by applicant]
US 11245760B2 · Fan · 2022 [cited by examiner]
US 11249751B2 · Sivadasan · 2022 [cited by applicant]
US 11435871B1 · Luvaas · 2022 [cited by examiner]
US 20060265706A1 · Isaacson · 2006 [cited by examiner]
US 20100293538A1 · Wolf · 2010 [cited by examiner]
US 20110214021A1 · Vidal · 2011 [cited by examiner]
US 20160170739A1 · Kapashikov · 2016 [cited by examiner]
US 20160202959A1 · Doubleday · 2016 [cited by examiner]
US 20170308363A1 · Barsness · 2017 [cited by applicant]
US 20170308457A1 · Barsness · 2017 [cited by applicant]
US 20190130325A1 · Stevens · 2019 [cited by examiner]
US 20190339959A1 · Saha · 2019 [cited by examiner]
US 20200065152A1 · Parmar · 2020 [cited by examiner]
US 20200159526A1 · Sivadasan · 2020 [cited by applicant]
US 20200174756A1 · Cerar · 2020 [cited by examiner]
US 20200234242A1 · Parks · 2020 [cited by examiner]
US 20200272433A1 · Wang · 2020 [cited by examiner]
US 20210232990A1 · Maunz · 2021 [cited by examiner]
US 20220147344A1 · Johnston · 2022 [cited by examiner]
CA 2959528A1 · 2016 [cited by applicant]
CN 109740834A · 2019 [cited by applicant]
CN 114995846A · 2022 [cited by examiner]
WO 2020098122A1 · 2020 [cited by applicant]
Cox Philip et al:; “Enhancing the Programmability of Spreadsheets with logic Programming”; CAADA; 2007 IEEE, pp. 87-94. [cited by applicant]
Grundy John et al:; “Inconsistency Management for Multiple-View Software Development Environments”; vol. 24; No. 11, Nov. 1998, pp. 960-981. [cited by applicant]
PCT International Search Report and Written Opinion of International Searching Authority mailed Mar. 31, 2022 corresponding to PCT International Application No. PCT/EP2021/069350. [cited by applicant]
Kraemer, F.A. (2011). Engineering Android Applications Based on UML Activities. In: Whittle, J., Clark, T., Kühne, T. (eds) Model Driven Engineering Languages and Systems. MODELS 2011. [cited by applicant]
Yen-Teh Hsia and A. L. Ambler, “Programming through pictorial transformations,” Proceedings. 1988 International Conference on Computer Languages, Miami Beach, FL, USA, 1988, pp. 10-16. [cited by applicant]
Adam Fothergill Blog: “Resolution of a Submission Conflict” Apr. 23, 2015. pp. 1-6, with machine translation. [cited by applicant]
Shao Qunchao: “Mendix Agile Development Zero-Based Learning”, Jan. 13, 2021. pp. 1-14, with machine translation. [cited by applicant]