U.S. patent application number 14/720247 was filed with the patent office on 2015-09-10 for system and method for information delivery based on at least one self-declared user attribute with audit records.
The applicant listed for this patent is Intralinks, Inc.. Invention is credited to Angela Azzolino, James Andrew Fieweger, Michael Sassin, Matthew Wadley.
Application Number | 20150254360 14/720247 |
Document ID | / |
Family ID | 53441740 |
Filed Date | 2015-09-10 |
United States Patent
Application |
20150254360 |
Kind Code |
A1 |
Fieweger; James Andrew ; et
al. |
September 10, 2015 |
SYSTEM AND METHOD FOR INFORMATION DELIVERY BASED ON AT LEAST ONE
SELF-DECLARED USER ATTRIBUTE WITH AUDIT RECORDS
Abstract
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).
Inventors: |
Fieweger; James Andrew;
(Fairfield, CT) ; Wadley; Matthew; (New York,
NY) ; Azzolino; Angela; (Brooklyn, NY) ;
Sassin; Michael; (Andover, MA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Intralinks, Inc. |
New York |
NY |
US |
|
|
Family ID: |
53441740 |
Appl. No.: |
14/720247 |
Filed: |
May 22, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11395701 |
Mar 31, 2006 |
9069436 |
|
|
14720247 |
|
|
|
|
60667888 |
Apr 1, 2005 |
|
|
|
Current U.S.
Class: |
707/737 |
Current CPC
Class: |
H04M 11/00 20130101;
G06F 3/0481 20130101; G06F 21/6218 20130101; G06F 16/9535 20190101;
G06F 16/285 20190101 |
International
Class: |
G06F 17/30 20060101
G06F017/30; G06F 21/62 20060101 G06F021/62 |
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.
Description
RELATED APPLICATIONS
[0001] 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 INVENTION
[0002] 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).
[0003] 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.
[0004] 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 INVENTION
[0005] Security 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.
[0006] 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.
[0007] 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.
[0008] 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 INVENTION
[0009] One 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.
[0010] 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).
[0011] 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.
[0012] 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] FIG. 1A shows a web browser screenshot of the uploading and
classification of a document according to an embodiment of the
present invention;
[0014] FIG. 1B shows a web browser screenshot of self-declaring a
permission attribute according to an embodiment of the present
invention;
[0015] FIG. 1C shows a web browser screenshot of hyperlinks to
certain information according to an embodiment of the present
invention;
[0016] FIG. 1D shows a web browser screenshot of hyperlinks to
certain information according to an embodiment of the present
invention;
[0017] FIG. 1E shows a web browser screenshot related to changing a
self-declared permission attribute according to an embodiment of
the present invention;
[0018] FIG. 1F shows a web browser screenshot related to changing a
self-declared permission attribute according to an embodiment of
the present invention;
[0019] FIG. 2 shows a web browser screenshot of a report related to
various self-declared permission attributes according to an
embodiment of the present invention;
[0020] FIG. 3 shows a screenshot of an alert relating to certain
stored information according to an embodiment of the present
invention;
[0021] FIGS. 4-9 show block diagrams related to databases and
database structures according to various embodiments of the present
invention; and
[0022] FIG. 10 shows a block diagram of a computer infrastructure
according to an embodiment of the present invention.
[0023] 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 INVENTION
[0024] Detailed 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.
[0025] Referring now to FIGS. 1A-1F, the classification of and
controlled access to certain information according to an embodiment
of the present invention is shown.
[0026] More particularly, FIG. 1A shows a web browser screenshot of
the uploading and classification of a document according to an
embodiment of the present invention. As seen in this Fig., a user
(e.g., an administrative agent or a syndicating agent) indicates a
target audience. In this example relating to potential investors,
the choices for the classification values are "Public" and
"Private". Further, in this example the default classification
value is "Private" (of course, the default classification value
could be something other, such as "Public"). Of note, the user
uploading the information is not responsible for permissions
related to people who may try to access the information, only to
the classification of the information.
[0027] 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.
[0028] Referring now to FIG. 1B, it is seen that the user who may
try to access the uploaded information (in this example an
investor) self-declares his or her own permission attribute (having
a value of either pubic or private in this example). As seen in
this Fig, in this example the investor may be forced to make a
selection before proceeding. In one specific example (which example
is intended to be illustrative and not restrictive), the
self-declaration can be made when the user enters any part of the
system for accessing content relating to a subject company X and
the self-declared permission attribute may remain associated with
the user during this and any subsequent sessions within this
portion of the system (or until such time as the user's access
rights to such portion are terminated). In another specific example
(which example is intended to be illustrative and not restrictive),
the user could self-declare the permission attribute the first time
he or she enters a portion of the system containing specific
content (e.g., related to company X) and have the same
self-declared permission attribute control access to content in
other and additional portions of the system containing different
content (e.g., related to company Y).
[0029] Further, as seen in FIGS. 1C and 1D, information in the
system may be filtered (that is, access controlled) based upon the
self-declared permission attribute values of each user. That is,
FIG. 1C shows a listing (e.g., in the form of hyperlinks) of
information accessible by users who have self-declared the
"Private" permission attribute value (this information may comprise
information which had been categorized as "Private" as well as
information which had been categorized as "Public"). Similarly,
FIG. 1D shows a listing (e.g., in the form of hyperlinks) of
information accessible by users who have self-declared the "Public"
permission attribute value (this information may comprise
information which had been categorized as "Public" (e.g.,
information which may be viewed by anybody generally having access
to the system or a portion thereof) and may exclude information
which had been categorized as "Private").
[0030] 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, FIG. 1E shows a web browser screenshot
related to such changing of a self-declared permission attribute
value and FIG. 1F shows a web browser screenshot related to
confirmation of the change.
[0031] Referring now to FIG. 2, this Fig. shows a web browser
screenshot of a report related to various self-declared permission
attributes according to an embodiment of the present invention. In
this regard, the present invention may track access to content with
associated classifications and store the access details in an audit
record (a compete audit trail of what information was
disclosed/accessed (e.g., relative to each given investor), when
the information was disclosed/accessed and how the information was
classified at the time of being disclosed/accessed may be
provided).
[0032] 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).
[0033] 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.
[0034] 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.
[0035] Referring now to FIG. 3, this Fig. shows a screenshot of an
alert relating to certain stored information according to an
embodiment of the present invention. More particularly, as seen in
this Fig. a communication (e.g., via email or another mechanism)
may be sent to one or more users indicating a change in content
(e.g., the uploading of a new document to the system, the editing
of an existing document, etc.).
[0036] 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".
[0037] 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).
[0038] 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).
[0039] 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.
[0040] 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.
[0041] 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., FIG.
1B). After the user creates or selects one or more permission
attributes (that is, having desired values associated therewith),
the system starts to release and suppress content accordingly. Of
course, the fact that the user self-declares his or her permission
attributes may comprise a differentiation from security systems in
which an administrator selects a security level by user or by group
and does not allow a user or member of such group to declare the
presence of attributes associated with different security
levels.
[0042] 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.
[0043] 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).
[0044] 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).
[0045] 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.
[0046] 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.
[0047] 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).
[0048] 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).
[0049] 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.
[0050] 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.
[0051] The allowable values per classification may be defined in
multiple ways including, but not limited to, the following
approaches: [0052] 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. [0053] 2. A configuration file that is
loaded at system start or when a change is registered by the
server. [0054] 3. Business logic that can be plugged into the
existing system after the release date.
[0055] The business logic and user interface may be constructed so
that the classifications are considered when content is retrieved
and/or updated.
[0056] 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: [0057] 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. [0058] a. In one example (which example
is intended to be illustrative and not restrictive), expressions
such as "attribute.sub.--1 IN {val1, val2} AND NOT
attribute.sub.--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". [0059] 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. [0060] 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.
[0061] Referring now to FIGS. 4-9 block diagrams related to
databases and database structures according to various embodiments
of the present invention are shown.
[0062] More particularly, as seen in the example of FIG. 4, all
Content has associated therewith a flag that indicates if Content
is public or private information. Publication and Comment are
subtypes of Content and therefore inherit that flag. Further, a
participant is realized in the database and in the Java
implementation as a relationship between the workspace and the user
tables (objects in java). Therefore, the participant references the
user in a particular workspace. Moreover, the workspace contains an
attribute "publicPrivateEnabled" that indicates if the
public-private feature is enabled for the specific workspace.
Further, the participant has an attribute called
"publicPrivateSelected" that indicates if the particular user has
self-declared the value "public" or "private" for the associated
workspace.
[0063] Referring now to FIG. 5, in this example the Null Filter
does not perform any filtering. The idea here is the filter is
created to filter all returned Content items based on the
publicPrivate flag. So, if the user only wants to see public
information, the filter will filter out each returned content item
that has a private flag. If the user wants to view private and
public information, the filter allows all content to pass (Null
filter).
[0064] Referring now to the example of FIG. 6, essentially same
mechanisms may exist here as before (e.g., FIG. 5). However, in
this example the filter is created as a filter criteria for the
query that is issued to the database or search engine. This implies
that that the filter criteria is incorporated in the defined
content query (e.g. in a simple SQL query the filter criteria would
be included in the WHERE clause).
[0065] Referring now to FIG. 7, this example is a generalized
version of the public/private feature. Content or subtypes of
Content have specific classification attributes that can be used
for filtering. The Workspace maintains in associated tables
(ActiveClassification) the classifications that are enabled in a
particular workspace. The active classifications can be retrieved
calling the method getActiveClassification( ). The participant
refers to a list of selected Filters in the SelectedFilter table.
The filters can be accessed through the method getSelectedFilters(
).
[0066] Referring now to FIG. 8, this example is similar to the
private/public case. However, here the selected filters that are
active in the workspace are selected by the participant in a given
workspace. The assumption is that the filter is stored and
retrieved by the system (this can be done by a multitude of
approaches such as object serialization or Object-relationship
mapping).
[0067] Referring now to FIG. 9, this example is essentially the
same as before (e.g., FIG. 8) but in this scenario the search
filters are embedded in the content query.
[0068] Referring now to FIG. 10, a block diagram of a computer
infrastructure according to an embodiment of the present invention
is shown. More particularly, as seen in this FIG. 10, Website
Server 100 (which may have associated therewith one or more
Databases 102) operatively communicates (e.g., via the Internet)
with User 1 Computer 104, User 2 Computer 106 and User 3 Computer
108. Of note, each of User 1 Computer 104, User 2 Computer 106 and
User 3 Computer 108 may have associated therewith appropriate
software (e.g., a web browser). Of further note, each of User 1,
User 2 and User 3 may be any entity described herein (e.g., a
person uploading a document, a person viewing a document, a person
editing a document, a person downloading a document).
[0069] 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).
[0070] 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).
[0071] 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).
[0072] 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).
[0073] 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.
[0074] 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).
[0075] 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.
* * * * *