MAPPING LOGICALLY RELATED DTA FILES

Abstract: A method of mapping interconnections between a plurality of data files, such as files of the world wide web. The method comprises a step of, for a first file, in a display area displaying a first region. Then, according to a first distance scale, displaying one or more second regions, which respectively represent one or more second files logically related to the first file, for example by hyperlinks. The second region is spatially related in a display to the first region. In (n-1) further steps, i = 2,...,n, of for the or each i-th file the method displays according to an i-th distance scale smaller than the (i-1)-th distance scale one or more (i+1)-th regions. Each of these (i+1)-th regions respectively represent one or more (i+1)-th files which are logically related to the i-th file, and they are spatially related on a display to the i-th region representing that i-th file. The method may be implemented in software, for example in a web browser.

Description: MAPPING LOGICALLY RELATED DATA FILES This invention relates to a method of mapping relationships between data files (or portions of a single data file) , a method of moving between data files (or within a data file) , and to an apparatus arranged for performing 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 vast amount of information stored on the world wide web is divided into electronic 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 a set of 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 defined in a "hypertext" programming language, 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, 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 curser 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. 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, and a second clicking motion which moves the user from the second page to the third page. The hyperlinks thus provide an efficient 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. When the user clicks on an anchor portion within one of the sections, that (or a different) section of the browser display area (or the whole 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. The world wide web is in fact a single example of a networked computer file system based on a hypertext . Other examples of a hypertext based system include other Internet systems not for some reason classified as being 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, or indeed any other system using a hypertext language (such as HTML or Dynamic HTML) to define and permit movement between files. These systems are in turn examples of what may be called a "hyperspace" , that is a set of data files, each having an address or name, the set of files having logical relationships defined between members of the set (for instance, a directory structure is an example of a hyperspace) . In its broadest terms the present invention proposes, for a given first file (e.g. the current browser file), displaying (e.g. on a screen) an image including symbols representing second files one click away, and in or near the symbol for each second file further symbols representing third files one click from that second file. This hierarchical display may be generalised beyond third files (two clicks from the first file) to include files any number of clicks from the first file. At any level, the files logically related to a given file may be represented by further symbols (e.g. smaller symbols) within, or clustering around, the symbol for that given file. Accordingly, a first expression on the present invention is a method of mapping interconnections between a plurality of data files comprising: for a first file, within a display displaying a first region and according to a first distance scale one or more second regions, which respectively represent one or more second files logically related to the first file, and which are spatially related to the first region; and for the or each second file, displaying according to a second distance scale smaller that the first distance scale, one or more third regions, which respectively represent one or more third files logically related to the second file, and which are spatially related to the second region representing that second file. More generally, taking into account the possibility of extending the scheme beyond the third files, a second expression of the invention is as a method of mapping interconnections between a plurality of data files comprising: a step of, for a first file, in a display area displaying a first region and according to a first distance scale one or more second regions, which respectively represent one or more second files logically related to the first file, and which are spatially related to the first region; and (n-1) further steps, i = 2,...,n, of for the or each i-th file displaying according to an i-th distance scale smaller than the (i-1) -th distance scale one or more (i+1) -th regions, which respectively represent one or more (i+1) -th files which are logically related to the i-th file, and which are spatially related to the i-th region representing that i-th file. The data files may be files of the world wide web, or may alternatively be part of any other hyperspace of data files, for example a web which is internal to a large company or government department. For example, the data files may be data files connected by hyperlinks. The plurality of files are preferably provided at a plurality of web sites (that is, a plurality of web domains) . The files may, for example, include files of the world wide web provided at different sites by spatially separated servers. The logical relationships are preferably of any type or types suitable for defining a hyperspace. Thus, the logical relationships between the files may be (or at least include) hyperlinks (and optionally also the connection (s) between frames and the file(s) they display) . More preferably, the logical relationships are such that each i-th file and its one or more (i+1) -th files are such that the (i+1) -th file can be reached from the i-th file by one click. That is, they are connected to the i-th file by a single hyperlink connection. Thus, if n were indefinitely large, the entire world wide web (all files which can be reached by any number of clicks) could in principle be represented by the display generated by the method. Alternatively, the logical relationships may not be predefined (e.g. by hyperlinks), but rather depend on the meanings of the files, and even be chosen by the user. For example, if the information stored in the data files concerned companies and their employees, one could define a rule that : "A first and second data file are logically related if any only if either the first represents an employee and the second a company they have worked for in the past, or the first represents a company and the second a current employee of that company. " The first file may be a file which is currently being displayed by a user (the one which corresponds to the user' s present browser location) . Alternatively, it may be one selected by the user, as described further below. In either case, the methods of the invention described above create a map based on a first file and indicating the existence and distance (measured in clicks) of other files related to the first file. The value of n may be as low as 2, but it is preferably higher (e.g. at least 3, at least 4, or even at least 10) , and may be indefinitely large. n may depend upon any one or more of: (i) the resolution of the user's screen, (ii) the computer resources available for creating the display, (iii) the number of files a certain number of clicks away from the first file, or (iv) a selection by the user. The i-th distance scale may for example be the distances between the centre of each i-th region and the centre of each (i+1) -region. Alternatively, the i-th distance scale may be a size (e.g. a diameter) of the (i+1) -regions . For example, the area of each of the one or more (i+1) -th regions for each i-th file may be smaller than the i-th region representing the i-th file. The number of n-th files rises approximately exponentially with n, so for large n, to avoid the display becoming larger than the user's screen, the distance scale must decrease accordingly. For example, the distance scale may be chosen to decrease such that the total area of the map is "bounded", by which we mean that no matter how great the value of n, the total area of the display never exceeds a predetermined value. As one example of a bounded map, the distance scale may be chosen such that the total area of the one or more (i+1) -th regions for each i-th file is half the area of the i-th region representing the i-th file. In this case, the (i+1) -th regions for each i-th file may be non-overlapping and all within the i-th region which represents that i-th file. However, this is not the only possibility: for example, the (i+1) -th regions for each i-th file may be arranged to cluster around the i-th region which represents that i-th file. The display generated by the method may thus have an appearance resembling a "fractal" form, that is with an increasingly detailed structure (the number of i-th regions rising with i) on an increasingly small distance scale (for example, the width of an average i-th region) . For high enough n, every file accessible by clicks within the world wide web would be represented by one or more regions in the fractal-like display. For each i-th file, the (i+1) -th regions preferably do not overlap one another and their areas are preferably equal to each other, but the (i+1) -th regions for first i-th file may be of a different size to the (i+l)-th regions of a second i-th file. More generally, the i-th distance scales may be different for different i-th regions. For example, if there are 20 files one click away from a first i-th file, and 10 files one click away from a second i-th file, then the area of the 20 (i+1) -th regions for the first i-th file may be smaller than (e.g. half) the area of the 10 (i+1) -th regions of the second i-th file. More generally, the areas of each of the (i+1) -th regions for an i-th file are preferably selected to be less than the area of the i-th region which represents that i-th file by a proportion which depends in a predetermined way on the number of (i+1) -th regions for that i-th file. For example, in the case that the (i+1) -th regions for a given i-th file are within the corresponding i-th region, the (i+1) -th regions may be as large as possible within the constraint of a predetermined size and arrangement rule. The (i+1) -th regions are preferably arranged symmetrically within the corresponding i-th region. For example, in some embodiments, some or all of the regions are circular, and in this case the (i+l)-th regions may be circular regions arranged around the inner periphery of the circular i-th region, touching the outside of the i-th region and with each (i+1) -th region touching or proximate to two neighbouring (i+1) -th regions. Although, as explained above, it is preferable for all the (i+l)-th regions to be according to the same (i- th) distance scale (e.g. to have exactly or approximately the same diameter) , this is not a necessary feature of the invention. Rather, different i-th regions may have different (or even unrelated) sizes. However, in this case too the area of the regions preferably has the boundedness property discussed above, and thus the invention may alternatively be expressed in terms of this boundedness property. Accordingly, in a third expression, the invention provides a method of mapping interconnections between a plurality of data files comprising: a step of, for a first file, in a display area displaying a first region and one or more second regions, which respectively represent one or more second files logically related to the first file, and which are spatially related to the first region; and (n-1) further steps, i = 2,...,n, of for the or each i-th file displaying one or more (i+1) -th regions, which respectively represent one or more (i+1) -th files which are logically related to the i-th file, and which are spatially related to the i-th region representing that i-th file; the total area occupied by said regions being less than a predetermined value. Thus, even if the value of n is very great, and/or if the total number of regions is large, the map generated by the method preferably does not exceed a predetermined total area, which for example might be the size of the available screen of a user. For example, as described above, in the case that the (i+1) -th regions for each i-th file are always within the i-th region which represents that i-th file, the map will be generated entirely within the first region, and the total area occupied by the regions (e.g. the sum of all points which are inside at least one of the regions) is equal to the area of the first region. This is true whatever the value of n, and however many regions there are for each value of i . This feature, of the total area occupied by the regions of the map being independent of n, is herein called "intensiveness" . Any map in which the total area occupied by the regions of the map (i.e. the number of points which are inside at least one region) does not depend upon n (at least for n greater than some certain value, in this case n=l) , is herein called "intensive". The term "file" as used herein includes "frame set" within its scope. If a given file is a frame set, the region which represents the file preferably indicates this. For example, in the case that an i-th file is a frame set partitioned into j sections (here numbered k=l,...j), the i-th region which represents the i-th file is preferably shown partitioned into j sections (k=l,...,j). The (i+1) -th regions are then drawn accordingly, so that the (i+1) -th regions which represent those files which are linked to the i-th file by anchors within the k-th section of the i-th file, are within the k-th section of the i-th region. The user may have the option of redefining any of the rules determining the shape of the regions and for their size and/or their arrangement within the display. For example, he may have the option of changing between circular regions and regions of any other shape, such as squares . It is also possible that the rules of shape and/or arrangement of the i-th regions depend on i , e.g. to be different for i=n. For example, if the regions are circular for all i up to n-1, the n-th regions may be chosen to be complementary sectors of the corresponding (n-1) -th regions. Optionally, the methods may not display regions for all the (i+1) -th files logically related to the i-th file, but may neglect certain of those files, for example according to one or more predefined or re-definable criteria. For example, it is possible that a hyperlink from a first file leads to a second file, and that a hyperlink from that second file leads back to the first file, so that first file is in a sense also a third file. In this case, the methods may not display the first file as a third region. As second example, often a given third file can reached from the first file in two clicks via two different second files. The methods may in this case display only one third region, in or near only one of the two possible second regions. In other words, the method may include steps of determining if regions corresponding to i-th files have already (for equal or smaller i) been displayed, and modifying the display accordingly. A user can use a display produced according to the invention to map the part of the web near his current location (for example for navigating within the web) . Suppose, for example, that the user has just changed his location in his browser to read a given file . He may then have an option, for example by performing a certain mouse click, of causing his terminal to perform the method the invention described above, using the file the user has just read as the first file, to generate a map of the files up to n clicks away. This would immediately tell him, for example, about the number of files a given number of clicks from his present location. Indeed, a method according to the first, second or third expression of the invention is preferably performed automatically whenever the user's location changes. If the user wants more detail, he may have the option of selecting a certain file, for example by moving his mouse to a region of the display which represents that file, and causing the terminal to perform the method of the invention described above again, thus generating a display using his selected file as the first file. The user's terminal may be arranged to display also a path (and/or a distance) between the user's location and the selected first file. This path (and/or distance) will preferably be as short as possible. The user may have the option of labelling a given file, for example to allow him to easily return to it later. This operation is analogous to inserting a bookmark into a conventional book. In this case, the user may be able to label his actual location within the web, the current first file (i.e. the first file on which the map of the web currently being displayed is based) , or a file selected from the display by selecting a respective region. The way in which a region is displayed may indicate whether the file it represents has been labelled in this way, for example a labelled region may flash. The methods of the invention expressed above may further include displaying characteristics of the files represented by the some or all of the regions, so as to facilitate navigation of the web or other file structure. For example, the regions may be displayed in a colour which indicates a characteristic of the corresponding file, for example the site of a given file, or the server which provides it . Furthermore, the user may be able to call up further information on a file using the corresponding region, for example by moving his mouse to that region on the display and perhaps additionally performing a mouse clicking operation. This could cause information to be displayed, such as the title of the file. The user might also be able to call up further information, for example by a different or more complex mouse clicking operation. This more detailed information may be displayed in a part of the display outside the first region, for example as a separate box displayed to the user in a different part of the screen. The more detailed information might for example include any combination of the title of the file, its address, a precis of it, or details of the specification of the file (e.g. technical information including the data format of, say, images referenced in the file) . The information which is displayed by the method of the invention, such as the existence of the files which can be reached by any number of clicks, together with any characteristics of those files, may be derived at the time when the methods according to the invention described above is performed (i.e. as additional steps in that method) . Alternatively, it may be pre-generated, for example during times in which the apparatus is idle, so that it is immediately available, when the mapping method is performed. The method may include a step of storing the information, so that it can be recalled if the user returns to this section of the web. Such stored information could be automatically removed, for example after a predetermined period, if the user has not returned to that area of the web. Alternatively, if a user accesses a particular area of the web frequently, the information concerning that section of the web could be stored such that it will not be discarded. If the web subsequently changes in that location, for example due to the addition of a new file or a new anchor, the stored information could be updated, or regenerated, accordingly. Although, as explained above, the feature of the gradually decreasing distance scales with increasing i, and the feature of boundedness of the map (and optionally also the intensiveness of the map) , are particularly suitable for the display of a hyperspace, they are not essential to the invention. The invention may alternatively be expressed in terms of mapping a set of data files defined according to a user's current location, and facilitating movement between the files. Accordingly, a fourth expression of the invention is a method of moving between data files comprising the steps of : generating a display of the interconnections between the data files by: a step of, for a first file, in a display area displaying a first region and one or more second regions, which respectively represent one or more second files logically related to the first file, and which are spatially related to the first region; and (n-1) further steps, i = 2,...,n, of for the or each i-th file displaying one or more (i+1)- th regions, which respectively represent one or more (i+1) -th files which are logically related to the i-th file, and which are spatially related to the i-th region representing that i-th file; 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. A fifth expression of the invention is as a method of displaying interconnections between a plurality of data files comprising, upon a user's location changing to correspond to a first file: a step of, for the first file, in a display area displaying a first region and one or more second regions, which respectively represent one or more second files logically related to the first file, and which are spatially related to the first region; and (n-1) further steps, i = 2,...,n, of for the or each i-th file displaying one or more (i+1) -th regions, which respectively represent one or more (i+1) -th files which are logically related to the i-th file, and which are spatially related to the i-th region representing that i-th files. Thus, the display may be "automatically" updated as the user moves through the hyperspace. Preferably, in methods according to either the fourth or fifth expressions of the invention, the regions are generated according to a distance scales which decrease for increasing i, as described above in relation to the first and second expressions of the invention. Preferably too, in methods according to the fourth or fifth expressions of the invention, the regions have the boundedness property (and optionally the intensiveness property) described in relation to the third expression of the invention. All the methods described above may include the further step of generating a second map, to be displayed at the same time as the maps described above. For example, if the user is displaying a map generated as described above using a certain file as the first file, the method may include generating a second map showing other files related to that certain file. In some embodiments, for example, if the first file was reached by selecting a file from a map generated as described above, the second map may represent (e.g. as respective regions) the files of that map which the user did not select . The second map increases the dimensionality of the entire display. For example, the user can see along directions of the hyperspace which he did not select. Although the first, second, third and fifth expressions of the invention, refer to a "plurality" of files, methods according to any of the above expressions of the invention may alternatively, or additionally, map interconnections between a plurality of portions of one or more (e.g. large) files. In this case the logical connections are links between the portions of the file. For example, if a single large file contains a diary representing a plurality of days, the method may be used to map logical relationships (cross-references) between the days. 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 expressions of the invention may alternatively be respective portion (s) of a larger data file (or files) . For example, it should be understood that in the fourth expression 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. Accordingly, in a sixth expression the invention provides a method of mapping interconnections between plurality of segments of one or more data files, comprising : a step of, for a first segment, in a display area displaying a first region and one or more second regions, which respectively represent one or more second segments logically related to the first segment, and which are spatially related to the first region; and (n-1) further steps, i = 2,...,n, of for the or each i-th portion of the file displaying one or more (i+1) -th regions, which respectively represent one or more (i+1) -th segments which are logically related to the i-th segment, and which are spatially related to the i-th region representing that i-th segment. The invention in this expression is combinable with any of the other expressions described above, so that for example any one of more of the following may apply: 1) The i-th regions are formed on an i-th distance scale, greater than an (i+1) -th distance scale on which the (i+1) -regions are formed. 2) The map is such that the total area of the regions (the sum of all points which are contained in at least one of the regions) is bounded (i.e. less than a predetermined value) irrespective of n (and optionally intensive, that is independent of n) . 3) The method is used for moving to a portion of the file, by the user indicating (e.g. with a mouse) the corresponding region of the map. A seventh expression of the invention is an apparatus including display means such as a screen, and arranged to perform a method according to any of the first, second, third, fourth, fifth or sixth expressions of the invention. An eighth expression of the invention is a computer program for performing a method according to any of the first, second, third, fourth, fifth or sixth expressions of the invention, stored on a recording medium, such as an electronically (or optically) readable recording medium. 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 shows a screen window including a map generated by a first method according to the invention; Fig. 2 shows how click distance can be represented as part of a screen window shown in Fig. 1; Fig. 3 shows a map generated by a second method according to the invention; Fig. 4 shows a map generated by a third method according to the invention; and Fig. 5 shows a map generated by a fourth method according to the invention. Fig. 6 (a) - (d) shows maps generated by a fifth method according to the invention. Fig. 1 shows a window 1 having a title bar 3, a menu bar 5, a left bar 7, a display area 9 and an information display area 11. The title bar 3 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 5 allows the user to switch between various options and actions in a conventional way. Display area 9 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 page 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 9. 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. 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 ten 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 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 and/or coloured, hatched, flashing, moving (e.g. spinning) and have symbols drawn inside them (e.g. squares or triangles) 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). One algorithm which generates the map of Fig. 1 (omitting for simplicity the possibility of "frame sets", which possibility could straightforwardly be taken into account by a skilled person) consists of the following five steps : - 1. Draw a circle (first region) representing the first file as large as possible in the middle of the display area. 2. Count the number of links (anchors) N to other web pages in the page within the first file. 3. Representing the centre of the circle by the vector P, and its radius by R, if N≠l, then around the inside edge of this circle draw circles which represent these N files, the new circles being in a ring each having radius (r) where r = Rsin (7r/N) / (1+sin (π/N) and the centre of the new circle having a vector position (p is given by p_ = p + (R-r) cos (2τrl/N)x+ (R-r) sin(27rl/N) Y where x and y . are unit vectors in the x and y directions, and 1 (1=1, .. N) counts the new circles. If N=l, draw only one circle with r = R/2 = £ 4. Perform steps two and three for each of these new circles in turn. 5. Continue until the required level of detail is reached. 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 an image or video) . Although not illustrated in Fig. 1, any or all of the circular regions may be graphically displayed, for example by colouring. This possibility is explained below in more detail in reference to Fig. 3. Although in Fig. 1 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 scrolling effect in which the user moves gradually through the web. Such a display may for example be used as a screen-saver. One manner in which the window shown in Fig . 1 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) 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 . 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 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 (an "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 buttons 45, 47, 49, 51 located within the window 1. 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. 2, which shows only the display area 9 of the window 1, and in which for simplicity all detail in the first circular region 13 has been omitted. Fig. 2 differs from Fig. 1 in that the display area 9 is wider, and includes five areas 52, 53, 54, 55, 56 (divided by horizontal lines) between the outer border of the display area 9 and the circular first region 13 (each area 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 five intermediate files (i.e. that the first file of the display is six clicks from the user's present location) . in deciding that the first file is six 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 seventh region, it is possible that the file represented by that seventh region can in fact be reached in only six 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) . The user may be able to obtain information on one of the five 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. 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 9, and respective files along a shortest path. Turning now to Fig. 3, a second embodiment is shown of a map generated by a method according to the invention. In this case, the display region 9 is entirely occupied by a square first region representing the current first file. The first file is linked by anchors to three second files, which are represented by circular second regions 61, 63, 65. The second file represented by circular region 61 contains four anchors to third files represented by third circular regions 67, which are outside the second circular region 79 and touch its outer periphery. The second file represented by second region 63 contains a frame set which partitions the second file into two sections which are respectively indicated by sections 69, 71 of the second circular regions 63. The section of the second file represented by section 71 of the second circular region 63 contains two anchors, to files represented by third circular regions 73, 75. Fig. 4 shows a map generated by a third method according to the invention. This is distinguished from the first two methods in that the regions are square, rather than circular. The region of the world wide web mapped by Fig. 4 is the same as that mapped by Fig. 3 (i.e. Fig. 4 is logically equivalent to Fig. 3, apart from the colouring differences explained below) . That is, the current first file (represented by a first region which occupies the entire display area 9) is connected to three second files (represented by square areas 76, 77, 78) . The second file represented by a second area 76 contains four third areas 79 which are maximally sized to fill the second region 76 apart from a narrow margin around each third region. The second region 77 is shown divided into two, representing a frame set which divides a second file into two sections, one section containing two anchors (respectively pointing to two third files represented by third regions 81) , and one section containing no anchors. The second region 78 represents a file having five anchors, to third files represented by third square areas 83. The two types of hatchings in this figure represent the colours which may actually be present in the display produced according to the invention. The two colour possibilities may for example indicate which of two servers has supplies the respective file. Another area of the window 1 (e.g. the left bar 7, which is not shown on Fig. 4) may include a key for the meaning of these symbols. For example, for each colour used for the regions, the bar 7 may include an area having that colour. The user can thus discover the meaning of the colour by indicating that area of the bar 7 (e.g. by positioning his cursor there) , so as to trigger a display of the meaning of the colour. Rather than colours, the regions may be differentiated by patterning, flashing, shape, or by any other graphical means. Fig. 5 shows a further embodiment in which each file is represented by a region which is a dot (all dots being of equal size) . The first file, represented by the central dot 90, is connected by hyperlinks represented by lines 91, 92, 93 to three second files, respectively represented by the dots 94, 95, 96. The second file represented by dot 95 is connected (by three hyperlinks represented by lines 100, 101, 102) to dots 97, 98, 99, which represent respective third files. The lines 100, 101 and 102 are each half as long as the lines 91, 92, 93. More generally, considering the extension of the diagram out beyond third files, the line representing the hyperlink from each i-th region to each (i+1) -th region is longer by a constant ratio (in this case 2) than each line representing a hyperlink between each (i+1) -th region and each (i+2)-th region. Of course, as the number of click increases, the dots of each i-th region will begin to overlap with the dots of the logically related (i+1) -th regions. This problem can be overcome, for example, by decreasing the diameter of the dots by -a constant ratio (e.g. the same constant ratio which relates line lengths) with increasing click distance from the first dot 90. For simplicity, the possibility of frame sets is not taken into account in this map (that is the map represents files equivalently whether they are pages or frame sets) , although a skilled person will be able to generalise this display to include displaying frame sets also. All the maps shown in Figs. 1, and 3-5 are "bounded" in the sense discussed above. Furthermore, we can say that the maps shown in Figs. 1, 3 and 4 are all "intensive", that is to say no matter how great the click distance between the present first file and the furthest file, the total area occupied by the regions remains constant (in fact, equal to the first region) . By contrast, Fig. 5 shows a display which is not intensive, but is still bounded. That is, although the size of the display increases as the total click distance between the first and the furthest file increases, it remains less than a given finite size for any number of clicks. This can be understood by observing that the sum of the series , 1 + % + 1/4 + 1/8 + ... = 2. The display of Fig. 5 would not be bounded, for example, if the lengths of the branches did not decrease (or did not decrease sufficiently rapidly) in relation to the click distance from the first file. Turning to Fig. 6, Fig. 6(a) shows a map generated by a method according to the invention, in which within a display area 9, a first region 13 represents a first file, and four second regions 16, 17, 18, 19 respectively represent four files logically connected to the first file. A region 105 does not represent a file, but rather allows a user to return to some earlier state of the system by clicking on the region. For example, the region 105 may represent a previously defined system state, which can be recreated by clicking on the region. For example, the state may have been bookmarked by the user, or alternatively be a state pre-set by programming. Although only one region 105 is shown, alternatively a plurality can be provided, associated with respective previously defined states . The user clicks on a region 17. The method then generates the map of Fig. 6(b), in which second region 17 is expanded, and 28 third areas 107 respectively represent 28 third files reachable from the file represented by region 17. Note that although the regions 107 are on substantially the same distance scale, some are ellipses while others are circles. Inset in the lower left corner of the map is the map shown in Fig. 6(a) but adjusted to take into account the removal of the region 17 from around the first region 13. The user then clicks one of the regions 107. The map is re-drawn as Fig. 6 (c) . The region 107 is re-drawn expanded. Region 17 is re-arranged as an outer border of the inset, thus indicating the history of the users voyage within the set of files, and can be clicked on to return to the map shown in Fig. 6(b) . The user then clicks on region 18. The map is redrawn as Fig. 6(d) . The files which are represented in region 18 (the third region chosen) are mapped, according to a predetermined logical relationship, in relation to those files represented in the region 17 chosen first, with the file chosen from that region as the starting point. For example, if the first region 17 chosen contained companies, from which one company was chosen, and the second region employees, and if the logical relationship was the one described above ("A first and second data file are logically related if any only if either the first represents an employee and the second a company they have worked for in the past, or the first represents a company and the second a current employee of that company."), then the regions within the largest region 18 would represent the company's employees, and the circles within those would represent the other companies they have worked for, and so on. The inset, bounded by the area 17, now shows only two second regions 16, 19 neighbouring the region 13, in addition to the region 105 which enables the user to return to an earlier state of the system. The user can click on any of the smaller circles within the larger region to re-draw the map with that region as the largest region or starting point. The region 17 will alter to represent the main region to which the selected file belongs. The user can also click on another of the regions 16 or 19 to map instead the relationships between the selected file and the collection of files that the newly selected region represents . In this case the region selected will be, as it were, expanded and the region it replaces will again become a region around region 13. At any time the user can click on the black outer region to return to the very first representation. As will be clear to a skilled person, many variations of the mapping methods explained above are possible. For example, although as shown above the size of regions decreases according to the distance (measured in clicks) between the files they represent and the first file, this is not necessary. For example, the maps may be limited to files only a small number of clicks away (e.g. 2 clicks), or parts of the map which fall outside the display area may not be displayed. Additionally, as discussed above, it is not necessary that all the (i+1) -th regions within or around a given i-th region are the same size or shape. For example, referring to Fig. 6(b), this map may be varied so that one of the regions 107 is of greatest size, a neighbouring region 107 is slightly smaller, a region 107 next to that is smaller yet, and so on, so that each of the regions 107 has a different size. This possibility applies to all expressions of the invention given above.

Claims: CLAIMS . 1. A method of mapping interconnections between a plurality of data files comprising: a step of, for a first file, in a display area displaying a first region and according to a first distance scale one or more second regions, which respectively represent one or more second files logically related to the first file, and which are spatially related to the first region; and (n-1) further steps, i = 2,...,n, of for the or each i-th file displaying according to an i-th distance scale smaller than the (i-1) -th distance scale one or more (i+1) -th regions, which respectively represent one or more (i+1) -th files which are logically related to the i-th file, and which are spatially related to the i-th region representing that i-th file. 2. A method according to claim 1 in which the data files are files of the world wide web. 3. A method according to claim 2 in which the plurality of files are provided at a plurality of web sites on spatially separated servers. 4. A method according to any preceding claim in which the logical relationships between the files include at least one of a hyperlinks and a connection between a frame and a file that it displays. 5. A method according to any preceding claim in which the logical relationships between the files are such that each i-th file and its one or more (i+1) -th files are such that the (i+1) -th file can be reached from the i-th file by one click. 6. A method according to any one of claims 1 to 4 in which the logical relationships between the files are not predefined. 7. A method according to any preceding claim in which the value of n > 2. 8. A method according to any preceding claim in which the value of n is selected in dependance upon any one or more of the following: (i) the resolution of a user's screen, (ii) availability of computer resources available for creating the display, (iii) the number of files a certain number of clicks away from the first file, or (iv) a selection by a user. 9. A method according to any preceding claim in which the i-th distance scale is defined as the distances between the centre of each i-th region and the centre of each ( i+1 ) -region . 10. A method according to any one of claims 1 to 8 in which the i-th distance scale is a size of the (i+1)- regions . 11. A method according to any preceding claim in which the distance scales are chosen to decrease as the value of n is increased. 12. A method according to claim 11 in which the distance scales decrease by such an amount that no matter how great the value of n, the total area of the display never exceeds a predetermined value . 13. A mtheod according to claim 12 in which the distance scale is chosen such that the total area of the one or more (i+1) -th regions for each i-th file is half the area of the i-th region representing the i-th file. 14. A method according to any preceding claim in which for each i-th file, the (i+1) -th regions do not overlap one another . 15. A method according to any preceding claim in which for each i-th file, the (i+1) -th regions are equal in area to each other. 16. A method according to any preceding claim in which the areas of each of the (i+1) -th regions for an i-th file are selected to be less than the area of the i-th region which represents that i-th file by a proportion which depends in a predetermined way on the number of (i+1) -th regions for that i-th file. 17. A method according to any preceding claim in which the (i+1) -th regions are arranged symmetrically within the corresponding i-th region. 18. A method according to claim 17 in which some or all of the regions are circular, and the (i+1) -th regions are circular regions arranged around the inner periphery of the circular i-th region, touching the outside of the i- th region and with each (i+1) -th region touching or proximate to two neighbouring (i+1) -th regions. 19. A method of mapping interconnections between a plurality of data files comprising: a step of, for a first file, in a display area displaying a first region and one or more second regions, which respectively represent one or more second files logically related to the first file, and which are spatially related to the first region; and (n-1) further steps, i = 2,...,n, of for the or each i-th file displaying one or more (i+1) -th regions, which respectively represent one or more (i+1) -th files which are logically related to the i-th file, and which are spatially related to the i-th region representing that i-th file; the total area occupied by said regions being less than a predetermined value . 20. A method according to any preceding claim in which an i-th file is a frame set partitioned into j sections (here numbered k=l, ... j) , the i-th region which represents the i-th file is shown partitioned into j sections (k=l,...,j), the (i+1) -th regions are then drawn accordingly, so that the (i+1) -th regions which represent those files which are linked to the i-th file by anchors within the k-th section of the i-th file, are within the k-th section of the i-th region. 21. A method according to any preceding claim in which a user has the option of redefining any of the rules determining the shape of the regions and for their size and/or their arrangement within the display. 22. A method according to any preceding claim in which rules of shape and/or arrangement of the i-th regions depend on i . 23. A method according to any preceding claim in which regions are displayed fro less than all the (i+1) -th files logically related to the i-th file. 24. A method according to claim 23 which includes steps of determining if regions corresponding to i-th files have already for equal or smaller i been displayed, and modifying the display accordingly. 25. A method of operation of a web browser in which a method according to any preceding claim is performed automatically whenever the location addressed by the browser changes . 26. A method of operation of a web browser preferably according to claim 25 in which a user may selecting a certain file by moving a pointing device to a region of the display which represents that file, and causing the browser to perform a method according to any one of claims 1 to 25 again, thus generating a display using the selected file as the first file. 27. A method of operating a web browser according to claim 26 in which there is displayed a path and/or a distance between a location addressed by the web browser and the selected first file. 28. A method according to any one of claims 1 to 24 further including displaying characteristics of the files represented by the some or all of the regions. 30. A method of moving between data files comprising the steps of : generating a display of the interconnections between the data files by: a step of, for a first file, in a display area displaying a first region and one or more second regions, which respectively represent one or more second files logically related to the first file, and which are spatially related to the first region; and (n-1) further steps, i = 2,...,n, of for the or each i-th file displaying one or more (i+1)- th regions, which respectively represent one or more (i+1) -th files which are logically related to the i-th file, and which are spatially related to the i-th region representing that i-th file; selecting a file on the basis of the display; and moving to the selected file. 31. A method according to claim 30 in which the step of moving to the selected file is done by issuing an by operating a pointing device which is pointing to the region of the display corresponding to the selected file. 32. A method of displaying interconnections between a plurality of data files comprising, upon a user's location changing to correspond to a first file: a step of, for the first file, in a display area displaying a first region and one or more second regions, which respectively represent one or more second files logically related to the first file, and which are spatially related to the first region; and (n-1) further steps, i = 2,...,n, of for the or each i-th file displaying one or more (i+1) -th regions, which respectively represent one or more (i+1) -th files which are logically related to the i-th file, and which are spatially related to the i-th region representing that i-th files. 33. A method according to any one of claims 30 to 32 in which the regions are generated according to distance scales which decrease for increasing i. 34. A method according to any preceding claim comprising a further step of generating a second map, to be displayed at the same time as the display generated in other steps of the method. 35. A method according to claim 34 in which the second map represents files in part of a hyperspace not selected by a user. 36. A method of mapping interconnections between plurality of segments of one or more data files, comprising : a step of, for a first segment, in a display area displaying a first region and one or more second regions, which respectively represent one or more second segments logically related to the first segment, and which are spatially related to the first region; and (n-1) further steps, i = 2,...,n, of for the or each i-th portion of the file displaying one or more (i+1) -th regions, which respectively represent one or more (i+1) -th segments which are logically related to the i-th segment, and which are spatially related to the i-th region representing that i-th segment. The invention in this expression is combinable with any of the other expressions described above, so that for example any one of more of the following may apply: 1) The i-th regions are formed on an i-th distance scale, greater than an (i+1) -th distance scale on which the (i+1) -regions are formed. 2) The map is such that the total area of the regions (the sum of all points which are contained in at least one of the regions) is bounded (i.e. less than a predetermined value) irrespective of n (and optionally intensive, that is independent of n) . 3) The method is used for moving to a portion of the file, by the user indicating (e.g. with a mouse) the corresponding region of the map. 37. Apparatus including display means such as a screen, and arranged to perform a method according to any preceding claim. 38. A computer program for performing a method according to any preceding claim, stored on a recording medium. 39. A method of mapping interconnections between a plurality of data files comprising: for a first file, within a display displaying a first region and according to a first distance scale one or more second regions, which respectively represent one or more second files logically related to the first file, and which are spatially related to the first region; and for the or each second file, displaying according to a second distance scale smaller that the first distance scale, one or more third regions, which respectively represent one or more third files logically related to the second file, and which are spatially related to the second region representing that second file.

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