SYSTEM AND METHOD FOR INFORMATION DELIVERY BASED ON AT LEAST ONE SELF-DECLARED USER ATTRIBUTE WITH AUDIT RECORDS
Various embodiments of the present invention are directed to providing a user the ability to self-declare one or more permission attributes about the user that form the basis for the filtering (e.g., the dynamic filtering) of current and/or future content. In this manner, access to the content may thus be governed by the self-declared permission attributes (in one example (which example is intended to be illustrative and not restrictive), the present invention may operate within a secure, tracked content delivery infrastructure).
This application claims the benefit of U.S. Provisional Application Ser. No. 60/667,888, filed Apr. 1, 2005, which is incorporated herein by reference in its entirety.
FIELD OF THE INVENTIONVarious embodiments of the present invention are directed to providing a user the ability to self-declare one or more permission attributes about the user that form the basis for the filtering (e.g., the dynamic filtering) of current and/or future content. In this manner, access to the content may thus be governed by the self-declared permission attributes (in one example (which example is intended to be illustrative and not restrictive), the present invention may operate within a secure, tracked content delivery infrastructure).
For the purposes of describing and claiming the present invention the term “self-declared” is intended to refer to an indication or selection associated with a given entity that is made by the given entity itself.
Further, for the purposes of describing and claiming the present invention the term “value” (e.g., as used in “classification value” or “permission attribute value”) is intended to refer to a numeric indicator (e.g., a distinct number, a range of numbers) or an alphanumeric indicator (e.g., a text label such as “private”, “public”, “yes”, “no”).
BACKGROUND OF THE INVENTIONSecurity systems typically provide a way of filtering information based on criteria that are defined by an administrator. While such a typical security system may prevent a user from gaining access to protected system content if the user is not explicitly permissioned to do so, various embodiments of the present invention provide the ability to reveal certain content only to users with certain attributes, even if, for example, the system administrator is unaware of the user's identity or affiliation and the user is unaware of the nature of the content.
The filtering of the present invention may thus dynamically allow the same content to be accessed or not accessed by a particular user, based on self-declared permission attribute(s), in each situation. For example, the ability to self-declare the permission attribute(s) may help reduce the administrative overhead associated with granting or withdrawing permissions (e.g., depending on the business process) and enhance compliance with laws and policies regulating the users.
Of note, a security system working properly typically prevents access to information such that a user should only gain access to information that he or she should not have only in the event of mistakes by the system administrator. Unauthorized access otherwise should not occur while the system is operational.
In this regard, introducing the ability of a user to self-declare permission attribute(s) may increase the risk of abuse or violation of policies. Various embodiments of the present invention therefore provide the ability to track access to information. This audit information can be reviewed, for example, in the form of a report or sophisticated search criteria and can return a list of possible violations of regulations (e.g., a compliance officer can use the findings to investigate possible violations).
SUMMARY OF THE INVENTIONOne embodiment of the present invention relates to a computer implemented method of controlling access to at least one document, comprising: receiving for storage from a first user at least one document; receiving from the first user at least one classification associated with the stored document, wherein the classification has a value selected from at least a first classification value and a second classification value; receiving from a second user at least one permission attribute associated with the second user, wherein the permission attribute associated with the second user is self-declared and wherein the permission attribute has a value selected from at least a first permission attribute value and a second permission attribute value; and permitting the second user to access the stored document if the classification value of the stored document matches the permission attribute value declared by the second user.
One example business reason for utilizing the present invention may stem from concerns within the syndicated loan market. In such a syndicated loan market, loans are marketed to investors (including, without limitation, banks, debt funds, hedge funds). Many of the investors are institutional investors that invest in both the public markets (e.g., bonds, equity) and in the private loan market. Since disclosure related to certain loans often includes material non-public information (i.e., “private” information such as financial projections), these institutional investors have the potential to be conflicted with regard to insider trading regulations (e.g., regulations promulgated by the SEC). As such, users within these firms may require the ability to indicate their status on a particular loan based on: a) whether they are or may trade in the stocks/bonds of that borrowing entity (e.g., on the “public” side); and/or b) have procedure to prevent trading securities of the borrower or have walls/controls that allow them to trade in securities of the borrower while also investing in the loan market (e.g., on the “private” side). Based on their position for any given borrower, they should only see appropriate disclosure materials. Even accidental exposure to “private” information for a “public” investor can be problematic (syndicating agents are typically not aware of each investor's position for any given borrower and therefore typically have no clear way to permission content to them).
Similarly, in another example (which example is intended to be illustrative and not restrictive), classifications may be assigned so as to not cause parties involved in pre-merger due diligence or formation of joint ventures to violate antitrust regulations. Users such as professional advisors, executive management or directors could be granted broader access to counterparty information than users from within operating units (e.g., sales, regional managers, etc.), so that pricing and other information can be filtered, without knowing in advance the name, affiliation or security level of all users that could be invited to access content on the system for purposes of the transaction.
Similarly, in yet another example (which example is intended to be illustrative and not restrictive), classifications may be assigned so as to preserve attorney-client privilege with respect to content. Only users that identify themselves in a manner consistent with the preservation of privilege (e.g. attorneys rendering advice or responding to requests for legal advice and persons within client organizations authorized to request and receive legal advice) would be granted access to the content associated with such classifications.
Among those benefits and improvements that have been disclosed, other objects and advantages of this invention will become apparent from the following description taken in conjunction with the accompanying figures. The figures constitute a part of this specification and include illustrative embodiments of the present invention and illustrate various objects and features thereof.
DETAILED DESCRIPTION OF THE INVENTIONDetailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely illustrative of the invention that may be embodied in various forms. In addition, each of the examples given in connection with the various embodiments of the invention is intended to be illustrative, and not restrictive. Further, the figures are not necessarily to scale, some features may be exaggerated to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention.
Referring now to
More particularly,
Of course, after content is uploaded to the enterprise information system, the uploader, an administrator or a content manager may change the visibility setting for the content (defined by the classification value). Thus, in this example, the visibility setting may be changed from “Public” to “Private” or visa versa.
Referring now to
Further, as seen in
Of course, users may be given the opportunity to change the self-declared permission attributes. That is, the initially self-declared permission attribute(s) could applied to all visits to the system or portions thereof until the user explicitly changes the user's attribute(s) within the user profile section of the enterprise information system or elsewhere (e.g., through a user interface). In this regard,
Referring now to
More particularly, in one example (which example is intended to be illustrative and not restrictive), an audit entry may comprise the user's name and ID, date and time of the access, information related to the content and other data. An additional audit entry may made each and every time a user accesses any content in the system (anywhere in the system or in one or more specific portions of the system). Also recorded may be any changes to a user's self-declared permission attributes(s).
All audit records related to the content access, the content classification and/or the user's self-declared permission attribute(s) may be made available to authorized users and administrators through reports. The audit record may be used to provide a compliance officer of a company or regulatory entities with the ability to track compliance and detect violations of the regulations or company policies and take corrective action.
In another example (which example is intended to be illustrative and not restrictive), auditing policies can be embodied as follows: 1) in a definition in a user interface and stored in database tables and interpreted (or compiled) during runtime; 2) in a definition in configuration fields that are interpreted by business logic; and/or 3) in business logic that is incorporated into an existing system.
Referring now to
In one example (which example is intended to be illustrative and not restrictive), an alert related to content classified as “public” will go to appropriate users who have self-declared permission attributes of “public” or “private”.
In another example (which example is intended to be illustrative and not restrictive), an alert related to content classified as “private” will go to appropriate users who have self-declared permission attributes of “public” or “private” (wherein “public” users are responsible for actually accessing the content or not).
In another example (which example is intended to be illustrative and not restrictive), an alert related to content classified as “private” will go to appropriate users who have self-declared a permission attribute of only “private” (wherein self-declared “public” users are not notified by the alert).
As described above, one embodiment of the present invention enables administrators and content managers to associate classifications and allowable classification values with the content of an enterprise information system. These classifications may already be included in the enterprise information system or may be specifically designed by its system administrator to represent classifications of the content. The classifications are typically not part of the content but may describe and represent the user characteristics, security clearance levels and/or metadata associated with access to the content.
In one example (which example is intended to be illustrative and not restrictive), the present invention may provide a user of an enterprise information system with the ability to dynamically select an existing or create a new information filter for current and/or future content managed by the enterprise information system.
In another example (which example is intended to be illustrative and not restrictive), a user may be required to select an existing or create a new permission attribute when he or she accesses the system the first time or after new classifications/permission attributes have been added. This may be done as soon as the user passes appropriate user credentials to the enterprise information system but before the user gains access to the functions of the enterprise information system (see, e.g.,
In another example (which example is intended to be illustrative and not restrictive), permission attribute(s) may be selected that are known to the user, notwithstanding that the user may not know or anticipate the nature, purpose or substance of the content on which such permission attributes(s) will act as a filter.
In another example (which example is intended to be illustrative and not restrictive), filtering may act on any single attribute or combination of multiple attributes, such that a plurality of users with the same permission attribute(s) may not have access to the same content, to the extent access is filtered by other attribute(s) or combinations of attribute(s).
In another example (which example is intended to be illustrative and not restrictive), the present invention may classify information not only based upon content but upon a location of a document within the system, a publication source, a comment, a reply, and/or association with other users (among other possibilities).
In another example (which example is intended to be illustrative and not restrictive), the visibility of certain information (e.g., represented by hyperlinks to stored information) may be implemented through various columns in database tables.
In another example (which example is intended to be illustrative and not restrictive), two (or more) aliases or user names per user could be defined. One alias could apply automatically one or more attributes for purposes of filtering access to content; the other aliases could apply to other attribute(s) for filtering access to content.
In another example (which example is intended to be illustrative and not restrictive), the system or system administrator can turn on or off each user's ability to self-declare permission attribute(s).
In another example (which example is intended to be illustrative and not restrictive), a limited or essentially unlimited number of classifications/classification values may be defined and linked to content, independent of modifications to the core system for storing and/or distributing content. Depending on the implementation strategy, the extensions can be made while the system is operating or before the system is restarted (of course, any desired number of self-declared permission attributes/permission attribute values may also be utilized).
For a limited number of classifications (e.g. 1 to 10), the system may add additional columns to the content tables in the database to be used only when an additional classification information is added. The business logic could manage the classifications and could expand the queries as new classifications are added. Under this approach the query overhead may be minimized and the overall system performance may not be significantly impacted.
For an essentially unlimited number of classifications to be supported, the classifications could be placed in separate database tables and linked with a 1-n relationship to the content tables. Filtering could be accomplished using either an additional query per access to content or a table joined between the table that contains the content and the table that contains the classifications and their allowable values.
The allowable values per classification may be defined in multiple ways including, but not limited to, the following approaches:
-
- 1. A user interface that allows a user to define the allowable values per classification and stores them as metadata in an allowable value table.
- 2. A configuration file that is loaded at system start or when a change is registered by the server.
- 3. Business logic that can be plugged into the existing system after the release date.
The business logic and user interface may be constructed so that the classifications are considered when content is retrieved and/or updated.
The system programmer, system administrator, and/or user could create filters depending on the required flexibility in multiple ways including, but not limited to, the following approaches:
-
- 1. A user interface allows system administrators and/or users to define filters based on the logical combination of classifications and allowable values. The expressions may be stored in database tables. The data may be interpreted (or compiled and executed) during runtime.
- a. In one example (which example is intended to be illustrative and not restrictive), expressions such as “attribute—1 IN {val1, val2} AND NOT attribute—2 IN {val3}” could be defined by the user and/or system administrator to define a filter that filters out all content that has the values “val1” and “val2” in its classification “attribute 1” and does not have the value “val3” in the classification “attribute 2”.
- 2. The filters could be defined by system programmers and/or system administrators in a configuration file and interpreted after the expression is loaded into the system. The expression can be the same or similar to the expression in the bullet (a) above.
- 3. The system programmer could develop filters as business logic that are incorporated into the existing system. The plug-in may be loaded when the system is registering the new plug-ins and makes the filters available to the user when the functionality is desired to be used.
- 1. A user interface allows system administrators and/or users to define filters based on the logical combination of classifications and allowable values. The expressions may be stored in database tables. The data may be interpreted (or compiled and executed) during runtime.
Referring now to
More particularly, as seen in the example of
Referring now to
Referring now to the example of
Referring now to
Referring now to
Referring now to
Referring now to
Finally, reference will now be made to a number of examples directed to permission attributes and permission attribute values (of course, these examples are intended to be illustrative, and not restrictive).
More particularly, in one example (as discussed above) a permission attribute may refer to a user's public/private status relative to certain information. Associated permission attribute values may be, for example, “private” and “public”. In another example, associated permission attribute values may be “yes” and “no” (indicating a private status or a public status). In another example, associated permission attribute values may be “1” and “0” (indicating a private status or a public status).
In another example, a permission attribute may refer to a user's country of residence. Associated permission attribute values may be, for example, “USA” and “Other”. In another example, associated permission attribute values may be “yes” and “no” (indicating a USA residence status or another residence status). In another example, associated permission attribute values may be “1” and “0” (indicating a USA residence status or another residence status).
In another example, a permission attribute may refer to a user's security level. Associated permission attribute values may be, for example, “High” and “Low”. In another example, associated permission attribute values may be “yes” and “no” (indicating a high security level or a low security level). In another example, associated permission attribute values may be “1” and “0” (indicating a high security level or a low security level). In another example, associated permission attribute values may be in a numeric range (indicating a security level within a range).
In another example, a permission attribute may refer to a user's age. Associated permission attribute values may be, for example, “at least 18 years old” and “below 18 years old”. In another example, associated permission attribute values may be “yes” and “no” (indicating at least 18 years old or below 18 years old). In another example, associated permission attribute values may be “1” and “0 (indicating at least 18 years old or below 18 years old). In another example, associated permission attribute values may be a user's age.
Of course, any number of permission attributes may be combined in controlling access to information. For example (which example is intended to be illustrative, and not restrictive), a first user who is a “private” user and is a “USA resident” may be granted access to a first set of information; a second user who is a “public” user and is a “USA resident” may be granted access to a second set of information; a third user who is a “private” user and is “not a USA resident” may be granted access to a third set of information; and a fourth user who is a “public” user and is “not a USA resident” may be granted access to a fourth set of information (in this example, the first through fourth sets of information may be distinct from one another or there may be overlap (partial or total) between information in one or more of the sets of information).
While a number of embodiments of the present invention have been described, it is understood that these embodiments are illustrative only, and not restrictive, and that many modifications may become apparent to those of ordinary skill in the art. For example, an implementation of the present invention may separate the filter logic from the logic related to the security system (of course, the security system may be extended to enforce also the filter criteria). Further, the content filter may be designed and implemented to facilitate compliance with federal and/or state regulations and/or with corporate policies regarding access to information (e.g., access to “private” information). Further still, under various embodiments of the present invention certain users (e.g., syndicating agent, administrative agent, sales desk) do not need to be responsible for knowing and identifying what information is private. Rather, an issuer may be responsible for this (e.g., by classifying uploaded documents appropriately). Likewise, under various embodiments of the present invention certain users (e.g., syndicating agent, administrative agent, sales desk) do not need to be responsible for knowing and identifying a given investor's “status” (e.g., private or public) relative to a given issuer. Rather, each investor may be responsible for this (e.g., by self-declaring one or more permission attributes). Moreover, under various embodiments of the present invention certain users (e.g., loan investors) may be provided a mechanism for identifying “private” information in order to minimize the potential for unintentional/inappropriate exposure (the present invention may provide for this to be handled in the market by a consistent industry approach). Further still, the present invention may be used to apply other classifications and filters that are built in essentially the same way as the “visibility” classification, e.g., by adding additional columns to content tables and extending business logic and database queries to reflect their meaning to the business process (under this implementation strategy the system performance may be optimized since the system can perform very efficient filtering at the database layer). Further still, the self-declared permission attributes of the present invention may be applied to all content managed by an enterprise information system or to a subset of the content managed by an enterprise information system. (e.g., on a client by client basis or on a deal by deal basis). Further still, access to specific content may be filtered by hiding certain content (e.g., providing a given user a list of hyperlinks to content which may be accessed by that user, based upon the content classification and the user's self-declared permission attribute(s), and not including in the list of hyperlinks any excluded content) or by prohibiting access to certain content (e.g., providing a given user a list of hyperlinks to content which may or may not be accessed by that user, based upon the content classification and the user's self-declared permission attribute(s), and prohibiting assess to excluded content if the user clicks an excluded hyperlink). Further still, the various steps may be performed in any desired order, one or more steps may be deleted and/or one or more steps may be added.
Claims
1-42. (canceled)
43. A method for tracking compliance to a company policy, the method comprising:
- providing a computer database in association with a computer server for storing a plurality of computer data content items, wherein each of the plurality of computer data content items is assigned a corresponding classification attribute that indicates a target audience by a first user through a first user computer in communication with the computer server via a network, and wherein at least a first classification attribute categorizes at least a first one of the plurality of computer data content items as belonging to a category that another user is restricted from viewing;
- providing, by the first user of the first user computer, permission for a second user through a second user computer to request access to the plurality of computer data content items;
- receiving, at the computer server, a request for access to the first one of the plurality of computer data content items from the second user through the second user computer via the network, wherein the request for access comprises a permission attribute that identifies at least one category of data content items that the second user is not restricted from viewing, wherein the permission attribute is self-declared by the second user and restricts the second user's access to the first one of the plurality of computer data content items if the permission attribute self-declared by the second user does not match the first classification attribute assigned by the first user;
- granting access, by the computer server, to the second user to the first one of the plurality of computer data content items if the first classification attribute assigned by the first user matches the permission attribute self-declared by the second user;
- storing at least one detail of access to the first one of the plurality of computer data content items in an audit record, wherein the at least one detail comprises at least one of: an identification of the computer data content item, a time of access, the self-declared permission attribute at the time of access, the first classification attribute at the time of access, and an identification of the second user; and
- providing the audit record to an authorized user as a report for tracking compliance to the company policy.
44. The method of claim 43, wherein at least one of the first classification attribute and the permission attribute is associated with a company name related to the content of the first one of the plurality of computer data content items.
45. The method of claim 43, wherein at least one of the first classification attribute and the permission attribute is associated with a named individual related to the content of the first one of the plurality of computer data content items.
46. The method of claim 43, wherein at least one of the first classification attribute and the permission attribute is at least one of public and private.
47. The method of claim 43, wherein the permission attribute is used to filter the plurality of computer data content items within the computer database in order to determine additional ones of the plurality of computer data content items to which the second user is granted access.
48. The method of claim 43, wherein the permission attribute of the second user is declared at the time of the requested access.
49. The method of claim 43, wherein the permission attribute of the second user has been previously declared and stored in association with the computer database.
50. The method of claim 43, wherein the computer database is a secure computer data storage facility.
51. The method of claim 43, wherein the first one of the plurality of computer data content items is a computer-based document.
52. The method of claim 43, wherein each corresponding classification attribute is stored in the computer database.
53. The method of claim 43, wherein the assignment of each classification attribute is made in metadata associated with a corresponding one of the plurality of computer data content items.
54. The method of claim 43, wherein the first classification attribute further indicates at least one of a location of a document, a publication source, a comment, a reply, and an association with other users.
55. A method for tracking compliance to a company policy, the method comprising:
- providing a computer database in association with a computer server for storing a plurality of computer data content items, wherein each of the plurality of computer data content items is assigned a corresponding classification attribute that indicates a target audience by a first user through a first user computer in communication with the computer server via a network, and wherein at least a first classification attribute categorizes at least a first one of the plurality of computer data content items as belonging to a category that another user is restricted from viewing;
- providing, by the first user of the first user computer, permission for a second user through a second user computer to request access to the plurality of computer data content items;
- receiving, at the computer server, a request for access to the first one of the plurality of computer data content items from the second user through the second user computer via the network, wherein the request for access comprises a permission attribute that identifies at least one category of data content items that a second user is restricted from viewing, wherein the permission attribute is self-declared by the second user and restricts the second user's access to the first one of the plurality of computer data content items if the permission attribute self-declared by the second user matches the classification attribute assigned by the first user;
- granting access, by the computer server, to the second user to the first one of the plurality of computer data content items if the classification attribute assigned by the first user does not match the permission attribute self-declared by the second user;
- storing at least one detail of access to the first one of the plurality of computer data content items in an audit record, wherein the at least one detail comprises at least one of: an identification of the computer data content item, a time of access, the self-declared permission attribute at the time of access, the classification attribute at the time of access, and an identification of the second user; and
- providing the audit record to an authorized user as a report for tracking compliance to the company policy.
56. The method of claim 55, wherein at least one of the first classification attribute and the permission attribute is associated with at least one of a company name and an individual name related to the content of the first one of the plurality of computer data content items.
57. The method of claim 55, wherein the permission attribute is used to filter the plurality of computer data content items within the computer database in order to determine additional ones of the plurality of computer data content items to which the second user is granted access.
58. The method of claim 55, wherein the assignment of the classification attribute is made in metadata associated with the first one of the plurality of computer data content items.
59. A method for tracking compliance to a company policy, the method comprising:
- providing a computer database in association with a computer server for storing a plurality of computer data content items, wherein each of the plurality of computer data content items is assigned a corresponding classification attribute that indicates a target audience by a first user through a first user computer in communication with the computer server via a network, and wherein at least a first classification attribute categorizes at least a first one of the plurality of computer data content items as belonging to a category that another user is restricted from viewing;
- providing, by the first user of the first user computer, permission for a second user through a second user computer to request access to the plurality of computer data content items;
- receiving, at the computer server, a request for access to the first one of the plurality of computer data content items from the second user through the second user computer via the network, wherein the request for access comprises a permission attribute that identifies at least one category of data content items that a second user is not restricted from viewing, wherein the permission attribute is self-declared by the second user and restricts the second user's access to the first one of the plurality of computer data content items if the permission attribute self-declared by the second user does not match the classification attribute assigned by the first user;
- providing a hyperlink to the first one of the plurality of computer data content items by the server-based content access management facility if the first classification attribute assigned by the first user matches the permission attribute self-declared by the second user; and
- storing at least one detail of access to the first one of the plurality of computer data content items in an audit record, wherein the at least one detail comprises at least one of: an identification of the computer data content item, a time of access, the self-declared permission attribute at the time of access, the classification attribute at the time of access, and an identification of the second user; and
- providing the audit record to an authorized user as a report for tracking compliance to the company policy.
60. The method of claim 59, wherein at least one of the first classification attribute and the permission attribute is associated with at least one of a company name and an individual name related to the content of the first one of the plurality of computer data content items.
61. The method of claim 59, wherein the permission attribute is used to filter the plurality of computer data content items within the computer database in order to determine additional ones of the plurality of computer data content items to which the second user is granted access.
62. The method of claim 59, wherein the assignment of each classification attribute is made in metadata associated with a corresponding one of each of the plurality of computer data content items.
63. A method for tracking compliance to a policy, the method comprising:
- providing a computer database in association with a computer server for storing a plurality of computer data content items, wherein each of the plurality of computer data content items is assigned a corresponding classification attribute that indicates a target audience by a first user through a first user computer in communication with the computer server via a network, and wherein at least a first classification attribute categorizes at least a first one of the plurality of computer data content items as belonging to a category that another user is conflicted from viewing;
- providing, by the first user of the first user computer, permission for a second user through a second user computer to request access to the plurality of computer data content items;
- receiving, at the computer server, a request for access to the first one of the plurality of computer data content items from the second user through the second user computer via the network, wherein the request for access comprises a permission attribute that identifies at least one category of data content items that a second user is not conflicted from viewing, wherein the permission attribute is self-declared by the second user and restricts the second user's access to the first one of the plurality of computer data content items if the permission attribute self-declared by the second user does not match the first classification attribute assigned by the first user, and wherein the permission attribute reflects a policy associated with the second user;
- granting access, by the computer server, to the second user to the first one of the plurality of computer data content items if the first classification attribute assigned by the first user matches the permission attribute self-declared by the second user;
- storing at least one detail of access to the first one of the plurality of computer data content items in an audit record, wherein the at least one detail comprises at least one of: an identification of the computer data content item, a time of access, the self-declared permission attribute at the time of access, the first classification attribute at the time of access, and an identification of the second user; and
- providing the audit record to an authorized user as a report for tracking compliance to the policy.
Type: Application
Filed: May 22, 2015
Publication Date: Sep 10, 2015
Inventors: James Andrew Fieweger (Fairfield, CT), Matthew Wadley (New York, NY), Angela Azzolino (Brooklyn, NY), Michael Sassin (Andover, MA)
Application Number: 14/720,247