Patent Document ID: 9003355
Application ID: 13771620
Patent Flag: 1

Claim One:
1. A method for providing a decentralized workflow management system both in orchestration or choreography mode, the method comprising: determining a business workflow hierarchy comprising activities and tasks, wherein each activity includes a list of tasks to be performed by a component, wherein a set of activities define a high level workflow order among components; providing at least one controller component in orchestration mode if required, the controller component comprising a processor and a memory, wherein the controller component is configured to organize activities necessary to complete an external request through business process components, wherein the external request propagates among business process components using a pre-injected activity order; providing a plurality of business process components, each business process component comprising a processor and a memory, wherein the processor is configured to process a set of business processes and each business process will be executed with a set of pre-injected task instructions; providing at least one management console, the management console comprising a processor and a memory, wherein the management console is configured to inject the business process components with responsibility rules and capability rules to perform the external request; determining a need for additional resources for the component to perform the activity; adding the additional resources to the component dynamically, wherein adding further comprises injecting the component with responsibility rules, capability rules, and bandwidth to meet the need; determining that the list of tasks to be performed require one or more additional components; determining one or more additional components capable of performing the determined list of tasks; and adding the one or more additional components to the workflow management system, wherein the one or more additional components are loaded with one or more capabilities to enable the one or more additional components to perform the determined list of tasks.