Patent ID: 7962493

Claim:
A computer-implemented method for dynamic computation of identity-based attributes, comprising: using a computing device including a processor for monitoring a data store for changes to identity-based attributes for structured data and changes to relationships amongst the structured data; determining when identity-based attributes within the data store change and in response to the changes accessing a base object that holds a computed attribute; wherein values of the computed attribute for the base object are calculated from attribute values present on match objects that are related to the base object; wherein attribute values may depend on more than one value; wherein the base object is associated with one or more match objects through a defined relationship; wherein conditions that define the relationship are established independently of the computations which use those relationships; wherein the defined relationship is defined using any of the following: a match filter that tests a single match object to determine when the match object is a candidate, a base filter that tests a single base object to determine when the base object is a candidate, and one or more search conditions that test conditions between the match object and the base object; wherein the computed attribute can also be used as a match attribute for another computed attribute; automatically evaluating the defined relationship of the base object to identify the match objects; accessing each match object to determine when it is a candidate using the match filter, and when it is a candidate applying the one or more search condition that examines both the match object and the base object to determine if a match exists; in response to a detected change and determining the base object and related matching objects, dynamically computing the computed attribute for a first query; wherein dynamically computing the computed attribute comprises accessing a computed attribute definition that comprises at least one relationship and at least one value attribute; wherein a relationship description defines the at least one relationship and is stored separately from the computed attribute definition; wherein the relationship description is one or more conditions that is evaluated to determine one or more matches; and in response to a second query, providing information from the computed attribute.