Group compositing algorithms for presence
First Claim
1. A method for determining group presence, the method comprising:
- a processor receiving a presence event;
in response to receiving of the presence event, the processor determining a hierarchy associated with the presence event, wherein the hierarchy is associated with a group having two or more nodes;
the processor traversing the hierarchy associated with the group to a selected one of the nodes;
the processor determining a presence for the selected node;
the processor determining if another node in the hierarchy exists for the group;
if another node exists for the group, determining a presence for the other node;
if another node in the hierarchy does not exist for the group, determining a presence for the group based on the presence for the nodes in the hierarchy; and
the processor publishing the group presence.
20 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods presented herein construct groups and determine the presence for the groups. The groups can be constructed based on business logic. A set of components can model a group from the business logic, can establish a membership for the group, can determine one or more rules that govern presence determination for the membership, and can provide the group model, membership information, and the one or more rules to a rules engine. The rules engine can evaluate presence within the group model based on the membership and the one or more rules. The group presence can then be provided to one or more entities, applications, or workflows that subscribe to the rules engine for the group presence.
282 Citations
19 Claims
-
1. A method for determining group presence, the method comprising:
-
a processor receiving a presence event; in response to receiving of the presence event, the processor determining a hierarchy associated with the presence event, wherein the hierarchy is associated with a group having two or more nodes; the processor traversing the hierarchy associated with the group to a selected one of the nodes; the processor determining a presence for the selected node; the processor determining if another node in the hierarchy exists for the group; if another node exists for the group, determining a presence for the other node; if another node in the hierarchy does not exist for the group, determining a presence for the group based on the presence for the nodes in the hierarchy; and the processor publishing the group presence. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
a presence server, the presence server operable to determine a presence status for two or more individual persons associated with a group and operable to provide the presence status as individual presence information; a rules engine in communication with the presence server, the rules engine operable to receive the individual presence information for each of the two or more individual persons, operable to determine a group presence based on the received individual presence information, and operable to publish the group presence, wherein the rules engine determines the group presence based on a rule created from a business logic; a rules database in communication with the rules engine, the rules database operable to store the rule; an enterprise directory, the enterprise directory operable to provide the business logic; a group definition component in communication with the rules database, the group definition component operable to define the group based on the business logic; and a rules definition component in communication with the rules database and the group definition component, the rules definition component operable to define the rule based on at least one of the group and the business logic. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A computer program product comprising computer executable instructions stored onto a non-transitory computer readable medium which, when executed by a processor of a computer, causes the processor to execute a method, the instructions comprising:
-
instructions to receive business logic that defines a membership for a group; instructions to determine a structure for the group based on the business logic, wherein the structure comprises a hierarchy having two or more nodes; instructions to determine the hierarchy of the group based on the business logic; instructions to determine a membership for each of the two or more nodes in the group; instructions to determine a threshold for each of the two or more nodes in the group, wherein the threshold defines if the membership of the node is present; instructions to create a rule for the group based on the business logic; and instructions to store the rule. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification