`US 6,757,740 Bl
`(10) Patent No.:
`(12)
`Parekh et al.
`(45) Date of Patent:
`Jun. 29, 2004
`
`
`US006757740B1
`
`(75)
`
`(54) SYSTEMS AND METHODS FOR
`DETERMINING COLLECTING AND USING
`GEOGRAPHIC LOCATIONS OF INTERNET
`USERS
`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)
`orcs
`.
`(73) Assignee: Digital Envoy, Inc., Norcross, GA (US)
`(*) Notice:
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`US.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 00/22495
`4/2000
`WO 01/57696 Al
`8/2001
`wo OLee08 Al
`ao001
`WO 02/17139 Al
`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-
`aeaa Sa University, Piscataway, NJ 08855, Oct. 19,
`> Pp.
`(List continued on next page.)
`
`(60)
`
`(56)
`
`Primary Examiner—Glenton B. Burgess
`.
`21) Appl. No.: 09/541,451
`Assistant Examiner—Yasin M Barqadle
`(21)
`Appl.
`No
`(S41,
`(74) Attorney, Agent, or Firm—Needle & Rosenberg, P.C.
`(22)
`Filed:
`Mar.31, 2000
`(57)
`ABSTRACT
`Related U.S. Application Data
`5
`3
`sy
`Provisional application No. 60/132,147, filed on May 3,
`A method of determining a _ geographic location of an,
`1999, and provisional application No. 60/133,939, filed on
`Internet user involves determining if the host is on-line,
`May 13, 1999.
`>
`iy
`2
`determining ownership of the host name, and then deter-
`mining the route taken in delivering packets to the user.
`GGT) Tit CLP
`eecesmensccanas GOGR 15/16; GOSH Teilys
`Based on the detected route,
`the method proceeds with
`(52) USS. Ch. cece 709/245; 709/219; 709/229;
`etermining the geographic route based on the host
`locations
`
`
`
`709/238 basedonthedetermining the geographi host locati
`
`and then assigning a confidencelevel to the assigned loca-
`(58) Field of Search oe 709/217, 219,
`709/229, 224, 245, 238, 218
`tion. A system collects the geographic information and
`‘
`allows web
`siles or other entities to request the
`geographic
`References Cited
`tt
`b si
`h
`it
`4
`he geographi
`location of their visitors. The database of geographic loca-
`U.S. PATENT DOCUMENTS
`tions may be stored in a central location or, alternatively,
`may beat 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.
`
`4,939,726 A
`5,042,027 A
`5,042,032 A
`5,115,433 A
`5,231,631 A
`5,291,550 A
`5,418,713 A
`5,421,024 A
`5,488,608 A
`5,490,252 A
`5,493,689 A
`
`7/1990 Flammeretal.
`8/1991 Takaseetal.
`8/1991 Digheetal.
`5/1992 Baranetal.
`7/1993 Buhrke etal.
`3/1994 Levyetal.
`5/1995 Yoshimuraetal.
`5/1995 Faulk, Jr. et al.
`1/1996 Flammer,III
`2/1996 Maceraetal.
`2/1996 Waclawskyet al.
`
`(List continued on next page.)
`
`
`
`
`
`Newaporess |-7
`
`verIFyipaporess |_/
`
`‘ANDHOSTNAME
`
`108
`
`
`
`
`104
`DETERMINE IF HOST|_
`3S ON-LINE
`
`DETERMINE
`OVMERSHIP
` 1
`DETERMINE ROUTE|»
`TO TARGET
`
`DETERMINE]
`GEOGRAPHIC
`ROUTE OF
`UNKNOWN HOSTS:
`
`
`CONFIDENCE LEVEL 110
`
`109v
`
`15 Claims, 15 Drawing Sheets
`
`100
`
`Google Exhibit 1061
`Google Exhibit 1061
`Google v. Mullen
`Google v. Mullen
`
`
`
`US 6,757,740 B1
`
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`aed
`
`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
`
`........... 709/227
`
`Brugger
`Dunn
`Robrock,II
`Blakeleyet al.
`Saigh etal.
`Saigh
`Choquieretal.
`McGarvey
`Allen
`Bonnaureet al.
`Jarvis et al.
`Velamuriet al.
`Brownmilleret al.
`Dunworthet al.
`Lee et al.
`Levy
`Merrimanetal.
`Reisacher
`Wheeleret al.
`Altschuler et al.
`Li et al.
`Chungetal.
`Scroggie etal.
`Ingrassia, Jr. et al.
`Souissiet al.
`Leinwandetal.
`Haggard etal.
`Ansell et al... 709/229
`Shah
`Farberetal.
`Hummelsheim
`Sonduretal.
`Sitaramanetal.
`Dupray
`Shuretal.
`Meisetal.
`Hrastaret al.
`Ponet al.
`Ricciulli
`Lewis
`Ramanathanetal.
`Zhangetal.
`Schneider ..............000 709/203
`Narvaez-Guarnieriet al.
`Gall et al.
`McCanneetal.
`Kenneret al. 0... 709/225
`Carmello et al.
`........... 709/217
`Tyra et al.
`Mills
`Maggentiet al.
`Swildenset al.
`Gupta etal.
`Haitsukaetal.
`Ebata et al.
`Zhang et al... 709/245
`
`6,542,739 B1
`6,578,066 B1
`6,629,136 BL
`6,684,250 B2
`2002/0007374 Al
`2002/0143991 A1
`
`4/2003 Garner
`6/2003 Loganetal.
`9/2003 Naidoo
`1/2004 Andersonetal.
`1/2002 Marksetal.
`10/2002 Chowetal.
`
`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:/Avww.ietfforg/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.networkcomputing.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.
`Copyof International Search Report for PCT/US 02/37725
`mailed Apr. 21, 2003.
`USS. Provisional application Ser. No. 60/194,761, filed Apr.
`3, 2000, Christopher Herringshawet al., inventor.
`USS. 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
`
`Jun. 29, 2004
`
`Sheet 1 of 15
`
`US 6,757,740 B1
`
`OL
`
`NOILOATIOO
`
`WALSAS
`
`NOILV9O71
`
`dasvavlvd
`
`LaDdV1LMAN LSOH
`
`ALVIGSAWYSLNI
`
`bSYNOlS
`
`LSOH
`
`
`
`
`
`
`
`U.S. Patent
`
`Jun.29, 2004
`
`Sheet 2 of 15
`
`US 6,757,740 B1
`
`102
`
`NEW ADDRESS
`
`VERIFY IP ADDRESS
`AND HOST NAME
`
`DETERMINE IF HOST
`IS ON-LINE
`
`103
`
`104
`
`105
`
`
`
`
`
`106
` DETERMINE
`OWNERSHIP
`
`
`
`DETERMINE ROUTE
`TO TARGET
`
`107
`
`DETERMINE
`GEOGRAPHIC
`ROUTE OF
`UNKNOWN HOSTS
`
`108
`
`109
`
`DETERMINE
`CONFIDENCE LEVEL
`
`
`
`110
`
`
`ADD NEW DATAINTO
`DATABASE
`
`
`100
`
`FIGURE 2
`
`
`
`U.S. Patent
`
`Jun.29, 2004
`
`Sheet 3 of 15
`
`US 6,757,740 B1
`
`111
`
`STORE RESULTS
`
`OBTAIN ACCESS
`NUMBERS
`
`CONNECTWITH ISP
`THROUGH ACCESS
`NUMBERS
`
`DETERMINE
`ASSIGNED IP
`ADDRESS
`
`DETERMINE ROUTE
`TO SAMPLE TARGET
`
`DETERMINE
`GEOGRAPHIC
`LOCATION OF ISP
`MACHINE
`
`FIGURE 3
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 4 of 15
`
`US 6,757,740 B1
`
`NOLLYSO7
`
`Asvavlva
`
`NOILVNIWYSLad
`
`WALSAS
`
`bvAYNSIA
`
`ALVIdSWdYsNI
`
`LSOH
`
`LADYVLMAN
`
`LSOH
`
` YOLSSNDAY
`
`
`
`NOILOATION
`
`WALSAS
`
`SIHAVYDOAD
`
`NOLLVWHYOSNI
`
`Ov
`
`
`
`
`
`
`U.S. Patent
`
`Jun.29, 2004
`
`Sheet 5 of 15
`
`US 6,757,740 B1
`
` RECEIVE REQUEST
`122
`
`
`
`
`FOR GEOGRAPHIC
`
`LOCATION
`
`
`
`FOR STORED
`GEOGRAPHIC
`INFORMATION
`
`
`
`
`124
`
`120 QUERY DATABASE|129
`
`
`INFORMATION
`
`125
`
`
`DETERMINE
`
`INFORMATION
`
`
`GEOGRAPHIC
`AVAILABLE?
`
`INFORMATION
`
`
`
`
`
`
`
`126
` RETRIEVE
`GEOGRAPHIC
`
`127
`
`
`
`
`SEND GEOGRAPHIC
`INFORMATION TO
`
`REQUESTOR
`
`
`FIGURE 5
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 6 of 15
`
`US 6,757,740 B1
`
`0S
`
`GNVNOILDSTIOO
`
`NOILVNINYSLAG
`
`WALSAS
`
`9SYNSIA
`
`v9cQ
`
`YySaLaONVL
`
`NOILISOd’YaAuaSGam
`
`
`
`
`
`
`U.S. Patent
`
`Jun.29, 2004
`
`Sheet 7 of 15
`
`US 6,757,740 B1
`
`130
`
`TO USER
`
`WEB SERVER
`RECEIVES REQUEST
`FROM USER
`
`WEB SERVER
`QUERIES POSITION
`TARGETER
`
`POSITION
`TARGETER QUERIES
`SYSTEM
`
`POSITION
`TARGETER
`RECEIVES POSITION
`OF USER
`
`INFORMATION
`SELECTED BASED
`ON POSITION
`
`SELECTED
`INFORMATION SENT
`
`FIGURE 7
`
`
`
`Jun. 29, 2004
`
`Sheet 8 of 15
`
`US 6,757,740 B1
`
`U.S. Patent
`
`Asvaevivd
`
`ivQZ9
`
`:YALAOYVLaNOLLISOdHomes
`
`ONVNOILOATIOD
`
`NOILLYNIWYSL30
`
`WALSAS
`
`8SYNOls
`
` OS
`
`
`
`
`
`
`
`U.S. Patent
`
`Jun.29, 2004
`
`Sheet 9 of 15
`
`US 6,757,740 B1
`
`WEB SERVER
`RECEIVES REQUEST
`FROM USER
`
`
`
`140
`
`143
`
`
`WEB SERVER
`QUERIES POSITION
`TARGETER
`
`
`
`142
`
`
`
`
`
`
`145
`
`144
`
`
`
`
`IN LOCAL
`QUERY CENTRAL
`DATABASE?
`DATABASE
`
`
`146
`
` POSITION
`TARGETER
`
`ASCERTAINS
`POSITION OF USER
`
`147
`
`
`INFORMATION
`SELECTED BASED
`ON POSITION
`
`
`
`148
`
`
`
`SELECTED
`INFORMATION SENT
`TO USER
`
`
`
`FIGURE 9
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 10 of 15
`
`US 6,757,740 B1
`
`ONVNOILO3ST1IOO
`
`NOILVNINWYSL30
`
`09
`
`WALSAS
`
`
`
`Ol4eNSIs
`
`OS 3LISGam
`
`
`
`U.S. Patent
`
`Jun.29, 2004
`
`Sheet 11 of 15
`
`US 6,757,740 B1
`
`150
`
`LOCATION
`
`152
`
`USER INITIATES
`REQUEST
`
`PROXY REQUESTS
`URL FROM SERVER
`
`WEB DETERMINES
`REQUESTIS FROM
`PROXY
`
`WEB SERVER
`SELECTS TAGGED
`PAGE
`
`PROXY FORWARDS
`PAGE TO USER
`
`USER CONNECTS
`DIRECTLY WITH WEB
`SERVER
`
`USER SENDSID TAG
`TO WEB SERVER
`
`WEB SERVER
`ASSOCIATES AND
`STORES USER'S IP
`ADDRESS AND
`
`FIGURE 11
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 12 of 15
`
`US 6,757,740 B1
`
`of
`
`FIGURE12
`
` iL) =
`
`ia
`
`z
`rs
`
`
`
`
`
`
`
`U.S. Patent
`
`Jun. 29, 2004
`
`Sheet 13 of 15
`
`US 6,757,740 B1
`
`ar’8
`
`avs
`
`
`
`
`
`
`
`
`
`
`JSLISd3M 09
`
`dasvavlvdGaad$WYOMLAN
`
`
`ASVEVLVGNOILVZINOHLNY|978
`asvavivaisanoaH
`
`asvavlvdAHdVYDOAD
`ANIDNA7AAMASYATONVH
`
`Aasvavivd4DVAYsAINI
`
`AsvaVvivdalsdOdd
`Vre||II|||I|
`ebAYNDIA
`
`AYaAOOSIOdamsoud
`
`Avs
`
`II
`
`i{tI
`
`II||||I
`
`disOed
`
`YSsAdaS
`
`|ave
`
`
`
`SIHdVeYSOASNOWWOO
`
`
`
`ASVEVLVdSANVN
`
`
`
`DIHdVYDOADWWdO19
`
`
`
`AaSvavlvdaYNLONYLsS
`
`
`
`AsvavlivddiIHSY3NMO
`
`ssaydadvov
`
`
`
`
`
`
`
`
`
`
`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
`DISCOVERY SERVER
`
`DETERMINE ROUTE
`TO ADDRESS
`
`FIGURE14(A)
`
`
`OBTAIN HOST
`INFORMATION
`
`
`
`U.S. Patent
`
`Jun.29, 2004
`
`Sheet 15 of 15
`
`US 6,757,740 B1
`
`170
`
`171
`
`172
`
`HOST NAME
`AVAILABLE?
`
`ATTEMPT TO
`LOCATE BASED ON
`NAMING
`CONVENTIONS
`
`174
`
`
`
`YES
`
`NTP RESPONSE?
`
`ATTEMPT TO
`
`SAVE DISCOVERED
`
`176
`
`
`
`ATTEMPT TO
`
`
`DETERMINE
`
`SNMP
`RESPONSE?
`MACHINE TYPE AND
`
`
`CONNECTION SPEED
`
`
`ERROR <>
`
`
`
`DETERMINE TIMEo ZONE
`
`
`DATA NO
`
`
`183
`
`482
`
`AND INTERPOLATED
`
`178
`
`FLAG DATA FOR
`FUTURE REVIEW
`
`Y
`
`>
`MAC ADDRESS?
`
`ATTEMPT TO
`DETERMINE
`MACHINE TYPE AND
`CONNECTION SPEED
`
`NO
`
`INTERPOLATE
`
`INFORMATION
`
`180
`
`
`
`181
`
`FIGURE 14(B)
`
`
`
`US 6,757,740 B1
`
`1
`SYSTEMS AND METHODS FOR
`DETERMINING COLLECTING AND USING
`GEOGRAPHIC 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 US. 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
`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.
`
`BACKGROUND
`
`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 eachof 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 datafile 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
`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 nameinto 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-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`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 computeris
`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 namealso 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 website, transfer files, or send email without revealing
`their true identity. This anonymity, however, runs counter to
`the desires of many websites. 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
`productor service that matchesoris 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 othervisitors at the web site. Many websites are therefore
`interested in learning as muchas possible abouttheir 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
`websites, thereby suggesting interests of the visitors. While
`many companies mayfind 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
`NewYork, 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-
`mous.
`
`Aneed therefore exists for systems and methods by which
`more detailed information may be obtained on visitors
`without jeopardizing or compromising the visitors’ privacy
`rights.
`
`
`
`US 6,757,740 B1
`
`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 methodfirst takes
`one of the IP address or host name and checks whether the
`host nameis associated with that IP address, such as through
`an nslookup query. Next, the route to the host is acquired,
`preferably through a traceroute query, so as to determine a
`numberof 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 performsa searchto collect that information. Instead
`of querying a central database each time geographic location
`of an Internet useris 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 websites can selectively deliver content or
`advertising based on the geographic location ofits visitors.
`The geographic location information can also be used in the
`routing of Internettraffic. A traffic manager associated with
`a numberof web servers detects the geographic locations of
`its Internet visitors and routesthetraffic 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
`amountof 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 website can tailor
`the content and presentation for that particular interface.
`Otheruses of the geographic location and of the systems and
`methods described herein will be apparentto 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;
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`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 ofa 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 embodimentof 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
`
`to preferred
`Reference will now be made in detail
`embodiments of the invention, non-limiting examples of
`whichare 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 useris 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
`shownin 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 whois 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 systemsthat 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.
`
`
`
`US 6,757,740 B1
`
`5
`In particular, nslookup, ping, traceroute, and whois 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:/Avww.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 whois 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 whois is given below.
`In explaining the operation of these commands, source host
`refers to the machine that the system 10 is run on andtarget
`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 DNSservers and collects
`information about the domain name. For example, with the
`“.]” option the command “host-] digitalenvoy.net” will show
`the system 10 all host names that have the suffix of digital-
`envoy.net.
`nslookup will convert an IP addressto a host nameor 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 thatis
`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 towardsthe 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 namesfor each host encoun-
`tered using DNSif it is configured in this fashion.
`whois 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
`
`the system 10 receives a new address for which a
`102,
`geographic location is desired. The system 10 accepts new
`target hosts that are currently not containedin its database 20
`or that need to be re-verified. The system 10 requires only
`oneof 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 nslookup to obtain the host name or IP
`addressto verify that both pieces of information are correct.
`Next, at 104, the system 10 determinesif the target host 34
`is on-line and operational and preferably accomplishesthis
`function through a ping. If the host 34 is not on-line, the
`system 10 can re-queue the IP address for later analysis,
`depending upon the preferences in the configuration of the
`system 10.
`the system 10 determines ownership of the
`At 106,
`domain name. Preferably, the system 10 uses a whois to
`determine the organization that actually ownsthe IP address.
`The address of this organization is not necessarily the
`location of the IP address but this information may be useful
`for smaller organizations whose IP blocks are often geo-
`graphically in one location. At 107,
`the system 10 then
`determines the route taken to reach the target host 34.
`Preferably, the system 10 uses a traceroute on the target host
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`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 madeasto 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 nameis 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 doesnotoriginate
`from where the domain showsthatit appears to originate. As
`discussed in the example above, the .md domain is assigned
`to the Republic of Moldova butis quite popular with medical
`doctors in the United States. Thus, the system 10 cannotrely
`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
`
`the unknown entry is given a confidence of the
`entry,
`average of the known samelocation entries. For instance, a
`location determined solely by whois 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
`DNSlookup on the name at 103. The command nslookup
`returns the following to the system 10:
`
`> nslookup digitalenvoy.net
`Name:
`digitalenvoy.net
`Address:
`209.153.199.15
`
`The system 10 at 104 then does a ping on the machine,
`whichtells the system 10 if the target host 34 is on-line and
`operational. The “-c 1” option tells ping to only send one
`packet. This option speeds up confirmation considerably.
`The ping returns the following to the system 10:
`
`> -c 1 digitalenvoy.net
`PING digitalenvoy.net (209.153.199.15): 56 data bytes
`64 bytes from 209.153.199.15: icmp_seq = 0 ttl = 241 time = 120.4 ms
`- - - digitalenvoy.net ping statistics -