Patent ID: 7685124

Claim:
A data processing system, comprising: a memory device including a database for storing first data descriptive of at least one graph and for storing second data descriptive of an assignment of a user to a first node of the graph; a server comprising: memory for storing a pre-computed least common ancestor index of the graph, the pre-computed least common ancestor index being assigned a status; and a processor for: receiving an access request of the user, the access request specifying a second node of the graph, wherein the pre-computed least common ancestor index is computed before receiving the access request; determining whether to use the pre-computed least common ancestor index to process the access request based on the status; requesting computation of a new least common ancestor index when it is determined that the pre-computed least common ancestor index cannot be used; determining a least common ancestor of the first and second nodes of the graph using the pre-computed or the new least common ancestor index depending on the determination based on the status; performing an authorization check adapted to grant authorization for the access request if the least common ancestor of the first and second nodes is the first node, wherein the pre-computed least common ancestor index has a time stamp and the status is either a first status or a second status, the pre-computed least common ancestor index being used for determining the least common ancestor of the first and second nodes if it has the first status; using an additional pre-computed least common ancestor index when the additional pre-computed least common ancestor index is available, when a status of the additional pre-computed least common ancestor index is not older than a predefined first time interval, and if the pre-computed least common ancestor index having the first status is not available; and generating an instance of the new least common ancestor index for initialization when the additional pre-computed least common ancestor index is not available or is older than the predefined first time interval, wherein the least common ancestor of the first and second nodes is determined by an upwards traversal of the graph until the computation of the new least common ancestor index is completed.