Computer implemented method and apparatus for providing a logical point of access to one or more files

Abstract: A method and apparatus for communicating files over a communications network in which links to files, such as hyperlinks, comprise a multilink. A multilink is a hyperlink associated with a plurality of electronic addresses, each leading to a different physical file. Selection of a multilink results in the generation of a menu of options for all of the different files that can be returned to the client corresponding to the selected multilink. Selection of an option results in returning of the associated file to the client.

Description: Field Of The Invention This invention relates to communications networks, generally, and more particularly to a method of communication within such communications networks and apparatuses for practicing the inventive method. Background Of The Invention The World Wide Web ("Web") is essentially a distributed depository of data files stored on Web servers connected by a global communications network known as the Internet. Users of the Web may request transmission of files to their own computers, i.e., client computer, for viewing, storing or printing. Each server computer stores files identified by a universal resource locator (URL) comprising an electronic address. Each URL is a physical reference in that each URL points to a particular server and identifies the location of a single file at that server. Many of the files stored on servers are documents written in a standard programming language known as hypertext mark-up language (HTML). HTML files are translated for viewing, printing or storing by a Web browser computer program running on the Web clients. The Web browser also communicates with Web servers. Using HTML, an author of such a Web page (a file written in HTML) can designate a specific word, phrase or image in the Web page as a hyperlink. Each hyperlink may be associated with a URL of another file stored on the Web. A user's selection of a hyperlink is an initiation of a request for the file located at the electronic address identified by the URL with which the hyperlink is associated. Since each traditional hyperlink is associated with a single URL, each hyperlink is associated with a single file having a particular location on a particular server. A request for transmission of a file originates at the Web client and is submitted to a server computer by the Web browser software running on the client computer. In a typical arrangement, the request is then forwarded to a proxy computer interconnecting the client computer and the server computer. Upon a user's selection of a hyperlink, the client's Web browser issues a hypertext transfer protocol (HTTP) request to the server identified by the URL associated with the hyperlink. The request is intercepted by a proxy which then relays the request over the Internet to the identified server. The server responds by transmitting the requested file to the proxy, assuming that the requested file resides on the server at the electronic address identified in the URL. The proxy then relays the requested file to the client. The standard HTML syntax of Web pages and the standard HTTP communications protocol supported by the Web guarantee that a Web client and Web browser can communicate with any Web server. The JAVA programming language and JAVA applets allow for platform independent application programs which can be executed by any Web client. Many files on Web servers may be considered to be related. For example, due to the vastly heterogenous resources of Web clients and Web servers, there are a number of files which are related in that they contain the same or similar content, but are unique in that they have differing formats, e.g., postscript, ADOBE®, ACROBAT®, JPEG, GIF, TIFF, etc. to accommodate the capabilities of these vastly heterogenous client computers. Other files which do not have similar content also may be considered related. For example, a list of documents published by a single author, a grouping of a person's favorite Web sites, etc. Under the existing URL system, each file is presented with its own hyperlink. We have discovered that it would be advantageous to provide access to a group of related files through a single, logical access point, e.g., a hyperlink. SCHLOSS R J: "Novel business uses of independently created hyperlinks in the World Wide Web: basic mechanism and examples" PROCEEDINGS OF THE ANNUAL HAWAII INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES, XX, XX, vol. 2, 3 January 1996 (1996-01-03), pages 137-146, XP002151364, discloses an Advisory architecture in which Web software fetches go beyond asking a server for content in that one or more advisory servers are also given the URL of the primary content, and they deliver annotations, ratings and hyperlinks that apply to the content as a whole and any portion of the content, including any anchorlinks in the content. An advisory is information that describes or supplements the content the user is currently viewing, or describes or supplement or prevents the viewing of the content reachable by clicking on a hyperlink anchor. The paper discusses a user interface in which advisories that apply to an anchorlink in the page appear when the mouse is moved over the anchorlink (on "mouseover"). The advisories appear in a floating balloon, and pressing the space bar pins the balloon in place so that the mouse can move to click the hyperlink icon in the balloon. Summary of the Invention A servicing computer and methods according to the invention are as set out in the independent claims. Preferred forms are set out in the dependent claims. An embodiment of the invention provides a method for communication files over a communications network in which links to files, such as hyperlinks, comprise a new construct herein termed a multilink. A multilink is a hyperlink associated with a plurality of electronic addresses (e.g., URLs) rather than a single electronic address. The addresses are concatenated within a single multilink URL associated with the multilink. The selection of a multilink results in execution of a program that parses the multilink URL, identifies the electronic addresses associated with the multilink and generates a menu showing all of the different hyperlinks accessible via the multilink. The user then selects one particular hyperlink from the displayed menu. The URL to the file associated with the selected hyperlink is then used to request the file from the appropriate server and the desired file is returned. Description Of The Drawings Figure 1 is a symbolic diagram of a simplified World Wide Web topology as known in the prior art. Figure 2a is an image of an example of a Web page which shows hyperlinks in accordance with the prior art. Figure 2b is an image of an example of a Web page which shows a multilink and a menu in accordance with the present invention. Figure 3 is an image of an example of a Web page showing a default Web page in accordance with the present invention. Figure 4 is a symbolic diagram illustrating communication in accordance with the present invention using a multilink. Detailed Description Figure 1 is a symbolic diagram of a simplified Web topology as is known in the prior art. In the example of Figure 1, the Web client 6 is the user's computer. The client 6 may connect to an Internet Service Provider (not shown) over a communications line 10, using a modem in the client. The Internet Service Provider typically controls the proxy 16 which has a dedicated connection over a transmission link 20 to the Internet 36, a sub-network of switching nodes and transmission links. A Web server 36 is connected to the Internet 36 by a transmission link 30. In actuality, the Web's topology is much more complex with numerous servers, clients, proxies, transmission links, etc. Using Web browser software running on the client computer, the user requests an image, document, multimedia or other data file (herein referred to collectively as "file") by selecting a hyperlink. Upon selection of a hyperlink, the user's client computer submits a request to a server computer identified in the URL associated with the selected hyperlink. In a typical Web topology, the URL is transmitted to the proxy over link 10 using the GET URL HTTP request, which then forwards it over transmission link 20 to the server 36 via the Internet 26 and transmission link 30. The server 36 responds to the request by transmitting the file identified in the URL via the Internet 26 to the proxy 16 which then forwards the file to the client for viewing, storing or printing. The present invention provides a method and apparatus for satisfying a request for transmission of a file, the request initiating with a user's selection of a logical point of access to one or more files, the logical request being later paired with an electronic address at which the requested file may be located. The present invention is discussed in relation to what is referred to herein as a "multilink". A multilink, as referred to herein, is a particular type of hyperlink which provides a single logical point of access to multiple files. As discussed above, a traditional hyperlink is established by HTML programming associating the hyperlink with a single electronic address identifying a single file on a particular server. Rather, the multilink is a logical point of access to a plurality of files which are associated with the multilink. A multilink in accordance with the present invention appears in the Web browser much like a traditional hyperlink, but differs from the traditional hyperlink in that a user's selection of the multilink results in generation and display of a menu of a plurality of user-selectable options. Preferably each option is a hyperlink. Each hyperlink displayed in the menu could be a traditional hyperlink, another multilink, or an indirect link. A multilink is a logical point of access in that it is not directly related to a particular physical reference. Rather, it is a logical reference to a plurality of files. In the HTML context, a multilink may be associated with a multilink URL ("MURL") where the MURL comprises a plurality of electronic addresses. In the preferred embodiment, each electronic address is associated with a description, in the form of a hyperlink, identifying the file found at the corresponding electronic address. The description is displayed in a menu generated and displayed when the multilink is selected. In accordance with the present invention, a menu-generation computer program is executed upon a user's selection of a multilink. The computer program parses the MURL associated with the multilink and presents a menu. The computer program preferably is written in a platform independent computer programming language that is compatible with standard Web browsers. In the preferred embodiment, the computer program is written in the Javascript programming language. The computer program may be executed at any suitable location, i.e., client, proxy, or server. However, it is preferable that the menu generation computer program be transmitted to and executed at the client computer. The computer program may be transmitted to the client computer in a number of ways. In one embodiment, a reference to the menu generation computer program is embedded or appended by the proxy computer. In the preferred embodiment, the proxy computer embeds or appends a reference only in pages containing a multilink. In the most preferred embodiments a reference to the computer program is embedded in each Web page (parent file) containing a multilink. In such an embodiment, the client computer automatically requests the computer program upon loading the Web page. Alternatively, the entire program could be appended to the parent file before transferring the parent file to the client computer. Either the proxy computer or the server computer could perform the embedding or appending steps. While adoption of such a distribution scheme for the computer program would be sufficient to ensure operability of the multilinks if all proxies were to use the distribution scheme, in the preferred embodiment, a backup system is employed. In such a system, a traditional URL leading to a file containing the menu generation program is included in the parent file. For instance, the MURL associated with the multilink preferably may further comprise a default electronic address to a default Web page containing only the menu generation computer program. Accordingly, in the event that the computer program is not transmitted or otherwise accessible to the client, traditional processing of the MURL will cause the default Web page to be loaded, at which time the computer program will be executed. By way of example, a traditional URL typically has a format as follows: http://<server address>/<filename.ext> In the example of Figure 2A, the traditional URL http://www.lucent.com/research/1998/articles.htm is an electronic address identifying the file named articles.htm in the research/1998 subdirectory on the www.lucent.com server. Note that four hyperlinks are shown beneath the each article title for requesting the article in letter or A4 format, and with or without figures. In contrast, the general format of a MURL in accordance with a preferred embodiment of the present invention has the form: http://<server_address>/<multilink_default.html> ?mlink::<des 1 =URL 1 >, <des 2 =URL 2 >,...,<des N =URL N > where des 1 is the description string for the i'th hyperlink and URL 1 is the electronic address of the i'th hyperlink. Each URL 1 may be a traditional URL, a MURL or a logical reference of the type referred to above as an indirect link. Figure 2B illustrates an exemplary Web page employing a multilink in accordance with the present invention. Note that only a single hyperlink (a multilink) appears for the article titled "NetBlitz: A Novel Solution to the 'World Wide Wait'" the multilink reading "Multi-link for this paper". The format of the multilink URL for this article could have the format: http://www.lucent.com/research/1998/default.htm? mlink::letter+figures=http://www.lucent.com/research/ 1998/letfig.htm,letter-figures=http://www.lucent.com/ research/1998/research/letnofig.htm,A4+figures=http:// www.lucent.com/research/1998/A4fig.htm,A4-figures= http://www.lucent.com/research/1998/A4nofig.htm. Accordingly, upon a user's selection of the NetBlitz multilink, the menu generation computer program that had been previously transmitted from the proxy computer to the client computer along with the NetBlitz Publications Web page containing the multilink would be executed to generate the menu of hyperlinks to the article. As noted above, in alternate embodiments, in which the menu generation program is not appended or a reference to the menu generation program is not embedded within pages having multilinks, selection of the multilink may instead lead to a default page (i.e., file), such as shown in Figure 3, containing the menu generation program. Specifically, regardless of whether the menu generation program is executed at the client computer or at the server computer containing the default menu generation page, the menu generation program parses the various individual URLs in the MURL and displays a menu of the options. Figure 2B shows the menu that might be generated in an embodiment in which a reference to the menu generation program is embedded in the page containing the multilink. Note that it preferably appears as a pop-up menu. In an alternate embodiment, in which the menu generation program is at a separate page, a Web page is displayed containing hyperlinks to the article in (1) letter with figures, (2) letter without figures, (3) A4 with figures, and (4) A4 without figures formats. The content of the default page in Figure 3 is the same as the menu in Figure 2B. This is also the default page located at http://www.lucent.com/research/1998/default.htm as identified in the MURL. Figure 4 is a flowchart demonstrating communications over a communications network using multilinks in accordance with a preferred embodiment of the present invention. A server computer first transmits a Web page containing a multilink to a proxy computer responsive to a client computer's request for the Web page as shown at 50. The proxy computer then transmits the Web page to the client computer along with a menu generation program which it appends to the Web page as shown in step 60. After the Web page is displayed at the user's client computer, the user selects a hyperlink as shown in step 70. In step 75, it is determined if the hyperlink is a multilink. If so, in step 80, the menu generation program is run to parse the MURL associated with the hyperlink and display a menu of hyperlinks, each hyperlink being a user-selectable option. The user then repeats step 70 by selecting a hyperlink from the menu. Since, as noted above, a hyperlink in the menu may be another multilink or an indirect link, this process is repeated until the user selects a hyperlink associated with a traditional URL, at which time flow proceeds to step 90, in which the client computer requests the file associated with the hyperlink as identified by the file's URL 90. If the first selected hyperlink was not a multilink, as determined in step 75, flow proceeds directly to step 90, in which the client computer requests the file associated with the hyperlink as identified by the file's URL. In step 100, the server computer then transmits the requested file to the client computer in the usual fashion. In step 110, the client computer receives the requested file which is displayed by the Web client's browser. It should also be noted that, although a logical reference in the form of a multilink URL is most useful in association with a hyperlink, a multilink URL logical reference may be advantageously used independently of a corresponding hyperlink, e.g., for images or other files, embedded in a Web page. For example, a file identified by a multilink URL logical reference which is embedded in a Web page is automatically requested by the client computer's Web browser in the process of loading the Web page for display at the client computer.

Claims: A method of operation of a client computer CHARACTERIZED BY the steps of: (a) displaying (80), at the client computer, a multilink as a hyperlink, the multilink providing a logical point of access to a plurality of distinct files, each of the plurality of distinct files having a respective unique electronic address, each of the electronic addresses being associated with the multilink, each of the electronic addresses being contained in a file at the client computer, the file containing the electronic addresses of the distinct files being interpretable to display the multilink; (b) generating a menu of options, at the client computer, in response to a user's selection of the multilink, each option of the menu of options being associated with at least one of the plurality of files; (c) transmitting (90), from the client computer, a request for a user-selected file associated with a user-selected option, the request being made using a corresponding one of the electronic addresses from the file interpretable to display the multilink. The method of claim 1, further comprising the step of: (d) selecting, at the client computer, the user-selected option from the menu of options, the user-selected option being associated wth the user-selected file, step (d) being performed intermediate steps (b) and (c). The method of claim 2, wherein the request transmitted in step (c) identifies the unique electronic address of the user-selected file. The method of any of the preceding claims, wherein the electronic addresses of the plurality of files are concatenated in a multilink URL, the multilink URL being contained in the file interpretable to display the multilink. The method of claim 4, wherein the menu of options is generated by parsing, at the client computer, the multilink URL to identify each electronic address and presenting an option in the menu of options for each of the electronic addresses. The method of claim 5, wherein the menu of options is generated in step (b) by a computer program, for example a program in the Javascript language, for parsing the multilink URL to identify the electronic addresses and generating the menu of options. The method of any of claims 4 to 6 wherein the electronic addresses include an electronic address of a default file containing the computer program. The method of any of the preceding claims, further comprising the step of: (e) receiving, at the client computer, the computer program, step (e) being performed before step (b). The method of any of the preceding claims wherein a proxy computer for relaying a communication between a client computer and a server computer interconnects the client computer to the server computer and wherein the proxy computer appends the computer program to every file or to every file containing a multilink URL, transmitted from the proxy computer, the method further comprising the step of: (f) transmitting, from the proxy computer to the client computer, a file containing the multilink URL, the file having the computer program appended thereto, step (f) being performed before step (e). The method of any of claims 1 to 8 wherein a proxy computer for relaying a communication between a client computer and a server computer interconnects the client computer to the server computer and wherein the proxy computer embeds a reference to the computer program in every file, or in every file containing a multilink URL, transmitted from the proxy computer, the method further comprising the steps of: (f) transmitting, from the proxy computer to the client computer, a file containing a multilink URL, the file having the reference to the computer program embedded therein, step (f) being performed before step (e); and (g) transmitting, from the client computer, a request for transmission of the computer program to the client computer, step (g) being performed intermediate steps (f) and (e). The method of any of the preceding claims, wherein the menu of options comprises hyperlinks associated with URLs. The method of claim 11, wherein at least one of the hyperlinks is a multilink. A servicing computer for servicing a request for a file initiated by a client computer connected to the servicing computer by a communications network, the servicing computer comprising: a memory; a processor; CHARACTERIZED BY : a first computer program stored in the memory for displaying, at the client computer, a multilink as a hyperlink, the multilink providing a logical point of access to a plurality of distinct files, each of the plurality of distinct files having a respective unique electronic address, each of the electronic addresses being associated with the multilink, each of the electronic addresses being contained in a file at the client computer, the file containing the electronic addresses of the distinct files being interpretable to display the multilink; a second computer program stored in the memory for generating a menu of user-selectable options responsive to a user's selection of a multilink to a plurality of files, each option of the menu of options being associated with at least one of the plurality of files; and a third computer program stored in the memory for appending the first computer program to or embedding a reference to the first computer program in, a file transmitted by the servicing computer. The servicing computer of claim 13, wherein the servicing computer is a server computer. The servicing computer of claim 13, wherein the servicing computer is a proxy computer for relaying a communication between a client computer and a server computer. The servicing computer of claim 15, wherein the third computer program is configured to carry out said appending or embedding only with files transmitted by the servicing computer which contain a multilink URL. A method of operation of a servicing computer for servicing a request from a client computer for a file stored on the servicing computer, CHARACTERIZED BY the steps of: (a) appending to or embedding in the file requested by the client computer, a computer program for parsing, at the client computer, a multilink URL contained in the file, the multilink URL comprising a plurality of electronic addresses, each of the plurality of electronic addresses corresponding to a respective one of a plurality of distinct files, the program being capable of parsing the multilink URL to generate a menu of user-selectable options responsive to a user's selection of a multilink associated with the multilink URL, the file being interpretable to display the multilink, each of the options corresponding to a respective one of the pluralité of electronic addresses, and an associated one of the plurality of distinct files; and (b) transmitting (60) the file to the client computer responsive to a request therefor. The method of claim 17, wherein the servicing computer stores the computer program for generating a menu. The method of claim 17 or claim 18 wherein the computer program for generating a menu is appended or the reference embedded in step (a) only if the file contains a multilink URL.

Inventors: ACHARYA SWARUP, KORTH HENRY F, POOSALA VISWANATH, ACHARYA, SWARUP, KORTH, HENRY F., POOSALA, VISWANATH
Applicants: LUCENT TECHNOLOGIES INC, LUCENT TECHNOLOGIES INC.
Application year: 1999
Main classification: H04L29
IPC codes: H04L29, G06F17, G06F12, G06F13