IP Library Granted Patent US 7,085,834
Granted Patent B2
US 7,085,834 · App. 09/999,177 · Granted Aug 1, 2006

Determining a user's groups

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 7,085,834
App. No.
09/999,177
Granted
Aug 1, 2006
Kind
B2
Abstract

The present invention is directed to technology for determining the set of groups that a user is a member of. A user can be a static member, dynamic member or nested member of a group. A user is a nested member of a first group if that user is a member of a second group and the second group is a member of the first group. There can be multiple levels of nesting. For example, an entity can be a nested member of a first group if that entity is a member of a second group, which is a member of a third group, which is a member of a fourth group, which is a member of the first group. The present invention can determine the groups for which the user is a static member, dynamic member or nested member.

Claims (64)

1. A method of identifying groups within an Identity System of which a user of the Identity System is a member, the method comprising:

determining a set of groups of which the user is a static member based on a group identity profile for each of one or more groups within the Identity System, wherein the group identity profile for each of the one or more groups within the Identity System defines static members of the group;

determining a set of groups of which the user is a dynamic member based on the group identity profile for each of the one or more groups within the Identity System, wherein the group identity profile for each of the one or more groups within the Identity System further defines a rule for determining dynamic members of the group;

combining the set of groups of which the user is a static member and the set of groups of which the user is a dynamic member;

determining a set of groups of which the user is a nested member based on the combined set of groups of which the user is a static member and set of groups of which the user is a dynamic member by recursively finding one or more containing groups for the combined set of groups of which the user is a static member and set of groups of which the user is a dynamic member to a predetermined level of nesting; and

reporting the set of groups of which the user is a static member, the set of groups of which the user is a dynamic member, and the set of groups of which the user is a nested member.

2. The method of claim 1 , wherein determining a set of groups of which the user is a static member comprises comparing an identity profile for the user to one or more attributes of the group identity profile for each of the one or more groups within the Identity System.

3. The method of claim 1 , wherein determining a set of groups of which the user is a dynamic member comprises comparing an identity profile for the user to one or more attributes of the group identity profile for each of the one or more groups within the Identity System.

4. The method of claim 3 , wherein comparing the identity profile for the user to one or more attributes of the group identity profile for each of the one or more groups within the Identity System comprises comparing the identity profile for the user to a Lightweight Directory Access Protocol (LDAP) filter for each of the one or more groups in the Identity System.

5. The method of claim 1 , further comprising authorizing the user to access a resource based on the user being a dynamic member, static member or nested member of a group authorized to access the resource.

6. The method of claim 1 , further comprising, in response to receiving a request to display static members of a group of which the user is a static member, dynamic member, or nested member, determining the static members of the group of which the user is a static member, dynamic member, or nested member based on the identity profile for the group of which the user is a static member, dynamic member, or nested member.

7. The method of claim 1 , further comprising, in response to receiving a request to display dynamic members of a group of which the user is a static member, dynamic member, or nested member, determining the dynamic members of the group of which the user is a static member, dynamic member, or nested member based on a Lightweight Directory Access Protocol (LDAP) filter for the identity profile for the group of which the user is a static member, dynamic member, or nested member.

8. The method of claim 1 , further comprising, in response to receiving a request to display nested members of a group of which the user is a static member, dynamic member, or nested member, determining the nested members of the group of which the user is a static member, dynamic member, or nested member by:

determining the static members of the group of which the user is a static member, dynamic member, or nested member based on the identity profile for the group of which the user is a static member, dynamic member, or nested member;

determining the dynamic members of the group of which the user is a static member, dynamic member, or nested member based on a Lightweight Directory Access Protocol (LDAP) filter for the identity profile for the group of which the user is a static member, dynamic member, or nested member;

combining the static members and dynamic members of the group of which the user is a static member, dynamic member, or nested member; and

determining the nested members of the group of which the user is a static member, dynamic member, or nested member based on the combined static members and dynamic members of the group of which the user is a static member, dynamic member, or nested member.

9. An Identity System comprising:

one or more processors; and

one or more storage devices in communication with said processor and having processor readable code stored thereon, said processor readable code for programming the one or more processors to perform a method for identifying groups within an Identity System of which a user of the Identity System is a member, the method comprising:

identifying groups within an Identity System of which a user of the Identity System is a member, the method comprising:

determining a set of groups of which the user is a static member based on a group identity profile for each of one or more groups within the Identity System, wherein the group identity profile for each of the one or more groups within the Identity System defines static members of the group;

determining a set of groups of which the user is a dynamic member based on the group identity profile for each of the one or more groups within the Identity System, wherein the group identity profile for each of the one or more groups within the Identity System further defines a rule for determining dynamic members of the group;

combining the set of groups of which the user is a static member and the set of groups of which the user is a dynamic member;

determining a set of groups of which the user is a nested member based on the combined set of groups of which the user is a static member and set of groups of which the user is a dynamic member; and

reporting the set of groups of which the user is a static member, the set of groups of which the user is a dynamic member, and the set of groups of which the user is a nested member.

10. The system of claim 9 , wherein determining a set of groups of which the user is a static member comprises comparing an identity profile for the user to one or more attributes of the group identity profile for each of the one or more groups within the Identity System.

11. The system of claim 9 , wherein determining a set of groups of which the user is a dynamic member comprises comparing an identity profile for the user to one or more attributes of group identity profile for each of the one or more groups within the Identity System.

12. The system of claim 11 , wherein comparing the identity profile for the user to one or more attributes of the group identity profile for each of the one or more groups within the Identity System comprises comparing the identity profile for the user to a Lightweight Directory Access Protocol (LDAP) filter for each of the one or more groups in the Identity System.

13. The system of claim 9 , further comprising authorizing the user to access a resource based on the user being a dynamic member, static member or nested member of a group authorized to access the resource.

14. The system of claim 9 , wherein determining a set of groups of which the user is a nested member comprises finding one or more containing groups for one or more groups of the set of groups of which the user is a static member and one or more groups of the set of groups of which the user is a dynamic member.

15. The system of claim 14 , further comprising recursively finding one or more containing groups to a predetermined level of nesting.

16. The system of claim 9 , further comprising, in response to receiving a request to display static members of a group of which the user is a static member, dynamic member, or nested member, determining the static members of the group of which the user is a static member, dynamic member, or nested member based on the identity profile for the group of which the user is a static member, dynamic member, or nested member.

17. The system of claim 9 , further comprising, in response to receiving a request to display dynamic members of a group of which the user is a static member, dynamic member, or nested member, determining the dynamic members of the group of which the user is a static member, dynamic member, or nested member based on a Lightweight Directory Access Protocol (LDAP) filter for the identity profile for the group of which the user is a static member, dynamic member, or nested member.

18. The system of claim 9 , further comprising, in response to receiving a request to display nested members of a group of which the user is a static member, dynamic member, or nested member, determining the nested members of the group of which the user is a static member, dynamic member, or nested member by:

determining the static members of the group of which the user is a static member, dynamic member, or nested member based on the identity profile for the group of which the user is a static member, dynamic member, or nested member;

determining the dynamic members of the group of which the user is a static member, dynamic member, or nested member based on a Lightweight Directory Access Protocol (LDAP) filter for the identity profile for the group of which the user is a static member, dynamic member, or nested member;

combining the static members and dynamic members of the group of which the user is a static member, dynamic member, or nested member; and

determining the nested members of the group of which the user is a static member, dynamic member, or nested member based on the combined static members and dynamic members of the group of which the user is a static member, dynamic member, or nested member.

19. One or more processor-readable storage devices having processor readable code stored thereon, said processor readable code for programming one or more processors to perform a method for identifying groups within an Identity System of which a user of the Identity System is a member, the method comprising:

determining a set of groups of which the user is a static member based on a group identity profile for each of one or more groups within the Identity System, wherein the group identity profile for each of the one or more groups within the Identity System defines static members of the group;

determining a set of groups of which the user is a dynamic member based on the group identity profile for each of the one or more groups within the Identity System, wherein the group identity profile for each of the one or more groups within the Identity System further defines a rule for determining dynamic members of the group and determining a set of groups of which the user is a dynamic member comprises identifying groups for which the user satisfies the rule;

combining the set of groups of which the user is a static member and the set of groups of which the user is a dynamic member;

determining a set of groups of which the user is a nested member based on the combined set of groups of which the user is a static member and set of groups of which the user is a dynamic member; and

reporting the set of groups of which the user is a static member, the set of groups of which the user is a dynamic member, and the set of groups of which the user is a nested member.

20. The processor-readable storage devices of claim 19 , wherein determining a set of groups of which the user is a static member comprises comparing an identity profile for the user to one or more attributes of the group identity profile for each of the one or more groups within the Identity System.

21. The processor-readable storage devices of claim 19 , wherein determining a set of groups of which the user is a dynamic member comprises comparing an identity profile for the user to one or more attributes of the group identity profile for each of the one or more groups within the Identity System.

22. The processor-readable storage devices of claim 21 , wherein comparing the identity profile for the user to one or more attributes of the group identity profile for each of the one or more groups within the Identity System comprises comparing the identity profile for the user to a Lightweight Directory Access Protocol (LDAP) filter for each of the one or more groups in the Identity System.

23. The processor-readable storage devices of claim 19 , further comprising authorizing the user to access a resource based on the user being a dynamic member, static member or nested member of a group authorized to access the resource.

24. The processor-readable storage devices of claim 19 , wherein determining a set of groups of which the user is a nested member comprises finding one or more containing groups for one or more groups of the set of groups of which the user is a static member and one or more groups of the set of groups of which the user is a dynamic member.

25. The processor-readable storage devices of claim 24 , further comprising recursively finding one or more containing groups to a predetermined level of nesting.

26. The processor-readable storage devices of claim 19 , further comprising, in response to receiving a request to display static members of a group of which the user is a static member, dynamic member, or nested member, determining the static members of the group of which the user is a static member, dynamic member, or nested member based on the identity profile for the group of which the user is a static member, dynamic member, or nested member.

27. The processor-readable storage devices of claim 19 , further comprising, in response to receiving a request to display dynamic members of a group of which the user is a static member, dynamic member, or nested member, determining the dynamic members of the group of which the user is a static member, dynamic member, or nested member based on a Lightweight Directory Access Protocol (LDAP) filter for the identity profile for the group of which the user is a static member, dynamic member, or nested member.

28. The processor-readable storage devices of claim 19 , further comprising, in response to receiving a request to display nested members of a group of which the user is a static member, dynamic member, or nested member, determining the nested members of the group of which the user is a static member, dynamic member, or nested member by:

determining the static members of the group of which the user is a static member, dynamic member, or nested member based on the identity profile for the group of which the user is a static member, dynamic member, or nested member;

determining the dynamic members of the group of which the user is a static member, dynamic member, or nested member based on a Lightweight Directory Access Protocol (LDAP) filter for the identity profile for the group of which the user is a static member, dynamic member, or nested member;

combining the static members and dynamic members of the group of which the user is a static member, dynamic member, or nested member; and

determining the nested members of the group of which the user is a static member, dynamic member, or nested member based on the combined static members and dynamic members of the group of which the user is a static member, dynamic member, or nested member.

29. A method of identifying groups within an Identity System of which a user of the Identity System is a member, the method comprising:

determining a set of groups of which the user is a static member based on a group identity profile for each of one or more groups within the Identity System, wherein the group identity profile for each on the one or more groups within the Identity System defines static members of the group;

determining a set of groups of which the user is a dynamic member based on the group identity profile for each of the one or more groups within the Identity System, wherein the group identity profile for each of the one or more groups within the Identity System further defines a rule for determining dynamic members of the group and determining a set of groups of which the user is a dynamic member comprises identifying groups for which the user satisfies the rule based on a comparison of an identity profile for the user to one or more attributes of the group identity profile for each of the one or more groups in the Identity System;

combining the set of groups of which the user is a static member and the set of groups of which the user is a dynamic member;

determining a set of groups of which the user is a nested member based on the combined set of groups of which the user is a static member and set of groups of which the user is a dynamic member by recursively finding one or more containing groups for the combined set of groups of which the user is a static member and set of groups of which the user is a dynamic member to a predetermined level of nesting; and

reporting the set of groups of which the user is a static member, the set of groups of which the user is a dynamic member, and the set of groups of which the user is a nested member.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR FROM ORACLE, USA TO ORACLE CORPORATION PREVIOUSLY RECORDED ON REEL 016327 FRAME 0803. ASSIGNOR(S) HEREBY CONFIRMS THE IDENTITY OF THE ASSIGNOR. SEE THE FIRST PARAGRAPH OF ATTACHED CONFIRMATORY ASSIGNMENT.. Recorded Aug 8, 2005
From: ORACLE CORPORATION
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 016364/0919 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE FROM ORACLE, USA TO ORACLE CORPORATION PREVIOUSLY RECORDED ON REEL 016327 FRAME 0222. ASSIGNOR(S) HEREBY CONFIRMS THE IDENTITY OF THE ASSIGNEE. SEE THE FIRST PARAGRAPH OF ATTACHED CONFIRMATORY ASSIGNMENT.. Recorded Aug 5, 2005
From: OBLIX, INC.
To: ORACLE CORPORATION
Reel/Frame 016361/0252 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2005
From: OBLIX, INC.
To: ORACLE, USA
Reel/Frame 016327/0222 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2005
From: ORACLE, USA
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 016327/0803 →