A NETWORK NAVIGATION SYSTEM
The invention relates to a network navigation system, method and interface, and, in particular, to a navigation aid for a communications network such as the Internet.
Commonly used web browsers, such as Netscape Navigator™ and Microsoft Internet Explorer™, allow a user to store the network addresses of locations, i.e. pages or sites, as bookmarks. For example, the location of every web page accessible using the hypertext transfer protocol (http) is identified by a unique universal resource locator (URL). The web page which a browser accesses and displays, or in other words connects to, is determined by the URL sent to the Internet in an access request by the browser. Bookmarks are stored on a user's machine by the browser normally in a single file and each represents a URL and at least a title describing the location designated by the URL. Browsers allow the bookmarks to be displayed in a list and selected to direct the browser to the location corresponding to the selected bookmark. If the user wishes to direct the browser to another bookmarked location, then the list again needs to be opened using the browser and the bookmark selected.
The tools provided by browsers for managing stored bookmarks are relatively primitive. The bookmarks can be placed by the user in a series of folders which can be arranged in a hierarchical manner and need to be opened individually to access a bookmark in a folder. If a bookmark is located in a folder a number of levels down in a folder tree structure, then each of the folders from the top of the tree down to the desired level need to be opened before the bookmark can be selected and the browser directed to the corresponding location. Arranging bookmarks in a folder structure so they can be easily located and accessed is a cumbersome task for a user, which increases in difficulty with the number of bookmarks stored. For a large number of bookmarks, most users experience difficulty in locating and navigating to their bookmarked locations.
It is desired to provide a system which alleviates the above problem or at least provides a useful alternative.
In accordance with the present invention there is provided a network navigation system, including: a database system for storing records of network locations of a communications network for users of the network, the locations being selected by the users and assigned at least one attribute, the attribute representing a set of the stored locations; an access system for communicating with a navigation interface of a user system, to access a set of the locations for sequential connection to the user system based on a selected one of the at least one attribute, the interface having a sequential connection control.
The present invention also provides a network navigation interface for a computer system of a user, including: a selection control for selecting a network location attribute; and a connection control selectable for sequentially directing the user system to connect to network locations having the attribute.
The present invention also provides a network navigation interface, including: an extraction tool for extracting network locations from at least part of a network document ; and a connection control selectable for sequentially directing a user system to connect to the extracted locations.
Preferred embodiments of the present invention are hereinafter described, by way of example only, with reference to the accompanying drawings, wherein:
Figure 1 is a block diagram of a preferred embodiment of a network navigation system connected to a communications network;
Figure 2 is a block diagram of software components of the navigation system; Figures 3 to 6 are flow diagrams of steps executed by the navigation system;
Figure 7 is a block diagram of software components of a Bookmark Manager of the system;
Figure 8 is a diagram of a navigation display generated by the system; Figure 9 is a diagram of an organise window generated by the system;
- J
Figure 10 is a block diagram of a further embodiment of the network navigation system connected to a communications network; and
Figure 1 1 is a block diagram of the software components of the system of Figure 10.
A network navigation system, as shown in Figures 1 and 2, has as its basic components a server 4 for connecting to and communicating with a communications network 6, such as the Internet, and a database 8 of stored records with a database server 10. The database server communicates with the network server 4 and the database 8. to provide the network server 4 with access to the database 8. All of the components 4, 8 and 10 can be established on one computer using, tnter alia, standard web server, database server and database software. The components 4, 8 and 10 however can also be distributed over a number of machines, as is described hereinafter for an implementation to cater for a large number of users. With the network server 4 configured as a web server, any computer or device 12 with a web browser can be used by a user of the system to access the server 4 via the Internet 6.
The database server 10 establishes, maintains and provides access to the database 8, which includes database schema and data to store respective records of locations on the network 6 for users. Access to the records from a user or client machine 12 is provided by logic code 14. as shown in Figure 2, executed on the servers 4 and 10, as described below. The logic code 14 on the web server 4 provides a client machine with a viewing and editing software component 16 when the machine 12 connects to the web server 4. The viewing and editing component 16 is a navigation interface of the navigation system which runs on the client machine 12 as part of the web browser 18 of the machine 12.
The navigation system with the navigation interface 16 is able to execute bookmark management processes, as shown in Figures 3 to 6. When a user or client first connects to the server 4 and registers as a user of the system, the client machine 12 is provided with the navigation interface 16, referred to hereinafter as a Bookmark Manager, and all bookmarks 19 stored by the browser of the machine 12 are imported, as shown in Figure 4. and stored in the database 8 as part of a bookmark file for the user. The user can then subsequently add a bookmark to the file using the Bookmark Manager 16 which provides a bookmark data input
dialog or form 20. The basic details of the web page 22 to be represented by a bookmark of the system are automatically populated in the form 20, such as the URL for the page, the title, the name and any keywords extracted from meta data for the page. This information can be edited on the form 20 with additional descriptive information added concerning the page. The form 20 also allows schedule data to be added which designates a predetermined time or schedule information for accessing the page 22. Rating data representing the importance a user attaches to the page can also be entered, together with group, routing and sharing information for the page, as described in detail below. All of the data in the form 20 is then stored as a bookmark record for the page 22 in the user's bookmark file maintained by the database 8. The user can then edit bookmark records using the machine 12 and the Bookmark Manager, as shown in Figure 5. The bookmark record 24 is loaded from the database 8 and the client machine displays the data entry form 20 populated with the bookmark data from record 24, which includes the basic bookmark descriptive information and keywords, the access schedule data, the importance rating, and the grouping, sharing and routing data. All of this data can then be edited using the form and then saved back to the database 8.
The Bookmark Manager when activated, as described in more detail below, retrieves data from the bookmark records for the user from the database 8 and uses the data for displaying the bookmarks in a tree structure generated by the system. The data is also used to assist in generating navigation controls displayed as part of the browser 18 on the client machine 12. For instance, a folder or category of the bookmarks generated for the user can be selected with the first location URL, or a description of the location, being displayed in a window 30 for the user with a next button 32. By simply selecting the next button 32 the Bookmark Manager causes the browser 18 to connect to and display the page 33 corresponding to the URL displayed in the window 30. The window 30 then displays the next URL in the categor)', as shown in Figure 6. All of the URLs in the folder can be displayed by selecting the arrow of a list box 34, and any one of the pages in the category can be selected for access. The categories or attributes of the bookmarks of the system are used by a folder structure for displaying the stored bookmarks in folders corresponding to the various categories or attributes of the bookmarks. For instance, a schedule folder can be opened to display overdue, today, this week and this month folders. Opening any of these folders will then display the bookmarks
- 3 -
which are overdue for access, and those which are due for access today, this week and this month, respectively. The bookmarks in one of these folders, for example the today folder, can be selected for sequential access and used to connect to the corresponding locations using the next button 32, as described above.
A folder for sequential access can also be generated dynamically or in real-time, for example, by selecting links on a web page or browsing a page which has been coded to extract links on the page. The links of the page can be selected by simply invoking a Play Document, or AutoTour, command of the Bookmark Manager 16 which causes the Manager to parse the document for all HTML links and place them in a temporary or saved folder which can be played using the controls 32 of the interface 16. Alternatively a pointing device can be used to select a portion of the page and then the AutoTour command invoked which will extract only those links of the portion which has been selected. The Manager 16 also allows the extracted links to selectively removed before the folder is created.
Another feature of the system is that based on the schedule information stored with the bookmark records, the system can forward the URL for the bookmark to the window 30 at a predetermined time or times specified by the schedule information to allow the user to direct the browser to the URL. Alternatively the browser can be automatically directed to the URL to access the corresponding page at the scheduled time.
The system, as described in detail below, allows routes or tours to be established which comprise an ordered list of URLs that can be sequentially accessed. The routes can be considered to constitute a web tour of tour sites. Associated with each site of a route is a note which may be a plain text or HTML description of the site which can be displayed by the navigation interface 16. Any user of the system can create tours, which once created can be published for access by others. Tours can then be selectively loaded by the navigation interface 16 so as to "play" the tours to selectively access the sites.
Implementation of the network navigation system for large numbers of users is described below, and in particular is described with reference to operation with Microsoft Internet Explorer™ as the web browser on the user's machine 12.
At the client 12, the system consists of one software component 16, being a Microsoft
Windows Dynamic Link Library (DLL) that runs in the address space of the Internet Explorer™. The DLL is a block of object code that can be loaded and run by an executable file, such as Explorer™.
This DLL 16 utilises several of the available entry points for extending Internet
Explorer™, as shown in Figure 7. These are:
(i) The Browser Helper Application Programming Interface (API). This API allows an ActiveX control to be registered under a specific key in the windows registry. Explorer™ will then load all controls registered under this key when Explorer™ is run. This control can be notified of most actions that are carried out in the browser, such as navigating to a new web site, toggling toolbars or displaying browser bars.
(ii) The Explorer™ Info Band and Explorer™ Comm Bands. These APIs allow external (external to Internet Explorer™) ActiveX controls to reserve a portion of the window area within the Internet Explorer™ main window. This area is then under the control of the Bookmark Manager 16. The Bookmark Manager installs an Info Band object 42 (for a vertical window area) and a Comm Band object 44 (for a horizontal window area) to display bookmarks and information relating to the bookmarks whilst the user is navigating between sites. Only one of these is visible at a time, as each display similar features, as discussed below. Explorer™ Info Band is an API which displays a vertical browser bar such as the search bar in Internet Explorer™, and Explorer™ Comm Band displays a horizontally oriented browser bar that anchors itself at the bottom of the Explorer™ window.
The DLL 16 is designed to be relatively small, so that it can be easily downloaded as a compressed file from the web server 4.
When Explorer™ is run, it loads all the Browser Helpers registered in the Windows Registry. The Bookmark Manager Browser Helper 40 gets loaded at this point. It then checks to see if a local cookie identifying the last Bookmark Manager session is still valid. This information is then cached. The Browser Helper 40 then waits until navigation to the first site is complete. This may occur as a cancel or as navigation to the default home page. If the cached cookie is valid, the Bookmark Manager Info or Comm Band is then shown, depending on what the last one the user had selected. The user may have chosen not to start the Bookmark Manager at browser start up, in this case, a Bookmark Manager Band is not shown. If the cached cookie is not valid, the Bookmark Manager displays a login screen in a Bookmark Manager Band, if the user had chosen to display the Band at start up.
The client DLL 16 communicates directly with the Bookmark Manager web server 4 to retrieve the bookmark data for a tree view control 46. The data is sent back to the client 12 from Java servlets running on the web server 4, as described below. The data is kept in a series of C++ classes all derived from a base tree node class. Each class type implements a number of virtual functions for loading node data and populating the tree. The client DLL keeps a series of classes that map closely to database/servlet entities maintained at the server. There are classes for managing users, bookmarks, folders, groups, schedules, keywords and routes.
The Explorer™ Info Band object 42 displays, as shown in Figure 8, an advertisement
(with link) 50 at the top, a toolbar 52 and a tree view 54 of the bookmarks. The Comm Band displays the same features, except the tree view 54. The bookmarks can be viewed by group, importance rating, keyword, folder, share or schedule, the tree view is organised as follows and described below:
MyFolders
PersonalFolderl Bookmark 1
Bookmark2
PersonalFolder2
Bookmark3 Bookmark4
Importance Folders
Absolutely Important Bookmark 1 Bookmark5 Especially Important Important
Keyword Folders Keyword 1
Bookmark 1 Bookmark5 Keyword2
Bookmark2
Routes Folder Route 1 Bookmark 1
Bookmark2 Route2
Bookmark3 Bookmark4 Schedule Folder
Overdue
Bookmark 1 Bookmark2 Today Bookmark3
This Week
This Month More Group Folder Group 1 PersonalFolderl
Bookmark 1 Bookmark2 PersonalFolder2
Bookmark3 Bookmark4
Importance Folders
Absolutely Important Bookmark 1 Bookmark5
Especially Important Important Keyword Folders Keyword 1 Bookmark 1
Bookmark5 Keyword2
Bookmark2
Routes Folder
Route 1
Bookmark 1 Bookmark2 Route2 Bookmark3
Bookmark4
Schedule Folder Overdue
Bookmark 1 Bookmark2 Today
Bookmark3 This Week This Month More Group2
Shared Folder Share 1
PersonalFolderl Bookmarkl
Bookmark2 PersonalFolder2
Bookmarks Bookmark4
Importance Folders
Absolutely Important Bookmarkl Bookmark5 Especially Important
Important Keyword folders Keyword 1
Bookmarkl Bookmark5
Kevword2
Bookmark2
Routes Folder Route 1 Bookmarkl
Bookmark2 Route2
Bookmark3 Bookmark4 Schedule Folder
Overdue
Bookmarkl Bookmark2 Today Bookmarks
This Week This Month More Share 1
Trash Folder
To make the tree efficient it works on a load by demand basis. Off the root of the tree are the fours nodes as follows: 1. (a) MyFolders. These are all the personal bookmark information folders that belong to an individual user of the Bookmark Manager. This includes all the personal folders that contain the bookmarks. The personal folders tree is an arbitrarily deep tree the user can create, or import from an existing local set of Explorer™ or Navigator bookmarks.
(b) The Important Folders show the bookmarks categorised into four levels of importance. Absolutely Important, Especially Important, Important and Ordinary.
(c) The Keyword Folders show the bookmarks by keyword. Each keyword is a sub-folder under the top level keyword folder. Under each keyword are all the bookmarks associated with that keyword. A bookmark may be associated with any number of keywords.
(d) The Schedule Folders contain the list of bookmarks that have schedules attached. A schedule determines when a bookmarked site is to be visited again. This may be specified as a specific date or as a date recurring daily, weekly or monthly. The Schedule Folders contain five categories. These are:
(i) Overdue. Those bookmarked sites whose next visit date is passed, (ii) Today. Those sites due to be visited today. (iii) This Week. Those sites where the next visit is this week.
(iv) This Month. Those sites where the next visit date is in the current month. (v) The rest of the scheduled bookmarks.
(e) The Routes Folder contains an ordered sequence of bookmarks that may comprise a set of sites that get visited as part of a specific task or project, such as checking stock prices. The set of sites in a Routes Folder can be considered to constitute a "web tour", as discussed above.
2. Groups. The Group Folder replicates the structure under the MyFolders folder except a group owns the bookmark. The Bookmark Manager system has a concept of public and private groups. All users can see public groups. Private groups are only visible to users that are members of the group. Each group member has a set of rights that determine whether they can
(a) Add/remove users to the group.
(b) Add/modify bookmarks within the group. (c) Delete bookmarks within the group.
3. Shared. The Shared Folder replicates the structure under the MyFolders folder as well. Whilst only a small number of people will be able to create groups, anyone can share their bookmarks. Group Bookmarks are "owned" by the group they belong to whilst shared bookmarks belong to the person who shares them. Only the owner of the shared bookmarks can modify the shared tree or sub-tree. The owner also determines who can see the shared bookmarks.
4. Trash. The Trash Folder contains a list of "deleted" bookmarks. When bookmarks are deleted they are flagged for deletion.
Selecting bookmarks by clicking on them in the tree view can be configured by the user to either:
(a) Do nothing;
(b) Navigate to the bookmarked page; or
(c) Navigate to a URL that will display an edit property page for the current bookmark. This page is part of a Bookmark Manager web site of the web server 4 and allows bookmark properties to be altered.
When items are selected in the tree view, as shown in Figure 8, the Bookmark
Manager displays the properties for the selected bookmark in the main window of Explorer™, if the Bookmark Manager has been configured to connect to the Bookmark Manager web site.
If a folder is selected in the tree view, a list of all of the bookmarks in the current folder is displayed together with the URLs for the bookmarks.
Bookmarks can be added by selecting an add button from the toolbar 52. As the Bookmark Manager 16 is executed in the same process as the browser it has access to the source text of the current HTML page. The add dialog form or box 20 is initialised with the title, name and keywords taken from the meta data of the current page. These can be changed before the bookmark is added to the database. A schedule can also be added to the bookmark from this dialog. A schedule specifies when the next visit time for a site should occur. This can be set as a specific time or as a recurring time on a daily, weekly or monthly basis.
To import bookmarks an import wizard guides the user through a series of steps to import the bookmarks from their computer 12 to the database 8. Bookmarks can be imported from both Netscape Navigator or Microsoft Internet Explorer™. The wizard allows bookmarks to be imported into any part of the personal folder tree. An import from Microsoft Explorer™ or Netscape Navigator can, at present, only supply the site name, the URL and the last visited date.
An organise dialog window 60, as shown in Figure 9, is generated by selecting an organise button on the toolbar 52. The dialog 60 allows bookmarks to be removed, renamed and moved between folders. Bookmarks can be dragged and dropped onto keywords, groups, other folders and importance ratings. New keywords, Schedules, Folders and Routes can be created using a Windows Explorer™ type user interface. Left and right button mouse drag operations are supported to drag bookmarks onto keyword folders, personal folders routes, schedules and groups. Some operations, such as dragging bookmarks amongst personal folders, support both copy and move.
A navigation control object 48 of the Manager 16 generates a browser bar 56 and allows a Route, Personal Folder, Importance Rating, Schedule Folder or a dynamic folder to be loaded into the control object 48 for navigation. The next and previous buttons 62 and 64 of the navigation control bar 56 guides the user through a selected sequence of predetermined web pages. The navigation control object 48 provides a simple mechanism for an ordered sequence of web pages to be navigated. Where a specific task requires a known set of sites to be visited in a particular order, the navigation control 48 can load these sites as a set of bookmarks defined by a Route, a Personal Folder, an Importance Rating, a Schedule Folder or a selected page. The set constitutes a tour and can be selected by choosing from a list of a selected list box of the control bar 56 or using the AutoTour command. This set can then be stepped through using the next and previous buttons on the control bar 56. The Bookmark Manager can be configured to start with a particular set loaded into the navigation control. The browser bar is a toolbar window that Internet Explorer™ can display, and the standard Search, History and Favorites windows in Internet Explorer™ are examples of browser bars.
For the AutoTour command, when invoked the navigation control object 48 parses the source code of the currently viewed page, or a portion of the source code selected by the user, for all links to other HTML documents, sound clips, videos, downloadable files, etc. contained in the code. The links extracted effectively constitute a dynamic folder and are stored for playing by the Manager 16 using the control bar 56. The set of links extracted can also be filtered by the user using a dialog box for the AutoTour command that allows unwanted links to be removed, additional links added and/or other links to be saved as a route in a Route Folder. The navigation control object 48 also includes a programmable API which has been inserted to allow third parties to include commands in their pages which instruct the object 48 to automatically extract links from the page as the page is cached while the user is viewing the page. The programmable API, in addition to allowing third parties to build a set of links for their sites that can be viewed using the Manager 16, allows additional data to be extracted with the links, such as descriptions of the links and branding information that can be displayed in the control bar 56 or in the advertisement window 50. The ability to automatically create the dynamic folder with the additional information is particularly advantageous, as it allows the extracted links to be accompanied with the additional information, such as a detailed description, a specified sequence, or a link for a sound file that may describe the links. The AutoTour command is also particularly advantageous as it allows a user to select links on a page, such as those on a search results page, and then automatically play those links sequentially without having to revert continually to the page containing the links.
Tour creators or authors are able to store with each or all of the URLs of the tour, other data, such as a branding image to be displayed, a copyright statement and notes compiled by the author on each site. Tours published by an author can be made available for viewing by other parties, for example in the shared or groups folders. The created tours can therefore be associated with lists of keywords or categories. The created tours can be searched on the basis of a name given to a tour or tour keywords categories. Tours can be also published such as that they subsequently cannot be altered by other parties. For example, a user may subscribe to another parties published tour and this is done by saving a link to the tour in the route section of the folder tree. The subscribing user is then able to play the tour but is not able to change the contents of the subscribed tour.
In addition to storing tours in a relatively static manner on the database 8, tours can be defined by XML (Extensible Mark Up Language) files or RSS (Netscape Rich Site Syntax) that can be loaded into the interface 16 and thereby allow the tour sites for the tours to be changed dynamically by reference to content residing on the servers 4 or 10 or a third party server. Tours defined in this manner can be considered to constitute dynamic tours.
To scale the navigation system to service a very large number of users, the system architecture needs to be extended to the extent where the hardware architecture, as shown in Figure 10. has the web server 4 provided by a plurality of web server machines 70 each of which have traffic directed to them by a hub 72 connected to the network 6. The servers 70 execute standard web server software 74, as shown in Figure 11 , and are able to execute a number of Java servlets 76 as described below. The servers 70 are each able to connect to one of a number of login servers 78 and data servers 80. The login servers and data servers 78 and 80 execute Java/CORBA business objects 82 to which the servlets 76 dynamically bind or connect to using a CORBA naming service 84. The naming service 84 runs on one of the servers 70, 78 and is used to register and manage connections between the software components executed on the system, such as the servlets 76 and the business objects 82, by registering IP addresses for the components. The naming service 84 similarly manages common services of the system, such as advertising, security, meta data, performance, login and exception management as described below. The database 8 is split into a user database 86 for storing data on the user of the system and bookmark databases 88 for holding the bookmark records for the users. The databases 86 and 88 are accessed by respective database servers 10 to which the business objects 82 connect.
The architecture of the server side of the system therefore includes three separate layers, being:
1. The Web Server Layer. A web server 70 receives requests from users on the network 6 and in turn passes the request onto the Java servlets 76 that run on the same computer 70. The servlets 76 examine the request and dynamically
bind (connect) to the corresponding business object 82 using the CORBA naming service 84.
2. The Java/CORBA Business Object Layer. The business objects run on the business object servers 78 and 80, connect to a database 86 and 88. and process incoming requests to validate, store and retrieve data from the database 86 and
88. The objects apply rules to the data to ensure its integrity prior to the information being saved to the database 86 and 88.
3. The Database Server Layer. A database server 10 stores the data in a permanent fashion on its database 86, 88 so it can be retrieved when required. The architecture is such that as more users are added, new database servers 10 can be added to provide additional databases to handle the additional load.
The servlets 76 are written in Java and can be executed by a number of web servlet engines such as Sun Java Web Server or Live Software JRun. The servlets also use the services of a CORBA ORB (Object Request Broker) 84 that allow them to dynamically bind to a Java server business object. There can be multiple server objects running that provide the same service and the ORB provides load balancing facilities to evenly distribute the processing load.
The Java server objects 82 are preconnected to a database. These components are designed to process a number of requests simultaneously using a multi -threaded architecture. Each server has a pool of connections to a database that are used while processing each request.
The processes which are executed by corresponding pairs of Java servlets 76 and business objects 82 are as follows:
1. Login Servlet and Server. This servlet is used to log the user to the system. It connects to the login server 78 which validates the user's password. It then records the time the user logs in and passes a unique "sessionld" back to the servlet. If login is successful the servlet records the "sessionld" in a cookie on
- 1!
the user's computer 12. This cookie is used with every future request to validate that the user as a legitimate user of the system.
2. User Servlet and Server. The components are used to register new users and help manage existing users. They provide means to edit user's preferences and contact details.
3. Bookmark Servlet and Server. The bookmark servlet and server provide a wide range of services to manage the bookmark data in the system. This includes adding, editing, deleting, importing and exporting bookmark data for a specific user. 4. Folder Servlet and Server. Folders are used to group a set of bookmarks together. The folders are hierarchical, as described previously, and can contain other folders or bookmarks. These components allow folders to be created and managed by the user. 5. Keyword Servlet and Server. Keywords can be attached to bookmarks as a means of classifying similar bookmarks. A bookmark can have a number of keywords associated with it. The keyword servlet and server provide a means manage the keywords and their relationship with specific bookmarks. It also provides a number of means to retrieve and sort the keywords and their associated bookmarks. 6. Schedule Servlet and Server. Once a bookmark has been created a viewing/visiting schedule can be established. This can then been used by the user to determine which sites they should visit next. Schedules can be created as follows:
(a) User types a specific date to visit the site. (b) User establishes a recurring weekly schedule to visit the site. In this case the user specifies the days of the week he wishes to visit the site and the number of weeks over which the schedule recurs. (c) User establishes a recurring monthly schedule to visit the site. The user specifies either: (i) A specific day of the month (1-30) and the months on which this recurs.
(ii) The first, second, third, last, second last, third last-day, weekday, weekend day, Sunday, Monday, Tuesday,
Wednesday, Thursday, Friday, Saturday of the month and the months on which this recurs. The schedule servlet and server are responsible for validating the schedule data a user inputs then calculating the user's next visit date, including accounting for the time zone where they are using the system. These components save this data and also provide means to retrieve and sort the bookmarks.
7. Route Servlet and Server. Routes, as discussed previously, are an arbitrary collection of bookmarks that are linked together in a specific sequence (steps).
The system allows a user to create a number of routes. Once a route has been assembled it can be used by the user to navigate to each of the sites contained in the route. The route servlet and server manage the data associated with the routes and provide services to retrieve that information. 8. Groups Servlet and Server. Groups provide the ability to share the bookmark information amongst a group of users, as described previously. Groups can be public in which case anyone can join them, or private or which case designated users control which users are members of the group. The group servlet and server manage the group specific data, save it to the database and retrieve the data.
There are a number of processes that provide common basic services across the system. These software components are stored on the servers of the system and are managed by the naming service 84, as described above. The components include: (i) Advertising Server. This component determines which advertisement 50 to display to a user and monitors that information by saving it to the database. The advertisement server also provides reports and statistics to advertisers about the success of their advertisements, (ii) Security Server. The security server checks each request from a user to ensure that they are legitimate users of the system and that they have logged in successfully.
(iii) Metadata Server. This component provides other components information about the underlying structure of the database. It also provides these components with basic validation rules so that incoming data can be validated in a generic manner. (iv) Performance Components. Monitoring the performance of the system is important to ensure its smooth running and ability to serve a large number of users. The performance server gathers performance data from all the servlets and servers processes that information and records the summarised information in the database 8. (v) Exception Components. The exception components are responsible for processing problems/exceptions that occur in the system. Depending on the type of exception that occurs it processes the exception and logs it in the database 8.
The navigation system described above, and the methods which it executes and the interfaces which it provides, are particularly advantageous for providing comprehensive management of boolαnarks and assisting navigation through a network 6, particularly a large and complex network such as the Internet. The system also retains important data for users and can also be used to compile demographic information on users of the network 6.
Many modifications will be apparent to those skilled in the art without departing from the scope of the present invention as herein described with reference to the accompanying drawings.