Abstract:
A method and system for filtering tags in a collaborative bookmarking system wherein the collaborative bookmarking system includes confidential and/or proprietary information, whereby tag filters prevent access to certain confidential and/or proprietary information by permitting a user access to the collaborative bookmarking system, authenticating the user, permitting the user to submit a search request to the collaborative bookmarking system, whereby the search request retrieves search result tags, and filtering the search result tags to provide only authorized tags to the user.

Description:
TECHNICAL FIELD 
       [0001]    The present invention relates generally to methods and systems for collaborative bookmarking, and particularly to methods and systems for managing a collaborative bookmarking system. 
       BACKGROUND 
       [0002]    Collaborative bookmarking is a growing phenomenon within the world-wide web. Users of a collaborative bookmarking site contribute to the site by associating, or “tagging” uniform resource locators (URLs) for web-accessible content with descriptive phrases and key words, or tags. A tag is a non-hierarchical keyword or term assigned to a piece of information (such as an internet bookmark, digital image, or computer file). This kind of metadata helps describe an item and allows it to be found again by browsing or searching. Tags are chosen informally and personally by the item&#39;s creator or by its viewer, depending on the system. On a website in which many users tag many items, this collection of tags becomes a folksonomy, also known as social classification, social indexing or social tagging. 
         [0003]    The contributions of the site users are typically displayed as a single page, random arrangement of tags commonly referred to as a tag cloud. This is exemplified by collaborative bookmarking sites such as delicious.com and flickr.com. Collaborative bookmarking sites typically allow users to explore the entire tag cloud within the site or to explore the tag clouds of individual site contributors. 
         [0004]    Bookmarking sites allow individuals to create personal collections of bookmarks and easily share their bookmarks with others. These centrally stored collections can be accessed from a web-connected machine. These systems all have the ability to display tag clouds that represent the contributions of all of a collaborative bookmarking site&#39;s users. Tags that are explicitly entered by the user for each bookmark allow the individual user to organize and display the collection with meaningful labels. Furthermore, multiple tags allow bookmarks to belong to more than one category, a limitation of traditional hierarchically organized folders found in most web browsers. Although bookmark collections are personally created and maintained, they are typically visible to others. A number of user interface elements allow social browsing of the bookmark space. For example, user names are “clickable” links; clicking on a name reveals the bookmark collection for that user. This allows someone to get a sense of the topics of interest for a particular user. Similarly, tags are also clickable, and when selected will result in a list of all bookmarks that share that tag. This is a useful way to browse through the entire bookmark collection to see if it includes information sources of interest. 
         [0005]    These systems also have the ability to display the relative number of contributions and/or activity of contributions by varying the weight, size, color, and style of the fonts used to display tags within a tag cloud. For example, a tag that refers to twice as much content as another tag may be shown using a larger font than the other tag. 
         [0006]    Moreover, there are other systems, such as the Mooter search engine, that enable the automated discovery and presentation of related topics within a group of web-accessible content but these rely on automated topic discovery (topics are analogous to tags) through parsing of web content. This results in a narrow set of topics that does not represent the wide variety of viewpoints observed in a social bookmarking solution. 
         [0007]    Corporations are beginning to deploy collaborative bookmarking technology as a means of tracking and propagating expertise within their enterprises. Examples of corporate bookmarking solutions include IBM&#39;s Dogear, and Mitre&#39;s Onomi social bookmarking system. 
         [0008]    Collaborative bookmarking systems used in the corporate environment have proven valuable for: 1) providing research analysts with a place to share research findings; 2) fueling expertise finding and user profiling; 3) helping to form and support social networks around interest areas; 4) enhancing the value of other information retrieval and aggregation capabilities on a company&#39;s intranet; and 5) influencing or augmenting corporate subject taxonomy strategies. 
         [0009]    By their nature, corporate tag clouds will be comprised of publicly available web content as well as content that is proprietary and confidential to the enterprise and should not be available to the general public. While there are solutions that could be potentially applied to this problem, they suffer from a number of shortcomings. HTTP servers typically enable corporations to restrict the content accessible to public users by forcing users to authenticate themselves in order to access restricted URLs. This approach is not sufficient for a collaborative tagging environment since it only restricts access to a URL once it has been returned to the user and subsequently requested. This constitutes both a security risk (users become aware of restricted content and may be able to infer information from content titles even if they are restricted from viewing the content) and a usability risk (users will become frustrated if many of the tagged URLs are inaccessible to them). 
         [0010]    HTTP servers typically provide the ability to ‘re-write’ URLs using a relatively simple grammar. This could be used to filter or perhaps obfuscate restricted content but rewriting implementations are not generally able to rewrite the content referenced by a URL, only the URLs requested by users. This introduces the same security risk as HTTP server security. 
         [0011]    Reverse proxy or bastion servers typically used in web single sign-on solutions also restrict access to web content. Again, these suffer the shortcoming that URLs are only restricted once they are requested by a user. 
         [0012]    It is an object of the invention to provide a means by which public or private entities can maintain a single collaborative bookmarking site to service internal staff, business partners, and members of the public such as consumers. 
       SUMMARY 
       [0013]    According to one embodiment of the present invention, a collaborative bookmarking system is provided wherein the collaborative bookmarking system includes confidential and/or proprietary information whereby a method of filtering tags to prevent access to certain confidential and/or proprietary information includes permitting a user access to the collaborative bookmarking system, authenticating the user, permitting the user to submit a search request to the collaborative bookmarking system, whereby the search request retrieves search result tags, and filtering the search result tags to provide only authorized tags to the user. 
         [0014]    In a further aspect of the method, the step of authenticating the user includes determining the amount of access to the content in the bookmarking system provided to the user. 
         [0015]    In yet another aspect of the method, the tags in the bookmarking system include uniform resource locators (URLs) and URL elements and each tag filter includes a predefined list of URLs and URL elements, wherein the filtering step compares the search result tags with the predefined list of URLs and URL elements and prevents access to the search result tags that match the predefined list of URLs and URL elements. 
         [0016]    In still a further aspect of the method, each tag filter includes a predefined list of tags and tag expressions, wherein the filtering step compares the search result tags with the predefined list of tags and tag expressions and prevents access to the search result tags that match the predefined list of tags and tag expressions. 
         [0017]    In another aspect of the method, each tag filter includes a predefined list of tags and tag expressions that denote restricted URLs, wherein the filtering step compares the search result tags with the predefined list of tags and tag expressions that denote restricted URLs and prevents access to the search result tags that match the predefined list of tags and tag expressions that denote restricted URLs. 
         [0018]    In one more aspect of the method, each tag filter includes a predefined list of site contributors and contributor expressions, wherein the contributors contribute tags that are restricted, wherein the filtering step compares the contributors of the search result tags with the predefined list of contributors and contributor expressions and prevents access to the search result tags that have contributors that match the predefined list of contributors and contributor expressions. 
         [0019]    In a further aspect of the method, users access the collaborative bookmarking system by a public internet, private intranet or partner intranet. 
         [0020]    In another embodiment of the invention, a system for collaborating tags in a bookmarking system is provided whereby the system is operated by a public or private entity, wherein the bookmarking system includes a plurality of tags applied to content items by a plurality of users, wherein the bookmarking system restricts certain tags from certain users, the system including one or more user interfaces, a collaborative bookmarking database linked to the one or more users interfaces, wherein users utilize the one or more user interfaces to search the collaborative bookmarking database to obtain search result tags, one or more servers linked to the collaborative bookmarking database, one or more networks linked to the servers and to the user interfaces, one or more authentication servers linked to the one or more servers, one or more tag filters linked to the one or more filters, wherein the one or more tag filters filter the search result tags to provide only authorized tags to the user. 
         [0021]    In a further aspect of the system, the one or more servers include hyper-text transfer protocol (HTTP) servers and the one or more networks include a public internet, a private intranet and/or a partner intranet. 
         [0022]    In another aspect of the system, the one or more authentication servers determine the amount of access to the content in the bookmarking system provided to the user. 
         [0023]    In yet a further aspect of the system, the tags in the bookmarking system include uniform resource locators (URLs) and URL elements, and each tag filter includes a predefined list of URLs and URL elements, wherein each tag filter compares the search result tags with the predefined list of URLs and URL elements and prevents access to the search result tags that match the predefined list of URLs and URL elements. 
         [0024]    In still another aspect of the system, each tag filter includes a predefined list of tags and tag expressions and each tag filter compares the search result tags with the predefined list of tags and tag expressions and prevents access to the search result tags that match the predefined list of tags and tag expressions. 
         [0025]    In one more aspect of the system, each tag filter includes a predefined list of tags and tag expressions that denote restricted URLs and each tag filter compares the search result tags with the predefined list of tags and tag expressions that denote restricted URLs and prevents access to the search result tags that match the predefined list of tags and tag expressions that denote restricted URLs. 
         [0026]    In still a further aspect of the system, each tag filter includes a predefined list of site contributors and contributor expressions, wherein the contributors contribute tags that are restricted, and each tag filter compares the contributors of the search result tags with the predefined list of contributors and contributor expressions and prevents access to the search result tags that have contributors that match the predefined list of contributors and contributor expressions. 
         [0027]    In another embodiment of the invention, a computer program product encoded in a computer readable medium having program code for instructing a system to filter tags in a collaborative bookmarking system is provided wherein the collaborative bookmarking system includes confidential and/or proprietary information, the program code configured to cause the computer to perform the method including permitting a user access to the collaborative bookmarking system, authenticating the user, permitting the user to submit a search request to the collaborative bookmarking system, whereby the search request retrieves search result tags, and filtering the search result tags to provide only authorized tags to the user. 
         [0028]    In another aspect of the computer program product, the tags in the bookmarking system include uniform resource locators (URLs) and URL elements, and each tag filter includes a predefined list of URLs and URL elements, wherein the filtering step compares the search result tags with the predefined list of URLs and URL elements and prevents access to the search result tags that match the predefined list of URLs and URL elements. 
         [0029]    In yet another aspect of the computer program product, each tag filter includes a predefined list of tags and tag expressions and wherein the filtering step compares the search result tags with the predefined list of tags and tag expressions and prevents access to the search result tags that match the predefined list of tags and tag expressions. 
         [0030]    In a further aspect of the computer program product, each tag filter includes a predefined list of tags and tag expressions that denote restricted URLs, and wherein the filtering step compares the search result tags with the predefined list of tags and tag expressions that denote restricted URLs and prevents access to the search result tags that match the predefined list of tags and tag expressions that denote restricted URLs. 
         [0031]    In another aspect of the computer program product, each tag filter includes a predefined list of site contributors and contributor expressions, wherein the contributors contribute tags that are restricted, and wherein the filtering step compares the contributors of the search result tags with the predefined list of contributors and contributor expressions and prevents access to the search result tags that have contributors that match the predefined list of contributors and contributor expressions. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0032]    The present invention will be more fully understood and appreciated by reading the following Detailed Description in conjunction with the accompanying drawings, in which: 
           [0033]      FIG. 1  shows a schematic diagram of an embodiment of a system of the invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0034]    Embodiments of the invention provide a system and method for managing tags in a collaborative bookmarking application. 
         [0035]    Reference is made to  FIG. 1 , which shows an embodiment of a collaborative bookmarking system  10 . System  10  is operated by an entity, such as a corporation that would like to restrict certain tagged information from being viewed by entities not in the corporation. As shown in  FIG. 1 , three users, a public user  12 , a business partner  14 , and a corporate employee  16 , have access to system  10 , although the system is in no way limited to a specific number of users and many users may have access to system  10 . The owner of system  10  determines which content shall be viewed by the users. For example, public users  12  will most likely be restricted from viewing certain confidential company information. Likewise, business partners  14  may have access to certain confidential company information, but not highly confidential company information. 
         [0036]    Public user  12  can access system  10  through the public internet  18  using an HTML browser or similar content rendering device that is supported by a corporation&#39;s HTTP server  20 . It should be mentioned that public user  12  is just one example of a user that accesses system  10  through public internet  18 . Many users may access system  10  through public internet  16 . An authentication server  22  is linked to HTTP server  20  and serves to authenticate the identity of public user  12 . Examples of authentication servers include, but are not limited to enterprise single sign-on solutions such as Tivoli Access Manager and Microsoft ActiveDirectory, and the HTTP basic authentication method implemented in most HTTP servers. Once authenticated, public user  12  is allowed to submit a search request. A search request is submitted to the collaborative bookmarking database  24  and search results are returned through tag filter  26 . 
         [0037]    Since user  12  is a public user, there are restrictions regarding which uniform resource locators (URLs) user  12  is allowed to access. Tag filter  26  filters the search results by comparing tagged URLs against a pre-defined list of URL&#39;s and URL elements (including hosts names, content paths, and content names using both full elements and regular expressions) whose access or distribution is to be restricted. Tagged URL&#39;s that match an entry on the pre-defined list will not be returned to users who are not explicitly authorized to view the content referenced by the URL. 
         [0038]    In addition to comparing URLs, the requested tags are compared against a pre-defined list of tags and tag expressions (regular expressions that match one or more tags) which are to be restricted. Tags that match an entry on this list will not be returned to users who are not explicitly authorized to view the tags. 
         [0039]    A third measure to restrict unauthorized users access to proprietary tags includes comparing tags against a pre-defined list of tags and tag expressions (regular expressions that match one or more tags) that denote restricted URLs. URLs associated with a matching tag will not be returned to the users who are not explicitly authorized to view the tagged URL. 
         [0040]    A further measure includes comparing the site contributors of a tag to a pre-defined list of contributors and contributor expressions (regular expressions that match one or more site contributors) whose tags are to be restricted. The filter will return only those tags (and associated content) that have had at least one allowed contributor. 
         [0041]    Tag filter  26  is incremental in enforcing access control policies for web content that is proprietary, or confidential, or whose distribution the corporation wishes to control or otherwise restrict. 
         [0042]    Further reference to  FIG. 1  shows a business partner  14  linked to a partner intranet  30 . Business partner  14  can access system  10  through the partner intranet  30  using an HTML browser or similar content rendering device that is supported by a corporation&#39;s HTTP server  32 . It should be mentioned that business partner  14  is just one example of a user that accesses system  10  through partner intranet  30 . All members of the business partner&#39;s entity may access system  10  through partner intranet  30 . An authentication server  22  is linked to HTTP server  20  and serves to authenticate the identity of business partner  14 . Once authenticated, business partner  14  is allowed to submit a search request. A search request is submitted to the collaborative bookmarking database  24  and search results are returned through tag filter  26 . 
         [0043]    Similar to the description of tag filter  26 , tag filter  36  filters tagged results that are restricted from viewing by business partner  14 , using the measures described above. Compared to public user  12 , business partner  14  may have more access to tagged results due to the closer business relationship it has with the corporation. 
         [0044]    Employee  16  is connected to the corporate intranet  40  and accesses system  10  through the corporate intranet using an HTML browser or similar content rendering device that is supported by a corporation&#39;s HTTP server  42 . Employee  16  is representative of all users in the corporation that have access to the collaborative bookmarking database  24 . There is no need for an authentication server since employee  16  works for the corporation. All search requests submitted to the collaborative bookmarking database  24  are returned unfiltered due to employee  16 &#39;s status as a member of the corporation. 
         [0045]    Although there is no tag filter present for the employees of the corporation, a tag filter can be employed for all user audiences, including employees to control access to collaboratively bookmarked content. For instance, there may be information in collaborative bookmarking database  24  that may only be viewed by upper management in the corporation. Accordingly, a tag filter can be connected to HTTP server  42  to restrict viewing of extremely confidential company information by certain employees  16 . 
         [0046]    It should also be mentioned that the components in system  10  can be implemented by a single instance of an application or through multiple installations of one or more applications. Components can be installed on any number of physical servers, i.e. the components may be installed on separate servers, collocated on a single server, or installed separately and collocated in any combination of the two options. Lines between the components represent logical communication paths, likely implemented using a computer network. Clouds represent logical computer networks comprised of a variety of networking components. Persons represent logical user audiences for the collaborative bookmarking solution. 
         [0047]    For all instances above, the tag filter component may be integrated into the HTTP server as a functional subset, or via an extension mechanism, such as a plug-in or module, supported by the HTTP server. Alternatively, the tag filter is integrated into a network middleware component such as a router or firewall as a functional subset or via a defined extension mechanism. As another option, the tag filter component is integrated into a web application middleware component such as a web application server or web portal component as a functional subset, or via a defined extension mechanism. Other options include integrating the tag filter into the Collaborative Bookmarking component as a functional subset, or via a defined extension mechanism or into a web application security component such as an authorization server as a functional subset or via a defined extension mechanism. 
         [0048]    In a further embodiment, the method of an embodiment herein may be implemented within or between one or more computer systems, by executing computer-readable program code stored on computer-readable media. The computer-readable media may include, for example, any number or mixture of fixed or removable media (such as one or more fixed disks, random access memories (RAMs), read-only memories (ROMs), or compact discs), at either a single location or distributed over a network. The computer-readable program code may include, for example, instructions embodied in software or firmware. 
         [0049]    The computer-readable program code may include various components, such as program code, code to display a user interface, and code to instruct authentication of users of the system, code to set up a collaborative bookmarking system, code to permit search requests to the collaborative bookmarking system, code to retrieve search results tags from the collaborative bookmarking system, code to filter the search result tags, and code to send the filtered search results to the user. 
         [0050]    Although the present invention has been described in connection with preferred embodiments thereof, it will be appreciated by those skilled in the art that additions, deletions, modifications, and substitutions not specifically described may be made without department from the spirit and scope of the invention as defined in the appended claims.