IP Library › Granted Patent US 10,636,005
Granted Patent B2
US 10,636,005 · App. 14/862,883 · Granted Apr 28, 2020

Method and system for implementing an adaptive data governance system

Inventors: Rahul Ratnakar Kamath (Santa Clara, CA); Douglas Ray Cosby (Austin, TX); Matthew Lawrence Lontchar (Avon Lake, OH); Charles Randall Wilson (Dallas, TX)
Assignee: ORACLE INTERNATIONAL CORPORATION
G06Q10/06316
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 10,636,005
App. No.
14/862,883
Granted
Apr 28, 2020
Kind
B2
Abstract

Disclosed is a method, system, and computer program product for implementing adaptive business workflows, where the context is coordinated with a hierarchy. The adaptive workflow may include conditional stages that are also coordinated with the hierarchy.

Claims (113)

1. A method implemented with a processor, comprising:

identifying a workflow to process for a request comprising a first item and a second item at a first system based on one or more inputs received from a user device as a result of a user input;

determining multiple workflow stages for the workflow with at least a hierarchy model based in part or in whole upon a location of data that is to be changed in the hierarchy model by an execution of the workflow,

the workflow comprising the multiple workflow stages and being represented by corresponding workflow data in a first database on a first storage device,

the first database including a plurality of workflows,

the workflow of the plurality of workflows utilizing contextual information that comprises the location of the data to be changed in the hierarchy model,

the first item and the second item in the request corresponds to the data that is to be changed in the hierarchy model, and

the multiple workflow stages being linked with each other and further linking database objects in the first database on the first storage device;

determining that a workflow stage of the multiple workflow stages is dependent on a hierarchy at a second system by using at least the hierarchy model,

the hierarchy being represented by the hierarchy model in a second database on a second storage device different from the first storage device,

the workflow stage being dependent on the hierarchy when a database object in the first database referentially links to the hierarchy model on the second database,

the hierarchy model having a plurality of nodes that is represented by a plurality of database table entries of the second database, wherein one or more columns of the second database store relationship data of the plurality of nodes and parameter information for the plurality of nodes, and

the hierarchy model comprising organizational data that maps relationships among organization resources;

accessing the hierarchy on the second database referenced by the workflow stage in the first database;

determining whether the request comprising the first item and the second item has passed the workflow stage, wherein the first item and the second item in the request correspond to the data that is to be changed in the hierarchy model by the execution of the workflow;

when the request is determined to have passed the workflow stage, determining multiple prior workflow stages that precede the workflow stage at least by evaluating the multiple prior workflow stages with respect to the first item and the second item;

pushing the request back to a prior workflow stage of the multiple prior workflow stages;

determining whether the request entering the workflow stage is to be split based in part or in whole upon a stage criterion for the workflow stage;

splitting the request when the request is determined to be split at least by:

maintaining the first item that does not satisfy the stage criterion for the workflow stage in the request;

generating a new request, which is separate from the request, for the second item that satisfies the stage criterion for the workflow stage;

processing the request with a same workflow model for the workflow; and

processing the new request at the workflow stage with the same workflow model; and

processing the workflow stage using the hierarchy and the hierarchy model based at least in part upon whether the request is to be split at least by:

traversing the hierarchy to identify a hierarchy location in the hierarchy corresponding to the contextual information of the workflow; and

determining at least one task of one or more tasks to be executed for the workflow stage based at least in part upon the hierarchy location in the hierarchy, wherein

the workflow adaptively executes the at least one task of the one or more tasks by referencing a portion of the hierarchy model based in part or in whole on at least the contextual information,

the workflow automatically integrates changes to the hierarchy model when the changes comprise a modification to the relationships among the organization resources, and

the contextual information identifies one organization resource of the organization resources supported by the workflow.

2. The method of claim 1 , wherein the workflow comprises a conditional stage, and the conditional stage comprises conditional logic that is analyzed using contents of the hierarchy.

3. The method of claim 1 , wherein a single workflow corresponds to multiple organizational structures.

4. The method of claim 1 , wherein filtering is applied to the workflow.

5. The method of claim 1 , wherein database objects in one or more first nodes in the hierarchy inherit one or more attributes from one or more other nodes in the hierarchy.

6. The method of claim 1 , wherein the hierarchy is changed by processing of the workflow, and when an earlier stage of the workflow modifies the hierarchy, a later stage of the workflow accesses a modified version of the hierarchy.

7. The method of claim 1 ,

wherein the hierarchy on the second database is accessed by a first application on the first system using one or more application programming interface (API) calls, the first database on the first storage device and the second database in the second storage device being maintained at a backend database server, the first system for the first storage device and the second system for the second storage device being implemented as part of an application server, and the hierarchy being maintained by a second application at the second system; and

the method further comprising interfacing, by the user device, with the application server over a middleware server between the user device and the application server, the middleware server implementing at least a hypertext transport protocol to enable communication with the user device.

8. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor, causes the processor to execute a set of acts, the set of acts comprising:

identifying a workflow to process for a request comprising a first item and a second item at a first system based on one or more inputs received from a user device as a result of a user input;

determining multiple workflow stages for the workflow with at least a hierarchy model based in part or in whole upon a location of data that is to be changed in the hierarchy model by an execution of the workflow,

the workflow comprising the multiple workflow stages and being represented by corresponding workflow data in a first database on a first storage device,

the first database including a plurality of workflows,

the workflow of the plurality of workflows utilizing contextual information that comprises the location of the data to be changed in the hierarchy model,

the first item and the second item in the request corresponds to the data that is to be changed in the hierarchy model, and

the multiple workflow comprising stages being linked with each other and further linking database objects in the first database on the first storage device;

determining that a workflow stage of the multiple workflow stages is dependent on a hierarchy at a second system by using at least the hierarchy model,

the hierarchy being represented by the hierarchy model in a second database on a second storage device different from the first storage device,

the workflow stage being dependent on the hierarchy when a database object in the first database referentially links to the hierarchy model on the second database,

the hierarchy model having a plurality of nodes that is represented by a plurality of database table entries of the second database, wherein one or more columns of the second database store relationship data of the plurality of nodes and parameter information for the plurality of nodes, and

the hierarchy model comprising organizational data that map relationships among organization resources;

accessing the hierarchy on the second database referenced by the workflow stage in the first database; and

determining whether the request comprising the first item and the second item has passed the workflow stage, wherein the first item and the second item in the request correspond to the data that is to be changed in the hierarchy model by the execution of the workflow;

when the request is determined to have passed the workflow stage, determining multiple prior workflow stages that precede the workflow stage at least by evaluating the multiple prior workflow stages with respect to the first item and the second item;

pushing the request back to a prior workflow stage of the multiple prior workflow stages;

determining whether the request entering the workflow stage is to be split based in part or in whole upon a stage criterion for the workflow stage;

splitting the request when the request is determined to be split at least by:

maintaining the first item that does not satisfy the stage criterion for the workflow stage in the request;

generating a new request, which is separate from the request, for the second item that satisfies the stage criterion for the workflow stage;

processing the request with a same workflow model for the workflow; and

processing the new request at the workflow stage with the same workflow model; and

processing the workflow stage using the hierarchy and the hierarchy model based at least in part upon whether the request is to be split at least by:

traversing the hierarchy to identify a hierarchy location in the hierarchy corresponding to the contextual information of the workflow; and

determining at least one task of one or more tasks to be executed for the workflow stage based at least in part upon the hierarchy location in the hierarchy, wherein

the workflow adaptively executes at least one task of the one or more tasks by referencing a portion of the hierarchy model based in part or in whole on at least the contextual information,

the workflow automatically integrates changes to the hierarchy model when the changes comprise a modification to the relationships among the organization resources, and

the contextual information identifies one organization resource of the organization resources supported by the workflow.

9. The computer readable medium of claim 8 , wherein the workflow comprises a conditional stage, and the conditional stage comprises conditional logic that is analyzed using contents of the hierarchy.

10. The computer readable medium of claim 8 , wherein a single workflow corresponds to multiple organizational structures.

11. The computer readable medium of claim 8 , wherein filtering is applied to the workflow.

12. The computer readable medium of claim 8 , wherein database objects in one or more first nodes in the hierarchy inherit one or more attributes from one or more other nodes in the hierarchy.

13. The computer readable medium of claim 8 , wherein the hierarchy is changed by processing of the workflow and when an earlier stage of the workflow modifies the hierarchy, a later stage of the workflow accesses a modified version of the hierarchy.

14. The computer readable medium of claim 8 ,

wherein the hierarchy on the second database is accessed by a first application on the first system using one or more application programming interface (API) calls, the first database on the first storage device and the second database in the second storage device being maintained at backend database server, the first system for the first storage device and the second system for the second storage device being implemented as part of an application server, and the hierarchy being maintained by a second application at the second system; and

the set of acts further comprising interfacing, by the user device by, with the application server over a middleware server between the user device and the application server, the middleware server implementing at least a hypertext transport protocol to enable communication with the user device.

15. A system, comprising:

a memory having stored thereon a sequence of instructions; and

a processor, wherein the process is capable of executing the sequence of instructions which executes a set of acts, the set of acts comprising:

identifying a workflow to process for a request comprising a first item and a second item at a first system based on one or more inputs received from a user device as a result of a user input;

determining multiple workflow stages for the workflow with at least a hierarchy model based in part or in whole upon a location of data that is to be changed in the hierarchy model by an execution of the workflow,

the workflow comprising the multiple workflow stages and being represented by corresponding workflow data in a first database on a first storage device,

the first database including a plurality of workflows,

the workflow of the plurality of workflows utilizing contextual information that comprises the location of the data to be changed in the hierarchy model,

the first item and the second item in the request corresponds to the data that is to be changed in the hierarchy model, and

the multiple workflow comprising stages being linked with each other and further linking database objects in the first database on the first storage device;

determining that a workflow stage of the multiple workflow stages is dependent on a hierarchy at a second system by using at least the hierarchy model,

the hierarchy being represented by the hierarchy model in a second database on a second storage device different from the first storage device,

the workflow stage being dependent on the hierarchy when a database object in the first database referentially links to the hierarchy model on the second database,

the hierarchy model having a plurality of nodes that is represented by a plurality of database table entries of the second database, wherein one or more columns of the second database store relationship data of the plurality of nodes and parameter information for the plurality of nodes, and

the hierarchy model comprising organizational data that maps relationships among organization resources;

accessing the hierarchy on the second database referenced by the workflow stage in the first database;

determining whether the request comprising the first item and the second item has passed the workflow stage, wherein the first item and the second item in the request correspond to the data that is to be changed in the hierarchy model by the execution of the workflow;

when the request is determined to have passed the workflow stage, determining multiple prior workflow stages that precede the workflow stage at least by evaluating the multiple prior workflow stages with respect to the first item and the second item;

pushing the request back to a prior workflow stage of the multiple prior workflow stages;

determining whether the request entering the workflow stage is to be split based in part or in whole upon a stage criterion for the workflow stage;

splitting the request when the request is determined to be split at least by:

maintaining the first item that does not satisfy the stage criterion for the workflow stage in the request;

generating a new request, which is separate from the request, for the second item that satisfies the stage criterion for the workflow stage;

processing the request with a same workflow model for the workflow; and

processing the new request at the workflow stage with the same workflow model; and

processing the workflow stage using the hierarchy and the hierarchy model based at least in part upon whether the request is to be split at least by:

traversing the hierarchy to identify a hierarchy location in the hierarchy corresponding to the context of the workflow; and

determining at least one task of one or more tasks to be executed for the workflow stage based at least in part upon the hierarchy location in the hierarchy, wherein

the workflow adaptively executes the at least one task of the one or more tasks by referencing a portion of the hierarchy model based in part or in whole on at least the contextual information,

the workflow automatically integrates changes to the hierarchy model when the changes comprise a modification to the relationships among the organization resources, and

the contextual information identifies one organization resource of the organization resources supported by the workflow.

16. The system of claim 15 , wherein the workflow comprises a conditional stage, and the conditional stage comprises conditional logic that is analyzed using contents of the hierarchy.

17. The system of claim 15 , wherein a single workflow corresponds to multiple organizational structures.

18. The system of claim 15 , wherein filtering is applied to the workflow.

19. The system of claim 15 , wherein database objects in one or more first nodes in the hierarchy inherit one or more attributes from one or more other nodes in the hierarchy.

20. The system of claim 15 , wherein the hierarchy is changed by processing of the workflow and when an earlier stage of the workflow modifies the hierarchy, a later stage of the workflow accesses a modified version of the hierarchy.

21. The system of claim 15 ,

wherein the hierarchy on the second database is accessed by a first application on the first system using one or more application programming interface (API) calls, the first database on the first storage device and the second database in the second storage device being maintained at backend database server, the first system for the first storage device and the second system for the second storage device being implemented as part of an application server, and the hierarchy being maintained by a second application at the second system; and

the set of acts further comprising, interfacing, by the user device by, with the application server over a middleware server between the user device and the application server, the middleware server implementing at least a hypertext transport protocol to enable communication with the user device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2015
From: KAMATH, RAHUL RATNAKAR; COSBY, DOUGLAS RAY; LONTCHAR, MATTHEW LAWRENCE; WILSON, CHARLES RANDALL
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 036637/0316 →
Continuity (2)
Provisional Application 62055473 · Sep 25, 2014
Related Publication 20160092818A1 · Mar 31, 2016