Information processing apparatus, information processing method, computer-readable medium having information processing program embodied therein, and resource management apparatus

There is disclosed an information processing apparatus for providing information on resources for which predetermined permission is given to a subject trying to access the resources. The information processing apparatus comprises a permission status information generating part to generate permission status information based on resource classification information, subject classification information, and rule information. The permission status information indicates whether the subject trying to access the resources has the predetermined permission to access the respective resources. The resource classification information includes information on classifications of the resources to be accessed. The subject classification information includes information on a classification of the subject trying to access the resources. The rule information defines a rule for the subject to access the resources with respect to a combination of the classifications of the resources and the classification of the subject.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to an information processing apparatus, an information processing method, a computer-readable medium having an information processing program embodied therein, and a resource management apparatus, and particularly relates to an information processing apparatus, information processing method, a computer-readable medium having an information processing program embodied therein, and a resource management apparatus for efficiently providing information on a resource.

2. Description of the Related Art

In computer systems, access permission is generally set for each resource to prevent unauthorized use of the resources. Data defining such access permission are commonly called as ACL (Access control list).FIG. 1is a conceptual diagram of an ACL for a document management system. In the ACL inFIG. 1, permission for reference, read, update, and delete is defined on a user or group basis. By setting such ACL for each document, the document management system protects the documents.

In this type of document management system, when a document search is requested by a client, a result list must be generated so as to display only the documents to which the client has reference permission. However, accessing the ACLs set for each document during the search incurs high cost. To avoid such waste, some systems generate a bit sequence (hereinafter referred to as “bit mask”) indicating reference permission status of each user, i.e., which user has reference permission to which document in advance.

A conceptual diagram of the bit mask is shown inFIG. 2. When a search is requested, the system can check whether the reference permission is given to a user who requested the search with reference to the bit mask generated in advance. The system can thus quickly output a search result.

On the other hand, in some cases, access permission to documents are controlled in various types of systems (distribution system, print system, etc.) according to common rules. For example, by sharing security information among the systems, the access permission is controlled based on the security information. In this case, for the consistency with these systems, a document management system determines access permission to the document based on the security information stored in an external apparatus in place of an ACL stored (as, for example, document attribute) in the document management system. The term “security information” is used to mean a set of plural pieces information including, for example, user attribute (section to which a user belongs, position, etc.), document attribute (document category, confidential level, etc.) and information indicating the status of access permission with respect to each combination of the user attribute and the document attribute.

Japanese Patent Laid Open Publication No. 2001-344245 discloses an information processing apparatus that generates an index associated with file information and permission information to search for documents based on the index. The apparatus thereby acquires the documents in consideration of access permission. Japanese Patent Laid Open Publication No. 06-243018 discloses a system that has permission information, for each document, containing information on security management according to a classification, and manages the security of the documents based on the permission information. Japanese Patent Laid Open Publication No. 2003-280990 discloses a document management apparatus that stores access permission setting information associated with user attribute information for every document and folder. The apparatus checks instructions described in an access request from a user with reference to the access permission setting information, and permits the access under corresponding setting conditions.

When checking the access permission to a document for a user with such security information, however, the system needs to refer to plural pieces of information (user attribute, documents attribute, etc.). Therefore, the mechanism for checking the permission is complicated. In addition, if the security information is stored in a location connected to the document management system via a network, the system needs to check the access permission via the network when a search is requested. Such a condition lowers the search performance.

SUMMARY OF THE INVENTION

A general object of the present invention is therefore to provide an information processing apparatus, an information processing method, a computer-readable medium having an information processing program embodied therein, and a resource management apparatus to solve at least one problem mentioned above. A specific object of the present invention is to provide an information processing apparatus, an information processing method, a computer-readable medium having an information processing program embodied therein, and a resource management apparatus that can provide information on resources for which reference permission is given to a subject trying to access the resources.

To achieve these and other objects of the present invention, there is provided an information processing apparatus, comprising a permission status information generating part to generate permission status information based on resource classification information, subject classification information, and rule information. Herein, the permission status information indicates whether a subject trying to access resources has predetermined access permission to the respective resources. The resource classification information includes information on classifications of the resources to be accessed. The subject classification information includes information on a classification of the subject trying to access the resources. The rule information defines a rule for the subject to access the resources with respect to a combination of the classifications of the resources and the classification of the subject.

This information processing apparatus can generate the permission status information indicating the status of the predetermined access permission based on plural pieces of information such as the resource classification information, the subject classification information and the rule information. Therefore, when a resource search is requested, the apparatus can efficiently provide information on resources for which predetermined permission is given to a subject who makes the search request by utilizing the permission status information.

There is also provided an information processing apparatus, comprising a permission status information generating part to generate second permission status information indicating whether a subject has predetermined permission to access resources, based on: first permission status information indicating the status of the predetermine permission on a resource basis in accordance with whether at least the subject has a predetermined first relation with respective resources, based on resource classification information on classifications of the resources to be accessed and rule information defining a rule for the subject to access the resources with respect to a combination of the classifications of the resources and a classification of the subject trying to access the resources; and first relation status information indicating whether the subject has the predetermined first relation with the respective resources, based on the resource classification information and subject classification information on the classification of the subject.

This information processing apparatus can generate the same permission status information as the former information processing apparatus at high speed.

There is also provided a resource management apparatus to manage predetermined resources, comprising a searching part to extract, in response to a request for information on a list of the resources, the resources for which predetermined access permission is given to a subject who makes the request based on the permission status information generated by the above-described information processing apparatus, and to provide information on a list of the extracted resources.

This resource management apparatus can efficiently provide information on the resources for which predetermined permission is given to the subject who makes the search request by utilizing the permission status information generated by the information processing apparatus.

The objects of the present invention is also achieved by an information processing method executable by the information processing apparatus, and a computer-readable medium having an information processing program embodied therein for executing the information processing method in the information processing apparatus.

The information processing apparatus, information processing method, computer-readable medium having an information processing program embodied therein, and the resource management apparatus make it possible to efficiently provide information on resources for which predetermined permission is given to a subject trying to access the resources.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The following description provides exemplary embodiments of the present invention with reference to the accompanying drawings.FIG. 3is a schematic diagram showing a document management system1according to an embodiment of the present invention. As shown inFIG. 3, the document management system1of this embodiment comprises a security management server10, a document management server20, an authentication server30, a client40, a print server51, a conversion server52, a distribution server53, and a network60such as the Internet or a LAN (Local Area Network) interconnecting these devices.

The security management server10is a computer that manages various information items on document security (hereinafter referred to as “security information”). The servers handling documents (the document management server20, the print server51, the conversion server52, and the distribution server53) in the document management system1determine access permission to the document for each user based on the security information managed in the security management server10. The security management server10includes a security management module11and a bit mask generation module12and the like. The security management module11has a management function for the various security information. The bit mask generation module12has a function for generating a bit sequence (hereinafter referred to as “bit mask”) indicating reference permission status for each user, i.e., which user has reference permission to which document.

The document management server20is a computer with a document management module21that manages documents (i.e., offers functions for saving documents, searching stored documents, and updating and deleting documents, etc.) When a document search is requested, the document management module21quickly outputs a search result using the bit mask generated by the bit mask generation module12.

The authentication server30is a computer with an authentication module31for authenticating a user of the document management system1. The authentication module31authenticates a user in response to an authentication request, and issues a digital certificate (hereinafter referred to as “ticket”) to certify that the user is authenticated if the user is authenticated.

The print server51, the conversion server52and the distribution server53are examples of various servers for handling the documents managed by the document management server20. The print server51is a computer with a function for commanding a printer to print documents. The conversion server52is a computer with a function for converting documents into a specific data format. The distribution server53is a computer with a function for delivering documents to a specific destination.

The client40is a computer having applications installed therein for using the functions of these various servers. The client40is not limited to a terminal that is directly operated by a user, and may be, for example, a Web server. In this case, applications installed in the client40are Web applications.

The following is a detailed description of the security management server10.FIG. 4is a block diagram showing hardware of the security management server10according to an embodiment of the present invention. The security management server10inFIG. 4comprises a drive unit100, an auxiliary (secondary) storage unit102, a memory unit103, a processing unit104, an interface unit105, and a bus B interconnecting these units.

A recording medium101such as a CD-ROM provides a program for executing operations in the security management server10. When the recording medium101with the program recorded thereon is loaded in the drive unit100, the program is installed in the auxiliary storage unit102from the recording medium101via the drive unit100.

The auxiliary storage unit102stores the installed program as well as necessary files and data. For example, the auxiliary storage unit102stores various tables (to be described later) necessary for execution of the program. The memory unit103, in response to a command for starting a program, reads out the program from the auxiliary storage unit102and holds the program therein. The processing unit104executes a function in the security management server10according to the program held in the memory unit103. The interface unit105is, for example, a modem or a router, and is used for connecting the security management server10to the network60ofFIG. 3.

FIG. 5is a functional diagram of a security management server10and a document management server20according to a first embodiment. As shown inFIG. 5, a security management module11of the security management server10manages a user profile111, a document profile112, a policy113, a certificate114and the like. Theses elements correspond to the previously mentioned security information.

FIG. 6shows an example of the user profile111. As shown inFIG. 5, the user profile111is information that classifies users by their relevant sections, or defines which user is relevant to which sections (section A, section B, section C). For example, in the user profile111, it is defined that a user A is a person relevant to the section A, but is not relevant to the sections B and C. The term “a person relevant to a section” used herein shall mean, for example, a person belonging to the section or a person involved in a project in the section.

FIG. 7shows an example of the document profile112. As shown inFIG. 7, the document profile112is information that classifies documents by their confidential level, or defines a document name, a confidential level, and a section in charge. The document name is a name given to a document. The confidential level is a security level of the document. The section in charge is the name of a section in charge of the document. For example, in the document profile112, a document1is a strictly confidential document and a section A is in charge thereof.

FIG. 8shows an example of the policy113. As shown inFIG. 8, the policy113is information defining rules for a user to access resources with respect to each combination of user classification (relevant or non-relevant) and “resource” classification (confidential level) For example, if the policy113is applied, a relevant person is not permitted to refer to or print a strictly confidential document, but is permitted to refer to and print a confidential document and a document for internal use only according to the policy113. The definition in brackets is an “obligation”. The obligation is an operation that must be executed at the time of access to a resource. In this case, although the relevant person is permitted to refer to or print a confidential document, the person is required to generate a log when referring to the document, and is required to print his/her name on the document and generate a log when printing out the document.

The policy113may be defined in a policy description language, i.e., XACML (extensible Access Control Markup Language).FIG. 9shows an example of a definition113ain XACML. In the XACML definition113ainFIG. 9, a part enclosed by Policy tags1131corresponds to a definition of a policy. The policy contains one or more rules enclosed by Rule tags such as rules1132and1133inFIG. 9. According to the rule1132, access is permitted if the value of an Effect attribute in the Rule tag is “Permit”. If the value of an Effect attribute in the Rule tag is “Deny”, the access is not permitted.

A target to which the rules are applied is defined at a part enclosed by Target tags. The target contains a subject, a resource and an action respectively in descriptions1134,1135and1136. The subject defined in the description1134has permission for the action defined in the description1135to the resource defined in the description1135.

FIG. 10shows an example of the certificate114. The certificate114is information defining exceptional permission (hereinafter referred to as “additional permission”) that is not defined in the policy113. The certificate114inFIG. 10contains information on every document to which additional permission is set, with the name of the documents, names of users who have additional permission, and types of permission. For example, the certificate114defines that reference permission to a document1is exceptionally given to a user A. When, for instance, a user not allowed to have permission in the policy113participates in a specific project, the user can temporarily have specific permission with the certificate114.

Referring back toFIG. 5, the document management module21comprises a search engine211, a search condition input part212, a search result output part213, and bibliographic information214. The bibliographic information214is information on a bibliography of managed documents. The search engine211has a function of searching for documents, which meet conditions entered in the search condition input part212, in the bibliographical information214. In the document search, the search engine211quickly extracts only the documents for which reference permission is given to a user who requests the search using the bit mask13generated by the bit mask generation module12. The search condition input part212is a function for receiving a search condition from a client and inputting the search condition into the search engine211. The search result output part213is a function for outputting a list of documents retrieved by the search engine211to the client.

The following describes operating procedures of the document management system1inFIG. 3.FIG. 11is a first sequence diagram showing operations in a document search in the document management system1according to the first embodiment. The operations shown inFIG. 11are executed according to instructions for a document search from a user. It is assumed that a user has already entered a user name and a password for starting an application41installed in the client40.

In step S101, when the application41queries the document management module21for an authentication module allocated for the authentication of the application41, the document management module21transmits a URL (destination URL) of the authentication module31to the application41(step S102). The operation then proceeds from step S102to step S103, wherein the application41requests a user authentication from the authentication module31based on the destination URL transmitted from the document management module21. The user authentication is requested with the presentation of the user name and the password entered by the user.

The operation then proceeds from step S103to step S104, wherein the authentication module31authenticates the user and generates a ticket to certify that the user is authenticated. The ticket includes a ticket ID to identify the ticket as well as information on available services indicating services available with the ticket, validated date indicating until when the services are available with the ticket, a user ID, and a code for checking falsification. The ticket is encrypted so that only the authentication module31can refer to the contents of the ticket.

The operation then proceeds from step S104to step S105, wherein the authentication module31transmits the ticket to the application41. The operation then proceeds from step S105to step S106, wherein the application41sends a request, with presentation of the ticket, for a setup of a session to the document management module21. The operation then proceeds from step S106to step S107, wherein the document management module21sends a request for the generation of the bit mask13to the bit mask generation module12. The generation of the bit mask is requested with the presentation of ticket and information on the list of documents for which the bit mask is to be generated.

The operation then proceeds from step S107to S108, wherein the bit mask generation module12queries, with presentation of the ticket, the authentication module31for the user ID of the current user. The authentication module31identifies the user ID based on the ticket, and transmits the user ID to the bit mask generation module12(S109).

The operation then proceeds from step S109to step S110, wherein the bit mask generation module12sends a query, with presentation of the user ID and a name of a document (hereinafter referred to as “current document”), for the reference permission status of the user to the current document. The operation then proceeds from step S110to step S111, wherein the security management module11determines the reference permission status of the user to access the current document based on the user profile111, the document profile112, the policy113, and the certificate114. The determination result (the reference permission status indicating whether the reference is permitted) is output to the bit mask generation module12(S112).

The operation then proceeds from step S112to step S113, wherein the bit mask generation module12reflects the determination result in a bit for the current document in the bit mask13. For instance, if the user has the reference permission, the value of the bit is set to “1” (ON). Subsequently, the bit mask generation module12queries for the reference permission to all the remaining documents to complete the bit mask13(S114). The operation then proceeds from step S114to S115, wherein the bit mask generation module12transmits the completed bit mask13for the current document to the document management module21.

FIG. 12shows an example of the generated bit mask13. As shown inFIG. 12, the bit mask13comprises a bit sequence having bits corresponding to documents for indicating the reference permission status to the documents. The bit mask13thus shows the reference permission status of a user A to each document in a corresponding bit.

The operation then proceeds from step S115to S116, wherein the document management module21, retaining the bit mask13, transmits a session ID to the application41to answer the session setup request.

The operation then proceeds from step S116to S117, wherein the application41requests, with presentation of the search conditions entered by the user, for a document search. The search engine211of the document management module21searches for documents that meet the search conditions in the bibliographic information21, extracts only the documents whose bit in the bit mask13is ON from the search result, and generates a list including only the documents for which reference permission is given to the current user (S118).

The operation then proceeds from step S118to S119, wherein the document management module21transmits the generated document list to the application41. Thereafter, if new search conditions are entered in the same session, the operations only in step S117through step S119are executed. As such, only the documents to which the user has reference permission can be quickly extracted without accessing the user profile111, the document profile112, the policy113and the certificate114using the bit mask13.

The following is a detailed description of the operations for generating the bit mask13.FIG. 13is a flowchart showing the operations for generating the bit mask13according to the first embodiment. The operations shown inFIG. 13correspond to the operations in step S111through step S114that are executed after the above-described step S110wherein the bit mask generation module12queries the security management module11for the reference permission status of the current user to the current document.

In step S201, the security management module11reads out information on the current user from the user profile111(FIG. 6) and identifies a section to which the current user is relevant. For example, if the current user is “user A”, the user is identified as a person relevant to the section A. The operation then proceeds from step S201to step S202, wherein the security management module11reads out the policy113(FIG. 8). The operation then proceeds from step S202to step S203, wherein the security management module11reads out the information on the current document from the document profile112(FIG. 7) to identify the confidential level of the current document and the section in charge thereof. For example, if the current document is “document1”, the confidential level is identified as “strictly confidential” and the section in charge is identified as “section A”.

The operation then proceeds from step S203to step S204, wherein the security management module11identifies whether the current user is relevant to the current document. For example, if the section to which the current user is relevant is identical to the section in charge of the document, the current user is relevant to the current document. If not, the current user is not relevant to the current document. Therefore, the user A is identified as a person relevant to the document1.

The operation then proceeds from step S204to step S205, wherein the security management module11, with reference to the policy113, determines whether the current user has the reference permission to the current document based on information indicating whether the current user is a person relevant to the current document and the confidential level of the document. For example, based on the information indicating that the user A is relevant to the document1and the document1is a strictly confidential document, the user A is not determined to have the reference permission to the document1. The security management module11informs the bit mask generation module12of this determination result.

If the current user is determined to have the reference permission to the current document, the operation then proceeds from step S205to step S206. In step206, the bit mask generation module12sets the bit corresponding to the current document to ON.

If the current user is not determined to have the reference permission to the current document, the operation then proceeds from step S205to step S207. In step207, the security management module11checks whether the current user has additional permission for the reference of the current document1with reference to the certificate114(FIG. 10), and determines whether the current user has the reference permission to the current document. For example, reference permission to the document1is given to the user1, so that the user A is determined to have the reference permission to the document1. The security management module11informs the bit mask generation module12of this determination result, and the bit mask generation module12reflects the result in the bit mask13(S206, S208).

When the operations in steps S203through S208are executed on all the documents (S209), the operations for generating the bit mask are ended.

InFIG. 11, in place of the security management module11, the bit mask generation module12may determine the reference permission status to allow the security management module11to specialize in the management of the security information.FIG. 14shows the operations sequence for such case.FIG. 14is a second sequence diagram showing operations for a document search in the document management system according to the first embodiment;

InFIG. 14, steps S310through S316are substitutions for steps S111through S114inFIG. 11, and operations except these are the same as inFIG. 11. Therefore, only steps S310thorough S316are discussed below.

In step S310, the bit mask generation module12, with presentation of the user ID, requests the information on the current user in the user profile111from the security management module11, the security management module11retrieves the information from the user profile111and outputs the information to the bit mask generation module12(S311).

The operation then proceeds from step S311to S312, wherein the bit mask generation module12requests the policy113from the security management module11. The security management module11outputs the policy113to the bit mask generation module12(S313).

The operation then proceeds from step S313to S314, wherein the bit mask generation module12requests the document profile112from the security management module11. The security management module11outputs the document profile112to the bit mask generation module12(S315).

The operation then proceeds from step S315to S316, wherein the bit mask generation module12generates the bit mask13based on the information acquired in steps S311, S313and S315. Specifically, the operations inFIG. 13are executed. In step S316, if the certificate114is required, the bit mask generation module12retrieves the certificate114from the security management module11.

In this way, the security management server10in the first embodiment can generate the bit mask13indicating the reference permission status of specific users to each document based on plural kinds of security information such as the user profile111, the document profile112, the policy113and the certificate114. Therefore, the document management server20can efficiently provide a list of documents.

The users in the user profile111and the documents in the document profile112may be classified in various other ways. For example, the users may be classified based on various information items that can be used as user attribute such as position, age and gender. Likewise, the documents may be classified based on various information items that can be used as document attributes such as life cycle and creation date. The users and documents in the policy113may be therefore classified in various ways.

The bit mask13may include various access permissions other than reference permission. For example, for searching for documents with reference permission and update permission at high speed, the bit mask13is so configured that a bit with both of the reference permission and the update permission is set to ON.

The following describes a second embodiment for increasing the speed of the operations for generating the bit mask13.FIG. 15is a functional diagram of a security management server10according to the second embodiment.

InFIG. 15, elements identical to those inFIG. 5are denoted by the same reference numerals, and are not further described. The security management module11shown inFIG. 15further comprises a high-speed determination table115, a ULUC (User Level User Category) mask table116, and a relevant person mask table117.

FIG. 16shows an example of the high-speed determination table115according to the second embodiment. The high-speed determination table115is generated based on a policy113, indicating reference permission status (i.e. whether a user has reference permission or not) with respect to each combination of document category, confidential level of a document, user level and user category as shown inFIG. 16. The document category is information that classifies documents by the type of the documents. The user level is information that classifies users by their positions. The user category is information that classifies the users based on whether the user has a predetermined relation with a document or not (e.g., whether the user is “relevant” or not). The document category and the user level are not used in the first embodiment. Therefore, if based on the user profile111, the document profile112and the policy113in the first embodiment, the high-speed determination table115shows the reference permission status with respect to each combination of confidential level and user category. The reason for adding the document category and the user level herein is to show a variation of the document/user classification, and it will not affect the nature of the second embodiment.

According to the high-speed determination table115inFIG. 16, managers and permanent employees have reference permission to a conference note even if they are not relevant to the conference note (lines1through4), whereas temporary employees have reference permission only if they are relevant thereto (lines5and6).

FIG. 17shows an example of the ULUC mask table116according to the second embodiment. The ULUC mask table116is generated based on the high-speed determination table115and the document profile112, comprising a bit sequence that indicates the reference permission status to each document (document1through document N) with respect to each combination of the user level and the user category as shown inFIG. 17. For example, according to the UCUL mask table116inFIG. 17, a manager with the user category “relevant” has the reference permission to a document1, a document2, a document4, and a document N. If the user level is not contained, the ULUC mask table116is information indicating the reference permission status to each document based on a relation between a user and a document.

FIG. 18shows an example of the relevant person mask table117according to the second embodiment. The relevant person mask table117is created for each user, comprising a bit sequence that indicates whether the user or a group to which the user belongs is relevant to a document as shown inFIG. 18. For example, according to the relevant person mask table117inFIG. 18, a user A is relevant to a document1, a document3, and a document N, but is not relevant to a document2and document4.

The following describes operating procedures in the second embodiment.FIG. 19is a sequence diagram showing operations for a document search in the document management system according to the second embodiment.

InFIG. 19, steps S410through S414are substitutions for steps S310to S316inFIG. 14, and operations except these are the same as inFIG. 14. Therefore, only steps S410thorough S414are discussed below.

In step S410, the bit mask generation module12requests for the ULUC mask table116from the security management module11. The security management module11outputs the UCUL mask table116to the bit mask generation module12(S411).

The operation then proceeds from step S411to S412, wherein the bit mask generation module12requests, with presentation of the user ID, for the relevant person mask table117from the security management module11. The security management module11outputs the relevant person mask table117to the bit mask generation module12(S413).

The operation then proceeds from step S413to S414, wherein the bit mask generation module12generates the bit mask13based on the ULUC mask table116and the relevant person mask table117acquired in steps S411and S413.

The operations for generating the bit mask13in step S414are described in detail with reference toFIG. 20.FIG. 20is a chart showing the operations for generating the bit mask13according to the second embodiment. Assume that, inFIG. 20, the user name of a current user, the name of the group to which the current user belongs, and the user level are respectively a user A, a group A and a permanent employee.

First, the logical OR of a bit sequence for the user A in the relevant person mask table117and a bit sequence for the group A is computed to generate a bit sequence117a(third truth-value sequence) (S414-1). In the bit sequence117a, “true” is set if at least the user A or the group A is relevant to a document. This means, in the case that the group A is relevant to the document, the user A is considered as a person relevant to the document even if the user A itself is not relevant thereto.

Subsequently, the logical AND of a bit sequence116-1for the user A in the UCUL mask table116and the bit sequence117ais computed to generate a bit sequence117b(first truth-value sequence) (S414-2). The bit sequence116-1herein indicates the reference permission status of the user A to each document, in the case that the user A as a permanent employee is categorized as a relevant person. In the bit sequence117b, “true” is set if the user A or the group A is relevant to a document and also has reference permission thereto.

Further, the logical OR of a bit sequence116-2for the user A in the UCUL mask table116and the bit sequence117bis computed to generate the a bit mask13a(second truth-value sequence) (S414-3). Herein, the bit sequence116-1indicates the reference permission status of the user A to each document in the case that the user A as a permanent employee is categorized as an “ANY” person including both of a relevant person and a non-relevant person. Namely, in this step, the bit mask13ais generated in order to correctly indicate the reference permission to a document that should be given to any person without limiting a relevant person.

In this way, the security management server10in the second embodiment can generate the bit mask13aat high speed by defining the ULUC mask table116and the relevant person mask table117in advance.

The following is a third embodiment in which “owner” is added to the user category. The term “owner” used herein shall mean an owner of a document.

FIG. 21is a functional diagram of a security management server10according to a third embodiment. InFIG. 21, elements identical to those inFIG. 15are denoted by the same reference numerals, and are not further described. The security management module11shown inFIG. 21further comprises an owner mask table118.

FIG. 22shows an example of the owner mask table118according to the third embodiment. As shown inFIG. 22, the owner mask table118is created for each user, comprising a bit sequence that indicates whether the user or a group to which the user belongs is an owner of the document. For example, according to the owner mask table118, a user A owns a document1and a document N, but does not own a document2, a document3and document4.

Adding the item “owner” to the user category brings some changes to the high-speed determination table115and the ULUC mask table116.

FIG. 23shows an example of the high-speed determination table115according to the third embodiment. In the high-speed determination table115shown inFIG. 23, combinations for “owner” in the user category are added (lines1,4,7and12).

FIG. 24shows an example of the ULUC mask table116according to the third embodiment. Likewise, in the ULUC mask table116shown inFIG. 24, combinations for “owner” in the user category are also added (lines1,4, and7).

As for the relevant person mask table117, adding the owner to the user category does not bring any change.

The following describes operating procedures in the third embodiment. The operating procedures are generally the same as in the second embodiment (FIG. 19), and the identical operations are not further described. In the third embodiment, in step S412and step S413, the bit mask generation module12retrieves the owner mask table118together with the relevant person mask table117from the security management module11. In step414, the bit mask13is generated based on the UCUL mask table116, the relevant person mask table117and the owner mask table118.

FIG. 25is a chart showing the operations for generating the bit mask13according to the third embodiment. Assume that, inFIG. 25, the user name of a current user, the name of the group to which the current user belongs, and the user level are respectively a user A, a group A and a permanent employee.

First, the logical OR of a bit sequence for the user A in the owner mask table118and a bit sequence for the group A is computed to generate a bit sequence118a(third truth-value sequence) (S414-11). In the bit sequence118a, “true” is set if at least the user A or the group A owns a document. This means, in the case that the group A owns the document, the user A is considered as an owner of the document even if the user A itself does not own the document.

Subsequently, the logical AND of a bit sequence116-3for the user A in the UCUL mask table116and the bit sequence118ais computed to generate a bit sequence118b(first truth-value sequence) (S414-12). The bit sequence116-3herein indicates the reference permission status of the user A to each document, in the case that the user A as a permanent employee is categorized as an owner. In the bit sequence118b, “true” is set if the user A or the group A owns a document and also has reference permission thereto.

Further, the logical OR of a bit sequence116-4for the user A and the bit sequence118bis computed to generate the a bit sequence118c(second truth-value sequence) (S414-13). The bit sequence116-5herein indicates the reference permission status of the user A to each document in the case that the user A as a permanent employee is categorized as an “ANY” person including an owner or a non-owner. The bit sequence118ccorresponds to the bit mask13that is based only on whether the user A is an owner or not in the user category, and corresponds to the bit mask13a(FIG. 20) that is based on whether the user A is a person relevant to the document or not.

Accordingly, the logical OR of the bit sequence118cand the bit mask13a(FIG. 20) is computed to generate a bit mask13b(fourth truth-value sequence) that is based on whether the user A or the group A is an owner of or a person relevant to the document (S414-14). That is, in the case that a new item is added to the user category, a bit mask for the new item is generated and the logical OR of each bit mask is computed.

In this way, even if the number of the items in user category is increased, the security management server10in the third embodiment can generate the bit mask13at high speed by executing the logical operations similar to those in the second embodiment. Therefore, various classifications of subjects (users) and resources (documents) are applicable in the present invention according to intended use without being limited to those exemplified classifications in the above embodiments.

While the present invention has been described in terms of preferred embodiments, it will be apparent to those skilled in the art that variations and modifications may be made without departing from the scope of the invention as set forth in the accompanying claims.

The present application is based on Japanese Priority Application No. 2004-036822 filed on Feb. 13, 2004 and Japanese Priority Application No. 2005-006651 filed on Jan. 13, 2005, with the Japanese Patent Office, the entire contents of which are hereby incorporated by reference.