METHOD AND DEVICE IN COMPUTER NETWORKS

Abstract: A method of creating a link in a web page viewed in a browser is disclosed, said link at any time leading to one of a number of possible end points (5a-5e; 105, 106), the method comprising the steps of: providing an address table (9; 109) in or in connection to the host (7; 107) from which the web page is retrieved, said address table providing the addresses of the possible end points (5a-5e; 105, 106) at which the link may point, and when a user clicks on the link, selecting one of the possible end points (5a-5e; 105, 106) from the table (9; 109) and setting up a connection to said end point (5a-5e; 105, 106). An address table (9; 109) and a web server (7; 107) for use with the invention are also disclosed.

Description: Method and Device in Computer Networks Technical Field The present invention relates to Internet Protocol (IP) networks, and in particular to the establishment of connections in such networks. Background Internet Protocol (IP) networks are being used to an increasing degree as formal or informal networks for distribution and retrieval of information, and for various kinds of communication, including telephony and electronic mail. These networks may be large, informal networks comprising several networks and servers, such as the Internet, or the World Wide Web. Companies and institutions often use smaller networks of the same kind for the exchange of information within the company. These networks are commonly known as intranets, and are also sometimes referred to as webs. In this document, the words "web" and "internet" will be taken to mean any IP network used in this way. Information is laid out on the web by compiling it and installing it on a web server, which is connected to the network. The information is presented in the form of web pages, compiled in a markup language called HTML. To retrieve information from a web server in the internet, any kind of computer connected to the internet and having a web browser installed can be used to retrieve the HTML pages. In recent years, interactive programming languages for programming interactive web pages, such as JavaScript, have been introduced. Web pages of this kind may initiate programs to be run on the user's computer, not just information to be displayed. Today, practically all browsers handle interactive web pages. Traditionally, the HTML pages are created and stored on a web server in their final shape. With technology such as the Common Gateway Interface (CGI) the informa- tion is stored in the form of scripts on the web server, and the actual page is formatted when it is downloaded to the user ' s computer. In this document, the term CGI will be interpreted in its broadest sense, that is, covering all different methods for creating web pages using scripts. Both traditional pages and CGI pages may comprise hyperlinks, or links for simplicity. Clicking on such a link with a mouse button initiates an HTTP request to the appropriate web server, which in turn initiates certain actions, for example, the opening of another web page. A link may also be used to send an e-mail to a certain recipient, or to call a user in the network who has an IP telephone connected to, or incorporated in, his computer. Of course, if a gateway is used between the networks, a call may be set up to a telephone in a telephone network instead. A link can only lead to one specific web page, or IP telephone, or e-mail address, for example. To get in touch with one of a number of terminals, a more flexible link is needed. For example, when calling a shop, such as a travel agency, ideally the user should be connected to the most suitable person available. This may be, for example the person who has handled his orders before, or someone who is a specialist on the user's particular desires. If there are no preferences, the user should be connected to any one who is not busy. Often, frequently used information is found on several different web servers, to dis- tribute the work load. For example, one server in the USA and one server somewhere in Europe may hold the same information. The user may wish to access the newest server, or the server having the smallest work load at a given time. For ordinary telephone connections, the group of telephones is handled by a private branch exchange (PBX) which routes any incoming calls to any available line. As mentioned above, traditional links in a web page can only lead to one particular destination and not select one of several destinations. Summary of the Invention It is an object of the present invention to enable the establishment of an Internet connection to one of a number of possible locations. It is another object of the invention to achieve flexible links in an IP network using an Internet Browser. It is yet another object to create a link for which the endpoint is determined when the link is clicked, depending on time and momentary conditions. The above mentioned objects are achieved according to the invention, by a method of creating a link in a web page viewed in a browser on a computer, said link at any time leading to one of a number of possible end points, the method comprising the steps of - providing an address table in or in connection to the host from which the web page is retrieved, said address table providing the addresses of the possible end points at which the link may point, and - when a user clicks on the link, selecting one of the possible end points from the table and setting up a connection to said end point. An address table accessible from or comprised in, a web server in an IP network, comprising the addresses of at least one host or terminal in the IP network and a web server comprising such an address table are also disclosed. The links may be any kind of Internet links, for example, site addresses (HTTP addresses), e-mail addresses or IP telephone connections. The invention offers the following advantages: A user can get in touch with the most suitable of a group of people at any given time, by telephone or electronic mail, by clicking on a link common to the group. The method can be used without any extra equipment at the user's site and very little extra equipment as a whole. Brief Description of the Drawings Figure 1 is a block diagram of a first embodiment of the invention, Figure 2 is a block diagram of a second embodiment of the invention, Figure 3 is a flow chart of the establishment of a connection according to the invention, Figure 4 is a flow chart of the procedure of selecting an address for the connection according to one embodiment of the invention, Figure 5 is a flow chart of the procedure of selecting an address for the connection according to another embodiment of the invention. Detailed Description of Embodiments Figure 1 shows a first embodiment of the invention. A first computer 1 used by a user ul, which may be a personal computer (PC), a workstation or a terminal in a computer network or of a mainframe computer, comprises a web browser. The computer 1 is connected to an IP telephone 3 so that telephone connections may be set up from the computer 1 in a way common in the art. The IP telephone may also be comprised in the computer 1. A number of terminals 5a, 5b, 5c, 5d, 5e belong to the same group 5, for example a shop such as a travel agency. When a connection is to be set up from the computer 1 to one of the terminals 5a, 5b, 5c, 5d, 5e, probably no particular terminal is desired. Possibly the user u! does not even know the number to any of the terminals. The travel agency has a home page on the Internet, located on a web server 7. In the typical situation, the user ul has opened the home page of the travel agency in the web browser on the computer 1. Said web page may comprise a link to the travel agency in which the terminals 5a-5e are located. By clicking on said link, the user is able to establish a connection to one of the terminals 5a-5e. The terminal to connect to may be selected according to different criteria, which will be discussed in more detail in connection with Figures 4 and 5. The simplest situation would be to select any one of the terminals that are free at any given time. Thus, the teirninal to which to connect may vary with time, which would require a flexible link. According to the invention such a flexible link is achieved by introducing an address table 9 in, or in connection with, the web server 7. The address table 9 comprises the addresses of all the terminals 5a-5e belonging to the group 5, together with information about the status of each line, and possibly other information that may be relevant when selecting a terminal. In the example with the travel agency, each terminal may be associated, for example, with a geographical area and the terminal would be selected according to where the user ul wanted to go to. When the user ul wishes to get in touch with the travel agency, he clicks on the telephone link in the home page to establish a connection. The link may have the form "http://host/call(a,b)", where host is the address of the web server 7, a is the identity of the person making the call and b is the address of the call centre, in the current example, the address table of travel agency, located on the web server 7. This initiates a CGI program or the like which creates a web page. In this case, the web page comprises commands to be executed, rather than information to be displayed. The script may comprise several commands, however, the essential command in this context is the command to establish the call. As explained above, it cannot be determined until the link has been clicked which one of the terminals 5a-5e to connect to. This may depend on the current situation, and/or the user may have a profile specifying special interests or requirements. The user profile is preferably stored in or in connection to the web server or the address table. The terminal to connect to is determined by looking in the address table 9 found in or in connection to the web server 7. The exact address may be selected according to various algorithms, as discussed below in connection with Figures 4 and 5. No standard has been defined for telephone connection commands. One known syntax, used by the Microsoft Explorer, is "callto: address" where address is the address to be connected to. In the case described here, the b in the URL "http:/Yhost/caιl(a,b)", which signifies the travel agency 5, is replaced by the address of one individual terminal 5a-5e found in the travel agency. The address may be, for example an IP address. In a preferred embodiment the web page comprises two commands, the last of the three initiating the connection. The first command simply returns to displaying the previous web page in the browser. In this way the user still sees the home page of the travel agency, with just a very brief interruption. The second command starts the IP telephone service, if this service is not already active, and establishes the call. Instead of establishing a telephone connection, the link may be intended for sending an e-mail to one of a number of addresses. In this case, instead of the command "callto: b", the command "mailto: b" would be used. The mail address to which to send the mail could be selected in similar ways as discussed in connection with Fig- ures 4 and 5. Figure 2 shows another embodiment of the invention. Like in Figure 1, a computer 101 comprises a web browser. A web page is open in the browser, said web page comprising a link. In this case, the link points to a group of individual sites 105, 106, each site 105, 106 comprising the same web page, file or the like. In other words, the information to be retrieved when clicking on the link may be found on either site 105, 106. The user of the computer 101 therefore wants the link to point to whichever site is the fastest at any given time, depending on the momentary workload. Or the user wants the link to point to the site nearest the computer 101, to mmimize the connection costs. Alternatively, if one of the sites is unavailable for any reason, the user wants the link to point to the site that is available at the moment. Thus, the link should be flexible. This is solved in a similar way as described in connection with Figure 1 : A web server 107 comprises an address table 109, said address table in turn comprising address information and information about the availability and momentary work load of each site comprising the same information. The link to the site is again a CGI program which creates a web page comprising commands. As above, the script may comprise several commands, however, the essential command in this context is the command to open the new site. As explained above, it cannot be determined until the link has been clicked which one of the sites 105, 106 to connect to. This is determined by looking in the address table 109 found on the web server 107. As discussed above, the exact address may be selected according to which one will be fastest, or most economical, or simply which one is available. The web browser must be able to handle interactive web pages, or scripts. Figure 3 shows the actions carried out to establish a connection according to the invention: Step S31: The user clicks on the link in the web page. An HTTP request is thereby sent to the web server. Step S32: The HTTP request is resolved by the web server, for example, with a CGI. Step S33 : The CGI program creates a web page comprising a script, for example, a JavaScript, using data from the address register. The script comprises an open URL command. The URL is a "callto:" link with address data found in the address register. Step S34: The HTTP reply is sent to the web browser. Step S35: The web browser receives and executes the script. Step S36: The IP phone is started if needed. This is needed if a telephone connection is to be set up and the IP phone is not already active. The connection is set up between the computer 1, 101 and the terminal 5a-5e or site 105, 106 selected in step S33. Figure 4 shows the criteria for selecting what terminal to connect to according to one embodiment of the invention. Step S41: Has the user been connected to one of the terminals before? If yes, go to step S42; if no, go to step S44. Step S42: Is a specialist in the desired field available? For example, a specialist on the desired destination. If yes, then go to step S43; if no, go to step S45. Step S43: Select the terminal identified in step S41 or S42. Step S44: Is the line to the terminal selected in step S43 free? If yes, go to step S46; if no, wait until the line is free, then go to step S46. Step S45: Select any available terminal. Step S46 Set up the connection between the computer 1 and the selected termi- nal. Of course, according to another embodiment, the user may not have to wait for a line to be free in steps S42 and S45. Instead if the line is not free, the procedure will proceed directly with step S44 or step S47, respectively. It may be feasible to set up a schedule of what terminal to connect to, so that calls are not always connected to the same terminal. Figure 5 shows the criteria for selecting a host to connect to, in the situation shown in Figure 2, according to one embodiment of the invention. Step S51: The host located nearest to the terminal 101 is selected. Step S52: Is the selected host up and running? If yes, go to step S54; if no, go to step S53. Step S53: Select the next nearest host. Go to step S52. Step S54: Is the selected host overloaded? If yes, go to step S53; if no, go to step S55. Step S55: Connect to the selected host. As will be readily understood by the person skilled in the art, this is only one of several perceivable algorithms for selecting a host to connect to. It would of course be possible, for ex.ample, to determine the work load of all the hosts, in this case hosts 105 and 106 in Figure 2. and to connect to the host that has the smallest work load at the moment.

Claims: Claims 1. A method of creating a link in a web page viewed in a browser on a computer, said link at any time leading to one of a number of possible end points, characterized by - providing an address table in or in connection to the host from which the web page is retrieved, said address table providing the addresses of the possible end points at which the link may point, - when a user clicks on the link, selecting one of the possible end points from the table and setting up a connection to said end point. 2. A method according to claim 1, characterized by selecting a possible end point according to the user's preferences. 3. A method according to claim 1 or 2, characterized by selecting an end point to which the user has previously been connected. 4. A method according to claim 1 or 2, characterized by selecting the end point nearest to the user. 5. A method according to any one of the preceding claims, characterized by selecting the end point currently having the lowest work load. 6. A method according to any one of the preceding claims, characterized in that the end point is an IP telephone or a mail address. 7. A method according to any one of claims 1-5, characterized in that the end point is a host in the internet. 8. An address table (9; 109) characterized in that - it is accessible from or comprised in, a web server in an IP network, - it comprises the addresses of at least one host or terminal (5a-5e) in the IP network. 9. An address table (9; 109) according to claim 8, characterized in that it comprises IP addresses to terminals in said IP network. 10. An address table (9;109) according to claim 8 or 9, characterized in that said address table comprises information, for each of the hosts or terminals listed, about the current work load of the host or terminal (5a-5e; 105, 106). 11. A server (7; 107) in an IP network, comprising web pages and/or scripts that may be used to produce web pages in an internet browser located in a computer (1; 101) connected to said IP network, and to receive HTTP requests from said comp- tuer (l; 101), characterized in that it comprises, or has access to, an address table (9; 109) comprising the addresses of at least two hosts or terminals (5a-5e) in the IP network. 12. A server (7; 107) according to claim 11, characterized in that it comprises logics for, when a link to an address table is clicked at said computer (1; 101), selecting a suitable host or terminal (5a-5e; 105, 106) in the table (9; 109) returning the address of said suitable host or terminal (5a-5e; 105, 106) to the computer (1; 101). 13. A server (7; 107) according to claim 11 or 12, characterized in that said address table comprises IP addresses to terminals in said IP network. 14. A server (7; 107) according to claim 11, 12 or 13, characterized in that said address table comprises information, for each of the hosts or terminals listed, about the current work load of the host or terminal (5a-5e; 105, 106). 15. A server (7; 107) according to any one of claims 11-14, characterized in that it comprises user profiles of users who have been connected to the server (7; 107), specifying the special requirements or desires of each user.

Inventors: GUSTAFSSON HENRIK, GUSTAFSSON, HENRIK
Applicants: ERICSSON TELEFON AB L M, GUSTAFSSON HENRIK, TELIA AB, GUSTAFSSON, HENRIK, TELEFONAKTIEBOLAGET LM ERICSSON (PUBL), TELIA AB (PUBL)
Application year: 1998
Main classification: G06F17
IPC codes: G06F17