`EX1016
`
`
`
`(12) United States Patent
`Parekh et al.
`
`USOO675774OB1
`(10) Patent No.:
`US 6,757,740 B1
`(45) Date of Patent:
`Jun. 29, 2004
`
`(54) SYSTEMS AND METHODS FOR
`DETERMINING COLLECTING AND USING
`GEOGRAPHC LOCATIONS OF INTERNET
`USERS
`
`(75) Inventors: Sanjay M. Parekh, Duluth, GA (US);
`Robert B. Friedman, Decatur, GA
`(US); Neal K. Tibrewala, Pittsburgh,
`PA (US); Benjamin Lutch, Mountain
`View, CA (US)
`. Y.
`(73) Assignee: Digital Envoy, Inc., Norcross, GA (US)
`(*) Notice:
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`WO
`WO
`WO
`WO
`WO
`WO
`
`FOREIGN PATENT DOCUMENTS
`WO 96/13108
`5/1996
`WO 99/34305
`7/1999
`WO OO/22495
`4/2000
`WO O1/57696 A1
`8/2001
`WO O1/75698 A1 10/2001
`WO O2/17139 A1
`2/2002
`OTHER PUBLICATIONS
`Tomasz. Imielinski and Julio C. Navas; “Geographic
`Addressing, Routing, and Resource Discovery with the
`Global Positioning System'; Computer Science Dept. Rut
`is." Star, University, Piscataway, NJ 08855, Oct. 19,
`; pp. 1-1U.
`(List continued on next page.)
`Primary Examiner-Glenton B. Burgess
`21) Appl. No.: 09/541,451
`Assistant Examiner Yasin M Barqadle
`(21) Appl. No
`1541,
`(74) Attorney, Agent, or Firm Needle & Rosenberg, P.C.
`(22) Filed:
`Mar. 31, 2000
`(57)
`ABSTRACT
`Related U.S. Application Data
`(60) Provisional application No. 60/132,147, filed on May 3,
`1999, and provisional application No. 60/133,939, filed on A method of determining a geographic location of
`May 13, 1999.
`Internet user involves determining if the host is on-line,
`determining ownership of the host name, and then deter
`(51) Int. Cl." ........................ G06F 15/16; G06F 15/173
`mining the route taken in delivering packets to the user.
`(52) U.S. Cl. ....................... 709/245; 709/219; 709/229;
`Based on the detected rOute, the method proceeds with
`70'23S
`determining the geographi
`based on the host locati
`etermining the geographic route based On the hOSt locatIOnS
`(58) Field of Search ................................. 709/217, 219,
`and then assigning a confidence level to the assigned loca
`709/229, 224, 245, 238, 218
`tion. A System collects the geographic information and
`allowS Web SiteS Or Other entitleS to reduleSt the geographic
`References Cited
`11
`b si
`h
`C
`he geographi
`location of their visitors. The database of geographic loca
`tions may be Stored in a central location or, alternatively,
`may be at least partially located at the web site. With this
`information, web sites can target content, advertising, or
`route traffic depending upon the geographic locations of
`their visitors. Through web site requests for geographic
`information, a central database tracks an Internet user's
`traffic on the Internet whereby a profile can be generated. In
`addition to this profile, the central database can Store Visi
`tor's preferences as to what content should be delivered to
`an IP address, the available interface, and the network Speed
`associated with that IP address.
`
`7
`
`s
`
`(56)
`
`U.S. PATENT DOCUMENTS
`
`4,939,726 A 7/1990 Flammer et al.
`5,042,027 A 8/1991 Takase et al.
`5,042,032 A 8/1991 Dighe et al.
`5,115,433 A 5/1992 Baran et al.
`5,231,631 A 7/1993 Buhrke et al.
`5,291,550 A 3/1994 Levy et al.
`5,418,713 A 5/1995 Yoshimura et al.
`5,421,024 A 5/1995 Faulk, Jr. et al.
`5.488.608 A 1/1996 Flammer, III
`5.490.252 A 2/1996 Macera et al.
`5,493,689 A 2/1996 Waclawsky et al.
`(List continued on next page.)
`
`15 Claims, 15 Drawing Sheets
`
`i05
`
`HOST
`OM-LINE2
`
`YES
`
`02
`New ADDREss -1
`
`100
`d
`
`103
`
`WERIFY PADDRESS
`AND HOSTNAM
`
`DETERMINE IF Host
`
`DETERMENE
`OWERShIP
`
`06
`/
`
`107
`DETERMINE ROUTEu
`To Target
`
`DETERMINe
`GEOGRAPHIC
`ROU of
`UNKNOWNOSTS
`
`108
`.
`
`DETERMINE
`CONFIDENCELSWEL
`
`109
`/
`
`ADD NEyl Data into
`NYoAA
`GATAASE
`
`Launch Labs EX1016 Page 1
`
`
`
`US 6,757,740 B1
`Page 2
`
`4/2003 Garner
`6,542,739 B1
`6/2003 Logan et al.
`6,578,066 B1
`9/2003 Naidoo
`6,629,136 B1
`1/2004 Anderson et al.
`6,684,250 B2
`1/2002 Marks et al.
`2002/OOO73.74 A1
`2002/O143991 A1 10/2002 Chow et al.
`
`OTHER PUBLICATIONS
`Kessler & Shepard; “A Primer on Internet and TCP/IP Tools
`and Utilities”; Network Working Group; Request for Com
`ments: 2151; FYI: 30; Obsoletes: RFC 1739; Category:
`Informational, Http://www.ietff.org/rfc/rfc2151.txt; Jun.
`1997; (pp. 1–46).
`“Subnet Masking Definition”, www.exabyte.net/lambert/
`Subnet/Subnet masking definition.htm, John Lambert,
`1999.
`Kevin S. McCurley, “Geospacial Mapping and Navigation
`of the Web'; IBM Almaden Research Center; San Jose, CA
`95120; May 1–5, 2001; pp. 221-229.
`Orkut Buyukkokten, "Exploiting Geographical Location
`Information of Web Pages' Department of Computer Sci
`ence, Stanford University, Stanford, CA 94305; pp. 1-6.
`Narushige Shiode, “Analyzing the Geography of Internet
`Address
`Space'
`http://geog.ucl.uk/casa/martine/inter
`netspace; pp. 1-3, (date unknown).
`“Subnet Addressing”, Network Computing, by Ron Cooney,
`www.network.computing.com/unixworld, tutorial/001.html,
`(no date given).
`“Real-Time Geographic Visualization of World Wide Web
`Traffic” Stephen E. Lamm, Daniel A. Reed, Will H. Scullin.
`WWW Journal, Issue 3.
`Copy of International Search Report for PCT/US 02/37725
`mailed Apr. 21, 2003.
`U.S. Provisional application Ser. No. 60/194,761, filed Apr.
`3, 2000, Christopher Herringshaw et al., inventor.
`U.S. Provisional application Ser. No. 60/241,776, filed Oct.
`18, 2000, Brad Doctor, et al., inventor.
`“Nicname/Whois”, Internet Engineering Task Force,
`Request for Comments 954.
`“A Primer on Internet and TCT/IP Tools and Utilities”,
`Internet Engineering Task Force, Request for Comments
`2151.
`“Domain Name System Security Extensions”, Internet Engi
`neering Task Force, Request for Comments 2535.
`“Content Delivery Services: Footprint Streaming Solu
`tions”, Brochure from Digital Island.
`“TraceWire White Paper", Brochure from Digital Island,
`Jun 1999.
`“We Know Where You Live”, Scott Woolley, Forbes Maga
`Zine, Nov. 13, 2000.
`* cited by examiner
`
`
`
`U.S. PATENT DOCUMENTS
`Brugger
`Dunn
`Robrock, II
`Blakeley et al.
`Saigh et al.
`Saigh
`Choquier et al.
`McGarvey
`Allen
`Bonnaure et al. ........... 709/227
`Jarvis et al.
`Velamuri et al.
`Brownmiller et al.
`Dunworth et al.
`Lee et al.
`Levy
`Merriman et al.
`Reisacher
`Wheeler et al.
`Altschuler et al.
`Li et al.
`Chung et al.
`Scroggie et al.
`Ingrassia, Jr. et al.
`Souissi et al.
`Leinwand et al.
`Haggard et al.
`Ansell et al. ............... 709/229
`Shah
`Farber et al.
`Hummelsheim
`Sondur et al.
`Sitaraman et al.
`Dupray
`Shur et al.
`Meis et al.
`Hrastar et al.
`Pon et al.
`Ricciulli
`Lewis
`Ramanathan et al.
`Zhang et al.
`... 709/203
`Schneider ......
`Narvaez-Guarnieri et al.
`Gall et al.
`McCanne et al.
`Kenner et al. .............. 709/225
`Carmello et al. ........... 709/217
`Tyra et al.
`Mills
`Maggenti et al.
`Swildens et al.
`Gupta et al.
`Haitsuka et al.
`Ebata et al.
`Zhang et al. ............... 709/245
`
`5,636.276
`5,659,596
`5,680,390
`5,734,651
`5,734,823
`5,734,891
`5,774,668
`5,777,989
`5,794.217
`5,862,339
`5,870,561
`5,878,126
`5,913,036
`5,930,474
`5.937,163
`5,944,790
`5.948,061
`5,978,845
`6,009,081
`6,012,052
`6,012,088
`6,012,090
`6,014.634
`6,035,332
`6,091,959
`6,130,890
`6,148,335
`6,151,631
`6,167,259
`6,185,598
`6,192,312
`6.243,746
`6,243,749
`6,249.252
`6.259,701
`6,266,607
`6,272,150
`6,272,343
`6,275,470
`6,285,748
`6,286,047
`6,324,585
`6,338,082
`6,347,078
`6,356,929
`6,415,323
`6.421,726
`6.425,000
`6,442,565
`6,466,940
`6,477,150
`6,484.143
`6,487,538
`6,505,201
`6,513,061
`6,526,450
`
`6/1997
`8/1997
`10/1997
`3/1998
`3/1998
`3/1998
`6/1998
`7/1998
`8/1998
`1/1999
`2/1999
`3/1999
`6/1999
`7/1999
`8/1999
`8/1999
`9/1999
`11/1999
`12/1999
`1/2000
`1/2000
`1/2000
`1/2000
`3/2000
`7/2000
`10/2000
`11/2000
`11/2000
`12/2000
`2/2001
`2/2001
`6/2001
`6/2001
`6/2001
`7/2001
`7/2001
`8/2001
`8/2001
`8/2001
`9/2001
`9/2001
`11/2001
`1/2002
`2/2002
`3/2002
`7/2002
`7/2002
`7/2002
`8/2002
`10/2002
`11/2002
`11/2002
`11/2002
`1/2003
`1/2003
`2/2003
`
`:
`
`Launch Labs EX1016 Page 2
`
`
`
`U.S. Patent
`
`US 6,757,740 B1
`
`WELSÅS
`
`
`
`NOI LOETTO O
`
`
`
`
`
`
`
`
`
`| ERH[15)|–|
`
`Launch Labs EX1016 Page 3
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 2 of 15
`
`US 6,757,740 B1
`
`
`
`
`
`
`
`105
`
`
`
`NEW ADDRESS
`
`102
`
`100
`
`103
`
`104
`
`106
`
`107
`
`VERIFY PADDRESS
`AND HOST NAME
`
`DETERMINE IF HOST
`ISON-LINE
`
`DETERMINE
`OWNERSHIP
`
`DETERMINE ROUTE
`TO TARGET
`
`108
`
`DETERMINE
`GEOGRAPHIC
`ROUTE OF
`UNKNOWN HOSTS
`
`109
`
`DETERMINE
`CONFIDENCE LEVEL
`
`ADD NEW DATA INTO
`DATABASE
`
`FIGURE 2
`
`
`
`
`
`Launch Labs EX1016 Page 4
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 3 of 15
`
`US 6,757,740 B1
`
`
`
`OBTAN ACCESS
`NUMBERS
`
`111
`
`CONNECT WITH ISP
`THROUGH ACCESS
`NUMBERS
`
`DETERMINE
`ASSIGNED IP
`ADDRESS
`
`DETERMINE ROUTE
`TO SAMPLE TARGET
`
`DETERMINE
`GEOGRAPHIC
`LOCATION OF SP
`MACHINE
`
`STORE RESULTS
`
`FIGURE 3
`
`Launch Labs EX1016 Page 5
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 4 of 15
`
`US 6,757,740 B1
`
`
`
`
`
`
`
`
`
`NO||LOETTOO
`
`WELLSÅS
`
`07
`
`Launch Labs EX1016 Page 6
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 5 of 15
`
`US 6,757,740 B1
`
`
`
`125
`
`
`
`
`
`RECEIVE RECRUEST 122
`FOR GEOGRAPHIC
`LOCATION
`
`120
`
`
`
`ouery DATABASE 123
`FOR STORED
`GEOGRAPHIC
`INFORMATION
`
`DETERMINE
`GEOGRAPHIC
`INFORMATION
`
`INFORMATION
`AVAILABLE
`
`
`
`
`
`
`
`
`
`
`
`
`
`RETRIEVE
`GEOGRAPHIC
`INFORMATION
`
`SEND GEOGRAPHIC
`INFORMATION TO
`REOUESTOR
`
`124
`
`126
`
`127
`
`FIGURE 5
`
`Launch Labs EX1016 Page 7
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 6 of 15
`
`US 6,757,740 B1
`
`09
`
`
`
`
`
`Launch Labs EX1016 Page 8
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 7 of 15
`
`US 6,757,740 B1
`
`
`
`WEBSERVER
`RECEIVES REOUEST
`FROM USER
`
`130
`/
`
`WEBSERVER
`OUERIES POSITION
`TARGETER
`
`POSITION
`TARGETER QUERIES
`SYSTEM
`
`POSITION
`TARGETER
`RECEIVES POSITION
`OF USER
`
`INFORMATION
`SELECTED BASED
`ON POSITION
`
`SELECTED
`INFORMATIONSENT
`TO USER
`
`FIGURE 7
`
`Launch Labs EX1016 Page 9
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 8 of 15
`
`US 6,757,740 B1
`
`09
`
`
`
`
`
`
`
`
`
`09
`
`Launch Labs EX1016 Page 10
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 9 of 15
`
`US 6,757,740 B1
`
`
`
`145
`
`
`
`
`
`OUERY CENTRAL
`DATABASE
`
`
`
`140
`
`
`
`
`
`
`
`
`
`
`
`
`
`WEB SERVER
`RECEIVES REOUEST
`FROM USER
`
`WEBSERVER
`QUERESPOSITION
`TARGETER
`
`N LOCAL
`DATABASEP
`
`POSITION
`TARGETER
`ASCERTAINS
`POSITION OF USER
`
`INFORMATION
`SELECTED BASED
`ON POSITION
`
`142
`
`143
`
`144
`
`146
`
`147
`
`148
`
`SELECTED
`NFORMATION SENT
`TO USER
`
`FIGURE 9
`
`Launch Labs EX1016 Page 11
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 10 Of 15
`
`US 6,757,740 B1
`
`09
`
`
`
`09
`
`E_LIS £ EINA
`
`Launch Labs EX1016 Page 12
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 11 Of 15
`
`US 6,757,740 B1
`
`150
`
`152
`
`153
`
`154
`
`155
`
`156
`
`157
`
`158
`
`USER INITATES
`REGUEST
`
`PROXY REQUESTS
`URL FROM SERVER
`
`WEB DETERMINES
`REOUEST IS FROM
`PROXY
`
`WEBSERVER
`SELECTS TAGGED
`PAGE
`
`PROXY FORWARDS
`PAGE TO USER
`
`USER CONNECTS
`DIRECTLY WITH WEB
`SERVER
`
`USER SENDS ID TAG
`TO WEB SERVER
`
`159
`
`
`
`WEBSERVER
`ASSOCATES AND
`STORES USER'S IP
`ADDRESS AND
`LOCATION
`
`
`
`
`
`
`
`FIGURE 11
`
`Launch Labs EX1016 Page 13
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 12 0f 15
`
`US 6,757,740 B1
`
`CN N
`
`
`
`
`
`
`
`
`S
`
`
`
`N
`
`
`
`e
`
`
`
`Launch Labs EX1016 Page 14
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 13 of 15
`
`US 6,757,740 B1
`
`ave
`
`avs
`
`
`
`
`
`
`
`
`
`
`
`Asvavlvdisano34disOed
`ANIDNA7YSsAdaS
`ASVaEVLVdGasdSMYOMLAN
`
`
`ASVEVLVGNOILVZINOHLNY|978
`
`ASVaVLV¥dAHdvWeuDO39
`AAMASYaTONVH
`
`AasvavivdJOVsYALNI
`
`AsvavivdaldOdd
`ebSYNSIs
`
`AYaAOOSIO
`
`JSLISd3M
`
`
`
`DIHdVYODOADNOWWOD
`
`
`
`AISVaEVLVdSANVN
`
`
`
`DIHdVHDOADWad019
`
`
`
`asvavlvdaYyNLONYLls
`
`
`
`AsvavlvddiIHSYaNMO
`
`SSSaYaaVOVW
`
`OG
`
`Launch Labs EX1016 Page 15
`
`Launch Labs EX1016 Page 15
`
`
`
`
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 14 of 15
`
`US 6,757,740 B1
`
`162
`
`
`
`
`
`PROFILE SERVER
`RECEIVES REQUEST
`
`REQUESTOR
`AUTHORIZED
`
`PROVIDE
`INFORMATION
`
`
`
`PROFILE
`KNOWN ?
`
`
`
`
`
`
`
`INFORMATION
`UNKNOWN
`
`
`
`
`
`SEND INFORMATION
`TO PROFILE
`DSCOVERY SERVER
`
`
`
`
`
`
`
`DETERMINE ROUTE
`TO ADDRESS
`
`OBTAIN HOST
`INFORMATION
`
`FIGURE 14(A)
`
`Launch Labs EX1016 Page 16
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 15 0f 15
`
`US 6,757,740 B1
`
`170
`
`ERROR <>
`
`171
`
`172
`
`
`
`
`
`174
`
`176
`
`
`
`
`
`178
`
`SAVE DISCOVERED
`AND INTERPOLATED
`DATA
`
`183
`
`182
`
`HOST NAME
`AVAILABLE?
`
`ATEMPT TO
`LOCATE BASED ON
`NAMING
`CONVENTIONS
`
`
`
`
`
`YES
`NTP RESPONSE2
`
`ATTEMPT TO
`DETERMINE TIME
`
`r ZONE
`
`SNMP
`RESPONSE
`
`
`
`NO
`
`ATTEMPT TO
`DETERMINE
`MACHINETYPE AND
`CONNECTION SPEED
`
`FLAG DATA FOR
`FUTURE REVIEW
`
`MAC ADDRESS
`
`Y
`
`ATTEMPT TO
`DETERMINE
`MACHINE TYPE AND
`CONNECTION SPEED
`
`
`
`INTERPOLATE
`INFORMATION
`
`181
`
`NO
`
`18O
`
`
`
`FIGURE 14(B)
`
`Launch Labs EX1016 Page 17
`
`
`
`US 6,757,740 B1
`
`1
`SYSTEMS AND METHODS FOR
`DETERMINING COLLECTING AND USING
`GEOGRAPHC LOCATIONS OF INTERNET
`USERS
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`This application claims priority to, and incorporates by
`reference, U.S. application Ser. No. 60/132,147 entitled
`“System to Determine the Geographic Location of an Inter
`net User filed on May 3, 1999, and U.S. application Ser.
`No. 60/133,939 entitled “Method, System and Set of Pro
`grams for Tailoring an Internet Site Based Upon the Geo
`graphic Location or Internet Connection Speed of Internet
`15
`User" filed on May 13, 1999.
`
`FIELD OF THE INVENTION
`The present invention relates to Systems and methods for
`determining geographic locations of Internet users. Accord
`ing to other aspects, the invention relates to Systems and
`methods for collecting geographic locations of Internet
`users, for profiling Internet users, or for Selectively deliver
`ing information based on the geographic locations or con
`nection Speeds of the Internet users.
`
`25
`
`BACKGROUND
`
`2
`level domain format designates.us for the United States,.uk
`for the United Kingdom, etc. Thus, by referencing these
`extensions, at least the country within which the computer is
`located can often be determined. These extensions, however,
`can often be deceiving and may be inaccurate. For instance,
`the .md domain is assigned to the Republic of Moldova but
`has become quite popular with medical doctors in the United
`States. Consequently, while the domain name may Suggest
`Some aspect of the computer's geographic location, the
`domain name and the IP address often do not convey any
`useful geographic information.
`In addition to the geographic location, the IP address and
`domain name also tell very little information about the
`perSon or company using the computer or computer net
`work. Consequently, it is therefore possible for Visitors to go
`to a web site, transfer files, or Send email without revealing
`their true identity. This anonymity, however, runs counter to
`the desires of many web sites. For example, for advertising
`purposes, it is desirable to target each advertisement to a
`Select market group optimized for the goods or Services
`asSociated with the advertisement. An advertisement for a
`product or Service that matches or is closely associated with
`the interests of a perSon or group will be much more
`effective, and thus more valuable to the advertisers, than an
`advertisement that is blindly sent out to every visitor to the
`Site.
`Driven often by the desire to increase advertising rev
`enues and to increase Sales, many Sites are now profiling
`their visitors. To profile a visitor, web sites first monitor their
`Visitors traffic historically through the Site and detect pat
`terns of behavior for different groups of visitors. The web
`Site may come to infer that a certain group of Visitors
`requesting a page or Sequence of pages has a particular
`interest. When Selecting an advertisement for the next page
`requested by an individual in that group, the web site can
`target an advertisement associated with the inferred interest
`of the individual or group. Thus, the visitor's traffic through
`the Web Site is mapped and analyzed based on the behavior
`of other visitors at the web site. Many web sites are therefore
`interested in learning as much as possible about their visitors
`in order to increase the profitability of their web site.
`The desire to learn more about users of the Internet is
`countered by privacy concerns of the users. The use of
`cookies, for instance, is objectionable to many visitors. In
`fact, bills have been introduced into the House of Repre
`Sentatives and also in the Senate controlling the use of
`cookies or digital ID tags. By placing cookies on a user's
`computer, companies can track Visitors acroSS numerous
`Web Sites, thereby Suggesting interests of the Visitors. While
`many companies may find cookies and other profiling tech
`niques beneficial, profiling techniques have not won wide
`Spread approval from the public at large.
`A particularly telling example of the competing interests
`between privacy and profiling is when Double Click, Inc. of
`New York, N.Y. tied the names and addresses of individuals
`to their respective IP addresses. The reactions to Double
`Click's actions included the filing of a complaint with the
`Federal Trade Commission (FTC) by the Electronic Privacy
`Information Center and outbursts from many privacy advo
`cates that the tracking of browsing habits of VisitorS is
`inherently invasive. Thus, even though the technology may
`allow for precise tracking of individuals on the Internet,
`companies must carefully balance the desire to profile
`Visitors with the rights of the visitors in remaining anony
`OUIS.
`A need therefore exists for systems and methods by which
`more detailed information may be obtained on visitors
`without jeopardizing or compromising the visitors privacy
`rights.
`
`35
`
`45
`
`The Internet consists of a network of interconnected
`computer networks. Each of these computerS has an IP
`address that is comprised of a Series of four numbers
`Separated by periods or dots and each of these four numbers
`is an 8-bit integer which collectively represent the unique
`address of the computer within the Internet. The Internet is
`a packet Switching network whereby a data file routed over
`the Internet to Some destination is broken down into a
`number of packets that are separately transmitted to the
`destination. Each packet contains, inter alia, Some portion of
`the data file and the IP address of the destination.
`The IP address of a destination is useful in routing packets
`40
`to the correct destination but is not very people friendly. A
`group of four 8-bit numbers by themselves do not reveal or
`Suggest anything about the destination and most people
`would find it difficult to remember the IP addresses of a
`destination. As a result of this shortcoming in just using IP
`addresses, domain names were created. Domain names
`consist of two or more parts, frequently words, Separated by
`periods. Since the words, numbers, or other Symbols form
`ing a domain name often indicate or at least Suggest the
`identity of a destination, domain names have become the
`Standard way of entering an address and are more easily
`remembered than the IP addresses. After a domain name has
`been entered, a domain name server (DNS) resolves the
`domain name into a specific IP address. Thus, for example,
`when Someone Surfing the Internet enters into a browser
`program a particular domain name for a web site, the
`browser first queries the DNS to arrive at the proper IP
`address.
`While the IP address works well to deliver packets to the
`correct address on the Internet, IP addresses do not convey
`any useful information about the geographic address of the
`destination. Furthermore, the domain names do not even
`necessarily indicate any geographic location although Some
`times they may Suggest, correctly or incorrectly, Such a
`location. This absence of a link between the IP address or
`domain name and the geographic location holds true both
`nationally and internationally. For instance, a country top
`
`50
`
`55
`
`60
`
`65
`
`Launch Labs EX1016 Page 18
`
`
`
`3
`SUMMARY
`The invention addresses the problems above by providing
`Systems and methods for determining the geographic loca
`tions of Internet users. According to one aspect, a method of
`collecting geographic information involves taking one of the
`IP address or host name and determining the organization
`that owns the IP address. Preferably, the method first takes
`one of the IP address or host name and checks whether the
`host name is associated with that IP address, Such as through
`an inslookup query. Next, the route to the host is acquired,
`preferably through a traceroute query, So as to determine a
`number of intermediate hosts. The Specific route is analyzed
`and mapped against a database of Stored geographic
`locations, thereby mapping out the intermediate hosts. For
`any intermediate host not having a location Stored in the
`database, the method involves determining a geographic
`location and Storing this information in the database.
`According to another aspect, the invention relates to a
`System for determining geographic locations of Internet
`users. The determination System receives queries from
`requestors, Such as web sites, for the geographic location of
`a certain Internet user. The determination System in turn
`queries a central database of Stored locations and returns the
`geographic information if contained in the database. If the
`geographic information is not in the database, then the
`System performs a Search to collect that information. Instead
`of querying a central database each time geographic location
`of an Internet user is desired, the web site or other requestor
`may have geographic locations of at least Some Internet
`users Stored in a local database. The web site first checks
`with the local database for the geographic information and,
`if it not available, then Sends a query to the central database.
`The geographic location information of Internet users can
`be used for a variety of purposes. For instance, a position
`targeter can be associated with web sites to target the
`delivery of information based on the geographic location
`information. The web sites can selectively deliver content or
`advertising based on the geographic location of its visitors.
`The geographic location information can also be used in the
`routing of Internet traffic. A traffic manager associated with
`a number of Web Servers detects the geographic locations of
`its Internet visitors and routes the traffic to the closest server.
`The databases of geographic locations can contain other
`information that may be useful to web sites and other
`requestors. The databases, for instance, can Serve as a
`registery for allowed content that may be delivered to a
`particular IP address or range of IP addresses. Thus, prior to
`a web site delivering content to an IP address, the web site
`may query the database to ensure that the delivery of the
`content is permitted. The databases may Store network
`Speeds of Internet users whereby a web site can tailor the
`amount of content delivered to an Internet user based in part
`of the bandwidth to that user. The databases may also store
`an interface of an Internet user whereby a web site can tailor
`the content and presentation for that particular interface.
`Other uses of the geographic location and of the Systems and
`methods described herein will be apparent to those skilled in
`the art and are encompassed by the invention.
`BRIEF DESCRIPTION OF DRAWINGS
`The accompanying drawings, which are incorporated in
`and form a part of the Specification, illustrate preferred
`embodiments of the present invention and, together with the
`description, disclose the principles of the invention. In the
`drawings:
`FIG. 1 is a block diagram of a network having a collection
`System according to a preferred embodiment of the inven
`tion;
`
`1O
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,757,740 B1
`
`4
`FIG. 2 is a flow chart depicting a preferred method of
`operation for the collection system of FIG. 1;
`FIG. 3 is a flow chart depicting a preferred method of
`obtaining geographic information through an Internet Ser
`vice Provider (ISP);
`FIG. 4 is a block diagram of a network having a collection
`System and determination System according to a preferred
`embodiment of the invention;
`FIG. 5 is a flow chart depicting a preferred method of
`operation for the collection and determination System;
`FIG. 6 is a block diagram of a web server using a position
`targeter connected to the collection and determination Sys
`tem,
`FIG. 7 is a flow chart depicting a preferred method of
`operation for the web server and position targeter of FIG. 6;
`FIG. 8 is a block diagram of a web server using a position
`targeter having access to a local geographic database as well
`as the collection and determination System;
`FIG. 9 is a flow chart depicting a preferred method of
`operation for the web server and position targeter of FIG.8;
`FIG. 10 is a block diagram of a network depicting the
`gathering of geographical location information from a user
`through a proxy Server;
`FIG. 11 is a flow chart depicting a preferred method of
`operation for gathering geographic information through the
`proxy Server,
`FIG. 12 is a block diagram of a traffic manager according
`to a preferred embodiment of the invention;
`FIG. 13 is a block diagram of a network including a
`profile server and a profile discovery server according to a
`preferred embodiment of the invention; and
`FIGS. 14(A) and 14(B) are flow charts depicting preferred
`methods of operation for the profile server and profile
`discovery server of FIG. 13.
`DETAILED DESCRIPTION
`Reference will now be made in detail to preferred
`embodiments of the invention, non-limiting examples of
`which are illustrated in the accompanying drawings.
`I. COLLECTING, DETERMINING AND
`DISTRIBUTING GEOGRAPHIC LOCATIONS
`According to one aspect, the present invention relates to
`Systems and methods of collecting, determining, and dis
`tributing data that identifies where an Internet user is likely
`to be geographically located. Because the method of
`addressing on the Internet, Internet Protocol (IP) addresses,
`allows for any range of addresses to be located anywhere in
`the World, determining the actual location of any given
`machine, or host, is not a simple task.
`A. Collecting Geographic Location Data
`A System 10 for collecting geographic information is
`shown in FIG.1. The system 10 uses various Internet route
`tools to aid in discovering the likely placement of newly
`discovered Internet hosts, Such as new target host 34. In
`particular the System 10 preferably uses programs known as
`host, nslookup, ping, traceroute, and wholis in determining a
`geographic location for the target host 34. It should be
`understood that the invention is not limited to these pro
`grams but may use other programs or Systems that offer the
`Same or Similar functionality. Thus, the invention may use
`any Systems or methods to determine the geographic loca
`tion or provide further information that will help ascertain
`the geographic location of an IP address.
`
`Launch Labs EX1016 Page 19
`
`
`
`US 6,757,740 B1
`
`6
`34. At 108, the system 10 takes the route to the target host
`34 and analyzes and maps it geographically against a
`database 20 of stored locations. If any hosts leading to the
`target host, Such as intermediate host 32, are not contained
`in the database 20, the system 10 makes a determination as
`to the location of those hosts.
`At 109, a determination is then made as to the location of
`the target host and a confidence level, from 0 to 100, is
`assigned to the determination based on the confidence level
`of hosts leading to and new hosts found and the target host
`34. All new hosts and their respective geographic locations
`are then added to the database 20 at 110.
`If the host name is of the country top-level domain format
`(.us, .uk, etc.) then the System 10 first maps against the
`country and possibly the State, or province, and city of
`origin. The system 10, however, must still map the Internet
`route for the IP address in case the address does not originate
`from where the domain shows that it appears to originate. AS
`discussed in the example above, the .md domain is assigned
`to the Republic of Moldova but is quite popular with medical
`doctors in the United States. Thus, the system 10 cannot rely
`completely upon the country top-level domain formats in
`determining the geographic location.
`The method 100 allows the system 10 to determine the
`country, State, and city that the target host 34 originates from
`and allow for an assignment of a confidence level against
`entries in the database. The confidence level is assigned in
`the following manner. In cases where a dialer has been used
`to determine the IP address Space assigned by an Internet
`Service Provider to a dial-up modem pool, which will be
`described in more detail below, the confidence entered is
`100. Other confidences are based upon the neighboring
`entries. If two Same location entries Surround an unknown
`entry, the unknown entry is given a confidence of the
`average of the known Same location entries. For instance, a
`location determined solely by who is might receive a 35
`confidence level.
`AS an example, a Sample Search against the host “digi
`talenvoy.net” will now be described. First, the system 10
`receives the target host “digitalenvoy.net” at 102 and does a
`DNS lookup on the name at 103. The command nslookup
`returns the following to the system 10:
`
`S
`In particular, nslookup, ping, traceroute, and wholis pro
`vide the best Source of information. The operation of ping
`and traceroute is explained in the Internet Engineering Task
`Force (IETF) Request For Comments (RFC) numbered 2151
`which may be found at http://www.ietf.org/rfc/rfc2151.txt,
`nslookup (actually DNS lookups) is explained in the IETF
`RFC numbered 2535 which may be found at http://
`www.ietf.org/rfc/rfc2535.txt, and wholis is explained in the
`IETF RFC numbered 954 which may be found at http://
`www.ietf.org/rfc/rfc0954.txt. A brief explanation of each of
`host, nSlookup, ping, traceroute, and wholis is given below.
`In explaining the operation of these commands, Source host
`refers to the machine that the System 10 is run on and target
`host refers to the machine being Searched for by the System
`10, Such as target host 34. A more detailed explanation of
`these commands is available via the RFCs specified or
`manual pages on a UNIX System.
`host queries a target domain's DNS servers and collects
`information about the domain name. For example, with the
`“-l” option the command “host-1 digitalenvoy.net” will show
`the system 10 all host names that have the suffix of digital
`envoy.net.
`inslookup will convert an IP address to a host name or vice
`versa using the DNS lookup system.
`ping Sends a target host a request to see if the host is
`on-line and operational. ping can also be used to record the
`route that was taken to query the Status of the target host but
`this is often not completely reliable.
`traceroute is designed to determine the exact route that is
`taken to reach a target host. It is possible to use traceroute
`to determine a partial route to a non-existent or non-online
`target host machine. In this case the route will be traced to
`a certain point after which it will fail to record further
`progreSS towards the target host. The report that is provided
`to the system 10 by traceroute gives the IP address of each
`host encountered from the Source host to the target host.
`traceroute can also provide host names for each host encoun
`tered using DNS if it is configured in this fashion.
`wholis queries Servers on the Internet and can obtain
`registration information for a domain name or block of IP
`addresses.
`A preferred method 100 of operation for the system 10
`will now be described with reference to FIGS. 1 and 2. At
`102, the system 10 receives a new address for which a
`geographic location is desired. The System 10 accepts new
`target hosts that are currently not contained in its database 20
`or that need to be re-verified. The system 10 requires only
`one of the IP address or the host name, although both can be
`provided. At 103, the system 10 preferably, although not
`necessarily, verifies the IP address and host name. The
`system 10 uses inslookup to obtain the host name or IP
`address to Verify that both pieces of information are correct.
`Next, at 104, the system 10 determines if the target host 34
`is on-line and operational and preferably accomplishes this
`function t