A network system having a domain name system (DNS) server apparatus, one or more service providing server apparatuses, and a Sorry server apparatus coupled together by a network, the network system configured to provide services to a client terminal using the network;
- wherein when a name resolution request is received from the client terminal, the DNS server apparatus is configured to perform a DNS server processing routine including performing the name resolution on the client terminal and sending back a response indicating IP addresses of corresponding one or more of the service providing apparatuses;
- wherein the one or more service providing server apparatuses are configured to provide Web services or Proxy services to the client terminal;
- wherein when an HTTP access is received from the client terminal, the Sorry server apparatus is configured to send back a response message indicating that the required services cannot be offered;
- wherein the DNS server apparatus is configured to repeatedly monitor whether each of the service providing server apparatuses is active or inactive and to collect load information;
- wherein when the corresponding service providing server apparatus is active but congested or inactive as a result of the name resolution, the DNS server apparatus is configured to send back a response indicating an IP address assigned to the Sorry server to the client terminal;
- wherein the DNS server apparatus has a server information management table for managing information about each representative domain name of the service providing server apparatuses, is configured to perform a server monitoring processing routine that repeatedly performs an active/inactive state monitoring processing subroutine for each of the service providing server apparatuses and a load information collecting processing subroutine, and to record results of the server monitoring processing routine into the server information management table;
- wherein each of the service providing server apparatuses is configured to perform a load information response processing routine including sending back a response indicating the number of TCP connections coupled from the client terminal for each virtual IP address set in the server apparatus itself in response to a load information collecting request from the DNS server apparatus;
- wherein the server information management table has an IP address field, a listening port field, and an active/inactive state field for each entry;
- wherein the IP address field is a field for managing IP addresses assigned to the service providing server apparatuses as virtual IP addresses;
- wherein the listening port field is a field for storing a TCP or UDP port number at which each service providing server apparatus is waiting for an access from the client terminal;
- wherein the active/inactive state field is a field for storing information indicating whether each service providing server apparatus is active, inactive, or on standby;
- wherein during the active/inactive state monitoring subroutine, the DNS server apparatus is configured to send an active/inactive state request to the virtual IP address and port number of the service providing server apparatuses, whose value of the active/inactive state field indicates an active or inactive state based on information in the IP address field, the listening port field, and the active/inactive state field within the server information management table, to wait for a response to the active/inactive state request from the service providing server apparatus while monitoring a timer, to update the active/inactive state field of the server information management table to “active” when there is a response to the active/inactive state request from the service providing server apparatus within a time set by the timer, and to update the active/inactive state field to “inactive” when there no such response;
- wherein the server information management table has a host name field and a load information field for each entry;
- wherein the host name field is a field for storing host name information permitting server monitoring processing means to identify the service providing server apparatuses;
- wherein the load information field is a field for storing the number of TCP connections coupled from the client terminal to the service providing server apparatuses as a value indicating load on the service providing server apparatuses;
- wherein during the load information collecting processing subroutine, the DNS server apparatus is configured to send the load information request to the service providing server apparatuses, whose value of the active/inactive state field is “active” based on information in the host name field and the active/inactive state field of the server information management table, is waiting for a response to the load information request from the service providing server apparatuses while monitoring the timer, to update the load information field in the server information management table to a value indicating the number of HTTP connections contained in a response when there is the response to the load information request from the service providing server apparatuses within a time set by the timer, and to update the active/inactive state field to “inactive” when there is no such response;
- wherein the server information management table has a representative domain name field and a maximum limited value of connections field for each entry;
- wherein the representative domain name field is a field for storing a host name becoming a target access for the client terminal;
- wherein the maximum limited value of connections field is a field for storing the number of TCP or UDP connections permitted to be coupled from the client terminal to the service providing server apparatuses as a value indicating the permissible performance of the service providing server apparatuses;
- and
- wherein during the DNS server processing routine, the DNS server apparatus is configured to search the representative domain name field of the server information management table based on a representative domain name of an object or entity subjected to a name resolution request when the name resolution request is received, to send back the value of the IP address field of the entry producing a hit with the search when the active/inactive state field of the entry producing the hit is “active” and, at the same time, when the value of the load information field is equal to or less than the value of the maximum limited number of connections field, to send back a response indicating the value of the IP address field of the entry to the client terminal, to make a check as to whether the active/inactive state field is “active” when the active/inactive state field is other than “active” or when the value of the load information field is equal to or greater than the value of the maximum limited number of connections field and, at the same time, when there is any other entry whose value of the representative domain name field is the same, and to send back a response indicating the IP address of the Sorry Server when there is no such other entry.