Patent ID: 7505976

Claim:
An access control device for controlling access to a data source, comprising performing control means to control access when a user accesses data stored in a database server, the performing control means comprising: policy storing means for storing a plurality of policies, each policy for controlling access to a part of said data source in said database server, when said plurality of policies are inputted; access determination-tree generating means for generating a plurality of tree-structured data from said plurality of policies; access-determination-tree merging means for merging said plurality of tree-structured data; access-determination-tree storing means for storing the merged tree-structured data in said database server and reducing an amount of data stored in a portion of said database constituting policies; and access determining means for, in response to said access to said part of said data source being attempted, determining from said merged tree-structured data whether or not said access to said part of said data source should be permitted, and wherein said access-determination-tree merging means merges said plurality of tree-structured data by extracting a common part of said plurality of tree-structured data and placing the extracted common part on an upper node of the tree structure, and said access-determination-tree merging means performs the merging increasing said common part of said plurality of tree-structured data, and further comprising consistency verification means for, after the determination whether or not said access should be permitted is made, verifying consistency of said determination, and wherein: said access determining means reads out a data value from said data source in response to said access to said part of said data source being attempted, and, by the use of said data value, determines whether or not said access should be permitted from said merged tree-structured data; said part of said data source is designated by a path expression described in a path expression language; said access-determination-tree generating means generates said plurality of tree structured data from said path expression and an attribute of a user who attempts to access said part of said data source; and said path expression language is XPath.