WEB CONNECTION DATA

Abstract: A database, supported by a first server (6), stores information about the interconnections between data files stored on other servers (1, 3, 5). Optionally, the database is generated using information transmitted to the first server (6) when users (7, 9) access the data files.

Description: Web Connection Data Field of the invention This invention relates to methods for deriving a database of web connection data, i.e. data describing the connections between web files, and optionally of other data. The database may be used for example in constructing an atlas of connections between web files, e.g. for use in a method of web navigation. The invention further relates to apparatus for performing the methods, and to data carriers carrying software to implement the methods . The files referred to throughout this document may be electronic files, but may alternatively be files stored on any other recording medium, for example an optical or holographic data storage medium. The invention is particularly suitable for use with web connection data characterizing connections between files of the world wide web. Discussion of the Prior Art The vast amount of information stored on the world wide web is divided into data files, each of which has an "address", and is stored on a computer called a "server". One kind of file is called a "page" and simply contains information. The format of the information differs from one page to another, for example, some pages may contain just text, while others might for instance reference some audio or visual files to display at a certain point in the pages. Using a program called a "browser", a user of the web is able to display the pages in a part of his or her screen called a "browser array" , for example one page at a time. Specifically, the user may be said to have a location within the web which corresponds to a page of the web, and to view the page which corresponds to his location. Like the pages of a conventional book which are arranged in a numbered sequence, the pages of the world wide web have defined logical relationships to each other, but the logical relationships between the pages of the web are much more complicated than a simple numbered sequence. The purpose of these logical relationships is to connect pages which contain related information. For example, a page containing information on a first topic (say "patents") may be logically related to one or more other pages containing information on related topics (such as "patent attorneys") . The logical relationships between pages are defined by logical links known as "hyperlinks". The hyperlinks are conventionally defined in a "hypertext" programming language (or possibly a more sophisticated content presentation format such as a Flash or Lingo file) , the type of language upon which the world wide web is based (the term hypertext is commonly used to include "hypertext mark-up language" (HTML) , Dynamic HTML, Wireless Markup Language (WML) , Active Server Pages, etc) . A single page may contain one or more "hyperlinks" each associated with a portion of the page (e.g. a few words of that page) known as an "anchor" . The hyperlink defines a logical relationship between the "anchor" portion of the page and a second page of the world wide web (or possibly a particular place in that second page) . A user can access that second page simply by positioning a cursor in the anchor portion of the display and clicking a button, such as a button of a mouse. This automatically replaces the page he is viewing with the second page connected to it by the hyperlink. Thus, the second pages are said to be "one click" from the first page, meaning that a user connected to the first page can access the second pages (i.e. display some or all of the information in the second page within his browser array) by a single clicking motion (not including clicks performed by the user on the scrollbar) . The first page may contain any number of anchors, each associated with a respective portion of the first page, and each leading via a respective hyperlink to a respective second page. Of course, a second page too may have anchors in it, each leading to a respective third page. The third pages are said to be "two clicks" from the first page, meaning that they can be accessed from the first page by two clicking motions, a first clicking motion which takes the user from the first page to the second page (i.e. changes the browser display to represent the second page, or represents that page in a second browser display) , and a second clicking motion which moves the user from the second page to the third page. The hyperlinks thus provide a way of navigating through the myriad of pages available on the web in search of specific information, by moving between the pages logically related by hyperlinks. Since any page may contain many anchors, there can be many second pages related to each first page, and many third pages related to each second page. In fact, the number of pages n-clicks away from a given first page rises approximately exponentially with n. A further complexity is provided by a type of file called a "frame set". Although pages of the world wide web may be unstructured, in the sense that they consist entirely of a list of stored information, a "frame set" does have a structure, and may be thought of as a file which partitions the browser array into a number of sections and displays another predetermined file in each of those sections, for example so that different sorts of information on a given topic are classified into different sections. Any number of anchors may be located in any of the files displayed in the sections. Supposing that a user uses a browser to access a first file which is a frame set, the browser display area is divided into a number of sections corresponding to the number of sections in the frame set and a particular file (e.g. a page) is loaded into each of the sections. When the user clicks on an anchor portion within one of the sections, that (or a different) section of the browser display area (or possibly the whole browser area or the whole of a new browser area) is replaced by a second file (e.g. a page) connected to the anchor portion by a hyperlink. However, the rest of the display area (i.e. the other sections of the frame set) remains displayed to the user. A site may be defined as a set of files sharing a common homepage. The world wide web is in fact a single example of a web. Other examples of a hypertext based web include other global Internet systems not for some reason classified as being part of the world wide web (for example, because they are owned by a large company or government department and not publicly accessible) , so- called "intranet" systems (generally private non-global internet systems) , or indeed any other system using a hypertext language (such as HTML or Dynamic HTML) to define and permit movement between files. The term "web" is not however limited to hypertext networks, but covers any system which may be called a "hyperspace" , that is a web of data files, each having an address or name, the set of files having logical connections defined between members of the set. For example, a conventional directory structure is an example of a hyperspace . Navigating (moving between) web files is a disorientating experience. For this reason there have been proposals to allow a graphical representation of the connections between the pages of a single web site. One such method is proposed in the paper "The Hyperbolic Browser: a focus and context technique for visualising large hierarchies", by John Lamping and Ramana Rao, Journal of Visual Languages and Computing, 1996, 7, 33- 55. Another is proposed in US patent 5877766. Both representations rely on the pages within the site being connected in a tree-like structure, and thus they are not applicable to sites having more complex structures, and certainly not to representing the very complex network structure of a web such as the world wide web. In International patent application PCT/GB99/02820 , the present inventor proposed a mapping method which is not necessarily limited to data files in a hierarchical structure. The present application claims priority from application PCT/GB99/02820 and the disclosure of application PCT/GB99/02820 which is omitted from this application is incorporated herein by reference. The mapping method is illustrated in Fig. 2. Since it may be used in combination with the present invention, it is described in more detail below with reference to the present embodiments. According to the mapping method of PCT/GB99/02820, for a given first file (e.g. the current browser file) a first region 13 representing that file is displayed on a screen. Smaller second regions 15, 16, 17, 18 are displayed, near or inside the first region, respectively representing four second files one click away from the first file. This display is generalised beyond second files to include files any number of clicks from the first file. At any level, the files logically related to a given file are represented by smaller regions near or within the region for that given file. Thus, the display has the "fractal" appearance illustrated on Fig. 2. The display may be used for navigation between the data files, permitting the user to open one of the data files by clicking on the corresponding region. Thus, any connection geometry can be represented. There is no limitation that the files should be part of the same site. Summary of the invention The present invention seeks to provide a way of generating a database of web connections between data files served from a plurality of sites, for example for use in displaying connections between data files of the world wide web. It further seeks to provide an apparatus for use in the methods, and/or which employ the database generated by the method. It further preferably seeks to provide devices which allow display of and/or navigation of the interconnections between data files. In its broadest terms the present invention proposes a database defining the connections between the data files (e.g. pages) supported by a plurality of sites, and allowing access to other contextual, structural and technical information concerning these data files. The database is collated as an "atlas" recording the connections between the files in different sites. Users can access the database to extract web information about (e.g. to generate a display of) the data files recorded (e.g. a display showing the files connected, by any number of clicks, to the user's present location) . The database may be generated from data transmitted to a cache location by one or both of operations in which (i) servers transmit data to the cache location (e.g. in response to a signal generated from the cache location) without reference to whether any user has accessed the files, or (ii) the data is transmitted to the cache location based on files to which users of the web move . Specifically, in a first aspect the invention proposes a method of deriving a database of web connection data describing a web having a plurality of sites, each site supporting at least one data file, the method comprising: transmitting to at least one cache location web connection data characterising the web connections of at least a subset of said files to other of said files; and collating the transmitted data to derive said database of web connection data. In a second aspect the invention provides a database of web connection data describing a web having a plurality of sites, each site supporting at least one web data file, the database containing, for each said file a respective record indicating other of said files to which that file is connected. In a third aspect, the invention provides a system for generating a database of web connection data describing a web having a plurality of sites, each site supporting at least one web file, the system comprising means for receiving web connection data characterising the web connections of at least some of said files to other of said files; and means for collating the data to derive said database of web connection data. In a fourth aspect, the invention provides a method for generating a database of web connection data describing a web having a plurality of sites, each site supporting at least one web file, the method comprising receiving web connection data characterising the web connections of at least some of said files to other of said files; and collating the data to derive said database of web connection data. In a fifth aspect, the invention provides a method of extracting information about a web having a plurality of sites, each site supporting at least one web file, the method comprising: transmitting to a database containing, for each of or a subset of said files a respective file record indicating other of said files to which that file is connected, a query signal designating at least one of said files; receiving from said database data based on the file record of the designated file(s) . Preferably, the method further includes, based on the received data, generating a map representing the files connected to the designated file(s) . Alternatively, the received data may be used as the basis of another access technique, such as a search engine. In either case, the method may include accessing one of the files connected to the designated file based on the received data, using the map or the other access technique. Preferably, the method according to the fifth aspect of the invention is performed whenever the user's browser location changes to a new file (i.e. the query signal designates this new file) . Thus, the display may be "automatically" updated as the user moves through the hyperspace . The invention may alternatively be expressed in terms of using a database of web connection data to map a set of data files defined according to a user's current location, and facilitating movement between the files. Accordingly, a sixth aspect of the invention is a method of moving between data files comprising the steps Of: generating a display of some or all of the interconnections between the data files by a method according to the fourth aspect of the invention; selecting a file on the basis of the display; and moving to the selected file. Moving to that file may be by issuing an instruction, for example by clicking a mouse on the region of the display corresponding to the selected file. In a seventh aspect the invention provides a device (operated by the user) for performing a method according to the fifth and/or sixth aspects of the invention. In a eighth aspect the invention provides a computer program product (e.g. a recording medium) carrying program data readable by a computer device for causing the computer device to perform a method according to any of the first, fourth, fifth or sixth aspects of the invention. Although all the expressions of the invention above refer to files supported by a plurality of sites, each of the aspects of the invention may alternatively be expressed referring to files supported by a plurality of servers. That is, in each aspect the statement that the files are supported by a plurality of sites, each site supporting at least one web file, may be replaced by a statement that the files are provided by a different servers, each server supporting at least one file. In fact, in each aspect of the invention, the plurality of files may be (and usually are) supported both on a plurality of sites and a plurality of servers. Definitions The data files may be files of the world wide web. Alternatively the data files may be part of a web which is internal to a large company or government department . For example, the data files may be data files connected by hyperlinks (preferably hypertext links) . The connections may have any topology. For example, although the connections will usually define a complex network, the invention is applicable also in the case that the connections define a tree-structure or an approximate-tree structure. The connections may be (or at least include) hyperlinks (preferably hypertext links) and optionally also the connection (s) between frames and the file(s) they display. The connection between a first file and a second file is usually such that the second file can be reached from the first file by one click. That is, they are connected by a single hyperlink connection. Note that the connections may be uni-directional . That is, even if a first file is connected to a second file, this does not imply that the second file is logically related to the first. An example of such a connection is a hyperlink. In the case of a unidirectional connection, the connections data stored by the database preferably includes for a given file the files which can be reached from that file by a single click. Optionally it may store also the files from which that file can be reached by a single click. We will now define some useful terminology: for a given data file, its "parent" files are all files (e.g. in a certain map) from which it can be reached by one connection (e.g. one click), while its "ancestor" files are all files (e.g. in a certain map) from which it can be reached along a route through any number of connections. Its "sibling" files are files with which it shares at least one parent. Its "child" files are those files to which it is a parent. Its "descendent" files are those files to which it is an ancestor. The term "file" as used herein includes "frame set" within its scope. The term "moving to a data file" is used in this document to imply that a user can obtain a least some information concerning the file. For example, it includes the user registering an interest in a particular file, in response to which the method generates at least some information concerning the file, such as its title or a precis. The term "moving" further includes within it "opening" a file, that is to say obtaining full information from a file (e.g. in conjunction with another program) . In the case of a file which stores data for interacting with an application (e.g. a graphics file may contain data in a format such that the graphics file can be opened by a graphics program; a Word file can be opened by the word processor Word; etc.), "opening" includes transferring the data in that data file to the compatible application, so that the user (or another user) can access the data in the data file via the application. Although the above aspects of the invention, refer to a "plurality" of files, one or more of the files may alternatively be respective portions of one or more (e.g. large) files. In this case the logical connections are links between the portions of the file. In other words, although in some forms of the invention the data files are separate (e.g. electronic files provided on different respective servers and/or files related only by the logical interconnections) , one or more of the plurality of files referred to in the above aspects of the invention may alternatively be respective portion (s) of a larger data file (or files) . For example, in the fifth aspect of the invention, the term "moving between data files" should be understood to include not only moving between data files which are separate (e.g. which are provided on different servers) but also data files which are themselves part of a single larger data file. Preferred features of the invention The following features apply to any of the aspects of the invention defined above. The methods of the invention expressed above may further include transmitting further data characterising the files (i.e. in addition to the connection data). This further data may facilitate navigation of the web or other file structure. For example, the further data may for example include any one or more of: the site of a given file, the server which provides it, the title of the file, its address, a precis of it, details of the specification of the file (e.g. technical information including the data format of, say, images referenced in the file) , the position within the file of the anchors, or information characterizing the number and/or type of users who have opened the file and/or submitted to the cache a recommendation of it. Preferably, the user is able to obtain some or all of the additional data from the cache (s) by transmitting a query signal designating one or more files. For example, the user may be able to designate these files by a command using the map (e.g. a click on an area of the map representing a file to be designated) . In response to the query signal, the cache may extract from the database the additional information concerning the designated file(s) . To keep the database up to date, the information in it may be subject to "housecleaning" , e.g. periodically. For example, the information in the database relating to a given file may be automatically removed, for example after a predetermined period, if no data is received concerning that file (e.g. because no user has opened the file) , or if the data received meets a predetermined criterion (e.g. the number of users who have opened the file is below a predetermined number) . The connection data may be transmitted to the cache location (s) in a way which is independent of the activity of the users ("server orientated caching" or "server- side caching"), or dependent upon it ("client orientated caching" or "client-side caching"), or by a combination of the two . For example, in "server-side caching" the user(s) of the web are not involved; the database is built up by communication between the servers and the cache. This may occur in two ways. In the first, "modular" gathering, the servers may gather connection data about the pages they each support (a "scan") and transmit it to the cache (s) . This may be based on a timing generated in the servers (e.g. periodically, or in response to an instruction by the operator of the server) , and/or in response to a query signal generated by the cache (s) . Alternatively or additionally, connection data may be generated (e.g. automatically) when the web changes at a server, for example due to the addition of a new file or a new connection (anchor) in a file. The second way of gathering, "central gathering", involves the cache scanning a server by sending repeated query signals to it, each extracting information about only a subset of the pages or only a single page, e.g central gathering includes the cache (s) extracting connection information (and optionally other information) about the pages supported on the server one by one. Preferably, in server orientated caching the server performs some or all of the collating work, so that the record it transmits to the cache is in a (compressed) format immediately suitable for insertion into the database. This reduces the demands on the transmission capabilities (bandwidth) between the servers and cache, and reduces scanning and collating loads which must be performed by the cache server. In "client-side caching", connection data is transmitted to the cache depending upon which pages are opened by users, or in any other way indicated by a user. For example, if a user in communication with a given server opens a file supported by that server, connection data for that file may be generated (e.g. in the user's device or in the server itself) and transmitted to the cache (e.g. by the user's device or the server itself). The connection data may optionally include data characterising the user(s), such as data sufficient to identify the user(s) (e.g. their name) or more limited data (e.g. their financial status) useful for performing a statistical analysis. It is envisaged that a subset of the total number of users who actually access the web will volunteer or be selected to trigger the generation and transmission of connection data to the cache (optionally together with the characterization data) . An alternative form of "client orientated caching" involves the user sending a signal to the cache, which then causes the cache to perform central gathering, or to send an instruction to a server with causes the server to perform modular gathering. This signal may for instance be a recommendation of the server, a file supported by the server, or a page supported by the server. Alternatively or additionally, it may occur when the user (or the user's device) notices a discrepancy between the reality of the web and the database in relation to a particular site or server, e.g. indicating that the database is out of date, and should be updated. Alternatively, or additionally, the signal may be the query signal referred to above in the fifth aspect of the invention, designating at least one of the files. That is, as well as transmitting data to the user about the designated file(s), the cache may improve (e.g. update or enlarge) the database in relation to the designated file(s) . In this way the database is more likely to be improved in relation to those parts of the web which are actually used. In any of the aspects above, a file's type may be important in determining how it is handled. For example, the database may contain a record of the type of each file, and when the user's device draws a map based on the connection data it can use the file type to influence how the file is drawn, for example ignoring files of a certain type (e.g. audio and/or picture files), so that a large click distance can be displayed without over- complicating the map. Indeed, for certain (e.g. predetermined) type(s) the database may not include a record for the file. For example, the database may be limited to a subset of files which are all homepages of sites, and/or which are in a certain technical format, such as ftp files (files served using the File Transfer Protocol) . In principle it would be possible for the cache itself to construct the map, and transmit it to the user's device as an image. However, more preferably, the data transmitted to the user's device is, or is a subset of, the file record itself, and the map is actually constructed by the user's device based on the data received. This system places lower demands on bandwidth between the cache server and the client. Preferably, the map is generated by the user's device using also supplementary data not received from the cache location, for example data stored in the user's device. For example, the user's device may contain a record of files labelled ( "bookmarked" ) by the user, for example to allow him to easily return to it later. The way in which a region is displayed in the map may indicate whether the file it represents has been labelled in this way, for example a labelled region may flash. The device according to the sixth aspect of the invention may be an item of consumer electronics, such as a portable device of any size ( "micro" size such as a mobile telephone, or a control terminal such as a games console or remote control, "mini" size such as a personal digital assistant ("PDA"), or "macro" size, such as a laptop) , a fixed installation, such as a PC, a digital TV, a kiosk, a public address device or a home network. It may be alternatively be fitted as a component of a consumer data network, e.g. in-flight entertainment on a plane, train, car, etc., or in relation to the world wide web as a computer running server side software, client side software or a custom site development. Furthermore, the device may be part of, give access to or facilitate the management of any other data collection or network which may for example be based on the functioning of a physical hardware network (satellite, telecom, cable or broadcast networks, traffic or data flow control systems, intranets or other private or proprietary networks such as Reuters, and data libraries such as Corbis) or may be a means of access to content presented through a computer (e.g. www sites, reference aids), or a component of task specific software running on a computer (e.g. networked software, e-commerce software, data analysis tools) . In one embodiment, the device is a mobile telephone. The latest generation of mobile telephones includes both a memory (organised in a directory) , (radio) access to a remote station where further information is stored, and the facility for accessing email and other internet systems. Nevertheless, the bandwidth of the transmission to the device is limited, so that the present invention provides a way of transmitting to the telephone collated data from which a map may be efficiently drawn. Brief Description of the Drawings Preferred embodiments of the invention will now be described for the sake of example only with reference to the accompanying figures in which: Fig. 1 illustrates a method according to the invention; Fig. 2 shows a screen window including a map generated by a first method described in PCT/GB99/02820 , suitable for use with a database which is an embodiment the present invention; Fig. 3 shows a screen window generated by a second method described in PCT/GB99/02820 , suitable for use with a database which is an embodiment to the present invention; Fig. 4 shows how a mobile telephone can use a database which is an embodiment of the invention to access a www structure; Fig. 5 shows the construction of a cache which is an embodiment of the invention; and Fig. 6 shows a record contained in a database of an embodiment of the invention. Description of Preferred Embodiments Fig. 1 illustrates an embodiment of a method according to the invention. A web of files is supported by the three servers 1, 3, 5. Each server supports one or more sites, and each site consists of one or more files. Each can contain a hyperlink to any other file, for example a file of another site, or a file of another server. This set of connected files thus constitutes a web. The servers 1, 3, 5 are in communication with a cache 6 which stores a database representing the files. This database is explained in more detail below. With reference to Figs. 5 and 6. Two users 7, 9 of the web are illustrated schematically in Fig. 1. Communication between the cache 6, the servers 1,3,5 and the users 7,8 is illustrated in Fig. 1 by arrows. Normally this communication is performed using conventional (electronic) communication of the internet. For example, communication with the users 7,9 is usually via the users' ISPs. As described in detail below, certain forms of communication illustrated in Fig. 1 are not in principle necessary to the invention, notably in the case of client orientated caching the communication between the servers 1,3,5 and the cache 6. Each user is able to access files from any of the servers 1, 3, 5, and also communicate with the cache 6, for example to be able to extract data from the database in the cache 6 by submitting a query to the cache 6. As described below in relation to Figs. 2, 3 and 4, a user 7 is able to use this data to access files (e.g. use a map to view them) connected to a given file, for example the user's present browser location. Using this map, the user is able to select a file which he wishes to move to, and the data received from the cache 6 includes an address of that file on one of the servers 1, 3, 5. Thus the user is able to use the map to derive the address data required to communicate with the appropriate server and thereby open the desired file. We will now describe the manner in which the data to be stored in the database of the cache 6 is transmitted to the cache 6. This may happen in a combination of one of the two following ways. Firstly, the servers 1, 3, 5 may transmit the data to the cache 6. This may be in response to a query signal generated by the cache 6, or alternatively occur in response to an event at the server itself, for example a change in the pages supported by the server. For example, whenever a new connection is inserted onto a file of server 5 (or whenever a new file itself is created) the server 5 may transmit data characterising the file and its connection (s) to the cache 6. Alternatively, the server may download all connection data in response to a command signal from the operator of the server, or periodically. The servers 1, 3, 5 may collate the data before transmitting it to the cache 6. For example, a server which is transmitting information about a given file may transmit in the form of a record conforming to a predetermined format, for example with fields containing data of respective predetermined types characterising the file(s) . For example, one field of the record might be the title of the file. The collation preferably involves a compression of the data to remove redundant information about the file(s) . An alternative, or additional, method of transmitting web connection data to the cache 6 is in response to actions carried out by the users 7, 9. For example, whenever a user 7 accesses a file on a server 3, he may transmit web connection data about the file to the cache 6. This "client orientated caching" makes direct communication between the servers 1, 3, 5 and the cache 6 unnecessary. It has the advantage that the data transmitted to the cache 6 is statistically biassed to include disproportionately more information concerning files which are frequently accessed by users. It can also allow information concerning the files on servers 1,3,5 to be collected by a very large number of computers, compressed and then delivered to the cache, thus easing demands on the cache's bandwidth. The web connection data may be accompanied by data characterising the user himself. Optionally the cache 6 may collate this user characterisation data, for example so that the database contains information on what sort of user is accessing each file. Note that it is not necessary that there is direct communication between the users 7, 9 and the cache 6. Rather, the reading of a file by a user 7, 9 may cause the server supporting that file to communicate the web connection data (and any additional data) directly to the cache 6. Alternatively, the connection data may be transmitted by the users 7, 9, rather than by the servers 1, 3, 5. Of course, the world wide web contains many files which are secure, in the sense that certain users are not permitted access (e.g. secure files for which a password or other identification is required) . Even a directory structure inside a firm may contain such files. In the case that the links inside a file are not public, the embodiment may do any of the following: (i) not transmit connection data to the cache 6; (2) transmit reduced connection data; (3) require a user to be identified (i.e. security cleared) before data is transmitted to him or her. For example, a user may be able to supply password or identification information to the embodiment, so that in the case of files which the user is in fact entitled to the see (even if the general public are not) the cache can release information about the secure file. The users device may alternatively or additionally transmit (to the cache) a pre-written file of password or identification information, so that without intervention by the user it can obtain information about any data file which the user is entitled to look at. Fig. 2 shows a window 101 having a title bar 103, a menu bar 105, a left bar 107, a display area 109 and an information display area 11. The title bar 103 includes buttons 12, that is to say areas of the screen responding to respective possible locations of a user's mouse, or other input device, such that by locating the mouse in those locations and performing a clicking operation the user can effect a control instruction to the apparatus. These buttons are used for window operations, such as opening and closing the window, in a conventional way. Similarly, the menu bar 105 allows the user to switch between various options and performing various actions in a conventional way. Display area 109 is shown containing a map generated by a method according to the invention. The method begins by defining a given file of the Internet as the "first" file, and draws a circular first region 13 which is as large as possible within the display area. The circular first region 13 represents the first file. In this example, the first file is a page, and happens to contain four anchors, each of which leads to a respective "second" file. In the display the second files are represented by circular second regions 15, 16, 17 and 18. Second file 15 is a file containing two anchors, leading respectively to two third files, which are respectively represented in the display by the circular third regions 21, 23 within the second region 15 which represents that second file. Similarly, the second file represented by the circular second region 16 contains six anchors, and accordingly the circle 16 contains six respective circular third regions 25, each representing a respective one of the third regions. The second file represented by circular second region 17 is a "frame set", which partitions the browser array into two sections. In the map, this is represented by a horizontal line 29 which divides the circular region 17 into two halves. One of the two sections of the frame set does not contain any anchors, while the other section of the frame set contains two anchors, leading to respective third files which are represented on the display by the circular third regions 31, 33. As mentioned above, the circular first region 13 is drawn to be as large as possible while remaining within the display area 109. Similarly, the second regions 15, 16, 17 and 18 are each drawn to be as large as possible while touching the perimeter of the first circular region 13, and each other. Similarly, the third circular regions 31, 33 within one section of the second circular region 17 are drawn to be as large as possible. However, the second file represented by the second circular region 18 contains only a single anchor to a single third file. This third file is represented by a single circular region 27 which is concentric with the second circular region 18, but of half the radius. Thus, the third circular region 27 differs from the circular regions associated with other second files by not being maximally large consistent with lying within the circular second region 18. This allows the user for instance to select the region 18 with one click by positioning their mouse over the visible part of that region and performing a clicking motion. The third file represented by the third circular region 27 is a frame set with two sections, a first section containing a single anchor, and a second section containing nine anchors. Accordingly, the third circular region 27 is divided into two by a line across its diameter, and one half is drawn to contain a single fourth circular region 28, while the other half of the third circular region 27 contains nine fourth circular regions 30 around its inner periphery. In this display, it is chosen only to display fourth circular regions 28,30 within the third circular region 27. This may indicate that none of the other third circular regions is associated with a file containing any anchors. Alternatively, it may be the consequence of a map-drawing rule which requires for instance that fourth circular regions are only drawn within third circular regions which are the only third circular regions inside their respective second circular region. Although not shown in this diagram, any of the regions described above may be of any shape (circles, ellipses, lenses, lozenge, triangle, square, pentagon, hexagon, etc.) and/or coloured, hatched, flashing, moving (e.g. spinning) and have symbols drawn inside them (e.g. squares, triangles or other icons) to indicate the server which the file is on, how recently it was last visited, whether it has been selected as the primary file, whether its title and precis information has been accessed, whether it is password protected, and/or whether it is a "page" or some other file type (e.g. an audio file or a leaf node) . The information display area 11 contains information about the first file, such as its title (within box 40) , its address (within box 41) , a precis of the material it contains (within box 43) , and (within box 44) a specification of the file (for example indicating whether or not the file displays or even is an image or video) . Although in Fig. 2 for simplicity no regions beyond 3 clicks from the first file are shown, in other embodiments files many clicks from the first file will be included to give a complex fractal picture including a total of up to several thousand regions . The method may even be performed continually (continuously or incrementally) , based on a sequence of linked first files, to produce a zooming effect in which the user moves gradually through the web. Such a display may for example be used as a screen-saver, or in combination with a sophisticated manipulation technique. One manner in which the window shown in Fig . 2 can be used will now be described. To begin with, the display may be generated when the browser is opened (e.g. automatically, or by a user's command) by the user's device sending one or more query signals (e.g. identifying the user's starting page) to the cache 6. The user' s device then uses data from the cache to generate a map based on a given first file (such as the file which he is presently reading) . The display shown within display area 9 is then generated. This immediately indicates to the user how many anchors there are connecting his current file to others. Using an input device such as a mouse the user can indicate one of the regions in this display. For example, he may move the mouse until a cursor on the screen associated with the position of the mouse is over one of the regions. This may generate a signal to the cache requesting further data about the file represented by the region. The display then indicates the title of the file corresponding to the selected region, for example as a text box near to the region. By a certain control command (such as a mouse click) the user may instruct the apparatus to generate further information based on the selected file. For example, the information in the display area 11 may be updated to be based on the selected file. If the user decides that to display that file ("open" the file), the user may issue a further control instruction to that effect (e.g. by a mouse click) , so that file will be opened, either as a new window on the user's screen or as updating of the window which previously showed the first file. A further command from the user (which may or may not be linked to actually opening the selected file) may cause a further query signal to be sent to the cache, to obtain information which is used to regenerate the display based on the selected file as the first file. Alternatively, the display may be regenerated automatically whenever the user's location changes (either by the user moving as described above, or by inputting a new address into his browser) . Another possibility is for the user to attach a label (a "bookmark") to a particular file. This will allow him to automatically return to the particular file at a later time. A bookmark could be attached by a mouse command (i.e. by moving the cursor associated with a mouse to lie over a region which represents a file to be marked, and clicking the mouse buttons in an appropriate sequence) or in combination with one of the buttons 45, 47, 49, 51 located within the window 101. The labelling information is thus combined with data received from the cache when the map is created. A further possibility is for the user to regenerate the display based not upon his current location as a first file, but instead upon a file selected (for example) from the display. The regenerated display could then contain an indication of the click distance between the user's present location and the first file upon which the display is based. Such a display is illustrated in Fig. 3, which shows only the display area 109 of the window 101, and in which for simplicity all detail in the first circular region 13 has been omitted. Fig. 3 differs from Fig. 2 in that the display area 109 is wider, and includes five areas 52, 53, 54, 55, 56 (divided by horizontal lines) between the outer border of the display area 109 and the circular first region 13 (each area in this case extends on both sides of the circle 13) . This is a representation that the first file of the display can be reached from the user's present location along a route through hyperspace including four intermediate files (i.e. that the first file of the display is five clicks from the user's present location) . In deciding that the first file is five clicks from the present location, the method may have searched through all possible routes among the files to find the one which has the smallest number of clicks. For example, even if the user has selected the first file of the display by generating a display based on his current location, and clicking on, say, a sixth region, it is possible that the file represented by that sixth region can in fact be reached in only five clicks from the user's current location (i.e. by a different route through the hyperspace from the one of which the user was aware) , and this is why the method has generated five areas (one for each of the intermediate files along the route and one for the starting file) . The user may be able to obtain information on one of the four files along the shortest route discovered by the method, and/or indeed may be able to select and perform any of the operations which he can perform on the circular regions, by indicating (e.g. clicking on) a respective one of the areas 52, 53, 54, 55, 56. The calculation of which is the shortest route may, for example, be performed by the cache, in response to a query by the user's device specifying the two ends of the path (i.e. in this case the first and the seventh files) . Of course, there will often be several different routes of equal shortest length between the user's current position and the first file of the display, so the method may select one according to some criterion so as to make a unique association between the areas between the first circle 13 and the display area 109, and respective files along a shortest path. Alternatively, the method may display more than one path, for instance in this case on either side of the circle 13. Figs. 4 relates to a mobile telephone device including a display 232 and a key pad 230. In much of the operation of the telephone device the display displays conventional information, but the mobile telephone has at least one mode of use in which the telephone can access the web. Fig. 4 illustrates how a mobile telephone according to the invention may be used to access the worldwide web. Five stages are shown illustrated respectively in Figs. 4a, 4b, 4c, 4d, and 4e. Initially, Fig. 4(a), the telephone is not connected to the web. The display further includes a 3x3 grid 233 of icons respectively corresponding to commands to be entered by pressing the button in the corresponding position in the key pad. The region 233 called a "command grid" . The square in the 4 position of the command pad 233 (i.e. the middle of the left side) has an icon representing "web functions". The user double presses 4 to move to the mode shown in Fig. 4(b) . At this point, the telephone is still not connected to the web, but the display area has now generated a map 234 showing the internal files of the telephone. The display area also includes a command pad 236, which comprises 8 square areas drawn in a pattern corresponding to the pattern of the areas in the map 234. Furthermore, the display includes the two shortcuts "search" and "connect" in positions corresponding to the buttons to the two upper keys . A click on the right upper key button, or possibly one of the icons in the grid below by means of the keypad, activates the "connect" function, and the mobile telephone is connected to the web. Initially, the mobile telephone connects to the "portal" home file, shown in Fig. 4(c) , on which the map 234 is based. This home file itself, or word(s) (e.g. "Portal") representing it, can be shown in box 238. The region 236 shows a map of data files connected to the portal homefile. The detailed structure of the fractal space map 236 includes a number of distance scales, and on each distance scale the map is a 3x3 grid. This is particularly suitable because the pattern of buttons representing the numerals 1 to 9 on the telephone handset is also a 3x3 grid. That is, in modes in which the user is selecting an item based on the fractal space map 236, he can do so at each distance scale by depressing a key of the part of the key pad 230. Pressing the key "1" on the keypad moves to (but in this case does not yet open, i.e. extract data from) the file represented by the upper left second region 240. This gives the display shown in Fig. 4(d) , in which the region 240 is in a highlighting colour (e.g. red) or flashing, and the lower portion of the display 232 indicates the title of the opened file. Pressing the right lowermost key (usually #) opens (extracts data from) the file represented by the region 240, specifically the weather forecast for that day. This is shown on Fig. 4(e) . The upper region of the screen is now effectively laid out on a 3x4 grid with the "Name", "Link" and "Information" data accessed with the bottom row of keys on the telephone keypad. The invention can in general be combined with any arrangement (whether grid-like or otherwise) of any number of keys, and the keys that are active at any one time may change according to the user's actions. Fig. 5 illustrates an embodiment of the cache 6 according to the invention. It includes a first processor 301 which is responsible for constructing the database, and a second processor 303 which is responsible for dealing with user requests to access the database. The processor 301 receives web connection data (e.g. from the servers 1,3,4 or the users 7,9) and stores it temporarily in the memory 305. At a later time, it collates the data in the memory 305, to construct the database 307 according to the invention. The second processor 303 receives user requests (queries) for data from the database 307. For example, the user may transmit to the processor 303 a file address of a file which is to be used as a first file for constructing a map according to Fig. 2 (i.e. the user designates that first file) . The second processor 303 accesses the database 307, and transmits to the user, connection data concerning the (second) files connected to the first file. It may further transmit connection data about third files connected to each second file, and so on, for example up to a predetermined click distance. At the same time as transmitting the connection data, the second processor 303 may transmit additional data (of any of the varieties discussed above) concerning the connected files. Alternatively, the second processor 303 may transmit such additional data in response to a particular request by a user. For example the user may indicate that one or more particular file(s) is of interest (e.g. by performing a mouse operation on a region of Fig. 2) , thereby generating an interrogation signal to the second processor 303, and in response the second processor 303 may extract additional data about those file(s) from the database . Furthermore, in addition to transmitting information to the user, the second processor 303 may transmit to the first processor 301 information derived from the query transmitted by the user to the second processor 303. For example, the second processor 303 may indicate to the first processor 301 the page which the user has designated, or the server and/or site on which it is located. The first processor 301 may then use this information to trigger the server or site in question to perform modular gathering of information; or the first processor may use the information to perform central gathering of data, e.g. by obtaining from the site or server in question only about the page designated by the user. The user may also be able to transmit to the first processor 301 (directly or e.g. via the second processor 303) a recommendation designating one or more pages (or a site) . As in the case of a query, a recommendation causes the database to be improved in respect of the designated page(s) or site (by any of the gathering techniques described in the preceding paragraph) , but it does not cause the processor 303 to transmit connection data back to the user. Figure 6 shows the structure of a file record 400 in the database 307 which stores information about a certain file. For a particular file, the record 400 contains file record data 401 based on the location of the record in the database 307. The record 400 further contains fields (the row 403) giving respectively the address in the web of the file, the title of the file, which site supports it, and data characterising access to the file (e.g. how often it is opened, by whom, etc) . The file in question contains four hyperlink connections to other files. For each of these files the record has a respective field 405,407,409,411, containing the address of the respective file. Since for each of these files there may well be a respective file record, information about the respective file (e.g. the title) can be obtained by consulting the respective record. However, to save referencing time (at the expense of increased size of the database) , the file record 401 for the file may optionally contain further information on each of the files to which it is connected by a hyperlink (e.g. data indicating the location in the store 307 of the file record (if any) for that file, its address, title, site and/or access data of that file) , at least in the case that the database does not contain a file record for that file. Although not shown in Fig. 6, the row representing any file may contain significant extra data. For example, it may store data characterising the type of the file. The request by the user may specify particular type(s) of file in which he is interested (e.g. only homefiles, or only files in a particular format such as ftp or htp) . The second processor 303 may then only send the user data relating to those specified type(s) of file, so that the map generated by the user may show only files of those type (s) . Alternatively (though less preferably, since the efficiency will generally be lower) the second processor 303 may transmit file records irrespective of their type, and the user (or rather his device) may use the type data contained in the record to decide which files to include in the map . A further possibility is for the record of a given page to contain information indicating the files containing a hyperlink connection to that page (rather than from that page) . Using that data an alternative map can be drawn by the user's device, "looking backwards through" through the hyperspace. The embodiments above have been presented for the sake of example only, and many variations are possible within the spirit and scope of the invention as will be clear to an expert .

Claims: Claims 1. A method of deriving a database of web connection data describing a web having a plurality of sites, each site supporting at least one data file, the method comprising: transmitting to at least one cache location web connection data specifying the web connections of at least a subset of said files to other of said files; and collating the transmitted data to derive said database of web connection data, said web connection data specifying said web connections. 2. A method according to claim 1 in which said gathering and transmission is based on a timing determined by the sites. 3. A method according to claim 2 in which said web connection data is generated and transmitted to the cache location upon a change in the files supported by the sites . . A method according to claim 1 in which the web connection data is transmitted to the cache location in response to query signals generated by the cache location and transmitted to the sites. 5. A method according to claim 4 in which the cache location generates and transmits to the sites repeated query signals, whereby the cache location scans the sites . 6. A method according to claim 1 in which said web connection data is generated and transmitted to the cache location depending upon an action performed by a user who accesses that site. 7. A method according to claim 6 in which the web connection data is transmitted by a terminal operated by the user. 8. A method according to claim 6 in which the web connection data is transmitted by that site. 9. A method according to claim 8 in which the action of the user causes a signal to be transmitted to the cache location, and the cache location, upon receiving the signal, initiates said generation and transmission of web connection data. 10. A method according to claim 8 in which the action of the user causes the given site to initiate said web connection and transmission of web connection data. 11. A method according to any of claims 6 to 10 in which said action by a user is opening a data file stored on the given site. 12. A method according to any of claims 6 to 11 in which the web connection data includes data characterising the user. 13. A method according to claim 12 including collating the data characterising a plurality of users to generate statistical information. 14. A method according to any preceding claim in which the web connection data collated in the cache location is limited to web connection data concerning files of one or more predetermined types. 15. A method according to any preceding claim further including transmitting to the cache location further data characterising the files, said cache location being arranged to retransmit said further information in response to receiving a retransmission request. 16. A method according to claim 15 in which the further information includes any one or more of: the identity of a site supporting a given file, the server which provides it, the title of the file, its address, a precis of it, details of the technical specification of the file, the position within the file of anchors, or information characterizing the number and/or type of users who have opened the file and/or submitted to the cache location a recommendation of it. 17. A method of extracting information about a web having a plurality of sites, each site supporting at least one web file, the method comprising: transmitting to a database containing, for each of or a subset of said files a respective file record indicating other of said files to which that file is connected, a query signal designating at least one of said files; receiving from said database data based on the file record of the designated file(s). 18. A method according to claim 17 further including, based on the received data, generating a display representing the files connected to the designated file(s) . 19. A method according to claim 18 in which the display is generated by the user's device using also supplementary data not received from the database. 20. A method of moving between data files comprising the steps of: generating a display of some or all of the interconnections between the data files by a method according to claim 18 or claim 19; selecting a file on the basis of the display; and obtaining at least some additional information concerning the selected file. 21. A method of moving between data files comprising the steps of: generating a display of some or all of the interconnections between the data files by a method according to claim 18 or 19; selecting a file on the basis of the display; and opening the selected file. 22. A method according to claim 18 or claim 19 which is performed by a device including a browser, said browser generating said query signal when the browser location changes to a new file, the query signal designating the new file. 23. A method according to any of claims 18 to 22 in which the representation of any said file in said display is according to the type of that file. 24. A method according to claim 23 in which in the display a representation is included only of files of one or more predetermined types. 25. A method according to any preceding claim in which one or more of said plurality of files are portions of one or more other files. 26. A computer program product carrying program data readable by a computer device for causing the computer device to perform a method according to any of claims 1 to 25. 27. A user operated device for performing a method according to claim 17 to 25. 28. A system for generating a database of web connection data describing a web having a plurality of sites, each site supporting at least one web file, the system comprising: means for receiving web connection data specifying the web connections of at least some of said files to other of said files; and means for collating the data to derive said database of web connection data specifying said web connections . 29. A database of web connection data describing a web having a plurality of sites, each site supporting at least one web data file, the database containing, for each said file a respective record indicating other of said files to which that file is connected. 30. A method for generating a database of web connection data describing a web having a plurality of sites, each site supporting at least one web file, the method comprising receiving web connection data specifying the web connections of at least some of said files to other of said files; and collating the data to derive said database of web connection data specifying said connections.

Inventors: CLIFTON-BLIGH GERVASE, CLIFTON-BLIGH, GERVASE
Applicants: CLIFTON BLIGH GERVASE, SYMTEC LTD, CLIFTON-BLIGH, GERVASE, SYMTEC LIMITED
Application year: 2000
Main classification: G06F17
IPC codes: G06F3, G06F17