US20020013838A1 - Method and system to select the highest speed server among web servers - Google Patents

Method and system to select the highest speed server among web servers Download PDF

Info

Publication number
US20020013838A1
US20020013838A1 US09/963,013 US96301301A US2002013838A1 US 20020013838 A1 US20020013838 A1 US 20020013838A1 US 96301301 A US96301301 A US 96301301A US 2002013838 A1 US2002013838 A1 US 2002013838A1
Authority
US
United States
Prior art keywords
client
web server
web
network information
performance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US09/963,013
Inventor
Takayuki Kushida
Tatsuo Miyazawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MIYAZAWA, TATSUO, KUSHIDA, TAKAYUKI
Publication of US20020013838A1 publication Critical patent/US20020013838A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1019Random or heuristic server selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer

Definitions

  • the present invention relates to a high-speed web server selection method and system, and relates in particular to a method and a system for selecting, from among a plurality of web servers, a server that can quickly provide content for a client, and a storage medium on which a high-speed web server selection program is stored.
  • the Internet is a network that is based on the exchange of information using packets with variable lengths
  • routers for transferring packets, that are located along packet transfer routes refer to destination addresses included in the headers of received packets, compare the addresses with route entries in locally available route tables, and transmit the packets to the next hosts that are included in the entries that have been matched. Because of these packet transfer procedures that are performed en route, a packet is repeatedly transmitted until it finally arrives at the destination host. Further, since a packet is merely transferred when an entry has been matched, no guarantee is provided concerning the security of information.
  • TCP Transmission Control Protocol
  • QOS Quality of Service
  • This technical limitation constitutes a problem in that it is impossible to predict bandwidth and delay time when an arbitrary client and a server exchange data content. And since the service employed for the Internet is generally the client-server type, all the services are affected by the above problems. That is, conventionally, a problem exists in that services provided along special lines or VANs can not be duplicated on the Internet. And when there is a concentration of accesses at a specific router on the Internet, or when the band at the en route link is too narrow, accesses tend to accumulate and to exceed the capacity of the band used for traffic, and traffic congestion ensues. Therefore, when packets travel along this route their transfers is delayed due to the traffic congestion, or packets are dropped by the router at a specific rate, without being transferred to the next host.
  • the current Internet application that is used the most is the WWW (World Wide Web).
  • HTTP Hyper Text Transfer Protocol
  • a simple client-server type protocol that uses TCP is employed.
  • the transfer performance is also sometimes reduced due to traffic congestion en route. And this constitutes a problem in that the quality of the network service is deteriorated, and accordingly, for an end user usability is also deteriorated.
  • a high-speed web server selection method for, when a content request is issued by a client to a plurality of web servers, to which the client is connected via a network, having the same content, selecting one of the web servers that can at high speed provide the requested content for the client, one of the web server performing: (1) a step (S 310 in FIG. 3) of receiving the content request from the client; (2) a step (S 320 in FIG. 3) of measuring the performance of a network information transfer for the client; (3) a step (S 330 in FIG. 3) of requesting that the remaining web servers measure the performance of a network information transfer for the client; (4) a step (S 340 in FIG.
  • the web server comprises a step (S 540 in FIG. 5) of replacing the host name in link information, used to designate the location of content, with the host name of the web server that is selected.
  • the network information transfer performance is obtained by measuring a delay time between the client and each of the web servers, and the web server that has the shortest delay time is selected as the web server that can provide the best transfer performance for the client (S 530 in FIG. 5).
  • the step (5) of selecting the web server includes a step of storing the results obtained by measuring the performances of the network information transfer, and of, when the same client issues another content request, employing the results to select the web server that can provide the best transfer performance, while skipping the process for the measurement of the performances of the network information transfer.
  • a high-speed web server selection system for selecting, from among a plurality of web servers having the same content, a web server that can (at high speed) transmit content to a client who has issued a request for the content, one of the web servers comprising: (1) means for receiving the content request from the client; (2) means for measuring the performance of a network information transfer for the client; (3) means for requesting that the remaining web servers measure the performance of a network information transfer for the client; (4) means for receiving from each of the remaining web servers the results obtained by measuring the performance of the network information transfer; and (5) means for employing the results of the measurements of the performances of the network information transfer provided by all of the servers to select the web server that can provide the best transfer performance for the client.
  • the web server comprises means for replacing the host name in link information, used to designate the location of content, with the host name of the web server that is selected.
  • the network information transfer performance is obtained by measuring a delay time between the client and each of the web servers, and the web server that has the shortest delay time is selected as the web server that can provide the best transfer performance for the client.
  • the means (5) for selecting the web server includes means for storing the results obtained by measuring the performances of the network information transfer, and for, when the same client issues another content request, employing the results to select the web server that can provide the best transfer performance, while skipping the process for the measurement of the performances of the network information transfer.
  • FIG. 1 is a diagram showing the general configuration of a system according to the present invention.
  • FIG. 2 is a diagram showing the arrangement of a web server A 120 .
  • FIG. 3 is a flowchart showing the fast server selection processing.
  • FIG. 4 is a flowchart showing the processing performed for estimating a delay time for the client.
  • FIG. 5 is a detailed flowchart showing the fast server selection processing.
  • FIG. 6 is a diagram showing the arrangement of a web server B 130 .
  • FIG. 7 is a diagram showing an example hardware arrangement for a web server and a client according to the present invention.
  • FIG. 1 is a diagram showing the general configuration of a system according to the present invention.
  • a web client 110 which is an ordinary web browser, issues an HTTP request to a web server and receives and displays its response.
  • a web server A 120 and a web server B 130 include not only a normal web server function, but also a function for measuring network information transfer performance, and a function for establishing connections between servers. It is preferable that between the servers the Inter-Server Protocol be used.
  • the web server A 120 when the web client 110 issues the common HTTP Get Request to the web server A 120 , the web server A 120 requests that multiple web servers B 130 measure the delay time for the web client 110 . Upon the receipt of the request, the individual web servers B 130 measure the delay time for the web client 110 . The web server A 120 also individually measures the delay time for the web client 110 .
  • a plurality of delay times for the web client 110 are collected from the web server A 120 and the web servers B 130 . Analyzation of these results is then performed, and which web server is the closest to the web client 110 is determined. If this web server is a web server C, the name of the host at the location of an HTML file whereat the web server name is written is replaced with the name of the web server C. The web client 110 receives the corrected HTML file, and based on this HTML file, can access the fastest web server to obtain the requested content.
  • FIG. 3 is a flowchart showing the processing performed for selecting a server that can provide the content to the client at high speed upon the receipt of a content request from the client.
  • one of the web servers receives a content request from the client.
  • the web server estimates the delay time for the client.
  • the web server requests that the other web servers estimate the delay times between the client and themselves.
  • the web server receives the estimated delay times prepared by the other web servers.
  • the web server employs the estimated delay times prepared by all the web servers to select the web server that can provide the best transfer performance for the client.
  • FIG. 2 is a diagram showing the internal arrangement of the web server A 120 .
  • the web server A 120 comprises: an inter-web server communication unit 121 ; a delay estimation unit 122 , a database management unit 123 , a web server component unit 124 and a web component correction unit 125 .
  • the inter-web server communication unit 121 transmits as a parameter the IP address of a client to a plurality of web servers, to request that they individually measure the delay time to the client.
  • the delay estimation unit 122 measures a delay for the client, compares this delay time with the delay times obtained from the other web servers, and determines an optimal time.
  • the database management unit 123 has a function for storing in the database traffic data collected in the past.
  • the web server component unit 124 has an ordinary web server function.
  • the web component correction unit 125 analyzes the pertinent web page, and corrects the name of a host in the link portion.
  • FIG. 6 is a diagram showing the arrangement of the web server B 130 .
  • the web server B 130 comprises an inter-web server communication unit 131 , a delay estimation unit 133 and a web server component unit 132 .
  • the inter-web server communication unit 131 receives a delay estimate request from the web server A 120 , and returns, to the web server A 120 , an estimate prepared by the delay estimation unit 133 .
  • the delay estimation unit 133 estimates the delay time for the client, and transmits the results to the inter-web server communication unit 131 .
  • the communication between servers is performed by the inter-web server communication unit 121 and the inter-web server communication unit 131 using an inter-server protocol 210 .
  • the arrangement used for the web server A may be employed for each web server B because the arrangement used for the web server A includes all the components in the arrangement for the web server B. In short, the same arrangement may be employed for all the web servers.
  • a delay time measurement process 300 is performed as follows.
  • the delay estimation units 122 and 133 of the web server A 120 and the web servers B 130 transmit N ICMP echo request packets to the client 110 , and each receives an ICMP echo reply packet from the client 110 .
  • Each delay estimation unit 122 or 133 calculates a difference between the time at which the ICMP echo request packet was transmitted and the time at which the ICMP echo reply packet, and defines the difference as the delay time.
  • the measurement of the delay time is repeated a plurality of times.
  • T AC the delay time from the web server A 120 to the client 110 in FIG. 1
  • T BC1 the delay time from the web server B 130 to the client 110
  • T BC2 the delay time to the other web server B
  • T BC is the minimum delay, so that the web server B (B 1 ) is found to be the closest server to the client 110 .
  • a link relative to the same host in the HTML file, which is included in the response to the HTTP Get Request of the client 110 is corrected as follows:
  • the HTML file wherein the link is corrected to reflect the name of the server having the shortest delay time, can be transmitted to the client 110 .
  • the client 110 Upon the receipt of the HTML file, the client 110 displays the HTML, and when the link location is clicked on by the web browser of the client 110 , the HTTP Get Request is issued to the server that can be accessed within the shortest time, so that desired content can be obtained quickly.
  • the web component correction unit 125 is in charge of the HTML correction. During the correction process for the HTML file contents, the host name entered in the link information is replaced with an obtained host name.
  • FIG. 4 is a flowchart showing the processing performed when a delay time between the web server B 130 and the client 110 is estimated.
  • the web server B 130 receives, from the web server A 120 , a request that an estimated delay time be prepared.
  • the web server B 130 transmits an ICMP echo request packet to the client 110
  • the web server B 130 receives an ICMP echo reply packet from the client 110 .
  • the web server B 130 transmits, to the web server A 120 , the results obtained for the delay time estimation.
  • FIG. 5 is a flowchart showing the processing for estimating a delay time between the web server A 120 and the client 110 and for selecting a high-speed server.
  • the web server A 120 issues an ICMP echo request packet to the client 110
  • the web server A 120 receives an ICMP echo reply packet from the client 110 .
  • the web server A 120 compares the estimated delay time with the estimated delay times received from the web servers B 130 , and at step S 530 , selects the fastest server.
  • the HTML file including the information for linking to the contents is changed, and at step S 550 , the resultant HTML file is transmitted to the client 110 .
  • the method of the invention can be scalably employed in the same manner for many web servers. If the number of web servers is increased, the time is extended by a length of time that is equivalent to the transmission of an inquiry to each web server. Therefore, for example, an inquiry is issued to ten servers that are selected at random, and a server who transmits a reply within the shortest time is employed. In this case, although the best results may not be employed for all the servers, locally good results are obtained.
  • the waiting time that is required for the completion of the measurement can be reduced and the performance can be improved. It is preferable, however, that the table be erased periodically and updated. Further, when this table is stored in each server, the client can be notified of the optimal server, regardless of which server receives the request from the client. Further, between the web servers, the delay time for a client that frequently accesses the server is frequently exchanged asynchronously with a request that is issued each time. When the time to the client is exchanged by web servers, a client that frequently employs the network system can always access the latest server that provides a superior performance.
  • the delay time between the web server and the client is measured to examine the network information transfer performance.
  • another network performance index such as a network band, a network speed, an error rate or a retry count may be employed to modify the present invention without departing from the scope of the invention.
  • FIG. 7 is a schematic diagram illustrating a hardware configuration for the web server and the web client used for the present invention.
  • a system 100 comprises a central processing unit (CPU) 1 and a main memory 4 .
  • the CPU 1 and the main memory 4 communicate via a bus 2 and an IDE controller 25 with a hard disk drive HDD 13 (or another storage medium, such as a CD-ROM 26 or a DVD 32 ), which is an auxiliary storage device.
  • the CPU 1 and the main memory 4 are also connected via the bus 2 and a SCSI controller 27 to a hard disk drive 30 (a drive for a storage medium, such as an MO 28 , or a CD-ROM drive 29 or a DVD 31 ), which is an auxiliary storage device.
  • a floppy disk drive 20 is connected to the bus 2 via a floppy disk controller (FDC) 19 .
  • FDC floppy disk controller
  • a browser program, code for an operating system, an inter-web server communication program, a delay estimation program, a database management program, a web server component, a web component correction program, and other data, all of which are used, in coordination with an operating system, to issue instructions to the CPU 1 and to implement the provisions of the present invention, are stored on a floppy disk (or another storage medium, such as a CD-ROM 26 or a DVD 32 ) that is inserted into the floppy disk drive 20 , on the hard disk drive 13 and in a ROM 14 .
  • These programs or data can be loaded into the memory 4 for execution.
  • the code for these computer programs can be compressed, or can be divided into a plurality of code segments and recorded using a plurality of media.
  • the system 100 further includes user interface hardware, the components of which include a pointing device (a mouse, a joy stick, etc.) 7 or a keyboard 6 , for entering data, and a display 12 , for browsing a web site.
  • a printer can be connected via a parallel port 16
  • a modem can be connected via a serial port 15 .
  • This system 100 is connected to a network via the serial port 15 and the modem, or via a communication adaptor 18 (an ethernet or a token ring card) to communicate with another computer or another server.
  • the inter-web server communication unit communicate with another web server or a client via the modem or the communication adaptor.
  • the web site including the content is generally connected via the Internet; however, it may be connected via a local web server in a WAN or a LAN, and either way does not limit the execution of the present invention.
  • a remote transceiver may be connected to the serial port 15 or to the parallel port 16 for the exchange of data using infrared rays or radio waves.
  • a loudspeaker 23 receives D/A (digital/analog) converted sounds or tone signals from an audio controller 21 via an amplifier 22 , and releases them as sound or speech.
  • the audio controller 21 also performs an A/D conversion for speech information input at a microphone 24 to carry the speech information outside the system.
  • An application such as ViaVoice (a trademark of IBM) may be employed to replace the manual operation of a GUI command unit of the present invention with an operation using speech commands.
  • an application such as a homepage reader (a trademark of IBM), may be employed to read web site information on the display, so that desired contents can be requested from a web server.
  • the user information terminal 130 of the present invention can be provided by employing an ordinary personal computer (a PC); a work station; a notebook PC; a palm top PC; a network computer; various types of electric home appliances, such as televisions, that incorporate a computer; a game machine having a communication function; a communication terminal device, such as a telephone, a facsimile machine, a portable telephone, a PHS or a PDA; or a combination of these apparatuses.
  • a PC personal computer
  • a work station a notebook PC
  • a palm top PC a network computer
  • various types of electric home appliances such as televisions, that incorporate a computer
  • a game machine having a communication function such as a communication terminal device, such as a telephone, a facsimile machine, a portable telephone, a PHS or a PDA; or a combination of these apparatuses.
  • a communication terminal device such as a telephone, a facsimile machine, a portable telephone, a PHS or a
  • the delay a client encounters with web servers on the Internet that have the same content can be minimized.
  • congested network areas can be avoided.
  • all of the required software is available at a server, a client need only prepare a standard web browser, and requires no dedicated software.
  • a web service having only a small delay can be provided for a web user, without changing the conventional web content and the conventional environment of the client.

Abstract

When a content request is issued by a client to a plurality of web servers, to which the client is connected via a network, each of the plurality of web servers having the same requested content, the web servers is selected that can provide the requested content for the client at the highest speed. To do this, one of the web servers performs the following steps: (1) a step of receiving the content request from the client; (2) a step of measuring the performance of a network information transfer for the client; (3) a step of requesting that the remaining web servers measure the performance of a network information transfer for the client; (4) a step of receiving from each of the remaining web servers the results obtained by measuring the performance of the network information transfer; and (5) a step of employing the results of the measurements of the performances of the network information transfer provided by all of the servers to select the web server that can provide the best transfer performance for the client.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0001]
  • The present invention relates to a high-speed web server selection method and system, and relates in particular to a method and a system for selecting, from among a plurality of web servers, a server that can quickly provide content for a client, and a storage medium on which a high-speed web server selection program is stored. [0002]
  • 2. Related Art [0003]
  • The Internet is a network that is based on the exchange of information using packets with variable lengths On this network, routers, for transferring packets, that are located along packet transfer routes refer to destination addresses included in the headers of received packets, compare the addresses with route entries in locally available route tables, and transmit the packets to the next hosts that are included in the entries that have been matched. Because of these packet transfer procedures that are performed en route, a packet is repeatedly transmitted until it finally arrives at the destination host. Further, since a packet is merely transferred when an entry has been matched, no guarantee is provided concerning the security of information. [0004]
  • In order to establish a reliable path between two arbitrary hosts on the Internet, generally TCP (Transmission Control Protocol) is employed. According to this protocol, when, for a specific reason, a packet is damaged or lost en route, this is detected by the host at the final destination, and a data recovery process is initiated to request that the packet be retransmitted. By using this data recovery system, a reliable virtual path can be established between two hosts on the Internet. Further, an algorithm for avoiding heavy traffic en route is also incorporated. However, TCP does not have a function for guaranteeing delay time. In other words, QOS (Quality Of Service) is not ensured between hosts connected to the Internet. Furthermore, a service related to bandwidth and delays can not be provided via the Internet, unlike via a dedicated line connection. [0005]
  • This technical limitation constitutes a problem in that it is impossible to predict bandwidth and delay time when an arbitrary client and a server exchange data content. And since the service employed for the Internet is generally the client-server type, all the services are affected by the above problems. That is, conventionally, a problem exists in that services provided along special lines or VANs can not be duplicated on the Internet. And when there is a concentration of accesses at a specific router on the Internet, or when the band at the en route link is too narrow, accesses tend to accumulate and to exceed the capacity of the band used for traffic, and traffic congestion ensues. Therefore, when packets travel along this route their transfers is delayed due to the traffic congestion, or packets are dropped by the router at a specific rate, without being transferred to the next host. [0006]
  • The current Internet application that is used the most is the WWW (World Wide Web). On the WWW, HTTP (Hyper Text Transfer Protocol), a simple client-server type protocol that uses TCP, is employed. But between a WWW client and a WWW server, the transfer performance is also sometimes reduced due to traffic congestion en route. And this constitutes a problem in that the quality of the network service is deteriorated, and accordingly, for an end user usability is also deteriorated. [0007]
  • To resolve the above problems, there have been proposed a method for performing a manual search for a nearby host, a method for dispersing a load imposed on a host at which many accesses have concentrated, and a method for providing special measurement software for a client to be used for measuring the delay times at a server. However, no method has been provided for efficiently selecting a server that has provided an excellent performance. [0008]
  • SUMMARY OF THE INVENTION
  • It is one object of the present invention to provide a method and a system for suppressing the reduction of the speed across the Internet of a transfer effected between a client and a server. [0009]
  • It is another object of the present invention to provide a method and a system for improving the usability of the Internet for an end user. [0010]
  • It is an additional object of the present invention to provide a method and a system for minimizing transfer delays from a web server on the Internet that has the same content. [0011]
  • It is a further object of the present invention to provide a method and a system for selecting a web server in order to avoid congested network areas. [0012]
  • It is a still further object of the present invention to provide a method and a system for the high speed selection of a server without any special software being required for a client. [0013]
  • It is one more object of the present invention to provide a method and a system for providing, for a web user, a web service for which there is only a small network delay, without changing the conventional web contents and the environment of a client. [0014]
  • To achieve the above objects, according to one aspect of the present invention, a high-speed web server selection method is provided for, when a content request is issued by a client to a plurality of web servers, to which the client is connected via a network, having the same content, selecting one of the web servers that can at high speed provide the requested content for the client, one of the web server performing: (1) a step (S[0015] 310 in FIG. 3) of receiving the content request from the client; (2) a step (S320 in FIG. 3) of measuring the performance of a network information transfer for the client; (3) a step (S330 in FIG. 3) of requesting that the remaining web servers measure the performance of a network information transfer for the client; (4) a step (S340 in FIG. 3) of receiving from each of the remaining web servers the results obtained by measuring the performance of the network information transfer; and (5) a step (S350 in FIG. 3) of employing the results of the measurements of the performances of the network information transfer provided by all of the servers to select the web server that can provide the best transfer performance for the client.
  • Further, the web server comprises a step (S[0016] 540 in FIG. 5) of replacing the host name in link information, used to designate the location of content, with the host name of the web server that is selected.
  • In addition, the network information transfer performance is obtained by measuring a delay time between the client and each of the web servers, and the web server that has the shortest delay time is selected as the web server that can provide the best transfer performance for the client (S[0017] 530 in FIG. 5).
  • The step (5) of selecting the web server includes a step of storing the results obtained by measuring the performances of the network information transfer, and of, when the same client issues another content request, employing the results to select the web server that can provide the best transfer performance, while skipping the process for the measurement of the performances of the network information transfer. [0018]
  • According to another aspect of the invention, a high-speed web server selection system is provided for selecting, from among a plurality of web servers having the same content, a web server that can (at high speed) transmit content to a client who has issued a request for the content, one of the web servers comprising: (1) means for receiving the content request from the client; (2) means for measuring the performance of a network information transfer for the client; (3) means for requesting that the remaining web servers measure the performance of a network information transfer for the client; (4) means for receiving from each of the remaining web servers the results obtained by measuring the performance of the network information transfer; and (5) means for employing the results of the measurements of the performances of the network information transfer provided by all of the servers to select the web server that can provide the best transfer performance for the client. [0019]
  • Further, the web server comprises means for replacing the host name in link information, used to designate the location of content, with the host name of the web server that is selected. [0020]
  • In addition, the network information transfer performance is obtained by measuring a delay time between the client and each of the web servers, and the web server that has the shortest delay time is selected as the web server that can provide the best transfer performance for the client. [0021]
  • The means (5) for selecting the web server includes means for storing the results obtained by measuring the performances of the network information transfer, and for, when the same client issues another content request, employing the results to select the web server that can provide the best transfer performance, while skipping the process for the measurement of the performances of the network information transfer. [0022]
  • According to an additional aspect of the invention, a computer-readable storage medium on which a high-speed web server selection program is recorded for the selection, from among a plurality of web servers having the same content, a web server that can (at high speed) transmit content to a client who has issued a request for the content, the high-speed web server selection program permitting a computer to perform: (1) a function for receiving the content request from the client; (2) a function for measuring the performance of a network information transfer for the client; (3) a function for requesting that the remaining web servers measure the performance of a network information transfer for the client; (4) a function for receiving from each of the remaining web servers the results obtained by measuring the performance of the network information transfer; and (5) a function for employing the results of the measurements of the performances of the network information transfer provided by all of the servers to select the web server that can provide the best transfer performance for the client.[0023]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a diagram showing the general configuration of a system according to the present invention. [0024]
  • FIG. 2 is a diagram showing the arrangement of a web server A [0025] 120.
  • FIG. 3 is a flowchart showing the fast server selection processing. [0026]
  • FIG. 4 is a flowchart showing the processing performed for estimating a delay time for the client. [0027]
  • FIG. 5 is a detailed flowchart showing the fast server selection processing. [0028]
  • FIG. 6 is a diagram showing the arrangement of a [0029] web server B 130.
  • FIG. 7 is a diagram showing an example hardware arrangement for a web server and a client according to the present invention.[0030]
  • DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • FIG. 1 is a diagram showing the general configuration of a system according to the present invention. In FIG. 1, a [0031] web client 110, which is an ordinary web browser, issues an HTTP request to a web server and receives and displays its response. A web server A 120 and a web server B 130 include not only a normal web server function, but also a function for measuring network information transfer performance, and a function for establishing connections between servers. It is preferable that between the servers the Inter-Server Protocol be used.
  • In FIG. 1, when the [0032] web client 110 issues the common HTTP Get Request to the web server A 120, the web server A 120 requests that multiple web servers B 130 measure the delay time for the web client 110. Upon the receipt of the request, the individual web servers B 130 measure the delay time for the web client 110. The web server A 120 also individually measures the delay time for the web client 110.
  • As a result, a plurality of delay times for the [0033] web client 110 are collected from the web server A 120 and the web servers B 130. Analyzation of these results is then performed, and which web server is the closest to the web client 110 is determined. If this web server is a web server C, the name of the host at the location of an HTML file whereat the web server name is written is replaced with the name of the web server C. The web client 110 receives the corrected HTML file, and based on this HTML file, can access the fastest web server to obtain the requested content.
  • FIG. 3 is a flowchart showing the processing performed for selecting a server that can provide the content to the client at high speed upon the receipt of a content request from the client. First, at step S[0034] 310, one of the web servers receives a content request from the client. At step S320, the web server estimates the delay time for the client. At step S330, the web server requests that the other web servers estimate the delay times between the client and themselves. At step S340, the web server receives the estimated delay times prepared by the other web servers. Finally, at step S350, the web server employs the estimated delay times prepared by all the web servers to select the web server that can provide the best transfer performance for the client.
  • The web servers A [0035] 120 and B 130 in FIG. 1 will now be described in detail. FIG. 2 is a diagram showing the internal arrangement of the web server A 120. As is shown in FIG. 2, the web server A 120 comprises: an inter-web server communication unit 121; a delay estimation unit 122, a database management unit 123, a web server component unit 124 and a web component correction unit 125. The inter-web server communication unit 121 transmits as a parameter the IP address of a client to a plurality of web servers, to request that they individually measure the delay time to the client. The delay estimation unit 122 measures a delay for the client, compares this delay time with the delay times obtained from the other web servers, and determines an optimal time. The database management unit 123 has a function for storing in the database traffic data collected in the past. The web server component unit 124 has an ordinary web server function. And the web component correction unit 125 analyzes the pertinent web page, and corrects the name of a host in the link portion.
  • FIG. 6 is a diagram showing the arrangement of the [0036] web server B 130. The web server B 130 comprises an inter-web server communication unit 131, a delay estimation unit 133 and a web server component unit 132. The inter-web server communication unit 131 receives a delay estimate request from the web server A 120, and returns, to the web server A 120, an estimate prepared by the delay estimation unit 133. The delay estimation unit 133 estimates the delay time for the client, and transmits the results to the inter-web server communication unit 131. The communication between servers is performed by the inter-web server communication unit 121 and the inter-web server communication unit 131 using an inter-server protocol 210. The arrangement used for the web server A may be employed for each web server B because the arrangement used for the web server A includes all the components in the arrangement for the web server B. In short, the same arrangement may be employed for all the web servers.
  • A delay [0037] time measurement process 300 is performed as follows. The delay estimation units 122 and 133 of the web server A 120 and the web servers B 130 transmit N ICMP echo request packets to the client 110, and each receives an ICMP echo reply packet from the client 110. Each delay estimation unit 122 or 133 calculates a difference between the time at which the ICMP echo request packet was transmitted and the time at which the ICMP echo reply packet, and defines the difference as the delay time. Preferably, the measurement of the delay time is repeated a plurality of times.
  • The analyzation of the delay time will now be described in detail. Generally, since the delay time measured on the Internet varies, an accurate delay time can not be obtained by using only one measurement. Therefore, in this invention, a packet of m bytes is transmitted to the client and the delay time is measured. Then, after this measurement has been repeated N times, the final delay time is determined. It is preferable, for analyzation of the delay time, that one of the following two delay times be employed as a delay time between a web server and a client: [0038]
  • (1) Delay time using a center value (M[0039] e) when N is an odd number, Te=T((N−1)/2+1) when N is an even number, Te=(TN/2+T(N/2+1))/2;
  • (2) Delay time using an average value (M[0040] av) Tav=(ΣT1)/N (where i=1, . . . , N)
  • Assume that the delay time from the [0041] web server A 120 to the client 110 in FIG. 1 is defined as TAC, the delay time from the web server B 130 to the client 110 is defined as TBC1, and the delay time to the other web server B is defined as TBC2. When the measurement results are obtained by the three servers as follows:
  • TBC1<TAC<TBC2,
  • T[0042] BC is the minimum delay, so that the web server B (B1) is found to be the closest server to the client 110. Thus, a link relative to the same host in the HTML file, which is included in the response to the HTTP Get Request of the client 110, is corrected as follows:
  • <a href=“http://B1/contents.html”>
  • Because of this correction, the HTML file, wherein the link is corrected to reflect the name of the server having the shortest delay time, can be transmitted to the [0043] client 110.
  • Upon the receipt of the HTML file, the [0044] client 110 displays the HTML, and when the link location is clicked on by the web browser of the client 110, the HTTP Get Request is issued to the server that can be accessed within the shortest time, so that desired content can be obtained quickly. It should be noted that the web component correction unit 125 is in charge of the HTML correction. During the correction process for the HTML file contents, the host name entered in the link information is replaced with an obtained host name.
  • FIG. 4 is a flowchart showing the processing performed when a delay time between the [0045] web server B 130 and the client 110 is estimated. At step S410 the web server B 130 receives, from the web server A 120, a request that an estimated delay time be prepared. At step S420, the web server B 130 transmits an ICMP echo request packet to the client 110, and at step S430, the web server B 130 receives an ICMP echo reply packet from the client 110. Finally, the web server B 130 transmits, to the web server A 120, the results obtained for the delay time estimation.
  • FIG. 5 is a flowchart showing the processing for estimating a delay time between the [0046] web server A 120 and the client 110 and for selecting a high-speed server. At step S510, the web server A 120 issues an ICMP echo request packet to the client 110, and at step S520 the web server A 120 receives an ICMP echo reply packet from the client 110. The web server A 120 compares the estimated delay time with the estimated delay times received from the web servers B 130, and at step S530, selects the fastest server. At step S540, the HTML file including the information for linking to the contents is changed, and at step S550, the resultant HTML file is transmitted to the client 110.
  • The method of the invention can be scalably employed in the same manner for many web servers. If the number of web servers is increased, the time is extended by a length of time that is equivalent to the transmission of an inquiry to each web server. Therefore, for example, an inquiry is issued to ten servers that are selected at random, and a server who transmits a reply within the shortest time is employed. In this case, although the best results may not be employed for all the servers, locally good results are obtained. [0047]
  • Since the pair of the client and the server that was optimal in the past is stored in a table, the waiting time that is required for the completion of the measurement can be reduced and the performance can be improved. It is preferable, however, that the table be erased periodically and updated. Further, when this table is stored in each server, the client can be notified of the optimal server, regardless of which server receives the request from the client. Further, between the web servers, the delay time for a client that frequently accesses the server is frequently exchanged asynchronously with a request that is issued each time. When the time to the client is exchanged by web servers, a client that frequently employs the network system can always access the latest server that provides a superior performance. Furthermore, according to the invention, the delay time between the web server and the client is measured to examine the network information transfer performance. However, another network performance index, such as a network band, a network speed, an error rate or a retry count may be employed to modify the present invention without departing from the scope of the invention. [0048]
  • FIG. 7 is a schematic diagram illustrating a hardware configuration for the web server and the web client used for the present invention. A [0049] system 100 comprises a central processing unit (CPU) 1 and a main memory 4. The CPU 1 and the main memory 4 communicate via a bus 2 and an IDE controller 25 with a hard disk drive HDD 13 (or another storage medium, such as a CD-ROM 26 or a DVD 32), which is an auxiliary storage device. The CPU 1 and the main memory 4 are also connected via the bus 2 and a SCSI controller 27 to a hard disk drive 30 (a drive for a storage medium, such as an MO 28, or a CD-ROM drive 29 or a DVD 31), which is an auxiliary storage device. A floppy disk drive 20 is connected to the bus 2 via a floppy disk controller (FDC) 19.
  • A browser program, code for an operating system, an inter-web server communication program, a delay estimation program, a database management program, a web server component, a web component correction program, and other data, all of which are used, in coordination with an operating system, to issue instructions to the CPU [0050] 1 and to implement the provisions of the present invention, are stored on a floppy disk (or another storage medium, such as a CD-ROM 26 or a DVD 32) that is inserted into the floppy disk drive 20, on the hard disk drive 13 and in a ROM 14. These programs or data can be loaded into the memory 4 for execution. The code for these computer programs can be compressed, or can be divided into a plurality of code segments and recorded using a plurality of media.
  • The [0051] system 100 further includes user interface hardware, the components of which include a pointing device (a mouse, a joy stick, etc.) 7 or a keyboard 6, for entering data, and a display 12, for browsing a web site. Preferably, the contents of a web server are browsed on the display 12 using the pointing device 7. Further, a printer can be connected via a parallel port 16, or a modem can be connected via a serial port 15. This system 100 is connected to a network via the serial port 15 and the modem, or via a communication adaptor 18 (an ethernet or a token ring card) to communicate with another computer or another server. It is preferable that the inter-web server communication unit communicate with another web server or a client via the modem or the communication adaptor. The web site including the content is generally connected via the Internet; however, it may be connected via a local web server in a WAN or a LAN, and either way does not limit the execution of the present invention. Further, a remote transceiver may be connected to the serial port 15 or to the parallel port 16 for the exchange of data using infrared rays or radio waves.
  • A [0052] loudspeaker 23 receives D/A (digital/analog) converted sounds or tone signals from an audio controller 21 via an amplifier 22, and releases them as sound or speech. The audio controller 21 also performs an A/D conversion for speech information input at a microphone 24 to carry the speech information outside the system. An application, such as ViaVoice (a trademark of IBM) may be employed to replace the manual operation of a GUI command unit of the present invention with an operation using speech commands. Further, an application, such as a homepage reader (a trademark of IBM), may be employed to read web site information on the display, so that desired contents can be requested from a web server.
  • It would therefore be easily understood that the [0053] user information terminal 130 of the present invention can be provided by employing an ordinary personal computer (a PC); a work station; a notebook PC; a palm top PC; a network computer; various types of electric home appliances, such as televisions, that incorporate a computer; a game machine having a communication function; a communication terminal device, such as a telephone, a facsimile machine, a portable telephone, a PHS or a PDA; or a combination of these apparatuses. The above described components, however, are merely examples, and not all of them are required for the present invention.
  • According to the present invention, the delay a client encounters with web servers on the Internet that have the same content can be minimized. With the arrangement of the present invention, congested network areas can be avoided. And since according to the method of the invention, all of the required software is available at a server, a client need only prepare a standard web browser, and requires no dedicated software. According to the present invention, on a network, a web service having only a small delay can be provided for a web user, without changing the conventional web content and the conventional environment of the client. [0054]

Claims (9)

1. A high-speed web server selection method for, when a content request is issued by a client to a plurality of web servers, to which said client is connected via a network, having the same content, selecting one of said web servers that can at high speed provide said requested content for said client, one said web server performing:
(1) a step of receiving said content request from said client;
(2) a step of measuring the performance of a network information transfer for said client;
(3) a step of requesting that the remaining web servers measure the performance of a network information transfer for said client;
(4) a step of receiving from each of said remaining web servers the results obtained by measuring said performance of said network information transfer; and
(5) a step of employing said results of said measurements of said performances of said network information transfer provided by all of said servers to select the web server that can provide the best transfer performance for said client.
2. The high-speed web server selection method according to claim 1, wherein said web server performs a step of replacing host name in link information, used to designate the location of content, with the host name of said web server that is selected.
3. The high-speed web server selection method according to claim 1, wherein said network information transfer performance is obtained by measuring a delay time between said client and each of said web servers; and wherein the web server that has the shortest delay time is selected as said web server that can provide the best transfer performance for said client.
4. The high-speed web server selection method according to claim 1, wherein said step (5) of selecting said web server includes: a step of storing said results obtained by measuring said performances of said network information transfer, and of, when said same client issues another content request, employing said results to select the web server that can provide the best transfer performance, while skipping the process for the measurement of said performances of said network information transfer.
5. A high-speed web server selection system for selecting, from among a plurality of web servers having the same content, a web server that can (at high speed) transmit content to a client who has issued a request for said content, one of said web servers comprising:
(1) means for receiving said content request from said client;
(2) means for measuring the performance of a network information transfer for said client;
(3) means for requesting that the remaining web servers measure the performance of a network information transfer for said client;
(4) means for receiving from each of said remaining web servers the results obtained by measuring said performance of said network information transfer; and
(5) means for employing said results of said measurements of said performances of said network information transfer provided by all of said servers to select the web server that can provide the best transfer performance for said client.
6. The high-speed web server selection system according to claim 5, wherein said web server comprises: means for replacing host name in link information, used to designate the location of content, with the host name of said web server that is selected.
7. The high-speed web server selection system according to claim 5, wherein said network information transfer performance is obtained by measuring a delay time between said client and each of said web servers, and the web server that has the shortest delay time is selected as said web server that can provide the best transfer performance for said client.
8. The high-speed web server selection system according to claim 5, wherein said means (5) for selecting said web server includes: means for storing said results obtained by measuring said performances of said network information transfer, and for, when said same client issues another content request, employing said results to select the web server that can provide the best transfer performance, while skipping the process for the measurement of said performances of said network information transfer.
9. A computer-readable storage medium on which a high-speed web server selection program is recorded for the selection, from among a plurality of web servers having the same content, a web server that can (at high speed) transmit content to a client who has issued a request for said content, said high-speed web server selection program permitting a computer to perform:
(1) a function for receiving said content request from said client;
(2) a function for measuring the performance of a network information transfer for said client;
(3) a function for requesting that the remaining web servers measure the performance of a network information transfer for said client;
(4) a function for receiving from each of said remaining web servers the results obtained by measuring said performance of said network information transfer; and
(5) a function for employing said results of said measurements of said performances of said network information transfer provided by all of said servers to select the web server that can provide the best transfer performance for said client.
US09/963,013 2000-02-05 2001-09-25 Method and system to select the highest speed server among web servers Abandoned US20020013838A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000-133165 2000-02-05
JP2000133165A JP2001312484A (en) 2000-05-02 2000-05-02 Method and system for fast web server selection

Publications (1)

Publication Number Publication Date
US20020013838A1 true US20020013838A1 (en) 2002-01-31

Family

ID=18641713

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/963,013 Abandoned US20020013838A1 (en) 2000-02-05 2001-09-25 Method and system to select the highest speed server among web servers

Country Status (2)

Country Link
US (1) US20020013838A1 (en)
JP (1) JP2001312484A (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069272A1 (en) * 2000-05-05 2002-06-06 Kim Steven D. System and method for managing server configurations
US20030145066A1 (en) * 2002-01-29 2003-07-31 Fujitsu Limited Contents delivery network service method and system
US20030182367A1 (en) * 2002-03-22 2003-09-25 Brother Kogyo Kabushiki Kaisha Client-server system
US20040210651A1 (en) * 2003-04-16 2004-10-21 Kato Eiko E. Evnironment information server
US20060020720A1 (en) * 2004-07-23 2006-01-26 Lsi Logic Corporation Multi-controller IO shipping
US20060069777A1 (en) * 2004-09-03 2006-03-30 Hideharu Kato Request message control method for using service and service providing system
US20060159025A1 (en) * 2002-06-24 2006-07-20 Miguel Abdo Determination of network performance characteristics
US20070076729A1 (en) * 2005-10-04 2007-04-05 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
US20090144424A1 (en) * 2007-12-04 2009-06-04 Sony Computer Entertainment Inc. Network bandwidth detection and distribution
US20100042727A1 (en) * 2003-06-04 2010-02-18 Sony Computer Entertainment Inc. Method and system for managing a peer of a peer-to-peer network to search for available resources
US20100077087A1 (en) * 2008-09-22 2010-03-25 Sony Computer Entertainment Amercica Inc. Method for host selection based on discovered nat type
US20110035501A1 (en) * 2008-03-05 2011-02-10 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US7995478B2 (en) 2007-05-30 2011-08-09 Sony Computer Entertainment Inc. Network communication with path MTU size discovery
US20120297067A1 (en) * 2011-05-19 2012-11-22 International Business Machines Corporation Load Balancing System for Workload Groups
US20140025630A1 (en) * 2012-07-18 2014-01-23 Fujitsu Limited Data-store management apparatus, data providing system, and data providing method
US20140068062A1 (en) * 2012-08-28 2014-03-06 Funai Electric Co., Ltd. Content-reception device
CN107689970A (en) * 2016-08-03 2018-02-13 中国移动通信集团湖北有限公司 A kind of method and device for selecting the optimal server that tests the speed
WO2020086542A1 (en) * 2018-10-23 2020-04-30 Intel Corporation Technologies for performance data streaming
US10922364B2 (en) * 2016-12-08 2021-02-16 Tencent Technology (Shenzhen) Company Limited Web crawling method and server
US20220187801A1 (en) * 2019-03-29 2022-06-16 Siemens Aktiengesellschaft Method and Industrial Automation System with a System for Embedding a Web Application to be Embedded in a Surrounding Web Application

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7555542B1 (en) * 2000-05-22 2009-06-30 Internap Network Services Corporation Method and system for directing requests for content to a content server based on network performance
JP2007150851A (en) * 2005-11-29 2007-06-14 Toshiba Corp Master device of communication system and conference connection method of communication system
JP4935331B2 (en) * 2006-12-06 2012-05-23 日本電気株式会社 Storage system, storage area selection method and program
JP5668522B2 (en) * 2011-02-22 2015-02-12 富士通株式会社 Distribution apparatus, distribution program, distribution system, and distribution method
JP5608598B2 (en) * 2011-03-30 2014-10-15 株式会社日立ソリューションズ File transfer system
JP6194458B2 (en) * 2012-08-07 2017-09-13 株式会社コナミデジタルエンタテインメント MATCHING DEVICE, GAME SYSTEM, MATCHING METHOD, MATCHING PROGRAM
JP6030884B2 (en) * 2012-08-07 2016-11-24 株式会社コナミデジタルエンタテインメント MATCHING DEVICE, GAME SYSTEM, MATCHING METHOD, MATCHING PROGRAM
JP7223591B2 (en) * 2019-02-13 2023-02-16 富士通株式会社 Data migration management device, data migration management program, and data migration management method

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263368B1 (en) * 1997-06-19 2001-07-17 Sun Microsystems, Inc. Network load balancing for multi-computer server by counting message packets to/from multi-computer server
US6304913B1 (en) * 1998-11-09 2001-10-16 Telefonaktiebolaget L M Ericsson (Publ) Internet system and method for selecting a closest server from a plurality of alternative servers
US6317775B1 (en) * 1995-11-03 2001-11-13 Cisco Technology, Inc. System for distributing load over multiple servers at an internet site
US6324580B1 (en) * 1998-09-03 2001-11-27 Sun Microsystems, Inc. Load balancing for replicated services
US6327622B1 (en) * 1998-09-03 2001-12-04 Sun Microsystems, Inc. Load balancing in a network environment
US6477522B1 (en) * 1999-06-10 2002-11-05 Gateway, Inc. Dynamic performance based server selection
US6513061B1 (en) * 1997-10-07 2003-01-28 Hitachi, Ltd. Proxy server selecting server and proxy server
US6594699B1 (en) * 1997-10-10 2003-07-15 Kasenna, Inc. System for capability based multimedia streaming over a network
US6687731B1 (en) * 1997-06-12 2004-02-03 Telia Ab Arrangement for load sharing in computer networks

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185650A (en) * 1997-09-11 1999-03-30 Nippon Telegr & Teleph Corp <Ntt> Information delivery/aggregation system for internet
JPH11175471A (en) * 1997-12-15 1999-07-02 Nippon Telegr & Teleph Corp <Ntt> Method and device for rewriting url, and medium recorded with url re-writable program
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
JP3966598B2 (en) * 1998-03-04 2007-08-29 富士通株式会社 Server selection system
JP3786328B2 (en) * 1998-07-27 2006-06-14 株式会社日立製作所 Server and communication control method
JP2000112908A (en) * 1998-10-06 2000-04-21 Toshiba Corp Load distributed dns system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317775B1 (en) * 1995-11-03 2001-11-13 Cisco Technology, Inc. System for distributing load over multiple servers at an internet site
US6687731B1 (en) * 1997-06-12 2004-02-03 Telia Ab Arrangement for load sharing in computer networks
US6263368B1 (en) * 1997-06-19 2001-07-17 Sun Microsystems, Inc. Network load balancing for multi-computer server by counting message packets to/from multi-computer server
US6513061B1 (en) * 1997-10-07 2003-01-28 Hitachi, Ltd. Proxy server selecting server and proxy server
US6594699B1 (en) * 1997-10-10 2003-07-15 Kasenna, Inc. System for capability based multimedia streaming over a network
US6324580B1 (en) * 1998-09-03 2001-11-27 Sun Microsystems, Inc. Load balancing for replicated services
US6327622B1 (en) * 1998-09-03 2001-12-04 Sun Microsystems, Inc. Load balancing in a network environment
US6304913B1 (en) * 1998-11-09 2001-10-16 Telefonaktiebolaget L M Ericsson (Publ) Internet system and method for selecting a closest server from a plurality of alternative servers
US6477522B1 (en) * 1999-06-10 2002-11-05 Gateway, Inc. Dynamic performance based server selection

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370470B2 (en) 2000-05-05 2013-02-05 Web.Com Holding Company, Inc. System and method for managing server configurations
US20020069272A1 (en) * 2000-05-05 2002-06-06 Kim Steven D. System and method for managing server configurations
US20080059614A1 (en) * 2000-05-05 2008-03-06 Kim Steven D System and Method for Managing Server Configurations
US8799416B2 (en) 2000-05-05 2014-08-05 Web.Com Holding Company, Inc. System and method for managing server configurations
US20030145066A1 (en) * 2002-01-29 2003-07-31 Fujitsu Limited Contents delivery network service method and system
US7853644B2 (en) 2002-03-22 2010-12-14 Brother Kogyo Kabushiki Kaisha Client-server system
US20030182367A1 (en) * 2002-03-22 2003-09-25 Brother Kogyo Kabushiki Kaisha Client-server system
US20060159025A1 (en) * 2002-06-24 2006-07-20 Miguel Abdo Determination of network performance characteristics
US7969900B2 (en) * 2002-06-24 2011-06-28 Paradyne Corporation Determination of network performance characteristics
US20040210651A1 (en) * 2003-04-16 2004-10-21 Kato Eiko E. Evnironment information server
US8032619B2 (en) * 2003-04-16 2011-10-04 Sony Computer Entertainment America Llc Environment information server
US20100042727A1 (en) * 2003-06-04 2010-02-18 Sony Computer Entertainment Inc. Method and system for managing a peer of a peer-to-peer network to search for available resources
US8214498B2 (en) 2003-06-04 2012-07-03 Sony Computer Entertainment, Inc. Method and system for managing a peer of a peer-to-peer network to search for available resources
US20060020720A1 (en) * 2004-07-23 2006-01-26 Lsi Logic Corporation Multi-controller IO shipping
US20060069777A1 (en) * 2004-09-03 2006-03-30 Hideharu Kato Request message control method for using service and service providing system
US8224985B2 (en) 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
US20070076729A1 (en) * 2005-10-04 2007-04-05 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
US7995478B2 (en) 2007-05-30 2011-08-09 Sony Computer Entertainment Inc. Network communication with path MTU size discovery
US8943206B2 (en) 2007-12-04 2015-01-27 Sony Computer Entertainment Inc. Network bandwidth detection and distribution
US20110099278A1 (en) * 2007-12-04 2011-04-28 Sony Computer Entertainment Inc. Network traffic prioritization
US20090144424A1 (en) * 2007-12-04 2009-06-04 Sony Computer Entertainment Inc. Network bandwidth detection and distribution
US8005957B2 (en) 2007-12-04 2011-08-23 Sony Computer Entertainment Inc. Network traffic prioritization
US8171123B2 (en) 2007-12-04 2012-05-01 Sony Computer Entertainment Inc. Network bandwidth detection and distribution
US8015300B2 (en) 2008-03-05 2011-09-06 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US20110035501A1 (en) * 2008-03-05 2011-02-10 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US8930545B2 (en) 2008-03-05 2015-01-06 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US8060626B2 (en) 2008-09-22 2011-11-15 Sony Computer Entertainment America Llc. Method for host selection based on discovered NAT type
US20100077087A1 (en) * 2008-09-22 2010-03-25 Sony Computer Entertainment Amercica Inc. Method for host selection based on discovered nat type
US8959226B2 (en) 2011-05-19 2015-02-17 International Business Machines Corporation Load balancing workload groups
US20120297067A1 (en) * 2011-05-19 2012-11-22 International Business Machines Corporation Load Balancing System for Workload Groups
US8959222B2 (en) * 2011-05-19 2015-02-17 International Business Machines Corporation Load balancing system for workload groups
US20140025630A1 (en) * 2012-07-18 2014-01-23 Fujitsu Limited Data-store management apparatus, data providing system, and data providing method
US20140068062A1 (en) * 2012-08-28 2014-03-06 Funai Electric Co., Ltd. Content-reception device
CN107689970A (en) * 2016-08-03 2018-02-13 中国移动通信集团湖北有限公司 A kind of method and device for selecting the optimal server that tests the speed
US10922364B2 (en) * 2016-12-08 2021-02-16 Tencent Technology (Shenzhen) Company Limited Web crawling method and server
WO2020086542A1 (en) * 2018-10-23 2020-04-30 Intel Corporation Technologies for performance data streaming
US20220187801A1 (en) * 2019-03-29 2022-06-16 Siemens Aktiengesellschaft Method and Industrial Automation System with a System for Embedding a Web Application to be Embedded in a Surrounding Web Application

Also Published As

Publication number Publication date
JP2001312484A (en) 2001-11-09

Similar Documents

Publication Publication Date Title
US20020013838A1 (en) Method and system to select the highest speed server among web servers
JP4354532B2 (en) Distributed computer system and method for distributing user requests to replica network servers
US9444879B2 (en) Approach for downloading data over networks using automatic bandwidth detection
US8713192B2 (en) System and method for routing streaming data requests
US7120662B2 (en) Conductor gateway prioritization parameters
US7039709B1 (en) Dynamically selection of most efficient transmission medium and route from a client browser
AU2008343433C1 (en) Method for determining network proximity for global traffic load balancing using passive TCP performance instrumentation
US20110145405A1 (en) Methods for Collecting and Analyzing Network Performance Data
JP4758362B2 (en) Relay device, program, and relay method
JP2006526301A (en) Intelligent traffic management system for network and intelligent traffic management method using the same
CN101194489A (en) Information processing server, remote control system, and remote control method
CN107317879A (en) The distribution method and system of a kind of user&#39;s request
US7353291B1 (en) Network status server, information distribution system, control method, and storage medium for storing control program
JP2000029813A (en) Server selection system
JP4410963B2 (en) Content dynamic mirroring system,
US20090150564A1 (en) Per-user bandwidth availability
US11431789B2 (en) Global capacity routing
JPH1049422A (en) Cache device for remote file
US20090106387A1 (en) Cidr based caching at application layer
JP2004258747A (en) Connection destination peer selecting device and method
JP4071706B2 (en) Transmission device, relay device, and program
JP2004280407A (en) Information transfer device
WO2021214945A1 (en) Communication control device, communication control method, and communication control program
JP4418409B2 (en) PREMIUM PACKET IDENTIFICATION DEVICE, TERMINAL DEVICE, PREMIER PACKET IDENTIFICATION SYSTEM, AND PREMIER PACKET IDENTIFICATION METHOD
JP2002024191A (en) Www system, traffic relief method for www server and www server

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KUSHIDA, TAKAYUKI;MIYAZAWA, TATSUO;REEL/FRAME:012210/0171;SIGNING DATES FROM 20010909 TO 20010911

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION