SYSTEM AND METHOD FOR BOOKMARK MANAGEMENT AND ANALYSIS
TECHNICAL FIELD
The present system generally relates to a system and method for managing bookmarks (or "favorites") and to the remote storage of a user' s bookmarks on a remotely located networked bookmark server such that a user may retrieve them from another computing device interconnected to the network such as the Internet. The present invention additionally relates to Internet portal sites that provide enhanced search and retrieval utilities for the users of the portal, where results closely matching the user input are retrieved primarily from users' bookmarked websites. The desktop bookmark management system provides means for the user to manage bookmarks either locally or remotely and to periodically determine the status of the bookmarked sites. The system additionally provides a means for content administrators to communicate with users that have bookmarked the contents at a destination computer.
BACKGROUND ART
Bookmarks, also known as "favorites", are URLs or references to URLs that point to web sites with content that a user wishes to view on a regular basis, or that a user wishes to refer back to for various reasons. Thus, a user can designate a web page or other resource as a bookmarked site, and keep a list of such bookmarks for later linking. Web browsers such as Microsoft Internet Explorer allow for simple cataloging of a user's bookmarks (favorites) through a simple file folder arrangement. Presently existing bookmark management systems that use a remote server for storing a user' s bookmark data typically have Internet- accessible interfaces. Users subscribe to these bookmark systems to remotely store their bookmarks such that they may be retrieved from alternate computing devices . The user accesses the Internet site and uploads their bookmarks using
either an incremental or complete upload process where the data or file uploaded is either appended to the bookmarks already on-line or replaces the bookmarks that are stored on-line. The bookmarks systems additionally permit the user to manage and organize their bookmarks automatically, where categories are established by the system and the system moves the bookmarks into the corresponding categories, or in a manual mode where the user creates folders and categories then moves bookmarks into those categories . These web sites additionally provide a means for the user to publish their bookmarks such that they may be seen and accessed by some or all of the users of the system.
Bookmark management utilities fall generally into two different classes of management and control. The first type comprises utility programs that allow users to manage their bookmarks from the desktop. These systems do not check status of the Universal Resource Locators (URLs) but allow for the user to categorize and locally organize bookmarks. The second type of utilities allow users to log into a centralized server system in order to upload or download bookmarks from the bookmark server. Once uploaded, the users' bookmarks may be made public where they become accessible to others. Alternatively the user may designate their bookmarks as private such that they may not be accessed by other users, or such that they may be shared with a group of users. This second type of system permits the user to enter a user-name and password that is used when the user connects to identify their bookmark file that is then returned to them or remotely managed at the server location.
The bookmark management website "Clickmarks" (www.clickmarks.com) is a typical example of a bookmark management utility where the user is able to store their bookmarks on-line. The Clickmarks web site permits the user
to upload their bookmarks to a server system where they are held for the user in a database. These bookmarks are maintained through the use of an Internet based form that runs in the user's web browser. The user accesses their bookmarks by connecting to the service's web site and entering their user name and password. The bookmarks may then be managed by using the controls provided on the interface forms from that web site.
U.S. Patent No. 5,813,007, AUTOMATIC UPDATES OF
BOOKMARKS IN A CLIENT COMPUTER, assigned to Sun Microsystems, discloses a system where bookmarks may be automatically updated based on changes for the source web page. The system allows for a notification of changes for that web content to users subscribing to a change notification process, where a web server administrator indicates that a "sufficient" change has occurred to the page such that the subscribing users should receive new information .
U.S. Patent No. 5,895,471, PROVIDING A DIRECTORY OF FREQUENTLY USED HYPERLINKS ON A REMOTE SERVER, discloses a system used for mobile communications where a bookmark file may be stored on a server computer. The primary focus of the patent is directed toward computing devices with limited memory that can store and receive bookmark data from the server in response to user requests. The bookmarks are updated or retrieved from the server by requests made from the user device.
Usually these on-line Internet-based bookmark management utilities receive income from advertisers based on the number of users that visit their web site in addition to any charges levied by the systems to their users. It is therefore to the advantage of the web site to incorporate as much content as they can that causes a user to navigate to
that web site and to keep them on that website for as long as possible. This is best done by offering extended functionality that provides some value to the user while displaying advertiser-generated content on the pages retrieved. Bookmark management utilities have stepped up to this level of functionality by giving users of their system the ability to search through other user' s bookmarked URL resources. It is thought that since users only bookmark data that they are truly interested in, these bookmarks provide a better search territory than randomly compiled content from destination websites.
In an effort to attract users of the Internet to their sites, Internet portals such as Excite, Yahoo, and AltaVista provide search engine utilities to streamline a users search process for identifying search results that closely match the users' search criteria. These search engines periodically search websites to identify content that may want to be used for subsequent search requests by users at their portals. The raw data retrieved by the search engines is indexed by keywords and is held in storage accessible through that portal. When users enter search terms, the indexed keywords are compared to user requests to determine which data records are to be retrieved from storage. In their zeal for finding content, the portals frequently identify data not directly related to the user' s particular field of interest. These portals may additionally utilize tables of synonyms that are used to look up information from the database. These portals frequently organize the data found into categories that users may navigate through in order to identify information of relevance and significance. Keywords generated during the index phase may additionally be utilized in the generation of categorized information. These categories provide another means for users to navigate to destination websites by selecting through a series of links. These
search facilities may optionally generate lists of frequently requested websites that they identify as "Hot Lists". The hot lists are generated by the web servers where they count hits or requests processed through their site to determine what is a frequently requested item.
Users may retrieve these lists instead of entering search terms or keywords if they are browsing on the Internet without a directed purpose. Beginning Internet users for example, may use this type of search when they do not understand how the Internet permits users to search using keywords or category based search capabilities as are provide by Yahoo, Excite, etc.
What is desired therefore is a system where the searches performed are based initially on user specified preferred bookmark destinations as determined by the bookmarks retained on a user's computer. It is another object of the present invention that the bookmark system should utilize the users' bookmarks as the basis for data managed by their search engines. In this manner, obscure references that no one has bookmarked would not typically be retrieved prior to other more commonly known and frequently bookmarked sites.
It is another object of the present invention that the bookmark data stored on the user' s computer is accessed by the bookmark system automatically such that the user does not have to request an upload or download to occur in order to retrieve the bookmarked data.
It is another object of the present invention that the status of the bookmarks identified by users are checked by the system when the user initiates the application such that the status of each connection is validated before or while the user accesses and manages his bookmarks when the user is connected to the network.
It is another object of the present invention that the server system compiles the bookmarks from the plurality of users of the system to determine which sites should be checked prior to other sites not validated by the server of the present invention.
It is another object of the present invention that a desktop bookmark management utility is accessible by the user computer that allows for simplified control and organization of the user bookmarks.
It is another object of the present invention that the search utility generates results that are related to the user's identified or construed interests, in addition to the keywords entered. The results are preferably ordered such that results that are related to the interest data are preferentially displayed to the user prior to results that do not match the user's interest areas.
It is another object of the present invention that the automatically uploaded bookmarks are analyzed and content from those bookmarked sites may be loaded into the search utility of the bookmark server for those sites that have a sufficient number of user identified bookmarks, or that have been bookmarked by identified users of the system.
It is another object of the present invention that the search utility of the bookmark server or the bookmark manager can direct the content to the user' s computer such that searches may be performed without accessing the network or the bookmark server for subsequent searches.
It is another object of the present invention that the analysis routine uses other factors besides the count of bookmarks to determine the priority of the rated bookmark
web sites. It is another object of the present invention that the users may select from only the best or highest rated website by choosing a parameter indicating the rating level of the sites at the time of a search request.
DISCLOSURE OF THE INVENTION
In accordance with these and other objects, provided is a bookmark management system that operates to perform several novel functions . In one aspect of the invention, a method of implementing a bookmark management system to rate web pages comprises the steps of receiving at a bookmark server computer a bookmark address for a web page from a client bookmark manager system, storing a count of the number of times the bookmark address is received, generating a rating level for the web page address denoted by the bookmark based on the stored count and storing the rating level and the associated web page address in the bookmark database. The method may further comprise the steps of retrieving web page content from a destination server associated with the bookmarked address, parsing the retrieved web page content to generate searchable content associated with the web page and storing the searchable content in a record in a search database of the bookmark server .
The method may further comprise the steps of generating keywords from the web page content, and running a keyword search in a search engine. The method may also receive a search request from a bookmark server user comprising a rating level and keyword request, look up the keywords in the search database, retrieve the records from the search database with matching keywords, look up the rating level for the retrieved search records, sort the search results by the rating level, and transmit search content of the sorted results to the bookmark server user.
In another aspect of the invention, the bookmark system generates content on a bookmark server in response to a user request received from a user computing device by performing the steps of receiving the request comprising a rating level at the bookmark server; retrieving from storage search results associated with bookmark address content stored on the bookmark server; sorting the retrieved search results by the rating level; and transmitting the sorted search results to the user. The method may also look up interest data for the bookmark server user; compare the sorted search results to interest data for the bookmark server user; and sort the search results by interest data.
In yet another aspect of the invention, provided is a method of generating a user profile of bookmarked interests comprising the steps of analyzing a web page associated with a user' s bookmark; generating interest data as a function of the analyzed web page; and storing interest data associated with the user bookmark content. The method may also retrieve the additional web pages associated with additional user bookmarks and revise the user profile in accordance with the content of those web pages.
In another aspect of the invention, provided is a method for allowing a user from a networked user computing device to determine status of destination server content associated with a user bookmark comprising the steps of retrieving a user bookmark from a memory of the user computing device; determining a destination address associated with the bookmark; generating a request to retrieve destination server content associated with the destination address; determining the status of the bookmark based on the results of the request; and providing the status to the user. The status may indicate (1) that the destination server content has been updated, (2) no change in the destination server content, (3) the requested content
was not found, (4) the connection to the destination server has timed out, or (5) an unknown protocol. The method may further comprise the step of revising a graphical symbol displayed to the user. Alternatively, the status comprises a message available for download to the user, and the message may be obtained from the 'server associated with the destination server address.
Also provided is a method of executing a search engine comprising the steps of analyzing a bookmark; extracting keywords from the bookmark; inputting the extracted keywords to a search engine; and providing results of the search engine to the user. This method may also comprise the steps of retrieving a web page related to the bookmark; and parsing the web page content to obtain additional keywords for subsequent use with the search engine .
Further provided is a method of providing a message to a user from a destination content server comprising the steps of storing a bookmark of the user; indicating to a destination content server associated with the stored bookmark that the user has stored the bookmark; generating a message for transmission to the user; and sending the message to the user.
Also provided is a bookmark management system for rating popularity of user bookmarks comprising a bookmark client executing on a networked user computing device for managing bookmarks, a bookmark server for collecting bookmark information from the plurality of networked bookmark clients, and destination servers for storing content related to bookmarks, wherein the bookmark client comprises a user computing device comprising a client interface for managing bookmarks and for transferring bookmarks to the bookmark server; memory for storing user
bookmarks; and a communications interface for transferring user bookmarks to the bookmark server from the client interface; the bookmark server comprises a communications interface for receiving user bookmarks; a processor for determining a rating level for the bookmark; and memory for storing user bookmarks and rating level; and the destination server comprises a communications interface for receiving requests for bookmarked data; memory means for storing web pages; and a processor for interpreting requests and accessing the memory means in response to requests.
Also provided is a system for generating search results in response to a user request received from a user computing device, comprising a user interface for entering the rating level; a processor for interpreting the entered rating level and retrieving from storage search results; storage for storing user bookmarks comprising rating levels; a filter for sorting the retrieved search results by the rating level; and a presentation unit for displaying user interface and the sorted search results to the user.
Also provided is a system for generating user interests based on user defined bookmarks, comprising a bookmark manager for storing and managing user bookmarks; a bookmark parser for interpreting the user bookmarks; memory for collecting the interests associated with each of the bookmarks; an interest filter for determining from memory user interests for the user, and storage for storing the user interests for subsequent use.
A system is also provided for checking status of user bookmarks associated with a destination server file from a client bookmark manager, comprising a processor for interpreting when to request status; a parser for reading user bookmarks and determining a URL for a web page from the bookmark; a request generator for generating a request for
status associated with the web page; memory for storing received status associated with the web page; and a presentation unit to display status to the user.
BRIEF DESCRIPTION OF THE DRAWING
Figure 1 is representation of the bookmark management system components of the present invention;
Figure 2 is a representation of the software processes of the bookmark management system data
Figure 3 is a representation of the graphical user interface of the bookmark manager of the present invention.
Figure 4 shows the status symbols associated with the bookmark manager of the present invention;
Figure 5 shows the status symbols at a first time during the status gathering process;
Figure 6 shows the status symbols during the status process at a second time later than that shown in Figure 5;
Figure 7 is a flow diagram for the status process executed by the bookmark manager;
Figure 8 is a representation of the bookmark content as loaded into the database of the bookmark server;
Figure 9 is a flow diagram for the remote storage process of user bookmark content on the bookmark server;
Figure 10 is a flow diagram for the processing of the rating engine of the present invention;
Figure 11 is a representation of the user interface provided by the bookmark server of the present invention;
Figure 12 is a representation of the bookmark message manager of the present invention;
Figure 13 is a representation of the remote bookmarks that are coordinated with the bookmark server.
BEST MODE FOR CARRYING OUT THE INVENTION
A client-server bookmark management system as shown in Figure 1 comprises a user computing device 10, a bookmark server computer 30, and a destination content server computer 40 where each component may communicate with each other through a network 16 such as the Internet. The user computing device 10 and destination content server 40 are representative of a plurality of such devices, i.e.: many of these devices will typically exist across the network 16.
The user computer 10 comprises processor means for executing processes for managing bookmark content, communication means for contacting the bookmark server 30 and the destination content server 40, and storage means for storing bookmark content. A bookmark manager program 20 executes on the user computer to locally or remotely control bookmark content, check current status of bookmark content, receive messages related to bookmark content, and to remotely store and retrieve bookmark content from the remote bookmark server 30. The bookmark server 30 may also locally or remotely determine interest data related to the bookmark content, and transmit requests to and receive content from the destination content server 40, which may then be stored either locally on the user computing device 10 or remotely
on the bookmark server 30 for subsequent access by a local or remotely executed search utility. In the preferred embodiment, the user computing device 10 is a desktop or portable computer device executing under an operating system such as Linux, Windows 95, 98, NT, CE, or MAC OS or Unix that enables communication with networked computing devices . The term storage will be used to refer to any removable or fixed media that may be used to retain information that may be retrieved by the processor of the systems. For example hard drives, disk arrays, and remote storage systems may be used to store bookmark data, preferences, keywords, interests, tracing results and search data. Temporary memory storage cards, flash memory, RAM may be used for the short term storage of data processed by this system.
The bookmark server computer 30 comprises processor means, communications means, and storage means where the processor means executes processes for managing server bookmark content, rating server bookmark content using a rating engine, determining interests associated with server bookmark content, and executing trace and search utilities based on traced bookmark content and for providing a messaging capability for administrators of the destination content server 40.
The plurality of destination content servers 40 are representative of remote computing devices such as web servers or any other server computing device that allows users to access content provided via a request generated from a user computing device and received at the destination content server 40. The destination content server 40 comprises processor means for interpreting and responding to requests for bookmarked content, communications means for receiving and transmitting content requested and storage means to store destination content.
An overview of the interrelations of the components of the system will be described briefly with respect to Figures 1 and 2 to provide the reader an understanding of the overall scope of the system. A bookmark manager program 20 executes on the user computing device 10 and provides the user with the ability to locally manage bookmarked data stored in a local database 11 and to remotely store the bookmarks on the bookmark server 30 where they are stored in server storage 31 or memory accessible from any authorized computing device 10. The bookmark manager 20 additionally allows the user to periodically communicate with the destination content servers 40 to determine the status of user bookmark content related to destination server content 42.
The bookmark server 30 may then periodically access the storage 31 to analyze the server bookmark content 38. The bookmarks may be categorized, and interest data 34 may be generated by the bookmark server 40 that is related to the server bookmark content 38. The rating engine 132 of the bookmark server 30 periodically accesses the bookmark database 38 to generate category data 32 and to rate the server bookmark content according to algorithms that will be described later in this document. The rating data may be stored in storage 31 of the bookmark server 30. A search - utility is provided that allows users connected to the bookmark server 30 to view this bookmarked data according to the rating data applied.
The bookmark server 30 additionally provides a bookmark message manager program 150 to permit destination content server administrators to communicate through the bookmark server to the user computing device bookmark manager 20 where the bookmark manager has bookmarks which reference the destination content servers.
The destination content server 40 communicates with user-computing devices 10 either directly in response to user-computing device requests or via the bookmark message manager 150 when an administrative message is transmitted from the destination content server administrator that impacts the configuration of a user identified bookmark or interest data of the user.
The detailed functionality of the bookmark manager 20 executing on the user-computing device 10 will be described with reference to Figure 3. In the preferred embodiment, the user interface provided is a graphical user interface (GUI) that may execute as a standalone application that can interoperate and is compatible with any format of bookmark content that is generated by any of the existing prior art "bookmark" or "favorite" generating utilities or browsers. The bookmark manager 20 also generates output compatible with any of the currently available bookmark management utilities. For example, Microsoft Windows 98, Netscape Navigator 4.0, Internet Explorer 5.0 and several third party software providers currently support the ability to manage bookmarks on a user-computing device 10.
The bookmark manager 20 executes independently or can interoperate with any of the aforementioned bookmark management utilities to allow users to view, manage, and to navigate to the destinations computers 40 associated with the bookmark. Where the bookmark identifies an address associated with an Internet resource, a user selection of the user bookmark in the interface via a mouse selection for example, causes the bookmark manager 20 to launch the user's preferential web browser to access the remotely identified resource. A native web browser may be included as part of the bookmark manager 10 that may be executed by the user. In the preferred embodiment, bookmarks associated with different web browsers are stored on different tabbed
portions of the graphical user interface (GUI) of the bookmark manger 20. For example, the Internet Explorer (IE) tab 50 shows the bookmarks identified via the native functionality of that software program. Similarly tabs may refer to Netscape generated bookmarks, remotely stored bookmarks 59, bookmarks generated by other electronic bookmark management utilities, or manually inputted references. A folder-like representation is provided where a user may navigate to a desired folder 52 to launch a link by selection thereof. The user may move or copy bookmarks by dragging the bookmarks from one tab into another. Additionally, the user may add to the bookmark manager 20 any current URL reference by dragging the reference address from the browser window and dropping it in the bookmark window.
A status means is provided within the bookmark manager 20 to check the reference to determine its availability. The status means may execute periodically or in response to a user input to attempt connection to the bookmarked item. A status request process is best described with the reference to Figures 3 through 6 and flow diagram Figure 7. Regarding Figure 3, the GUI initially displays the condition of the link as indicated by the status symbol which was associated with the bookmark the last time it was checked. During the status process, the symbols 56 will change depending on the in-progress stage of the status process. The bookmarks may be checked for viability periodically in response to a user selection at step 200 (see Figure 7) or alternatively upon execution, the system may automatically analyze the status of bookmarked links. In the preferred embodiment, when the bookmark manager 20 determines the status of the links, each bookmark is read at step 202, the destination address is extracted and a connection is made via the communications means to the destination address at step 210. Optionally a timer may be
initialized at step 214 when the connection request is transmitted. The symbol 54 is changed to symbol 70 indicating that a download is underway. If the address (URL) is not found at step 218 the symbol is modified (68) to indicate that the destination is unreachable. If a connection is established at step 218 the destination computer 40 interprets the request at step 224 and retrieves the content associated with the request at step 230. If the content cannot be found at step 234, then a response is transmitted to the bookmark manager that the file does not exist and the bookmark manager updates the status symbol 64 at step 236 to indicate that the file cannot be found. If the file was found at step 234, the file is transmitted to the bookmark manager at step 240. The bookmark manager may at this point read the header information of the file to determine whether the timestamp of the file is different from the last download received, or alternatively other prior art methods may be used to compare the last version of the local content to the destination computer 40 version. If updates have been identified since the last status check, a suitable symbol 60 is displayed on the GUI. The file may be transmitted to the user or the user may select the websites to visit the bookmark where the content has changed (symbol 60) . The timer is stopped at step 240 when the transmission is received and the time may be displayed 56 next to the bookmark name, indicating for example the roundtrip time for the request.
Figures 5 and 6 show the bookmark manager GUI 20 as the status is checked where Figure 5 is an image taken at a first time and Figure 6 is an image of the bookmark manager GUI 20 a short time later. As can be seen in these figures for bookmark named "Hewlett Packard - Corporate Home Page" 74, the symbols change as the communication request is processed from symbol 70 to symbol 60.
In one embodiment, when the status is checked, a separate trace utility may be used to examine each of the links referenced by the primary bookmark content to provide the user with locally searchable content from a particular destination content server 40. This trace utility may identify the links or references contained in the primary bookmark content, extract index keywords, links and summary data for that content, and store the index terms to storage on the user's computer and/or on the bookmark server. The user may be prompted to supply indexing keywords in addition to those automatically generated by the system. In the preferred embodiment, the trace utility will only compile traced content from that primary bookmarked destination. This limitation may be based on the domain name contained in the address (URL) or upon the identification of some portion of that address.
In one embodiment, as URLs are added to the Remote Panel Tab 59 of the user's bookmark manager interface (see Figure 13), the bookmarks are displayed in the user interface panel 61 and are copied automatically to storage on the bookmark server for the user. The user may launch a bookmark server-based bookmark viewer 440 (see Figure 11) to remotely view and manage the bookmarks remotely. When a database structure is used to manage the URLs on the bookmark server, the bookmark data may automatically populate the individual tables of the system. For example with regard to Figure 8, the Rating Table 400 would comprise the URLID 402 which would be used to correlate data from the different tables, URL 404, a count 404 of the number of times the URL is referenced, and the webmasterlD 406 if it is specified. The user Profile Table 410 comprises information provided or determined from the user and may identify the type of operating system, the users gender, the browser preference, etc. A separate Interest Table (not shown) would likely be used to track simple or complex
interest relationships which would allow the system to apply multiple references to the same URL for different interests. Likewise a Category table (not shown) would contain records referencing the URLs and the predetermined or derived categories of the system. The USER/URL Cross Reference table 416 would potentially contain multiple records for each user identifying the destination URL and the linked URLs that would be determined by the system during the trace routine. The changes to the bookmarks on the bookmark manager interface may be uploaded as they occur in the bookmark manager or in response to changes at the bookmark server. In the preferred embodiment, the changes to the bookmarks on the bookmark manager or the bookmark server are updated as a background process such that they may be incorporated locally and remotely without significantly impacting performance of either system. A queuing process for example, may be employed to update the table data related to bookmarks.
Using a more comprehensive example where tracing of URLs is involved, if the user specifies a bookmark for a website related to skiing such as the web site "www.ski_it.com/products", the bookmark manager may record the following information: name, internet address, type, alternate address, size, expiration, last access date, last modification date, last status date. The name, for example, might reference the site by its commonly known name or alternatively the user may re-identify the reference to be identified in a manner that the user will be able to associate it to a category or interest area (i.e. ski clothing site) . The user may have additionally placed it into a folder called "Travel". When the trace utility executes, the system would generally parse the Internet address to define the default home page for that site. The trace routine would limit the traced content to only that base address (ski_it.com) or it may optionally use the full
URL specification (ski_it.com/products/prod.html) as its starting point for the trace. If the URL referred to HTML content (file) on the remote computer, that file may be parsed as it is received by the bookmark manager to identify other hyperlinks that are provided within the content. All or part of this information may be transferred to the bookmark server system.
Once the user has logged into the bookmark server website, the user's bookmarks 446 are displayed on the interface 440 (see Figure 11) . The bookmark server interface 440 preferably comprises primary controls 442 for updating the bookmarks while online such that the bookmarks may be added, deleted, edited, moved, published or closed. Secondary controls 444 are used to modify the user preferences for the website. For example, the options choice 445 may allow the user to configure the manner in which the remote update process occurs when changes are made at the bookmark server. The user may optionally specify search parameters via the provided search term control 448.
Websites frequently have a multitude of links embedded within the content provided. The user may specify preferences for the manner of operation of this trace utility in a preference file that is used in conjunction with the trace utility. The preferences may for example, limit the number of links investigated, restrict the number of levels accessed where the levels refer to different files accessed from the initial bookmark, or allow for the inclusion of the first level occurrence of an alternate destination link. The system may execute the trace by requesting the content associated with the initially specified bookmark address from the destination web site 40 to identify links. When a link is found, a separate request may be generated for content related to that link. This may be repeated until all of the links have been exhausted or
until some user or system defined limitation as specified in the preference file is reached. Alternatively, an FTP request may be generated for all of the files available at the bookmarked location. Since files are frequently stored in a directory structure on a web server computer, these files may be retrieved by one or more requests to retrieve content based on that directory structure found. As the files are received, a secondary process may examine each of the files to identify other links that correspond to content from other locations. The files are indexed and summarized as they are received. In another example, if the user has bookmarked a location other than the home or default location of the web site, the trace utility may only navigate through that portion of the web server for detailed information related to the context of the user bookmark.
When the user has identified that the traced content should be stored locally, this traced content is then available for use in the local bookmark manager search utility. The user may execute this search utility to enter keywords to access the locally stored traced content where the keywords entered are compared to the indexed terms and the results are prepared for presentation to the user. This search may be performed without connection to the external network such that the bookmark manager system will retrieve the corresponding references from storage 11 to build a result set that optionally comprises the links and summary data where the keywords were matched. Since the results are based on the traced data only, the user has control over the types of content referenced. Finally, when the user selects one of the links provided, the system would launch the appropriate helper application to view the destination content .
Had the user selected to store the bookmarks and traced content at the storage 38 on the remote bookmark
server, indexes or keywords may be established by the bookmark server 30 in a similar manner as was described with respect to the bookmark manager 20. The traced content for this user is then stored in the bookmark server database with the traced content received from other system users. Indicia of the user or of the uniquely indexed bookmark manager is associated with the traced content that is stored such that a user' s search may be restricted to access only the user's traced content.
As part of the bookmark message manager 150, when status is checked or when messages are received at the bookmark server 30 related to server bookmark content associated with the user, the bookmark message center may forward the message to the user which may be in the form of ICQ messages in one embodiment. These messages are forwarded to users executing the bookmark manager on a separate communication port that the bookmark manager is configured to listen to. When messages are received, a symbol preferably shaped like an envelope 66 is displayed on the bookmark manager 20 for that bookmarked address. Depending on the user preferences specified, the message may generate an audible or visible indication that a message has been received at the bookmark server or that a message is awaiting the user at the bookmark server. A sample message interface is shown in Figure 12 where a simple message may be presented to the user in a scrollable text or email-like message form. Other message systems may be employed such as chat dialog boxes or ICQ-like messages. In an alternate embodiment, the message may be broadcasted by the system to all users or only directed to specific users of the system.
The bookmark server is configured to record user bookmark content on the server in storage 31 either upon upload from the user where the user wants to gain access to the bookmarks from another location, or simply to collect
user bookmark content for the search utility 134 provided by the bookmark server. A user account with an associated ID is required when the user wishes to access the bookmarks from another location. When the data is not uploaded for the purposes of remote user access, a user ID and password are not required, but instead indicia of the bookmark manager is used to identify and associate the content with the user's bookmark manager. Regarding the flow diagram of Figure 9, users upload their bookmark data at step 300 by connecting to the bookmark server 30 and transmitting the bookmark data 22. The bookmark data 22 may comprise the complete bookmark content, address-only content (URL's), or may additionally comprise non-URL content such as separators, folders, bookmark name, and any bookmark related content that is associated with the bookmark such as usernames and passwords that have been saved by the user. In one embodiment, the bookmark data modifications and additions are identified by the bookmark manager 20 such that only changes are transmitted to the bookmark server 30. In an alternative embodiment, the bookmark manager may extract the bookmark address from the bookmark data and send that portion of the bookmark data separately. The bookmark data 22 is received by the bookmark server 30 at step 304. The bookmark data 22 is parsed at step 310 to extract the individual bookmark addresses (URL's) and user specified non-computerized references. If the bookmark address does not exist in bookmark storage 38 of the bookmark server for the user at step 314 (linked to the user by identification indicia) , the bookmark address is added to storage 38 such as provided by a database at step 318. If the bookmark address already exists in the system but not for that user as determined by step 320, a record is added to reflect that bookmark reference at step 322. Interest data stored in the database for the user is added or updated based on an analysis of the types of bookmarks that the user has in the user bookmark content received. Alternatively, the server
bookmarks for the user will be analyzed to generate interest data.
The interest data 34 for the user may be determined by comparing the description or name of the bookmark to a lookup table of synonyms 36, or by comparing the user identified folder name to the synonym table. Alternatively, the keywords generated during the retrieval of trace content may be used to identify terms which could then be compiled by a text processing utility such as a natural language expert system. Category data may be compiled at this point if a corresponding category does not exist in the currently held categories 32 stored in the database. The categories are used as an alternative to keyword searches of the database. In a preferred embodiment, following the reception of bookmark content, the bookmarks are categorized into different predetermined categories. The interest data in the user profile (if provided) or derived from the users bookmarks are then stored for the user such that any searches performed would be prioritized according to the selected or derived categories and interests.
Once the bookmark data has been uploaded by a plurality of users, the rating engine 132 of the bookmark server may interrogate the bookmark data stored in memory at step 350 and perform secondary processes with this data (see Figure 10) . The rating engine 132 that executes on the bookmark server is a utility that analyses the frequency of bookmark address references in the storage of the bookmark server. The rating engine may be executed upon the detection of an event or as determined by a timing process or counting process. For example, if (500) users of the system have recently bookmarked a new website, the bookmark server may execute the rating engine to determine a rating level to assign to the bookmarked address. As previously
described with respect to the generation of content by the tracing utility, the content generated by the rating engine 132 may be recorded in storage of the bookmark server. The rating engine 132 may analyze the frequency of the bookmarked references to place at least one additional rating level attribute on the references found at step 352. The attribute may be the count or frequency of occurrences, it may refer to special users that have identified that bookmark, or it may be some other system determined combination of attributes that may be used to generate a rating level. The rating level may be used as an index to sort or limit data that may be retrieved from the database. In one embodiment, the rating level is assigned by compiling the records from all of the users of a particular interest area at one time by extracting interest data from storage at step 354. Since bookmark content may relate to more than one field of interest, a plurality of rating levels may be assigned to the server bookmark content. The search utility will use the user's interests along with the assigned rating levels to provide the most relevant information with respect to the user's interests. Other methods may be employed to determine rating levels that may be applied based on categories. Geographic regions may also be used by the system where the user's region or the destination content server' s region may be used by the system to include or restrict search results that are presented to the user. Composite rating levels may be applied when the user has several interests such that the results are organized by the rating levels as defined in a preference database for the user.
The related bookmarks are retrieved from storage at step 360. If a significant amount of new server bookmark content has been identified at step 362, a calculation of a new rating level may be performed at step 364. This new level may be assigned to the relevant server bookmark
content at step 368. The calculation of the rating level may comprise any of the following processes and execution may be performed periodically or in response to user or system events that are specified by administrators or read from rules stored in the system.
In one embodiment, as the bookmark file is prepared in anticipation of being sent to the bookmark server 30 from the bookmark manager 20, the dates and timestamps may be read from the user' s temporary Internet file location on local storage of their computer. The dates and timestamps for each cached file may be checked where the data that has matched the bookmark address of the bookmark manager is retrieved and uploaded along with the related bookmark. From the cached data the bookmark manager may be able to locally, or the bookmark server may be able to determine remotely, the number of times a user has visited a particular website, the last time the user visited a website, the subsequent sites that the user navigated to, etc. This may provide bookmark activity information that is recorded for each of the bookmarks managed by the bookmark manager 20. In the preferred embodiment, web portals that users access as their primary home page would be excluded from the process such that the data is not heavily skewed toward these portals. This activity data is sent to the bookmark server. Upon receipt at the bookmark server, the bookmark server extracts the activity data and adds this to the database for that site. Each of these transactions may be used to determine an overall rating such that the system can rate the items found based on activity at the sites in addition to the number of users having a particular web site bookmarked.
The rating level may be based on a simple count of users specifying a bookmark, or may be statistically based on an analysis of the data associated with the bookmark such
as characteristics of the cached data associated with the bookmark. The system may alternatively read cookie data associated with the bookmark content at the time of upload or analysis if performed on the local machine to assist in the rating and interest data compilation.
The rating level may have a common meaning across all interest groups or user categorizations such as where a "star" rating system is applied, or alternatively the rating levels may have a relatively applied value such as where it is based on the number of references found. Other criteria may additionally be used to determine relative ratings such as when known experts in a field have stored new bookmark addresses; these may be weighted higher than those of novice or unknown users of the bookmark manager system. Emerging sites and trends toward increasing references by users may be identified by the system such that these emerging web sites may be tracked by the system to identify newly popular sites. If user information is known, these early adopters of technology may be correlated or have flags or notations associated with their profiles such that when their bookmarks are uploaded, these bookmarks have significance in the rating engine. For instance, these bookmarks may either be directed to a different portion of the database, or the applied flags may be used to retrieve these references from a primary database structure where the flags applied and associated user profiles may be separately analyzed by the system.
The rating level may be applied at either the user-computing device to the bookmark data or at the bookmark server as determined by compiling statistics based on the user population occurrences of that bookmark. In the preferred embodiment, once a rating level has achieved a threshold as determined by the user of the bookmark manager
or administrators of the bookmark server, the address will be included at step 370 in the search utility such that user requests for searches of information will be able to access these newly included addresses. In an alternative embodiment, the rating uses the address portion of the URL without the file path and name of a specific destination file to rate a websites overall rating level. In the preferred embodiment, anybody on the web can access a site such as topresult.com and search for any sites where the user may not necessarily be Bookmark manager users. The bookmark manager users have the added benefit that their results are organized according to their interests.
Once a website at an address specified in a bookmark has been identified to be included in the search utility, "spider" or other types of web site analysis tools may be used to navigate through the various content provided by that destination computer 40 to index the references found such that this information is locally available to users of the system. This process may be limited to the
META data tagged content supplied by the web page owner, or alternatively the complete data content found at a URL may be analyzed. The search utility 134 is configured to take advantage of the rating level data compiled from the bookmark server such that the bookmarked addresses indicated by the rating level are preferentially included by the search engine. These keywords and ratings may be made available such that the content retrieved is accessible to all users of the system, or it may only be accessible to the user who has the bookmark identified for that site. For example, this type of search capability may be employed to search through a website's references where a native search engine does not exist. Alternatively a search may be established to search through a user selected subset of bookmarked sites such that data is returned from only that subset of websites. Categories may be identified by the
user; for example, to limit the responses of a search request to primary manufacturers of products and not to resellers. In another example, the user may combine this category search with a rating level that has been assigned such that only rated sites providing value above that user specified rating level would be returned. For example, if the bookmark server assigns rates on a number scale or star system where the rating levels of frequently accessed site were assigned a number (5) for the best sites, and (1) for the least valuable sites that were identified in user's bookmarks, the user requesting a search using the search utility 134 would be provided with a response that matched or exceeded the user specified search request. Alternatively, all references may be provided where the search results are ordered based on the rating value, or other user specified criteria such as geographic region and interest. For example, searching can be done through the bookmark manager interface or via the web browser. On the bookmark manager interface, bookmark manager users can request a local search or a remote search. For a local search, the search will be done on the content of the particular user's bookmark sites. Also, a bookmark manager user can choose to do a remote search of all the bookmarks in the database, which comprise all of the bookmarks which have been collected from the users . On the bookmark manager interface, we can display the search results in different ways that take advantage of the information determined from the trace through a web site. For example, the bookmark manager interface can display all sub links of URLs found, or display the categories of each URL found. Alternatively, on the web browser interface, a remote search may be executed on all the bookmarks in the database which is collected from all users. Results are displayed as HTML on the web browser interface where the linked pages may be included from each reference found.
The synonym table 36 may be used by the system to suggest alternative terms to be used in the search results. In one embodiment, the user interface to the search utility- may be launched as part of the bookmark manager where the search facility primarily uses cached data extracted by the trace utility process.
In the preferred embodiment, generic information related to user interests 34 may be determined by an overall analysis of the user's bookmarks. The analysis may be performed by the bookmark manger 20 of the user computer 10 or by the processor of the bookmark server 30. The interest information may be stored on the user computing device 10 in the form of cookie data, or database records or this interest information 34 may be stored on the bookmark server in a database. Complex interest interrelationships may be compiled such that these interests may have primary and secondary characteristics. For example, the bookmark server may identify a user primarily as a technological business user if a majority of the user bookmarks refer to computing websites having technical information and may additionally classify the user as having secondary travel interests and interest related to music.
The system of the present invention additionally refers URLs to users. For example, a user may have three bookmarked ski web sites, but none of the three are among the most highly rated bookmark sites known by the system in that category or area of interest. The bookmark server 30 could provide the URL' s to the user in another panel of the bookmark manager 20 where the user may choose to include the suggested sites into their primary bookmark panel. If the user wishes to receive this type of content, the user may have the system automatically add these references to their primary panel based on user preferences.
Users of the system may establish that bookmarks may refer to other users bookmark files that are public. In the preferred embodiment, a user may designate that their bookmarks may be published in a public area. The newly read bookmark for a user may create a link from a first user's bookmark to another user' s bookmarks such that a dynamic web page can be constructed which references the previously stored bookmarks. For example, if both user A and user B have the same particular bookmark, we can refer all of the user A remaining public bookmarks to user B or vice versa. In another embodiment, a user may link their bookmarks to another user such that changes in the first user's bookmarks are reflected or replicated in the second user's bookmarks. This of course requires approval by the parties involved. Different privilege levels may also be established where a second user may add bookmarks to a first user's bookmarks, without deletion privileges .
The message center of the present invention allows webmasters to subscribe to the system, where users having bookmarks containing references to the webmaster-controlled resources may communicate with the webmaster. Communications is established between the webmaster and the bookmark server and between the bookmark server and the users from their bookmark management software. In one embodiment, the message is indicative of changes to the bookmarked resource, where the user upon connection with the bookmark server may be apprised of pending changes or changes since the last time the web site was checked. In contrast to the notification indicated by the 'symbol displayed in Figure 4 when content changes, the webmaster may additionally provide detailed content directed to all current users that have the bookmark in their bookmark file. The message may take the form of a fixed message or alternatively the content may be complex content that may be
fed to the user via the bookmark manager whenever it is executing as a background process.
The bookmark data may be used by the bookmark server to attract advertisers based on a correlation or categorization of users based on their stored bookmarks . For example, users that bookmark financial oriented websites such as Fortune or Forbes may additionally have bookmarks associated with companies of interest. Similarly, parents of young children would more likely have bookmarks related to early education and or children's products. This information may be of significant value to marketers where the advertiser subscribes to the bookmark server to periodically execute queries related to the quantity of users in interest groups, or to the number of times a bookmark has been referenced. If information related to the user's history of visits to a particular bookmarked site are recorded and uploaded or are read as they are requested from the bookmark manager, these requests may be noted as part of the functionality of the bookmark manager. This frequency information may be read while the bookmark manager is running to intercept and locally or remotely record the bookmark interactions of the user.
In terms of generating ad revenues, there are essentially two channels: the bookmark manager interface and web interface. We can place an advertising banner bar at the bottom of bookmark manager interface 20. Different ads will be placed on different user' s bookmark manager interface according to their interests as determined by their bookmarks. As for the web interface 440, different ads can be displayed in the different categories of bookmarks. For example, the automotive category will display automotive advertisements related to new cars, driving destinations, service or repair locations in the user's region, special offers from local merchants, etc.
Another way of generating revenues on the web interface is context-based word advertising based on search terms. For example, when somebody searches for the word "auto", the advertising portion of the system would load advertisements from General Motors or any other company that has purchased rights to have their advertisement displayed based on that that keyword.
While the present invention has been described with respect to an Internet-based bookmark management system, it is additionally possible to track other types of bookmarkable information, such as passages from files stored on server computers that are not Internet web enabled. For example, the bookmark manager can allow a user to establish a bookmark that is related to a word processing file stored on a local hard drive or to a remote file location on a local area network. This type of bookmark may be managed by the bookmark manager of the present invention where this reference is indicated on a separate tabbed page of the bookmark manager GUI 20. Since the bookmark manager is not dependent on the simultaneous operation of a web browser, the bookmark data may comprise any referencable content such that the user would wish to create and maintain a link to the reference. The link may refer to actual computing hardware specific destinations such the URL associated with a particular element to be referenced on the Internet, or may alternatively refer to any data that the user may identify in some manner such that it is suitable to direct the user back to that reference at some later time. Manual entries may be made from typed-in content related to a non- networked media such as a book on a shelf in a library or in the users home, or to a recipe for chocolate cake stored above the stove in the user's house. A search for a recipe on the users computing device may then return references found on the Internet from the local area network, wide area network or from the users manual entries.