IP Library Granted Patent US 11,381,565
Granted Patent B2
US 11,381,565 · App. 16/834,813 · Granted Jul 5, 2022

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 11,381,565
App. No.
16/834,813
Filed
Mar 30, 2020
Granted
Jul 5, 2022
Kind
B2
Art Unit
3683
USPC
705/7.13
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 (52)

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

accessing a case model comprising a hierarchical data model and a hierarchical permissions 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 from the plurality of case nodes, the hierarchical permission model node specifying a case role and a definition of permissions to be associated with the case role with respect to the corresponding case node; and

enforcing permissions defined by the hierarchical permission model with respect to a case instance 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 computer program product of claim 1 , wherein enforcing the permissions defined by the hierarchical permission model comprises:

based on the hierarchical permission model, associating the case role with a first permission required to perform the requested action with respect to a first case node of the case instance;

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

determining that a requesting user associated with the request is assigned the case role with respect to the case instance; 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 first permission required to perform the requested action with respect to the first case node.

3. The computer program product of claim 2 , wherein the first case node is an instance of the corresponding case node.

4. The computer program product of claim 1 , wherein enforcing the permissions defined by the hierarchical permission model comprises:

based on the hierarchical permission model, associating the case role with a first permission required to perform the requested action with respect to a first case node of the case instance, wherein the first case node is an instance of the corresponding case node;

receiving a request to perform the requested action with respect to a second case node of the case instance, wherein the second case node is descendant of the first case node;

determining that a requesting user associated with the request is assigned the case role with respect to the case instance; 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 first permission required to perform the requested action with respect to the first case node.

5. The computer program product of claim 1 , wherein enforcing the permissions defined in the hierarchical permission model with respect to the case instance 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 computer program product of claim 1 , further comprising instructions for:

instantiating the case instance using the case model, wherein the case instance comprises an instance of the hierarchical data model; and

based on the hierarchical permissions model, setting a first permission for the case role with respect to a first case node of the case instance, wherein the first case node is an instance of the corresponding case node.

7. The computer program product of claim 6 , further comprising instructions for:

based on a determination that the case instance includes a second case node that is a descendent of the first case node, extending the case role the first permission with respect to the second case node.

8. The computer program product of claim 6 , wherein:

the case model associates a state machine with the corresponding case node, the state machine comprising a plurality of case node states;

the definition of permissions to be associated with the case role with respect to the corresponding case node associates the case role with the first permission for a first state of the state machine and associates the case role with a second permission for a second state of the state machine; and

setting the first permission for the case role with respect to the first case node of the case instance comprises dynamically setting the first permission for the case role with respect to the first case node based on a current state of the state machine with respect to the first case node.

9. The computer program product of claim 1 , wherein the definition of permissions to be associated with the case role with respect to the corresponding case node defines a first permission as being conditioned on case node specific data.

10. The computer program product of claim 1 , wherein the definition of permissions to be associated with the case role with respect to the corresponding case node defines a first permission as being conditioned on contextual data.

11. A case management method comprising

accessing, by a processor, a case model comprising a hierarchical data model and a hierarchical permissions 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 from the plurality of case nodes, the hierarchical permission model node specifying a case role and a definition of permissions to be associated with the case role with respect to the corresponding case node; and

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

12. The method of claim 11 , wherein enforcing the permissions defined by the hierarchical permission model comprises:

based on the hierarchical permission model, associating the case role with a first permission required to perform the requested action with respect to a first case node of the case instance;

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

determining that a requesting user associated with the request is assigned the case role with respect to the case instance; 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 first permission required to perform the requested action with respect to the first case node.

13. The method of claim 12 , wherein the first case node is an instance of the corresponding case node.

14. The method of claim 11 , wherein enforcing the permissions defined by the hierarchical permission model comprises:

based on the hierarchical permission model, associating the case role with a first permission required to perform the requested action with respect to a first case node of the case instance, wherein the first case node is an instance of the corresponding case node;

receiving a request to perform the requested action with respect to a second case node of the case instance, wherein the second case node is descendant of the first case node;

determining that a requesting user associated with the request is assigned the case role with respect to the case instance; 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 first permission required to perform the requested action with respect to the first case node.

15. The method of claim 11 , wherein enforcing the permissions defined in the hierarchical permission model with respect to the case instance 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.

16. The method of claim 11 , further comprising the processor performing:

instantiating the case instance using the case model, wherein the case instance comprises an instance of the hierarchical data model; and

based on the hierarchical permissions model, setting a first permission for the case role with respect to a first case node of the case instance, wherein the first case node is an instance of the corresponding case node.

17. The method of claim 16 , further comprising the processor performing:

based on a determination that the case instance includes a second case node that is a descendent of the first case node, extending the case role the first permission with respect to the second case node.

18. The method of claim 16 , wherein:

the case model associates a state machine with the corresponding case node, the state machine comprising a plurality of case node states;

the definition of permissions to be associated with the case role with respect to the corresponding case node associates the case role with the first permission for a first state of the state machine and associates the case role with a second permission for a second state of the state machine; and

setting the first permission for the case role with respect to the first case node of the case instance comprises dynamically setting the first permission for the case role with respect to the first case node based on a current state of the state machine with respect to the first case node.

19. The method of claim 11 , wherein the definition of permissions to be associated with the case role with respect to the corresponding case node defines a first permission as being conditioned on case node specific data.

20. The method of claim 11 , wherein the definition of permissions to be associated with the case role with respect to the corresponding case node defines a first permission as being conditioned on contextual data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2020
From: REDDY, SATYAPAL P.; VAN ROTTERDAM, JEROEN; JAYAKUMAR, MUTHUKUMARAPPA; MOHEN, MICHAEL T.; MEENAKSHISUNDARAM, RAVIKUMAR
To: EMC CORPORATION
Reel/Frame 054342/0456 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2020
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 054342/0496 →
Continuity (4)
Continuation 16015048 · Jun 21, 2018
Continuation 14502194 · Sep 30, 2014
Provisional Application 62031592 · Jul 31, 2014
Related Publication 20200228533A1 · Jul 16, 2020
Cited By (1)
US 12,531,861