IP Library Granted Patent US 10,609,034
Granted Patent B2
US 10,609,034 · App. 16/015,048 · Granted Mar 31, 2020

Hierarchical permissions model for case management

Inventors: Satyapal P. Reddy (San Ramon, CA); Jeroen van Rotterdam (Fort Lauderdale, FL); Muthukumarappa Jayakumar (Mountain House, CA); Michael T. Mohen (Millington, MD); Ravikumar Meenakshisundaram (Pleasanton, CA)
Assignee: Open Text Corporation
H04L63/101G06F16/93G06F21/31G06F21/604G06F21/6218G06Q10/06G06Q10/06311H04L63/08
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,609,034
App. No.
16/015,048
Granted
Mar 31, 2020
Kind
B2
Abstract

Case management systems and techniques are disclosed. In various embodiments, a hierarchical permission model is received, comprising for each of at least a subset of case nodes comprising a hierarchical data model associated with a case model a corresponding set of case roles to be afforded permissions with respect to that case node and for each such case role a set of permissions to be associated with that case role with respect to that case node. The hierarchical permission model is used to enforce with respect to one or more case instances associated with the case model the permissions defined in the hierarchical permission model.

Claims (34)

1. A method of managing permissions, comprising:

accessing from a storage device by a processor, a hierarchical permission model corresponding to a hierarchical data model associated with a case model, the hierarchical data model comprising a plurality of case nodes and the hierarchical permission model comprising a hierarchical permission model node corresponding to a corresponding case node of the hierarchical data model, wherein the hierarchical permission model node defines a case role at the corresponding case node and a set of permissions to be associated with that case role with respect to the corresponding case node, at least a permission in the set of permissions conditioned on corresponding case node specific data; and

the processor enforcing permissions defined in the hierarchical permission model with respect to one or more case instances instantiated using the case model by allowing, or not allowing, a requested action to be performed, at run time, based on the case role.

2. The method of claim 1 , further comprising receiving, from a case model developer system, a case model definition associated with the case model, wherein the case model definition includes a definition of the hierarchical data model.

3. The method of claim 2 , further comprising the processor parsing the case model definition to instantiate the one or more case instances using the case model.

4. The method of claim 1 , wherein enforcing permissions defined in the hierarchical permission model with respect to one or more case instances instantiated using the case model by allowing, or not allowing the requested action to be performed comprises:

receiving a request to perform the requested action with respect to a first case node of a first case instance;

determining that a requesting user associated with the request is assigned the case role with respect to the first case instance;

determining that the case role is granted in the hierarchical permission model a permission required to perform the requested action with respect to the first case node; and

allowing the requested action to be performed based at least in part on the determination that the requesting user is associated with the case role and the determination that the case role is granted the permission required to perform the requested action with respect to the first case node.

5. The method of claim 1 , wherein enforcing permissions defined in the hierarchical permission model with respect to one or more case instances instantiated using the case model by allowing, or not allowing the requested action to be performed comprises blocking a request to perform the requested action with respect to a first case node of a first case instance based at least in part on a determination that a requesting user with which the request is associated is not assigned any case role to which a permission required to perform the requested action is granted with respect to the first case node of the first case instance.

6. The method of claim 1 , wherein the case model associates a case node state machine comprising a plurality of case node states with the corresponding case node and the hierarchical permission model defines with respect to the corresponding case node one or more permissions conditioned at least in part based on a current state of the case node state machine.

7. The method of claim 6 , wherein the hierarchical permission model indicates with respect to a first state of the case node state machine for the corresponding case node that the case role is granted a state transition permission to cause a transition from the first state of the case node state machine to a second state of the case node state machine.

8. The method of claim 1 , wherein the set of permissions includes a case role assignment permission to allow a first user assign other users to a specified case role.

9. The method of claim 1 , wherein the hierarchical permission model comprises descendant nodes below the hierarchical permission model node in the hierarchical permission model, wherein the set of permissions extends to the descendent nodes.

10. The method of claim 1 , wherein said hierarchical permission model includes a first associates with a first subtree of the hierarchical data model the case role that is defined to have the set of permissions, wherein the set of permissions do not extend beyond said first subtree to other portions of said hierarchical data model.

11. The method of claim 1 , further comprising the processor instantiating the one or more case instances using the case model, the instantiating the one or more case instances including creating an in-memory data structure defined by the case model.

12. A computer program product comprising a non-transitory computer readable medium embodying thereon computer executable code comprising instructions for:

accessing from a storage device, a hierarchical permission model corresponding to a hierarchical data model associated with a case model, the hierarchical data model comprising a plurality of case nodes and the hierarchical permission model comprising a hierarchical permission model node corresponding to a corresponding case node of the hierarchical data model, wherein the hierarchical permission model node defines a case role at the corresponding case node and a set of permissions to be associated with that case role with respect to the corresponding case node, at least a permission in the set of permissions conditioned on corresponding case node specific data; and

enforcing permissions defined in the hierarchical permission model with respect to one or more case instances instantiated using the case model by allowing, or not allowing, a requested action to be performed, at run time, based on the case role.

13. The computer program product of claim 12 , further comprising instructions for receiving, from a case model developer system, a case model definition associated with the case model, wherein the case model definition includes a definition of the hierarchical data model.

14. The computer program product of claim 13 , further comprising instructions for parsing the case model definition to instantiate the one or more case instances using the case model.

15. The computer program product of claim 12 , wherein enforcing permissions defined in the hierarchical permission model with respect to one or more case instances instantiated using the case model by allowing, or not allowing the requested action to be performed comprises:

receiving a request to perform the requested action with respect to a first case node of a first case instance;

determining that a requesting user associated with the request is assigned the case role with respect to the first case instance;

determining that the case role is granted in the hierarchical permission model a permission required to perform the requested action with respect to the first case node; and

allowing the requested action to be performed based at least in part on the determination that the requesting user is associated with the case role and the determination that the case role is granted the permission required to perform the requested action with respect to the first case node.

16. The computer program product of claim 12 , wherein enforcing permissions defined in the hierarchical permission model with respect to one or more case instances instantiated using the case model by allowing, or not allowing the requested action to be performed comprises blocking a request to perform the requested action with respect to a first case node of a first case instance based at least in part on a determination that a requesting user with which the request is associated is not assigned any case role to which a permission required to perform the requested action is granted with respect to the first case node of the first case instance.

17. The computer program product of claim 12 , wherein the case model associates a case node state machine comprising a plurality of case node states with the corresponding case node and the hierarchical permission model defines with respect to the corresponding case node one or more permissions conditioned at least in part based on a current state of the case node state machine.

18. The computer program product of claim 17 , wherein the hierarchical permission model indicates with respect to a first state of the case node state machine for the corresponding case node that the case role is granted a state transition permission to cause a transition from the first state of the case node state machine to a second state of the case node state machine.

19. The computer program product of claim 12 , wherein the set of permissions includes a case role assignment permission to allow a first user assign other users to a specified case role.

20. The computer program product of claim 12 , wherein the hierarchical permission model comprises descendant nodes below the hierarchical permission model node in the hierarchical permission model, wherein the set of permissions extends to the descendent nodes.

21. The computer program product of claim 12 , wherein said hierarchical permission model includes a first associates with a first subtree of the hierarchical data model the case role that is defined to have the set of permissions, wherein the set of permissions do not extend beyond said first subtree to other portions of said hierarchical data model.

22. The computer program product of claim 12 , further comprising instructions for instantiating the one or more case instances using the case model, the instantiating the one or more case instances including creating an in-memory data structure defined by the case model.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2018
From: REDDY, SATYAPAL P.; VAN ROTTERDAM, JEROEN; JAYAKUMAR, MUTHUKUMARAPPA; MOHEN, MICHAEL T.; MEENAKSHISUNDARAM, RAVIKUMAR
To: EMC CORPORATION
Reel/Frame 046634/0552 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2018
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 046634/0595 →
Continuity (3)
Continuation 14502194 · Sep 30, 2014
Provisional Application 62031592 · Jul 31, 2014
Related Publication 20180341892A1 · Nov 29, 2018
Cited By (1)
US 12,531,861