System and method for logical people groups
AssigneeOracle International Corporation
InventorsRavi Rangaswamy, Vladimir Svetov, Mohan Kamath
Life of this patent
Estimating the term…
Abstract
A system for managing a logical people group. The system comprises a computer, including a computer readable medium and processor operating thereon. The system also comprises a query module, executing on the computer, operable to receive a complex query and return a logical group of users. The query module is operable to search, based on the complex query, across a plurality of information sources including a user directory, a plurality of roles, and an attribute directory. The system also comprises a query cache which stores, for a user-definable period, a reverse lookup table of users and the logical groups to which the users belong based on previously received complex queries.
Claims19
A system for managing a logical people group (LPG), comprising:
- a computer, including a computer memory and processor;
- a user directory which includes a first plurality of attribute values for each of a plurality of users and the user directory maps the plurality of users to a plurality of groups;
- an attribute directory, separate from the user directory, which includes a second plurality of attribute values for each of the plurality of users, which second plurality of attribute values are not recorded in said user directory and the attribute directory maps a plurality of business attributes to the plurality of users;
- a security layer, separate from the user directory and attribute directory, which includes a third plurality of attribute values for each of the plurality of users, which third plurality of attribute values are not recorded in said user directory or attribute directory and the security layer includes a plurality of roles, wherein each role is associated with an application and includes one or more users from the plurality of users;
- a query module including a query cache executing on the computer, operable to receive a complex query wherein the complex query includes a first parameter operable on the first plurality of attribute values, a second defined parameter operable on the second plurality of attribute values, and a third parameter operable on the third plurality of attribute values;
- wherein, in response to the complex query, the query module,
- searches the user directory and identifies a first subset of the plurality users having attribute values satisfying the first parameter,
- searches the attribute directory and identifies a second subset of the plurality of users having attribute values satisfying the second parameter,
- searches the security layer and identifies a third subset of the plurality users having attribute values satisfying the third parameter,
- compares the first subset, the second subset, and the third subset,
- returns an LPG comprising a logical group of a plurality of users present in all of the first subset, the second subset, and the third subset, wherein the LPG is defined by the complex query, and
- stores the LPG in a query cache which stores, for a user-definable period, LPGs based on previously received complex queries.
A method for managing logical people groups (LPGs), comprising:
- maintaining a user directory which includes a first plurality of attribute values for each of a plurality of users and the user directory maps the plurality of users to a plurality of groups;
- maintaining an attribute directory, separate from the user directory, which includes a second plurality of attribute values for each of the plurality of users, which second plurality of attribute values are not recorded in said user directory and the attribute directory maps a plurality of business attributes to the plurality of users;
- maintaining a security layer, separate from the user directory and attribute directory, which includes a third plurality of attribute values for each of the plurality of users, which third plurality of attribute values are not recorded in said user directory or attribute directory and the security layer includes a plurality of roles, wherein each role is associated with an application and includes one or more users from the plurality of users;
- providing a query module executing on a computer including a memory, and a processor;
- providing a query cache which stores, for a user-definable period, LPGs based on previously received complex queries;
- receiving a complex query with the query module, wherein the complex query includes a first parameter operable on the first plurality of attribute values, a second parameter operable on the second plurality of attribute values, and a third parameter operable on the third plurality of attribute values;
- searching the user directory with the query module and identifying a first subset of the plurality users having attribute values satisfying the first parameter,
- searching the attribute directory with the query module and identifying a second subset of the plurality of users having attribute values satisfying the second parameter;
- searching the security layer with the query module and identifying a third subset of the plurality of users having attribute values satisfying the third parameter;
- comparing the first subset, the second subset, and the third subset;
- returning a logical group of users (LPG) including a plurality of users present in all of the first subset, the second subset, and the third subset, wherein the LPG is defined by the complex query, and
- storing the LPG in the query cache.
A non-transitory computer readable storage medium including instructions for managing logical people groups (LPGs), which instructions, when executed by a computer, cause the computer to perform steps comprising:
- maintaining a user directory which includes a first plurality of attribute values for each of a plurality of users and the user directory maps the plurality of users to a plurality of groups;
- maintaining an attribute directory, separate from the user directory, which includes a second plurality of attribute values for each of the plurality of users, which second plurality of attribute values are not recorded in said user directory and the attribute directory maps a plurality of business attributes to the plurality of users;
- maintaining a security layer, separate from the user directory and attribute directory, which includes a third plurality of attribute values for each of the plurality of users, which third plurality of attribute values are not recorded in said user directory or attribute directory and the security layer includes a plurality of roles, wherein each role is associated with an application and includes one or more users from the plurality of users;
- providing a query module executing on a computer including a memory, and a processor;
- providing a query cache which stores, for a user-definable period, LPGs based on previously received complex queries;
- receiving a complex query with the query module, wherein the complex query includes a first parameter operable on the first plurality of attribute values, a second parameter operable on the second plurality of attribute values, and a third parameter operable on the third plurality of attribute values;
- searching the user directory with the query module and identifying a first subset of the plurality users having attribute values satisfying the first parameter,
- searching the attribute directory with the query module and identifying a second subset of the plurality of users having attribute values satisfying the second parameter;
- searching the security layer with the query module and identifying a third subset of the plurality of users having attribute values satisfying the third parameter;
- comparing the first subset, the second subset, and the third subset;
- returning a logical group of users (LPG) including a plurality of users present in all of the first subset, the second subset, and the third subset, wherein the LPG is defined by the complex query, and
- storing the LPG in the query cache.
Dependencies are inferred from the claim text.