IP Library Granted Patent US 7,363,339
Granted Patent B2
US 7,363,339 · App. 09/998,926 · Granted Apr 22, 2008

Determining group membership

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,363,339
App. No.
09/998,926
Granted
Apr 22, 2008
Kind
B2
Abstract

The present invention is directed to technology for determining the members of groups. A group can have static members, dynamic members and/or nested members. An entity is a nested member of a first group if that entity 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 membership of a group, including the static members, dynamic members and/or nested members. Furthermore, the present invention can be used to expand one or more groups so that future requests to view the membership of a group can be performed in a more efficient manner.

Claims (70)

1. A method for identifying members of a group, comprising the steps of:

determining dynamic members of a first user group based on a rule that defines dynamic membership for said first user group, wherein said rule is stored in a dynamic rule attribute of an identity profile of said first user group and wherein said first user group includes one or more static members and an identification of each of said static members is stored in a static member attribute for said identity profile of said first user group;

storing an identification of each of said dynamic members of said first user group wherein said identification of each of said dynamic members is stored in said static member attribute for said identity profile of said first user group;

determining nested members of said first user group;

storing an identification of each of said nested members of said first user group;

receiving a request to report members of said first user group, said request is received subsequent to said step of storing; and

reporting said dynamic members and said nested members of said first user group in response to said request, said reporting of said dynamic members is performed based on said stored identification of said dynamic members and said reporting of said nested members is performed based on said stored identification of said nested members.

2. A method according to claim 1 , wherein:

said identity profile of said first user group also includes an expansion attribute; and

said method can only be performed if said expansion attribute includes an appropriate value.

3. A method according to claim 2 , wherein:

said method can only be performed for an entity having access to said expansion attribute and said dynamic rule attribute.

4. A method according to claim 1 , wherein:

said steps of determining and storing are automatically repeated.

5. A method according to claim 1 , wherein:

said steps of determining, storing and receiving are performed by an integrated identity and access system.

6. A method according to claim 5 , wherein:

said integrated identity and access system is capable of performing authorization services based on membership in said first user group.

7. A method according to claim 1 , wherein:

said nested members include members of multiple levels of nested groups.

8. A method according to claim 1 , wherein:

said step of determining nested members includes recursively determining members of group members.

9. A method according to claim 1 , wherein:

said step of reporting includes reporting said static members.

10. A method according to claim 1 , wherein said step of determining nested members includes the steps of:

determining all static group members of said first user group;

determining all static and dynamic members of said static group members of said first user group;

determining all static group members of said static group members of said first user group; and

determining all members of said static group members of said static group members of said first user group.

11. A method according to claim 1 wherein:

said first user group and nested groups of said first user group include rules defining criteria for being dynamic members; and

said step of determining dynamic members includes the steps of determining a normalized set of said rules and determining which users are defined by said normalized set of said rules, said users defined by said normalized set of said rules are said dynamic members of said first user group.

12. A method according to claim 1 , wherein:

said step of reporting includes reporting said static members.

13. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising the steps of:

determining dynamic members of a first user group based on a rule that defines dynamic membership for said first user group, wherein said rule is stored in a dynamic rule attribute of an identity profile of said first user group and wherein said first user group includes one or more static members and an identification of each of said static members is stored in a static member attribute for said identity profile of said first user group;

storing an identification of each of said dynamic members of said first user group wherein said identification of each of said dynamic members is stored in said static member attribute for said identity profile of said first user group;

determining nested members of said first user group, said nested members include members of multiple levels of nested groups;

storing an identification of each of said nested members of said first user group;

receiving a request to report members of said first user group, said request is received subsequent to said step of storing; and

reporting said dynamic members and said nested members of said first user group in response to said request, said reporting of said dynamic members is performed based on said stored identification of said dynamic members and said reporting of said nested members is performed based on said stored identification of said nested members.

14. One or more processor readable storage devices according to claim 13 , wherein:

said step of reporting includes reporting said static members.

15. One or more processor readable storage devices according to claim 14 , wherein:

said steps of determining and storing are automatically repeated.

16. One or more processor readable storage devices according to claim 14 , wherein:

said steps of determining, storing and receiving are performed by an integrated identity and access system.

17. An apparatus that can determine members of a group, comprising:

a communication interface; and

one or more processors in communication with said communication interface, said one or more processors perform a method comprising the steps of:

determining dynamic members of a first user group based on a rule that defines dynamic membership for said first user group, wherein said rule is stored in a dynamic rule attribute of an identity profile of said first user group and wherein said first user group includes one or more static members and an identification of each of said static members is stored in a static member attribute for said identity profile of said first user group,

storing an identification of each of said dynamic members of said first user group wherein said identification of each of said dynamic members is stored in said static member attribute for said identity profile of said first user group,

determining nested members of said first user group, said nested members include members of multiple levels of nested groups;

storing an identification of each of said nested members of said first user group;

receiving a request to report members of said first user group, said request is received subsequent to said step of storing, and

reporting said static members, said dynamic members, and said nested members of said first user group in response to said request, said reporting of said dynamic members is performed based on said stored identification of said dynamic members and said reporting of said nested members is performed based on said stored identification of said nested members.

18. An apparatus according to claim 17 , wherein:

said steps of determining and storing are automatically repeated.

19. An apparatus according to claim 17 , wherein:

said steps of determining, storing and receiving are performed by an integrated identity and access system.

20. An integrated identity and access system comprising:

an identity system adapted to determine dynamic members of a first user group based on a rule that defines dynamic membership for said first user group, wherein said rule is stored in a dynamic rule attribute of an identity profile of said first user group and wherein said first user group includes one or more static members and an identification of each of said static members is stored in a static member attribute for said identity profile of said first user group,

store an identification of each of said dynamic members of said first user group wherein said identification of each of said dynamic members is stored in said static member attribute for said identity profile of said first user group, determine nested members of said first user group, store an identification of each of said nested members of said first user group, receive a request to report members of said first user group, said request is received subsequent to said step of storing, and report said dynamic members and said nested members of said first user group in response to said request, said reporting of said dynamic members is performed based on said stored identification of said dynamic members and said reporting of said nested members is performed based on said stored identification of said nested members; and

an access system adapted to perform authentication services based on membership in said first user group.

21. The integrated identity and access system of claim 20 , wherein the identity system is adapted to determine nested members by:

determining all static group members of said first user group;

determining all static and dynamic members of said static group members of said first user group;

determining all static group members of said static group members of said first user group; and

determining all members of said static group members of said static group members of said first user group.

22. The integrated identity and access system of claim 20 , wherein said first user group and nested groups of said first user group include rules defining criteria for being dynamic members and the identity system is adapted to determine dynamic members by determining a normalized set of said rules and determining which users are defined by said normalized set of said rules, said users defined by said normalized set of said rules are said dynamic members of said first user group.

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 →