(12) United States Patent Rune



Similar documents
US Al (19) United States (12) Patent Application Publication (10) Pub. No.: US 2006/ A1 Wu (57) A sender is selectively input- S301

(12) Patent Application Publication (10) Pub. N0.: US 2006/ A1 Marsan et al. (43) Pub. Date: May 18, 2006

(12) United States Patent

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2002/ A1 Yokota et al. (43) Pub. Date: May 16, 2002

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2008/ A1 L1 (43) Pub. Date: May 22, 2008

US l46al (19) United States (12) Patent Application Publication (10) Pub. No.: US 2009/ A1 Albert et al.

Vision Helpdesk Client Portal User Guide

(12) United States Patent (10) Patent No.: US 8,259,911 B1 Trandal et al. (45) Date of Patent: *Sep. 4, 2012

Hay (43) Pub. Date: Oct. 17, 2002

Advanced ColdFusion 4.0 Application Development Server Clustering Using Bright Tiger

US A1 (19) United States (12) Patent Application Publication (10) Pub. N0.: US 2011/ A1 Sheer (43) Pub. Date: Aug.

US Al (19) United States (12) Patent Application Publication (10) Pub. No.: US 2006/ A1 Choi et al. (43) Pub. Date: Sep.

Setting Up Your Internet Connection

NCH Software MoneyLine

\ \ \ connection connection connection interface interface interface

NCH Software Copper Point of Sale Software

Avaya Remote Feature Activation (RFA) User Guide

NCH Software Express Accounts Accounting Software

SNMP Reference Guide for Avaya Communication Manager

Fast Robust Hashing. ) [7] will be re-mapped (and therefore discarded), due to the load-balancing property of hashing.

Patent Application Publication Sep. 30, 2004 Sheet 1 0f 2. Hierarchical Query. Contact Ow FIG. 1

NCH Software FlexiServer

US Al (19) United States (12) Patent Application Publication (10) Pub. N0.: US 2012/ A1 Lundstrom (43) Pub. Date: NOV.

READING A CREDIT REPORT

NCH Software BroadCam Video Streaming Server

Fixed income managers: evolution or revolution

Infrastructure for Business

NETWORK BOUNDARY PRIVATE NETWORK PUBLIC _1 NETWORK

Technical Writing - A Glossary of English Language Terms

WEBSITE ACCOUNT USER GUIDE SECURITY, PASSWORD & CONTACTS

(12) United States Patent Wen et a].

(12) United States Patent Halonen

Telephone Dressing Systems - Advantages and Disadvantages

/ \33 40 \ / \\ \ \ M / f 1. (19) United States (12) Patent Application Publication Lawser et al. NETWORK \ 36. SERVlCE 'NTERNET SERVICE

US Al (19) United States (12) Patent Application Publication (10) Pub. No.: US 2012/ A1 Kuehl (43) Pub. Date: Aug.

(12) United States Patent (16) Patent N6.= US 6,611,861 B1 Schairer et al. (45) Date of Patent: Aug. 26, 2003

US Al (19) United States (12) Patent Application Publication (10) Pub. No.: US 2009/ A1 Sanvido (43) Pub. Date: Jun.

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2014/ A1 FAN et al. (43) Pub. Date: Feb.

(30) Foreign Application Priority Data

60 REDIRECTING THE PRINT PATH MANAGER 1

Order-to-Cash Processes

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2007/ A1 Ollis et al. HOME PROCESSOR /\ J\ NETWORK

US Al (19) United States (12) Patent Application Publication (10) Pub. No.: US 2007/ A1 Voight et al. SUBSCRIBER DATABASE.

CUSTOM. Putting Your Benefits to Work. COMMUNICATIONS. Employee Communications Benefits Administration Benefits Outsourcing

Chapter 3: JavaScript in Action Page 1 of 10. How to practice reading and writing JavaScript on a Web page

Hyperion Enterprise. Installation Guide RELEASE

Australian Bureau of Statistics Management of Business Providers

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2012/ A1 Chung (43) Pub. Date: Aug.

The guaranteed selection. For certainty in uncertain times

(12) Unlted States Patent (10) Patent N0.2 US 7,428,664 B2 Sirbu (45) Date of Patent: Sep. 23, 2008

Niagara Catholic. District School Board. High Performance. Support Program. Academic

Oracle Hyperion Tax Provision. User's Guide Release

Art of Java Web Development By Neal Ford 624 pages US$44.95 Manning Publications, 2004 ISBN:

Lecture 7 Datalink Ethernet, Home. Datalink Layer Architectures

The growth of online Internet services during the past decade has increased the

ST. MARKS CONFERENCE FACILITY MARKET ANALYSIS

Support systems messaging via

(71) Applicant: SPEAKWRITE, LLC,Austin, TX (US)

Teamwork. Abstract. 2.1 Overview

Human Capital & Human Resources Certificate Programs

Early access to FAS payments for members in poor health

ADVANCED ACCOUNTING SOFTWARE FOR GROWING BUSINESSES

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2005/ A1 Owhadi et al. (43) Pub. Date: Feb.

Pay-on-delivery investing

I SEARCH DATABASE l/ VISIT WEBSITE k ( UPDATE RECORDS Y (54) (75) (73) (21) (22) (63) (60) (US); Gary Stephen Shuster, Oakland, SELECT SUB-DOMAIN NAME

Chapter 2 Traditional Software Development

Design Considerations

INDUSTRIAL AND COMMERCIAL

Chapter 3: e-business Integration Patterns

DOING BUSINESS WITH THE REGION OF PEEL A GUIDE FOR NEW AND CURRENT VENDORS

(12) United States Patent (16) Patent N6.= US 6,198,814 B1 Gill (45) Date of Patent: Mar. 6, 2001

professional indemnity insurance proposal form

The Domain Name System (DNS)

Technical Support Guide for online instrumental lessons

(12> Ulllted States Patent (10) Patent N0.: US 6,591,288 B1 Edwards et al. (45) Date of Patent: Jul. 8, 2003

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES. l l

Ulllted States Patent [19] [11] Patent Number: 5,862,220

I DATA PORTS 162 I I T I I

How to Cut Health Care Costs

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2008/ A1 Farrell (43) Pub. Date: Oct.

(Us) (73) Assignee: Avaya Technology Corp. Je?' McElroy, Columbia, SC (US); (21) Appl. No.: 10/413,024. (22) Filed: Apr. 14, 2003 (57) ABSTRACT

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES

Example of Credit Card Agreement for Bank of America Visa Signature and World MasterCard accounts

INTERNATIONAL PAYMENT INSTRUMENTS

LADDER SAFETY Table of Contents

(75) Inventors; Martin CZACHOR, JR (52) US Cl / Newtown Square, PA (U S); Kevin CZACHOR, West Chester, PA (57) ABSTRACT

l l ll l l Exploding the Myths about DETC Accreditation A Primer for Students

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2002/ A1 Boyer et al. (43) Pub. Date: Aug.

Distribution of Income Sources of Recent Retirees: Findings From the New Beneficiary Survey

With the arrival of Java 2 Micro Edition (J2ME) and its industry

Let s get usable! Usability studies for indexes. Susan C. Olason. Study plan

Lookup CNAM / other database for calllng

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2013/ A1 Warren (43) Pub. Date: Jan.

Preschool Services Under IDEA

Degree Programs in Environmental Science/Studies

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES. l l

March 14, 1967 _ A. GABOR ETAL I 3,309,597 MOTOR ACCELERATION CONTROL SYSTEM. l Filed April 20, T1.l _. ,57m/Az.

GATEWAY ' o o o

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES. l l. l l. l l. l l

(12) United States Patent

Transcription:

(12) United States Patent Rune US006304913B1 (10) Patent N0.: (45) Date of Patent: US 6,304,913 B1 on. 16, 2001 (54) INTERNET SYSTEM AND METHOD FOR SELECTING A CLOSEST SERVER FROM A PLURALITY OF ALTERNATIVE SERVERS (75) Inventor: Johan Rune, Lidingo (SE) (73) Assignee: Teefonaktieboaget L M Ericsson (pub), Stockhom (SE) ( * ) Notice: (21) App. No.: 09/189,100 (22) Fied: Nov. 9, 1998 Subject to any discaimer, the term of this patent is extended or adjusted under 35 U.S.C. 154(b) by 0 days. (51) Int. C.7..... G06F 15/173; G06F 15/16 (52) US. C...... 709/241; 709/243; 709/245 (58) Fied of Search..... 712/27; 709/200, 709/203, 219, 238, 240, 241, 242, 243, 245, 244 (56) References Cited U.S. PATENT DOCUMENTS 5,521,910 5/1996 Matthews..... 370/256 5,751,961 5/1998 Smyk..... 709/217 (List continued on next page.) FOREIGN PATENT DOCUMENTS 0 817 444 1/1998 (EP). W0 98 18076 4/1998 (WO). W0 98 26559 6/1998 (WO). W0 98 31107 7/1998 (WO). OTHER PUBLICATIONS James D. Guyton et a., Locating Nearby copies of Repi cated Internet Servers, University of Coorado at Bouder, Feb. 1995, 19 pages.* Roand J. Schemers, III, Ibnamed: A Load Baancing Name Server in Per, 1995, LISA IX, Sep. 1995, 12 pages.* (List continued on next page.) Primary Examiner Patrice Winder (74) Attorney, Agent, or Firm Jenkens & Gichrist, A Professiona Corporation (57) ABSTRACT A method and Internet system is provided that attempts to improve response times by automaticay seecting for use a server (e.g., mirror server or aternative server) ocated reativey cose to a requesting host. Aternativey, the method and Internet system can automaticay seect for use a server (e.g., aternative server) that is reativey appropriate for the requesting host. More speci?cay, the Internet sys tem can operate to seect the cosest server or the most appropriate server from a puraity of servers providing the same service (e.g., mirror servers) or sighty adapted vari ants of the same service (e.g., aternative servers) each assigned a common host name and a unique Internet Pro toco address. The Internet system incudes a database (e.g., Domain Name System (DNS) server) for storing the com mon host name and the puraity of unique Internet Protoco addresses. The Internet system aso incudes a requesting host for transmitting a transation request containing the common host name to the database. In response to the transation request, a system (e.g., requesting host, router, dedicated server, or DNS server) operates to seect the unique Internet Protoco address assigned to either the cosest server (e.g., mirror server or aternative server) Which is ocated the nearest to the requesting host or the server that is the most appropriate for the requesting host (e.g., mirror server or aternative server). 27 Caims, 13 Drawing Sheets 210 K / Requesting host receives a of the IP addresses from DNS Server Requesting host transmits the IP addresses to a oca router \ 302 \ 304 Router determines a hop count for each IP address 306 Requesting host receives a the hop counts and IP addresses from the router \ 308 Requesting host seects the cosest aternative server having the smaest hop count

US 6,304,913 B1 Page 2 US. PATENT DOCUMENTS 5,774,660 6/1998 Brende et a1...... 709/201 5,777,989 7/1998 McGaWey 370/254 6,014,660 * 1/2000 Lim et a... 709/200 X 6,052,718 * 4/2000 Gifford..... 709/219 6,092,178 * 7/2000 Jinda eta. 712/27 6,154,777 * 11/2000 Ebrahim..... 709/227 6,185,598 * 2/2001 Farber et a1...... 709/200 6,205,477 * 3/2001 Johnson eta...... 709/220 OTHER PUBLICATIONS Mr. Dns, Can I use DNS to direct peope to the Web cosest to them?, Acme Byte and Wire, Mar. 1997, 1 page.* Brian Riggs, Better Performance: ISPs Baance Internet Server Load: Cisco router software points cient request to nearest avaiabe Web server, LAN TIMES onine, Apr. 1997, 3 Webpages.* P. Mockapetris, RFC 1035: Domain Names Impementa tion and Speci?cation, Nov. 1997, 40 pages.* Cisco Systems Inc., Distributed Director: Con?guring Advanced features, Jan. 1997, 17 pages.* rfc1034 Domain Names: Concepts and Faciities Request for Comment, Onine!, Nov. 1987. Peterson, L.L., A YeoW Pages Service For a Loca Area Network Computer Communications Review, Aug. 1, 1988, pp. 235 242. Coajanni, M. et a., Adaptive TTL Schemes for Load Baancing of Distributed Web Servers Performance Evau ation Review, Sep. 1, 1997, pp. 36 42. EPO Search Report dated Ju. 13, 1999. * cited by examiner

U.S. Patent 0a. 16, 2001 Sheet 1 0f 13 US 6,304,913 B1 122 124 f / REQUESTER DATABASE / SELECTOR 126 FIG. 1A

U.S. Patent 0a. 16, 2001 Sheet 3 0f 13 US 6,304,913 B1 5 200 Assigning a host name to a set of aternative servers \ZOZ Assigning a unique IP address to each aternative server \204 Storing the host name and unique IP addresses in a \206 database (e.g., DNS Server) Transmitting a transation request containing the host \208 name to the DNS Server Seecting the IP address assigned to the cosest or most appropriate aternative \210 server Sending IP packet to the cosest or most.. \22 appropriate aternative server Storing the seected \ IP address 214 Storing the remaining IP address \ 216 FIG. 2

U.S. Patent 0a. 16, 2001 Sheet 4 0f 13 US 6,304,913 B1 i 210 Requesting host receives a of the IP addresses from DNS Server \ 302 Requesting host transmits the IP addresses to a oca router \ 304 Router determines a hop count for each IP address \306 Requesting host receives a the hop counts and IP \308 addresses from the router Requesting host seects the cosest aternative server \ having the smaest hop 310 count FIG. 3

U.S. Patent 0a. 16, 2001 Sheet 5 0f 13 US 6,304,913 B1 2/ 210 Requesting host receives a of the IP addresses from DNS Server \402 Requesting host transmits the IP addresses to a oca router \404 Router determines a hop count for each IP address \406 Requesting host receives the IP address having the sma est\4()8 hop count from the router Requesting host seects the cosest aternative server \ having the smaest hop 410 count FIG. 4

U.S. Patent 061. 16, 2001 Sheet 6 6f 13 US 6,304,913 B1 2/ 210 Requesting host receives a of the IP addresses from DNS Server \5Q2 Requesting host transmits the IP addresses to a dedicated server \504 i Dedicated server determines a hop count for each IP address\506 Requesting host receives a the hop counts and IP \508 addresses from the dedicated server i Requesting host seects the cosest aternative server \ having the smaest hop 510 count FIG. 5

U.S. Patent 0a. 16, 2001 Sheet 7 0f 13 US 6,304,913 B1 5 210 Requesting host receives a of the IP addresses from DNS Server \602 Requesting host transmits the IP addresses to a dedicated server \604 Dedicated server determines a hop count for each P address\606 Requesting host receives the unique IP address having the \508 smaest hop count from the dedicated server Requesting host seects the cosest aternative server \ having the smaest hop 610 count FIG. 6'

U.S. Patent 0a. 16, 2001 Sheet 8 0f 13 US 6,304,913 B1 5 210 Loca DNS server transmits the unique IP addresses to a router \7Q2 Router determines the hop count for each IP address \ 704 Loca DNS server receives a hop counts and IP addresses from the router \706 Loca DNS server seects the IP address having the \708 smaest hop count Loca DNS server transmits the unique IP address having the \ smaest hop count to the 710 requesting host FIG. 7

U.S. Patent 0a. 16, 2001 Sheet 9 0f 13 US 6,304,913 B1 5 210 Loca DNS server transmits the unique IP address to a router \802 Router determines the hop count for each IP address t \ 804 Loca DNS server receives ony the unique IP address having smaest hop count from the \806 router Loca DNS server transmits the unique IP address having the \ smaest hop count to the 808 requesting host FIG. 8

U.S. Patent 0a. 16, 2001 Sheet 10 0f 13 US 6,304,913 B1 5 210 Loca DNS server transmits the unique IP addresses to a dedicated server \902 Dedicated server determines the hop count for each IP address\904 Loca DNS server receives a hop counts and IP addresses from the dedicated server \906 Loca DNS server seects the unique IP address having the \gog smaest hop count Loca DNS server transmits the unique IP address having the \ smaest hop count to the 910 requesting host FIG. 9

U.S. Patent 0a. 16, 2001 Sheet 11 0f 13 US 6,304,913 B1 5 210 Loca DNS server transmits the unique IP addresses to a dedicated server \1002 Dedicated server determines the count for each IP address \ 1004 Loca DNS server receives ony the unique IP address having smaest hop count from the \ 1006 dedicated server Loca DNS server transmits the unique IP address having the \ smaest hop count to the 1008 requesting host FIG. 10

U.S. Patent 0a. 16, 2001 Sheet 12 0f 13 US 6,304,913 B1 2/ 210 Requesting host receives a of the IP addresses from the DNS server i Requesting host transmits an \1102 IP packet incuding a the IP \1104 addresses to a router i Router determines the smaest hop count corresponding to one unique IP address \ 1106 i Router strips the remaining unique IP addresses from the \ IP packet 1108 FIG. 11

U.S. Patent 0a. 16, 2001 Sheet 13 0f 13 US 6,304,913 B1 5 210 Loca DNS server seects the unique IP address of the most appropriate aternative server using\1202 predefined instructions and host name of the requesting host Loca DNS server transmits the seected unique IP address to the requesting \1204 host FIG. 12 Requesting host receives a of the unique IP addresses and predefined instructions \1302 from the oca DNS server Requesting host seects the IP address of the most appropriate aternative server \1304 using the predefined instructions and host name of the requesting host FIG. 13

1 INTERNET SYSTEM AND METHOD FOR SELECTING A CLOSEST SERVER FROM A PLURALITY OF ALTERNATIVE SERVERS BACKGROUND OF THE INVENTION 1. Technica Fied of the Invention The present invention generay reates to the Internet?ed and, in particuar, to an Internet system and method for seecting a server ocated the cosest to a user When mutipe servers provide the same service (e.g., mirror servers) or sighty adapted variants of the same service (e.g., aterna tive servers). 2. Description of Reated Art The number of users accessing the Internet is growing exponentiay Which presents new chaenges for service providers to reduce response times by deveoping new Ways to distribute the increasing oad. One such Way to distribute the oad is to use mirror servers ocated throughout the Word. Each mirror server functions to store a copy of the same Web site and as such can service a request by any user. Consequenty, the service providers have deveoped vari ous schemes to seect a particuar mirror server to service the request of a user. For exampe, a round robin scheme has been used Where the mirror servers are assigned to address the requests of the users on a rotationa basis regardess of the oad on any of the mirror servers. Other more sophisti cated schemes have aso been used, such as oad-baancing schemes Which attempt to seect a particuar mirror server based on oad distribution requirements, or timing schemes Which seect a particuar mirror server based on time of day or day of Week requirements. Unfortunatey, none of the current Internet systems take into account the geographica distance or number of routers ocated between each mirror server and a particuar user to seect a mirror server (or the source server) ocated reativey cose to the particuar user. Of course, the seection of a cose mirror server (or the source server) shoud reduce the response time required to process a request by the particuar user. In addition, it Woud reduce the overa network oad by reducing the number of routers that are traversed by the IP packets. Accordingy, there is a need for a method and Internet system that improves the response times by seecting for use a mirror server (or the source server) ocated reativey cose to a particuar user. This need is equay reevant for the task of seecting the cosest of mutipe distributed servers that provide essentiay the same service, but may be sighty adapted for oca service, that is, aternative servers that are not true mirror servers. These and other needs are satis?ed by the Internet system and method of the present invention. BRIEF DESCRIPTION OF THE INVENTION The present invention is a method and Internet system that attempts to improve response times by automaticay seect ing for use a server (e.g., mirror server or aternative server) ocated reativey cose to a requesting host. More speci?cay, the Internet system can operate to seect the cosest server from a puraity of servers providing the same service (e.g., mirror servers) or sighty adapted variants of the same service (e.g., aternative servers) each assigned a common host name and a unique Internet Protoco address. The Internet system incudes a database (e.g., Domain Name System (DNS) server) for storing the common host name and the puraity of unique Internet Protoco addresses. The Internet system aso incudes a requesting host for transmit ting a transation request containing the common host name US 6,304,913 B1 10 15 25 35 45 55 65 2 to the database. In response to the transation request, a system (e.g., requesting host, router, dedicated server, or DNS server) operates to seect the unique Internet Protoco address assigned to the cosest server (e.g., mirror server or aternative server) Which is ocated the nearest to the requesting host. In accordance With the present invention, there is pro vided a method and Internet system for automaticay seect ing a cosest aternative server Without requiring a user to manuay enter an Internet Protoco address or manuay seect a hypertext ink to connect With the cosest aternative server. Aso in accordance With the present invention, there is provided a method and Internet system for automaticay seecting a cosest aternative server from a puraity of aternative servers that incude a source server and mutipe mirror servers repicating the information of the source server and mutipe distributed servers Which provide the same service but may be sighty adapted for oca service. Further in accordance With the present invention, there is provided a method and Internet system that automaticay seects a cosest aternative server in response to a changing ocation of a mobie user. BRIEF DESCRIPTION OF THE DRAWINGS A more compete understanding of the method and appa ratus of the present invention may be had by reference to the foowing detaied description When taken in conjunction With the accompanying drawings Wherein: FIG. 1A is a bock diagram iustrating the basic compo nents associated With an exempary Internet system of the present invention; FIG. 1B is a bock diagram iustrating in greater detai the exempary Internet system; FIG. 2 is a simpi?ed?owchart of a method for seecting a server (out of mutipe servers providing the same service, e.g., mirror servers, or sighty adapted variants of the same service) ocated the nearest to a requesting host of the Internet system of FIG. 1B; FIG. 3 is a simpi?ed?owchart of a?rst embodiment of a seection step 210 of FIG. 2; FIG. 4 is a simpi?ed?owchart of a second embodiment of the seection step 210; FIG. 5 is a simpi?ed?owchart of a third embodiment of the seection step 210; FIG. 6 is a simpi?ed?owchart of a fourth embodiment of the seection step 210; FIG. 7 is a simpi?ed?owchart of a?fth embodiment of the seection step 210; FIG. 8 is a simpi?ed?owchart of a sixth embodiment of the seection step 210; FIG. 9 is a simpi?ed?owchart of a seventh embodiment of the seection step 210; FIG. 10 is a simpi?ed?owchart of an eighth embodiment of the seection step 210; FIG. 11 is a simpi?ed?owchart of a ninth embodiment of the seection step 210; FIG. 12 is a simpi?ed?owchart of a tenth embodiment of the seection step 210; and FIG. 13 is a simpi?ed?owchart of an eeventh embodi ment of the seection step 210. DETAILED DESCRIPTION OF THE DRAWINGS Referring to the DraWings, Wherein ike numeras repre sent ike parts throughout FIGS. 1 13, there are discosed an

3 exempary Internet system 100 (FIGS. 1A and 1B) and seection method 200 (FIGS. 2 13) in accordance With the present invention. Referring to FIG. 1A, there is iustrated the basic com ponents associated With the Internet system 100 of the present invention. Basicay, the Internet system 100 incudes requester 122 that transmits a transation request to a database 124. In response to the transation request, a seector 126 (see FIGS. 3 13) operates to seect one of the servers (e.g., mirror server and aternative server) ocated nearer to the requester 122. Referring to FIG. 1B, there is iustrated a detaied bock diagram of the Internet system 100 of the present invention. Certain detais associated With the Internet system 100 are known in the industry and as such need not be described herein. Therefore, for carity, the description provided beow in reation to the Internet system 100 and the seection method 200 omits some components not necessary to under stand the present invention. Generay, the Internet system 100 operates to seect an aternative server (e.g., aternative server 158b) ocated reativey cose to, or Which is reativey appropriate for, a requesting host (e.g., requesting host 152a). For exampe, the aternative server cosest to the requesting host can be seected. The seection of the cosest aternative server 158b from a set of aternative servers 158b and 1586 providing the same service (e.g., mirror servers) or sighty adapted vari ants of the same service can be based on a hop count Which indicates the number of routers that a packet from the requesting host must traverse to reach a given aternative server (see FIGS. 3 11). The most appropriate aternative server Wi have the smaest hop count. Aternativey, the seection of the cosest aternative server 158b from the set of aternative servers 158b and 1586 can be done using prede?ned instructions and a host name of the requesting host, Where the prede?ned instructions determine a unique Internet Protoco address of the most appropriate aternative server based on a cass of the host name of the requesting host (see FIGS. 12 13). In this case, the seected aternative server does not necessariy have to be the cosest. For exampe, the most appropriate aternative server for a requesting host With a host name ending With.se (the country code of SWeden) may be an aternative server using the SWedish anguage. A detaied description of how the seection of the cosest aternative server occurs is deferred pending a discussion of the architecture of the Internet system 100. The Internet system 100 incudes a set of user networks 150a 1506 couped to an Internet 102. The Internet 102 provides universa connectivity for users and is composed of a coection of regiona networks 110, internationa networks 120 and network access points (NAP) 130. Each of the regiona networks 110 and the internationa networks 120 incudes a set of routers 105 that can be connected to one another in virtuay any con?guration, see FIG. 1 for ius trative exampes. The user networks 150a 1506 can be con?gured as a Loca Area Network (LAN), a System Area Network (SAN) or a Wide Area NetWork Aso, each user network 150a 1506 is a communication system designed to ink together requesting host(s) 152a 1526,?e server(s) 154a 1546, a Domain Name System (DNS) server 156a 1566, a dedicated server 157a 1576 (optiona) and routers 105a 1056. In the iustrated exampe, the?e servers 154b and 1546 associated With the user networks 150b and 1506 are further cassi?ed as aternative servers 158b and 1586, respectivey. US 6,304,913 B1 10 15 25 35 45 55 65 4 Each aternative server 158b or 1586 either stores a copy of an entire Internet site, (e. g., a Web site) or contains a sighty adapted version of a common service so that any of the aternative servers can service a request from one of the requesting hosts 152a 1526. It shoud be understood that When mirror servers are used, aso the source server (Whose information is repicated by the mirror servers) can service a request from one of the requesting hosts 152a 1526. The set of aternative servers 158b and 1586 are assigned an identica host (domain) name 114 (e.g., mirroriservers), and each of the aternative servers is aso assigned a unique Internet Protoco address 116 (e.g., 209180.552 and 209180.559). It shoud be understood that some of the aternative servers 158b and 1586 can be ocated at various ocations throughout the Word and that some of the ater native servers may be sighty adapted in terms of anguage or certain information for a particuar oca service. The DNS servers 156a 1566 are specia servers that incude a ook-up tabe 111 for storing the host name 114 and unique IP addresses 116 of the aternative servers 158b and 1586 ocated Within the entire Internet 102 or in a oca region of the Internet. The DNS servers 156a 1566 aso store the host names and IP addresses for a of the?e servers 154a 1546 connected to the Internet 102, but ony the host names 114 and unique IP addresses 116 of the aternative servers 158b and 1586 are discussed herein. The speci?c operation of the DNS servers 156a 1566 is described beow With respect to FIGS. 2 13. The routers 105a 1056 utiize the IP protoco to connect the respective user networks 150a 1506 to the Internet 102. Each router 105a 1056 contains a routing tabe 106 for storing hop counts derived from network topoogy informa tion exchanged between the routers 105 Within the Internet 102. The hop count is the tota number of routers 105 and 105a 1056 that an IP packet has to traverse from one of the requesting hosts 152a 1526 to one of the aternative servers 158b or 1586. For exampe, if the requesting host 152a requested service from one of the aternative servers 158b and 1586 it Woud take thirteen 13 hops to reach the aternative server 1586, and ony seven 7 hops to reach the aternative server 158b. It shoud be known that the hop count for a certain destination (e.g., an aternative server 158b and 1586) can aso be retrieved manuay by the user With programs such as traceroute used on UNIX comput ers. In addition, the hop counts can aso be found using a record route option in an IP header, but the resut is not automaticay returned to the requesting host 152a 1526. Aternativey, each of DNS servers 156a 1566 may store prede?ned instructions Which can be used to determine the unique Internet Protoco address 116 of the most appropriate aternative server 158b or 1586 using a host name of the particuar requesting host 152a 1526 (described in greater detai With respect to FIGS. 12 13). The Internet system 100 can aso be used to automaticay seect the cosest aternative server 158b or 1586 for use by and in response to the changing ocation of a mobie user. The mobie user may utiize a mobie termina 118 Which generay communicates With a data termina equipment (DTE) 119 to aow packet data communications by Way of the Internet 102. Aternativey, the mobie termina 118 may incorporate the DTE 119 instead of connecting the DTE (as shown). In either case, the DTE 119 is assigned a unique IP address 116 (corresponding to the cosest server 158b or 1586) that is stored in some or a of the DNS servers 156a 1566. It shoud be understood that the iustrated con?guration of the Internet system 100 is ony one of many possibe

5 con?gurations that may form the system. A detaied discus sion of the seection method 200 is provided beow With respect to FIGS. 2 13 Where eeven exampe embodiments are iustrated and described as to how the Internet system 100 functions in seecting the cosest aternative server 158b or 1586. Referring to FIG. 2, there is iustrated a simpi?ed?owchart of the seection method 200 used to seect the cosest or most appropriate aternative server 158b from the viewpoint of the requesting host 152a. Beginning at steps 202 and 204, the host name 114 is assigned (step 202) to the set of aternative servers 158b and 1586 and a unique IP address 116 is assigned (step 204) to each aternative server so that no two aternative servers have the same IP address. For exampe, the set of aternative servers 158b and 1586 can have the host name 114 of mirroriservers, and IP addresses 116 of 209.180.55.2 (aternative server 158b) and 209.180.55.9 (aternative server 1586). At step 206, the assigned host name 114 and the unique IP addresses 116 are stored in some or a of the ook-up tabes 111 of the DNS servers 156a 1566. The DNS servers 156a 1566 can be at different eves of hierarchy such that one DNS server (e.g., DNS server 156a) may not store a particuar host name and IP address Whie another DNS server (e.g., DNS server 1566) a step ower in the hierarchy may store the particuar host name and IP addresses. At step 208, the requesting host (e.g., requesting host 152a) transmits a transation request containing the host name 114 of the aternative servers 158b and 1586 to one of the DNS servers (e.g., DNS server 156a). In the event one of the oca DNS servers (e.g., DNS server 156a) does not recognize the host name 114 transmitted in the transation request, then the oca DNS server 156a Woud refer the request to another DNS server (e.g., DNS server 156c) known as a DNS root server Which ocates yet another DNS server (e.g., DNS server 1566) that is a step ower in the hierarchy Which may recognize the transmitted host name. At step 210 and in response to the transation request, one of the unique IP addresses 116 corresponding to the ater native server 158b ocated the nearest to the requesting host 152a is seected. Aternativey, one of the unique IP addresses corresponding to the aternative server that is the most appropriate for the requesting host may be seected. There are nine exempary Ways of how to seect the unique IP address 116 assigned to the cosest aternative server 158b that are described beow With respect to FIGS. 3 11. In addition, there are two exempary Ways of how the seect the unique IP address 116 assigned to the most appropriate aternative server 158b that are described With respect to FIGS. 12 13. At step 212, the requesting host 152a then sends an IP packet to the cosest or most appropriate aternative server 158b. And, at step 214 the unique IP address 116 associated With the cosest or most appropriate aternative server 158b can be stored for a predetermined amount of time and used to send any subsequent IP packets. At step 214, the remaining unique IP addresses 116 (e.g., IP address of 209.180.559) can be stored for a predeter mined amount of time so as to be used in the event the cosest aternative server 158b fais to respond to the requesting host 152a. In addition, the remaining IP addresses 116 may be stored in an order based on how cose the remaining aternative servers (e.g., aternative server 1586) are ocated to the requesting host 152a. Aternativey, the remaining IP addresses 116 may be stored in an order based on how appropriate the remaining aternative server (e.g., aternative server 1586) are for the requesting host. US 6,304,913 B1 10 15 20 25 30 35 40 45 55 60 65 6 Referring to FIG. 3, there is iustrated a simpi?ed?owchart of a?rst embodiment of the seection step 210 of FIG. 2. Beginning at step 302 and in response to the transation request, the requesting host 152a receives a of the unique IP addresses 116 associated With the transmitted host name 114 from the DNS server 156a. It is assumed for purposes of this discussion that the DNS server 156a rec ognized the transmitted host name 114. At step 304, the requesting host 152a transmits a second request incuding a of the unique IP addresses 116 to the cosest router 105a. At step 306 and in response to the second request, the router 105a determines the hop count for each IP address 116. Again, each hop count indicates a number of the routers 105 and 105a 1056 the IP packet from the requesting host 152a Woud have to traverse to reach a corresponding one of the aternative servers 158b and 1586. For exampe, there Woud be thirteen 13 routers traversed if the requesting host 152a requested service from the aternative server 1586 and, in contrast, there Woud ony be seven 7 routers traversed if the requesting host requested service from the aternative server 158b. At step 308, the requesting host 152a receives a of the hop counts and IP addresses 116 from the oca router 105a and seects, at step 310, the cosest aternative server 158b having the smaest hop count. Referring to FIG. 4, there is iustrated a simpi?ed?owchart of a second embodiment of the seection step 210 of FIG. 2. Beginning at step 402 and in response to the transation request, the requesting host 152a receives a of the unique IP addresses 116 associated With the transmitted host name 114 from the DNS server 156a. At step 404, the requesting host 152a transmits a second request incuding a of the unique IP addresses 116 to the cosest router 105a. At step 406 and in response to the second request, the router 105a determines the hop count for each unique IP address 116. At step 408, the requesting host 152a receives the unique IP address 116 having smaest hop count from the router 105a and seects, at step 410, the cosest aternative server 158b having the smaest hop count. Referring to FIG. 5, there is iustrated a simpi?ed?owchart of a third embodiment of the seection step 210 of FIG. 2. Beginning at step 502 and in response to the transation request, the requesting host 152a receives a of the unique IP addresses 116 associated With the transmitted host name 114 from the DNS server 156a. At step 504, the requesting host 152a transmits a second request incuding a of the unique IP addresses 116 to the dedicated server 157a. At step 506 and in response to the second request, the dedicated server 157a determines the hop count for each IP address 116. The dedicated server 157a is a speciaized product con?gured to determine hop counts so that the router 105a need not be modi?ed. At step 508, the requesting host 152a receives a of the hop counts and IP addresses 116 from the dedicated server 158a and seects, at step 510, the cosest aternative server 158b having the smaest hop count. Referring to FIG. 6, there is iustrated a simpi?ed?owchart of a fourth embodiment of the seection step 210 of FIG. 2. Beginning at step 602 and in response to the transation request, the requesting host 152a receives a of the unique IP addresses 116 associated With the transmitted host name 114 from the DNS server 156a. At step 604, the requesting host 152a transmits a second request incuding a of the unique IP addresses 116 to the dedicated server 157a. At step 606 and in response to the second request, the

7 dedicated server 157a determines the hop count for each IP address 116. At step 608, the requesting host 152a receives the unique IP address 116 having the smaest hop count from the dedicated server 157a and seects, at step 610, the cosest aternative server 158b associated With the smaest hop count. Referring to FIG. 7, there is iustrated a simpi?ed?owchart of a?fth embodiment of the seection step 210 of FIG. 2. Beginning at step 702 and in response to the transation request, the DNS server 156a Which is couped With the same user network 150a as the requesting host 152a operates to transmit to the router 105a a second request incuding a of the unique IP addresses 116 associated With the transmitted host name 114. Aternativey, the DNS server 156a can be attached to the user network 150a or set of networks (not shown) When a singe?rewa is used for the set of networks. At step 704 and in response to the second request, the oca router 105a determines the hop count for a of the unique IP addresses 116. At step 706, the DNS server 156a receives a of the hop counts and unique IP addresses 116 from the router 105 and seects, at step 708, the unique IP address 116 having the smaest hop count. At step 710, the DNS server 156a transmits the IP address 116 having the smaest hop count to the requesting host 152a. Referring to FIG. 8, there is iustrated a simpi?ed?owchart of a sixth embodiment of the seection step 210 of FIG. 2. Beginning at step 802 and in response to the transation request, the DNS server 156a Which is couped With the same user network 150a as the requesting host 152a operates to transmit to the router 150a a second request incuding a of the unique IP addresses 116 associated With the transmitted host name 114. Aternativey, the DNS server 156a can be attached to the user network 150a or set of networks (not shown) When a singe?rewa is used for the set of networks. At step 804 and in response to the second request, the oca router 105a determines the hop count for each of the unique IP addresses 116. At step 806, the DNS server 156a receives ony the unique IP address 116 having the smaest hop count from the router 105a and transmits, at step 808, to the requesting host 152a the unique IP address 116 having the smaest hop count Which corresponds to the cosest aternative server 158b. Referring to FIG. 9, there is iustrated a simpi?ed?owchart of a seventh embodiment of the seection step 210 of FIG. 2. Beginning at step 902 and in response to the transation request, the DNS server 156a Which is couped With the same user network 150a as the requesting host 152a operates to transmit to the dedicated server 157a a second request incuding a of the unique IP addresses 116 associ ated With the transmitted host name 114. Aternativey, the DNS server 156a can be attached to the user network 150a or set of networks (not shown) When a singe?rewa is used for the set of networks. At step 904 and in response to the second request, the dedicated server 157a determines the hop count for a of the IP addresses 116. At step 906, the DNS server 156a receives a of the hop counts and IP addresses 116 from the dedicated server 157a and seects, at step 908, the unique IP address 116 having the smaest hop count. At step 910, the DNS server 156a transmits the IP address 116 having the smaest hop count to the requesting host 152a. Referring to FIG. 10, there is iustrated a simpi?ed?owchart of an eighth embodiment of the seection step 210 of FIG. 2. Beginning at step 1002 and in response to the US 6,304,913 B1 10 25 35 45 55 65 8 transation request, the DNS server 156a Which is couped With the same user network 150a as the requesting host 152a operates to transmit to the dedicated server 157a a second request incuding a of the unique IP addresses 116 associ ated With the transmitted host name 114. Aternativey, the DNS server 156a can be attached to the user network 150a or set of networks (not shown) When a singe?rewa is used for the set of networks. At step 1004 and in response to the second request, the dedicated server 157a determines the hop count for each of the unique IP addresses 116. At step 1006, the DNS server 156a receives ony the unique IP address having the smaest hop count from the dedicated server 156a and transmits, at step 1008, to the requesting host 152a the unique IP address 116 having the smaest hop count Which corresponds to the cosest aternative server 158b. Referring to FIG. 11, there is iustrated a simpi?ed?owchart of a ninth embodiment of the seection step 210 of FIG. 2. Beginning at step 1102 and in response to the transation request, the requesting host 152a receives a of the unique IP addresses 116 associated With the transmitted host name 114 from the DNS server 156a. At step 1104, the requesting host 152a transmits the IP packet incuding a of the received IP addresses 116 to the oca router 105a. At step 1106, the oca router 105a determines the smaest hop count corresponding to one unique IP address 116 and associated With the cosest aternative server 158b and, at step 1108, strips the remain ing IP addresses 116 from the IP packet. After the router 150a transmits the IP packet to the cosest mirror server 158b, the requesting host 152a receives a repy message (e.g., a Transmission Contro Protoco (TCP) acknowedgment message) and it is then known by the requesting host 152a Which unique IP address 116 Was seected by the router by reading the IP address of the cosest server (Which is the sender of the repy message). Thereafter, the requesting host 152a in sending subsequent IP packets to the same destination (cosest aternative server) need ony incude the known unique IP address in the IP packets transmitted to the router. Referring to FIG. 12, there is iustrated a simpi?ed?owchart of a tenth embodiment of the seection step 210 of FIG. 2. Beginning at step 1202, the DNS server 156a seects the unique IP address 116 of the most appropriate aternative server 158b using prede?ned instructions and the host name of the requesting host 152a. The prede?ned instructions indicate the unique IP address 116 of the most appropriate aternative server 158b based on a cass of the host name of the requesting host 152a. At step 1204, the DNS server 156a transmits the seected IP address 116 of the most appropriate aternative server 158b to the requesting host 152a. The most appropriate aternative server in may circum stances is the cosest aternative server 158b. HoWever, the seected server may not be the cosest aternative server 158b When (for exampe) the requesting host 152a ocated in Japan has a host name ending With.se (the country code of SWeden), then the seected server may be a server using the SWedish anguage (i.e., anguage adaptation) Which is not necessariy the cosest to the requesting host. In the event, the host name of the requesting host 152a does not beong to one of the de?ned casses either one of the IP addresses 116 may be used as a defaut address or one of the above-mentioned seection methods can be used (see FIGS. 3 11). Referring to FIG. 13, there is iustrated simpi?ed?ow chart of an eeventh embodiment of the seection step 210 of

9 FIG. 2. Beginning at step 1302 and in response to the transation request, the requesting host 152a receives a of the unique IP addresses 116 and the prede?ned instructions from the DNS server 156a. At step 1304, the requesting host 152a seects the IP address 116 of the most appropriate server 151% using the prede?ned instructions and the host name of the requesting host. Again, the prede?ned instructions indicate the unique IP address 116 of the most appropriate aternative server 151% based on a cass of the host name of the requesting host 152a. And, as mentioned above, if the host name of the requesting host 152a does not beong to one of the de?ned casses either one of the unique IP addresses 116 can be used as a defaut address or one of the above-mentioned seection methods can be used (see FIGS. 3 11). Again, the most appropriate aternative server in may circumstances is the cosest aternative server 151%. HoWever, the seected server may not be the cosest ater native server 158b When (for exampe) the requesting host 152a ocated in Japan has a host name ending With.se (the country code of SWeden), the seected server may be a server using the SWedish anguage (i.e., anguage adaptation) Which is not necessariy the cosest to the requesting host. From the foregoing, it can be readiy appreciated by those skied in the art that the present invention provides a method and Internet system that seects an aternative server ocated the cosest to a user or aternativey an aternative server that is the most appropriate for a user. Aso, the Internet system and method as discosed can operate to seect either the cosest aternative server using the hop counts based on network topoogy or the most appropriate aternative server using prede?ned instructions based on a particuar cass of a user. In addition, the present invention reduces the overa oad in the network by reducing the number of routers that have to be traversed by IP packets. Athough severa embodiments of the method and Internet system of the present invention have been iustrated in the accompanying DraWings and described in the foregoing Detaied Description, it Wi be understood that the invention is not imited to the embodiments discosed, but is capabe of numerous rearrangements, modi?cations and substitu tions Without departing from the spirit of the invention as set forth and de?ned by the foowing caims. What is caimed is: 1. Amethod for seecting a cosest server from a puraity of servers, said method comprising the steps of: assigning a host name to the puraity of servers; assigning a unique address to each of the puraity of servers; storing the host name and the puraity of unique addresses in a database; transmitting from a requesting host to the database a transation request incuding the host name of the puraity of servers; and seecting, responsive to the transation request, the unique address assigned to the cosest server ocated the near est to the requesting host comprising the steps of: transmitting a second request incuding the puraity of unique Internet Protoco addresses from at east one of the requesting host and Domain Name System server to at east one of a router and a dedicated server; and determining, responsive to the second request, a hop count for each unique Internet Protoco address. 2. The method of caim 1, further comprising the step of sending a packet from the requesting host to the cosest server utiizing the seected unique address of the cosest server. US 6,304,913 B1 10 15 25 35 45 55 65 10 3. The method of caim 1, further comprising the step of storing the seected unique address of the cosest server for a predetermined amount of time. 4. The method of caim 3, further comprising the step of storing the remaining unique addresses for use When the cosest server fais to respond to the requesting host. 5. The method of caim 4, Wherein the step of storing the remaining unique addresses further incudes ordering the remaining unique addresses based on how cose the remain ing servers are ocated to the requesting host. 6. The method of caim 1, Wherein said step of transmit ting a transation request further incudes bypassing another database to reach the database When said another database fais to recognize the host name transmitted Within the transation request. 7. The method of caim 1, Wherein said puraity of servers further incudes a puraity of an mirror servers or a puraity of aternative servers. 8. The method of caim 1, Wherein said hop count is indicative of a number of routers a packet from the request ing host Woud have to traverse to reach a corresponding one of the puraity of servers. 9. A method for seecting a most appropriate server from a puraity of servers, said method comprising the steps of: assigning a host name to the puraity of servers; assigning a unique Internet Protoco address to each of the puraity of servers; storing the host name and the puraity of unique addresses in a database; transmitting from a requesting host to the database a transation request incuding the host name of the puraity of servers; and seecting, responsive to the transation request, the unique Internet Protoco address assigned to the server that is the most appropriate for the requesting host, said step of seecting comprising the steps of: receiving, responsive to the?rst request, the puraity of unique Internet Protoco addresses and prede?ned instructions, said requesting host receives the pura ity of unique Internet Protoco addresses and pre de?ned instructions from the Domain Name System server; and determining the seected unique Internet Protoco address of the most appropriate server using pre de?ned instructions and a host name of the request ing host, said prede?ned instructions indicate the seected unique Internet Protoco address of the most appropriate server based on a cass of the host name of the requesting host. 10. A method for estabishing Internet Protoco commu nication from a requesting host to a cosest server seected from a puraity of servers, said method comprising the steps of: assigning a common host name and a unique Internet Protoco address to each server; storing the common host name and the puraity of unique Internet Protoco addresses in a Domain Name System server; transmitting a?rst request incuding the common host name from a requesting host to the Domain Name System server; seecting, responsive to the?rst request, the unique Inter net Protoco address assigned to the cosest server ocated the nearest to the requesting host comprising the steps of: transmitting a second request incuding the puraity of unique Internet Protoco addresses from at east one of the requesting host and the Domain Name System server to at east one of a router and a dedicated server; and