throbber
United States Patent
`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 -

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket