Workflow patching
AssigneeInternational Business Machines Corporation
InventorsMichael Johnston, Vasileiadis Vasileios
Life of this patent
Estimating the term…
Abstract
Various embodiments are provided for patching of workflows in a computing environment by one or more processors in a computing system. One or more patches may be extracted from a source workflow. The target workflow in a plurality of nodes may be statically or dynamically modified by applying the one or more patches to the target workflow. The one or more of the plurality of nodes may be added, removed, or modified in the target workflow while the target workflow is active according to applying the one or more patches.
Claims14
A method for patching of workflows in a computing environment by one or more processors comprising:
- identifying one or more splice points to apply one or more patches extracted from a source workflow to a target workflow in a plurality of nodes, wherein a splice point is a node in the target workflow providing an input to nodes identified in the one or more patches, and wherein the one or more splice points are automatically identified by executing machine learning logic to:
- generate, for each of the nodes identified in the one or more patches, input feature vectors,
- generate, for each node identified in a target workflow graph of the target workflow, target feature vectors,
- compare the input feature vectors with the target feature vectors, and
- select, as the splice point, the node in the target workflow based on the comparison;
- restricting any scheduling for additional nodes to the plurality of nodes while applying the one or more patches, even when upstream dependency nodes of the additional nodes are satisfied for execution, wherein tasks of existing nodes of the plurality of nodes, having already been scheduled for execution, continue to be scheduled;
- applying the one or more patches to the target workflow in the plurality of nodes;
- respectively adding, removing, and modifying one or more of the plurality of nodes in the target workflow while the target workflow is active according to applying the one or more patches, wherein the removing of the one or more of the plurality of nodes is performed by labeling those of the one or more of the plurality of nodes to be removed on an initial to-delete list, performing a dependency analysis of each node on the initial to-delete list to incorporate dependent nodes of each node on the initial to-delete list into a final to-delete list, and terminating each node on the final to-delete list while notifying a scheduler to recognize the termination of each node a normal termination to abate the scheduler considering the termination as an error;
- identifying, by the machine learning logic, any conflicts between metadata defined in the one or more patches and those of the plurality of nodes in the target workflow;
- and
- generating one or more resolution actions to resolve any identified conflicts to enable the one or more patches compatible with the target workflow, wherein the one or more resolution actions include executing the machine learning logic to employ a semantic knowledge and language processing operation to determine a satisfactory merging of conflicting configurations of at least two of the plurality of nodes, and wherein the satisfactory merging further includes identifying and implementing, by the machine learning logic, at least one combination of configurations of source nodes and the plurality of nodes in the target workflow to resolve the identified conflicts.
A system for patching of workflows in a computing environment, comprising:
- one or more computers with executable instructions that when executed cause the system to:
- identify one or more splice points to apply one or more patches extracted from a source workflow to a target workflow in a plurality of nodes, wherein a splice point is a node in the target workflow providing an input to nodes identified in the one or more patches, and wherein the one or more splice points are automatically identified by executing machine learning logic to:
- generate, for each of the nodes identified in the one or more patches, input feature vectors,
- generate, for each node identified in a target workflow graph of the target workflow, target feature vectors,
- compare the input feature vectors with the target feature vectors, and
- select, as the splice point, the node in the target workflow based on the comparison;
- restrict any scheduling for additional nodes to the plurality of nodes while applying the one or more patches, even when upstream dependency nodes of the additional nodes are satisfied for execution, wherein tasks of existing nodes of the plurality of nodes, having already been scheduled for execution, continue to be scheduled;
- apply the one or more patches to the target workflow in the plurality of nodes;
- respectively add, remove, and modify one or more of the plurality of nodes in the target workflow while the target workflow is active according to applying the one or more patches, wherein the removing of the one or more of the plurality of nodes is performed by labeling those of the one or more of the plurality of nodes to be removed on an initial to-delete list, performing a dependency analysis of each node on the initial to-delete list to incorporate dependent nodes of each node on the initial to-delete list into a final to-delete list, and terminating each node on the final to-delete list while notifying a scheduler to recognize the termination of each node a normal termination to abate the scheduler considering the termination as an error;
- identify, by the machine learning logic, any conflicts between metadata defined in the one or more patches and those of the plurality of nodes in the target workflow;
- and
- generate one or more resolution actions to resolve any identified conflicts to enable the one or more patches compatible with the target workflow, wherein the one or more resolution actions include executing the machine learning logic to employ a semantic knowledge and language processing operation to determine a satisfactory merging of conflicting configurations of at least two of the plurality of nodes, and wherein the satisfactory merging further includes identifying and implementing, by the machine learning logic, at least one combination of configurations of source nodes and the plurality of nodes in the target workflow to resolve the identified conflicts.
A computer program product for patching of workflows in a computing environment, the computer program product comprising:
- one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instruction comprising:
- program instructions to identify one or more splice points to apply one or more patches extracted from a source workflow to a target workflow in a plurality of nodes, wherein a splice point is a node in the target workflow providing an input to nodes identified in the one or more patches, and wherein the one or more splice points are automatically identified by executing machine learning logic to:
- generate, for each of the nodes identified in the one or more patches, input feature vectors,
- generate, for each node identified in a target workflow graph of the target workflow, target feature vectors,
- compare the input feature vectors with the target feature vectors, and
- select, as the splice point, the node in the target workflow based on the comparison;
- program instructions to restrict any scheduling for additional nodes to the plurality of nodes while applying the one or more patches, even when upstream dependency nodes of the additional nodes are satisfied for execution, wherein tasks of existing nodes of the plurality of nodes, having already been scheduled for execution, continue to be scheduled;
- program instructions to apply the one or more patches to the target workflow in the plurality of nodes;
- program instructions to respectively add, remove, and modify one or more of the plurality of nodes in the target workflow while the target workflow is active according to applying the one or more patches, wherein the removing of the one or more of the plurality of nodes is performed by labeling those of the one or more of the plurality of nodes to be removed on an initial to-delete list, performing a dependency analysis of each node on the initial to-delete list to incorporate dependent nodes of each node on the initial to-delete list into a final to-delete list, and terminating each node on the final to-delete list while notifying a scheduler to recognize the termination of each node a normal termination to abate the scheduler considering the termination as an error;
- program instructions to identify, by the machine learning logic, any conflicts between metadata defined in the one or more patches and those of the plurality of nodes in the target workflow;
- and
- program instructions to generate one or more resolution actions to resolve any identified conflicts to enable the one or more patches compatible with the target workflow, wherein the one or more resolution actions include executing the machine learning logic to employ a semantic knowledge and language processing operation to determine a satisfactory merging of conflicting configurations of at least two of the plurality of nodes, and wherein the satisfactory merging further includes identifying and implementing, by the machine learning logic, at least one combination of configurations of source nodes and the plurality of nodes in the target workflow to resolve the identified conflicts.
A method for patching of workflows in a computing environment by one or more processors comprising:
- extracting one or more patches from a source workflow;
- identifying one or more splice points to apply one or more patches extracted from a source workflow to a target workflow in a plurality of nodes, wherein a splice point is a node in the target workflow providing an input to nodes identified in the one or more patches, and wherein the one or more splice points are automatically identified by executing machine learning logic to:
- generate, for each of the nodes identified in the one or more patches, input feature vectors,
- generate, for each node identified in a target workflow graph of the target workflow, target feature vectors,
- compare the input feature vectors with the target feature vectors, and
- select, as the splice point, the node in the target workflow based on the comparison;
- restricting any scheduling for additional nodes to the plurality of nodes while applying the one or more patches, even when upstream dependency nodes of the additional nodes are satisfied for execution, wherein tasks of existing nodes of the plurality of nodes, having already been scheduled for execution, continue to be scheduled;
- statically or dynamically modifying the target workflow in the plurality of nodes by applying the one or more patches to the target workflow;
- respectively adding, removing, and modifying one or more of the plurality of nodes in the target workflow while the target workflow is active in response to applying the one or more patches, wherein the removing of the one or more of the plurality of nodes is performed by labeling those of the one or more of the plurality of nodes to be removed on an initial to-delete list, performing a dependency analysis of each node on the initial to-delete list to incorporate dependent nodes of each node on the initial to-delete list into a final to-delete list, and terminating each node on the final to-delete list while notifying a scheduler to recognize the termination of each node a normal termination to abate the scheduler considering the termination as an error;
- identifying, by the machine learning logic, any conflicts between metadata defined in the one or more patches and those of the plurality of nodes in the target workflow;
- and
- generating one or more resolution actions to resolve any identified conflicts to enable the one or more patches compatible with the target workflow, wherein the one or more resolution actions include executing the machine learning logic to employ a semantic knowledge and language processing operation to determine a satisfactory merging of conflicting configurations of at least two of the plurality of nodes, and wherein the satisfactory merging further includes identifying and implementing, by the machine learning logic, at least one combination of configurations of source nodes and the plurality of nodes in the target workflow to resolve the identified conflicts.
A method for patching of workflows in a computing environment by one or more processors comprising:
- extracting one or more patches from a source workflow;
- identifying one or more splice points to apply one or more patches extracted from a source workflow to a target workflow in a plurality of nodes, wherein a splice point is a node in the target workflow providing an input to nodes identified in the one or more patches, and wherein the one or more splice points are automatically identified by executing machine learning logic to:
- generate, for each of the nodes identified in the one or more patches, input feature vectors,
- generate, for each node identified in a target workflow graph of the target workflow, target feature vectors,
- compare the input feature vectors with the target feature vectors, and
- select, as the splice point, the node in the target workflow based on the comparison;
- restricting any scheduling for additional nodes to the plurality of nodes while applying the one or more patches, even when upstream dependency nodes of the additional nodes are satisfied for execution, wherein tasks of existing nodes of the plurality of nodes, having already been scheduled for execution, continue to be scheduled;
- statically or dynamically modifying the target workflow in the plurality of nodes by applying the one or more patches to the target workflow;
- modifying a configuration of those of the plurality of nodes in the target workflow in response to applying the one or more patches;
- identifying and removing those of the plurality of nodes and any of the upstream dependency nodes, active or inactive in the target workflow, determined to be unnecessary in a performance of the target workflow according to the application of the one or more patches, wherein the removing of the one or more of the plurality of nodes is performed by labeling those of the one or more of the plurality of nodes to be removed on an initial to-delete list, performing a dependency analysis of each node on the initial to-delete list to incorporate dependent nodes of each node on the initial to-delete list into a final to-delete list, and terminating each node on the final to-delete list while notifying a scheduler to recognize the termination of each node a normal termination to abate the scheduler considering the termination as an error;
- identifying, by the machine learning logic, any conflicts between metadata defined in the one or more patches and those of the plurality of nodes in the target workflow;
- and
- generating one or more resolution actions to resolve any identified conflicts to enable the one or more patches compatible with the target workflow, wherein the one or more resolution actions include executing the machine learning logic to employ a semantic knowledge and language processing operation to determine a satisfactory merging of conflicting configurations of at least two of the plurality of nodes, and wherein the satisfactory merging further includes identifying and implementing, by the machine learning logic, at least one combination of configurations of source nodes and the plurality of nodes in the target workflow to resolve the identified conflicts.
Dependencies are inferred from the claim text.