KR101894226B1 - Ip 어드레스에 대응하는 위치를 결정하기 위한 방법, 장치, 및 시스템 - Google Patents

Ip 어드레스에 대응하는 위치를 결정하기 위한 방법, 장치, 및 시스템 Download PDF

Info

Publication number
KR101894226B1
KR101894226B1 KR1020167022450A KR20167022450A KR101894226B1 KR 101894226 B1 KR101894226 B1 KR 101894226B1 KR 1020167022450 A KR1020167022450 A KR 1020167022450A KR 20167022450 A KR20167022450 A KR 20167022450A KR 101894226 B1 KR101894226 B1 KR 101894226B1
Authority
KR
South Korea
Prior art keywords
address
addresses
coordinate data
determining
geographical
Prior art date
Application number
KR1020167022450A
Other languages
English (en)
Other versions
KR20160111443A (ko
Inventor
자오지앙 리
만후오 홍
Original Assignee
알리바바 그룹 홀딩 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알리바바 그룹 홀딩 리미티드 filed Critical 알리바바 그룹 홀딩 리미티드
Publication of KR20160111443A publication Critical patent/KR20160111443A/ko
Application granted granted Critical
Publication of KR101894226B1 publication Critical patent/KR101894226B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/15
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/6004
    • H04L61/6068
    • H04L61/609
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/604Address structures or formats
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/668Internet protocol [IP] address subnets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/69Types of network addresses using geographic information, e.g. room number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Abstract

인터넷 프로토콜(IP) 어드레스에 대응하는 위치를 결정하는 것은 IP 어드레스 및 상기 IP 어드레스에 대응하는 위치 정보를 수집하는 단계로서, 상기 IP 어드레스에 대응하는 상기 위치 정보는 IP 어드레스와 연관된 단말기가 네트워크를 액세스하는 위치를 식별하는 정보를 포함하는, 상기 수집 단계, IP 어드레스 및 상기 IP 어드레스에 대응하는 위치 정보를 사용하여 IP 어드레스에 대한 하나 이상의 IP 어드레스 지리 좌표 데이터를 획득하는 단계, 상기 하나 이상의 IP 어드레스 지리 좌표 데이터에 적어도 부분적으로 기초하여 상기 IP 어드레스에 대응하는 지리 좌표들을 결정하는 단계, 상기 IP 어드레스에 대응하는 지리 좌표들에 적어도 부분적으로 기초하여 IP 어드레스 필드를 결정하는 단계, 및 상기 IP 어드레스 필드에 대응하는 위치를 결정하는 단계를 포함한다.

Description

IP 어드레스에 대응하는 위치를 결정하기 위한 방법, 장치, 및 시스템{METHOD, APPARATUS, AND SYSTEM FOR DETERMINING A LOCATION CORRESPONDING TO AN IP ADDRESS}
다른 출원들에 대한 상호 참조
본 출원은 본 명세서에서 모든 목적들을 위해 참조로서 통합되는 2014년 3월 17일에 출원된, IP 어드레스 필드들 및 그것에 대응하는 지리 좌표들을 결정하기 위한 방법 및 디바이스라는 제목의, 중화 인민 공화국 특허 출원 번호 제201410098749.4호에 대한 우선권을 주장한다.
발명의 분야
본 출원은 인터넷 기술의 분야에 관한 것이다. 특히, 본 출원은 인터넷 프로토콜(IP) 어드레스 필드들 및 그것에 대응하는 지리 좌표들을 결정하기 위한 방법 및 디바이스에 관한 것이다.
몇몇 관련 기술에 따르면, 디바이스의 IP 어드레스는 사용자의 지리적 위치를 추론하기 위해 사용될 수 있다. 온라인 시스템들에서, 사용자 지리적 위치를 추론하기 위한 사용자 단말기들의 IP 어드레스들의 사용은 광범위한 애플리케이션들을 가진다. 예를 들면, 사용자 지리적 위치는 온라인 정보 디스플레이, 애플리케이션 모니터링, 네트워크 진단 등에서의 사용을 위한 디바이스의 IP 어드레스로부터 추론될 수 있다. 예로서, 온라인 정보의 디스플레이에서, 사용자의 IP 어드레스(예로서, 사용자에 의해 사용된 디바이스의 IP 어드레스)가 사용자의 지리적 위치를 정확하게 추론하기 위해 사용될 수 있다면, 사용자의 지리적 위치에 가까운 디스플레이 정보(예로서, 사용자의 위치에 가까운 영화관들, 레스토랑들, 및 쇼핑 장소들에 관한 정보)가 웹사이트 상에 디스플레이될 수 있다. 디바이스의 IP 어드레스를 사용한 사용자의 지리적 위치의 결정(예로서, 추론)은 IP 어드레스 및 지리 좌표 정보 데이터베이스(예로서, IP 어드레스들의 지리 좌표 정보에 대한 매핑)를 요구한다. 고갈된 IPv4 어드레스들에 포함된 대략 42억 개의 IP 어드레스들이 있다. 따라서, 각각의 IP 어드레스에 대응하는 지리 좌표 정보가 직접 사용된다면, 사용자의 지리적 위치를 추론하기 위해 사용된 IP 어드레스 및 지리 좌표 정보 데이터베이스는 대략 42억 개의 기록들을 요구할 것이다. 온라인으로의 그렇게 많은 데이터의 사용은 매우 큰 성능 스트레스들을 야기할 것이다. 예를 들면, 이러한 IP 어드레스 및 지리 좌표 정보 데이터베이스를 질의하는 것과 연관된 효율이 매우 낮을 것이다. 몇몇 관련 기술에 따르면, IP 어드레스와 연관된 지리적 위치를 결정하기 위해 데이터베이스를 질의하는 것과 연관된 성능 스트레스를 감소시키기 위해, IP 어드레스는 점으로 구분된-십진법 포맷을 가진 IP 어드레스에서 첫 3개의 숫자들에 따라 필드들로 분할된다(예로서, 세분된다). 그러나, IP 어드레스의 이러한 세그멘팅은 IP 어드레스의 각각의 기술된 필드에 대응하는 지리 좌표들에 대한 임의의 표시 또는 지식 없이 IP 어드레스 양들에 따라 필드들을 간단히 기술하는 것에 불과하다. 또한, IP 어드레스들은 지리적 위치들에 기초하여 기술되지 않는다. 따라서, IP 어드레스의 이러한 세그멘팅은 위치 서비스 애플리케이션들과 관련되어 사용하기 위한 중요한 한계들을 가진다.
상기를 요약하기 위해, IP 어드레스들을 필드들로 분할하고, IP 어드레스 필드와 지리적 위치들을 연관시키고, 및 IP 어드레스 질의 효율을 증가시키도록 각각의 IP 어드레스 필드에 대응하는 지리적 위치를 결정하기 위한 기법에 대한 요구가 있다.
본 발명의 인터넷 프로토콜(IP) 어드레스에 대응하는 위치를 결정하는 것은 IP 어드레스 및 상기 IP 어드레스에 대응하는 위치 정보를 수집하는 단계로서, 상기 IP 어드레스에 대응하는 상기 위치 정보는 IP 어드레스와 연관된 단말기가 네트워크를 액세스하는 위치를 식별하는 정보를 포함하는, 상기 수집 단계, IP 어드레스 및 상기 IP 어드레스에 대응하는 위치 정보를 사용하여 IP 어드레스에 대한 하나 이상의 IP 어드레스 지리 좌표 데이터를 획득하는 단계, 상기 하나 이상의 IP 어드레스 지리 좌표 데이터에 적어도 부분적으로 기초하여 상기 IP 어드레스에 대응하는 지리 좌표들을 결정하는 단계, 상기 IP 어드레스에 대응하는 지리 좌표들에 적어도 부분적으로 기초하여 IP 어드레스 필드를 결정하는 단계, 및 상기 IP 어드레스 필드에 대응하는 위치를 결정하는 단계를 포함한다.
본 발명은 IP 어드레스들을 필드들로 분할하고, IP 어드레스 필드와 지리적 위치들을 연관시키며 IP 어드레스 질의 효율을 증가시키도록 각각의 IP 어드레스 필드에 대응하는 지리적 위치를 결정하기 위한 기법을 제공한다.
본 발명의 다양한 실시예들이 다음의 상세한 설명 및 첨부한 도면들에서 개시된다.
본 명세서에서 설명된 도면들은 본 출원의 이해를 발전시키며 본 출원의 부분을 형성하도록 의도된다. 본 출원의 예시적인 실시예들 및 그것에 대한 설명들은 본 출원을 설명하도록 의도되며 본 출원의 부적절한 한계를 구성하지 않는다. 도면들 중에서:
도 1은 본 개시의 다양한 실시예들에 따라 IP 어드레스 필드들 및 그것에 대응하는 지리 좌표들을 결정하기 위한 방법의 흐름도이다.
도 2는 본 개시의 다양한 실시예들에 따라 IP 어드레스 필드들 및 그것에 대응하는 지리 좌표들을 결정하기 위한 방법의 흐름도이다.
도 3은 본 개시의 다양한 실시예들에 따라 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터에 기초하여 IP 어드레스에 대응하는 지리 좌표를 결정하기 위한 방법의 흐름도이다.
도 4는 본 개시의 다양한 실시예들에 따라 IP 어드레스에 대응하는 IP 어드레스 지리 좌표 데이터의 가중치를 결정하기 위한 방법의 흐름도이다.
도 5는 본 개시의 다양한 실시예들에 따라 IP 어드레스에 대응하는 IP 어드레스 지리 좌표 데이터의 가중치에 기초하여 IP 어드레스에 대응하는 지리 좌표들을 결정하기 위한 방법의 흐름도이다.
도 6은 본 발명의 다양한 실시예들에 따라 IP 어드레스들을 IP 어드레스에 대응하는 지리 좌표들에 따라 필드들로 분할하기 위한 및 다수의 IP 어드레스 필드들을 획득하기 위한 방법의 흐름도이다.
도 7은 본 개시의 다양한 실시예들에 따라 측정될 IP 어드레스들에 대응하는 지리 좌표들을 결정하기 위한 방법의 흐름도이다.
도 8은 본 개시의 다양한 실시예들에 따라 IP 어드레스들을 결정하기 위한 시스템의 다이어그램이다.
도 9는 본 개시의 다양한 실시예들에 따라 IP 어드레스 필드들 및 지리 좌표들을 결정하기 위한 디바이스의 구조도이다.
도 10은 본 개시의 다양한 실시예들에 따라 측정될 IP 어드레스들에 대응하는 지리 좌표들을 결정하기 위한 디바이스의 구조도이다.
도 11은 본 개시의 다양한 실시예들에 따라 IP 어드레스들에 대응하는 지리 좌표들을 결정하기 위한 컴퓨터 시스템의 기능도이다.
본 발명은 프로세스; 장치; 시스템; 물질의 구성; 컴퓨터 판독 가능한 저장 매체상에 구체화된 컴퓨터 프로그램 제품; 및/또는 프로세서에 결합된 메모리 상에 저장되고 및/또는 그것에 의해 제공된 명령들을 실행하도록 구성된 상기 프로세서와 같은, 프로세서를 포함하여, 다수의 방식들로 구현될 수 있다. 본 명세서에서, 이들 구현들, 또는 본 발명이 취할 수 있는 임의의 다른 형태는 기술들로서 불리울 수 있다. 일반적으로, 개시된 프로세스들의 단계들의 순서는 본 발명의 범위 내에서 변경될 수 있다. 달리 서술되지 않는다면, 태스크를 수행하도록 구성되는 것으로서 설명된 프로세서 또는 메모리와 같은 구성요소는 일시적으로 주어진 시간에 태스크를 수행하도록 구성되는 일반 구성요소 또는 태스크를 수행하도록 제조되는 특정 구성요소로서 구현될 수 있다. 본 명세서에서 사용된 바와 같이, 용어('프로세서')는 컴퓨터 프로그램 명령들과 같은, 데이터를 프로세싱하도록 구성된 하나 이상의 디바이스들, 회로들, 및/또는 프로세싱 코어들을 나타낸다.
본 발명의 하나 이상의 실시예들에 대한 상세한 설명이 본 발명의 원리들을 예시하는 첨부한 도면들과 함께 이하에서 제공된다. 본 발명은 이러한 실시예들과 관련되어 설명되지만, 본 발명은 임의의 실시예에 제한되지 않는다. 본 발명의 범위는 청구항들에 의해서만 제한되며 본 발명은 다수의 대안들, 수정들 및 등가물들을 포함한다. 다수의 특정 세부사항들은 본 발명의 철저한 이해를 제공하기 위해 다음의 설명에서 제시된다. 이들 세부사항들은 예의 목적을 위해 제공되며 본 발명은 이들 특정 세부사항들의 일부 또는 모두 없이 청구항들에 따라 실시될 수 있다. 명료함의 목적을 위해, 본 발명에 관련된 기술 분야들에서 알려진 기술 자료는 본 발명이 불필요하게 모호하게 되지 않도록 상세히 설명되지 않는다.
본 개시의 다양한 실시예들은 인터넷 프로토콜(IP) 어드레스들을 세그멘팅하기 위한 방법, 장치, 및 시스템을 포함한다. 본 개시의 다양한 실시예들은 IP 어드레스의 적어도 부분(예로서, 세그먼트)과 연관된 지리 좌표들을 결정하기 위한 방법, 장치, 및 시스템을 포함한다.
단말기는 일반적으로 네트워크 시스템 내에서 사용되며(예로서, 사용자에 의해) 하나 이상의 서버들과 통신하기 위해 사용된 디바이스를 나타낸다. 본 개시의 다양한 실시예들에 따르면, 단말기는 통신 기능을 포함할 수 있다. 예를 들면, 단말기는 스마트 폰, 태블릿 개인 컴퓨터(PC), 이동 전화, 비디오 폰, 전자 책 판독기, 데스크탑 PC, 랩탑 PC, 넷북 PC, 개인용 디지털 보조기(PDA), 휴대용 멀티미디어 플레이어(PMP), mp3 플레이어, 이동 의료 디바이스, 카메라, 착용 가능한 디바이스(예로서, 헤드-장착 디바이스(HMD), 전자 의복들, 전자 브레이스들, 전자 목걸이, 전자 액세서리, 전자 문신, 또는 스마트 워치) 등일 수 있다.
본 개시의 몇몇 실시예들에 따르면, 단말기는 통신 기능을 가진 스마트 홈 기기를 포함한다. 스마트 홈 기기는, 예를 들면, 텔레비전, 디지털 비디오 디스크(DVD) 플레이어, 오디오 디바이스, 냉장고, 공기 조절기, 진공 청소기, 오븐, 마이크로파 오븐, 세탁기, 건조기, 공기 정화기, 셋-탑 박스, TV 박스(예로서, Samsung HomeSync™, Apple TV™, 또는 Google TV™), 게이밍 콘솔, 전자 사전, 전자 키, 캠코더, 전자 사진 프레임 등일 수 있다.
본 개시의 다양한 실시예들에 따르면, 단말기는 앞서 말한 디바이스들의 임의의 조합일 수 있다. 또한, 본 개시의 다양한 실시예들에 따른 단말기는 앞서 말한 디바이스들에 제한되지 않는다는 것이 당업자에게 명백할 것이다.
본 개시의 다양한 실시예들에 따르면, 다수의 IP 어드레스 지리적 위치 정보가 최근 시간 간격 동안 수집된다. 몇몇 실시예들에서, 각각의 수집된 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 정보의 가중치들이 결정된다. 몇몇 실시예들에서, 하나 이상의 IP 어드레스 지리 좌표 정보의 가중치들은 대응하는 IP 어드레스에 대응하는 지리 좌표들을 결정하기 위한 기초로서 사용된다. 몇몇 실시예들에서, 수집된(또는 획득된) IP 어드레스들(예로서, 수신된 메시지에 대응하는)은 각각의 IP 어드레스 필드에 대응하는 지리 좌표들을 획득하기 위해 각각의 IP 어드레스에 대응하는 지리 좌표들 사이에서의 거리에 따라 필드들로 분할(예로서, 세그멘팅)된다. 몇몇 실시예들에서, IP 어드레스 필드는 하나 이상의 IP 어드레스들의 세트 또는 모음(예로서, 일련의 IP 어드레스들)이다. 예를 들면, IP 어드레스 필드는 IP 어드레스들의 그룹이다. 특정한 IP 어드레스 필드에 대응하는 IP 어드레스들의 세트 또는 모음은 공통 위치를 갖는 것으로 간주될 수 있다.
IP 어드레스 필드들 및 그것에 대응하는 지리 좌표들을 결정하기 위한 방법, 시스템, 또는 단말기가 본 개시의 몇몇 실시예들에 관하여 개시된다.
도 1은 본 개시의 다양한 실시예들에 따라 IP 어드레스 필드들 및 그것에 대응하는 지리 좌표들을 결정하기 위한 방법의 흐름도이다.
도 1을 참조하면, IP 어드레스 필드들 및 그것에 대응하는 지리 좌표들을 결정하기 위한 방법(100)이 제공된다. 몇몇 실시예들에서, 방법(100)은 도 8의 시스템(800)에 의해 구현된다. 몇몇 실시예들에서, 방법(100)은 도 8의 시스템(800)의 서버(820)에 의해 구현된다. 몇몇 실시예들에서, 방법(100)은 도 9의 디바이스(900)에 의해 구현된다.
110에서, IP 어드레스가 수집된다. 몇몇 실시예들에서, 서버는 IP 어드레스를 수집할 수 있다. 몇몇 실시예들에서, 복수의 IP 어드레스들이 수집된다. 예를 들면, 서버는 수신된 메시지(예로서, 액세스 요청, 응답 등)와 관련되어 IP 어드레스를 수집할 수 있다. 몇몇 실시예들에서, 서버는 인터넷을 액세스하는(예로서, 액세스 요청, 응답 등과 같은 메시지를 전송하는) 단말기로부터 IP 어드레스를 수집할 수 있다. 몇몇 실시예들에서, 서버는 수신된 메시지와 연관된 IP 어드레스를 획득하거나 또는 그 외 추출한다. 예를 들면, IP 어드레스는 수신된 메시지와 연관되 메타데이터에 포함될 수 있다.
120에서, IP 어드레스에 관한(예로서, 그것과 연관된) 위치 정보가 수집된다. 예를 들면, 수집된 IP 어드레스에 관한 위치 정보가 수집된다. 몇몇 실시예들에서, 각각의 수집된 IP 어드레스에 관한 위치 정보가 수집된다. 몇몇 실시예들에서, 위치 정보는 IP 어드레스의 적어도 부분 대 대응하는 위치 정보의 매핑에 따라 수집된다. 몇몇 실시예들에서, 서버는 위치 정보를 수집한다. 예를 들면, 서버는 데이터베이스(예로서, www.ip2location.com과 같은 상업적으로 이용 가능한 IP 어드레스 및 대응하는 위치 정보 사이에서의 매핑 또는 다른 관계를 포함한 기존의 데이터 저장소)로부터 위치 정보를 검색할 수 있다. 몇몇 실시예들에서, 서버는 수집된 IP 어드레스에 적어도 부분적으로 기초하여 위치 정보를 결정한다. 몇몇 실시예들에서, 위치 정보는 수신된 메시지(예로서, 액세스 요청, 응답 등)에 포함된다. 예를 들면, 대응하는 IP 어드레스와 연관된 위치 정보는 메타데이터로서 메시지에 포함될 수 있다. 메시지는 인터넷을 액세스하는 단말기와 관련되어 전송될 수 있다(예로서, 서버로).
몇몇 실시예들에서, 110 및 120은 동시에 수행된다. 예를 들면, 서버는 IP 어드레스 및 대응하는 위치 정보를 동시에 수집할 수 있다(예로서, 단말기 등으로부터 수신되는 동일한 메시지를 사용하여).
몇몇 실시예들에서, IP 어드레스와 연관된 위치 정보(예로서, IP 어드레스 위치 정보)는 인터넷이 IP 어드레스를 통해 액세스될 때(예로서, 임의의 단말기가 상기 IP 어드레스를 통해 인터넷을 액세스하는 경우에) 지리적 위치의 지리 좌표 정보를 포함한다. 예를 들면, 지리 좌표 정보는 단말기의 위치의 지리 좌표들(경도 및 위도)에 대응할 수 있다.
몇몇 실시예들에서, IP 어드레스(예로서, 인터넷을 액세스하는 단말기와 연관된) 및 IP 어드레스와 연관된 위치 정보는 현재 시간 포인트의 미리 결정된 시간 내에서 수집된다. 예를 들면, 마지막 30일들의 인터넷 액세스들(예로서, 단말기에 의한)과 연관된 IP 어드레스들 및 각각의 IP 어드레스의 위치 정보가 수집된다. 몇몇 실시예들에서, 각각의 IP 어드레스와 연관된 위치 정보는 지리 좌표 정보(예로서, 위도 및 경도)를 포함한다. 복수의 지리 좌표 정보에 대응할 수 있다. 예를 들면, 각 지리 좌표 정보는 단말기가 IP 어드레스를 통해 상이한 시간들에서 인터넷을 액세스하였을 때 단말기의 위치들의 지리 좌표들의 적어도 부분에 대응할 수 있다.
130에서, 지리 좌표 데이터가 획득된다. 몇몇 실시예들에서, 서버는 지리 좌표 데이터를 획득한다(예로서, 결정한다). 지리 좌표 데이터는 단말기(예로서, 인터넷을 액세스하는 단말기)의 위치에 대응할 수 있다. 서버는 수집된 IP 어드레스(예로서, 인터넷을 액세스하는 단말기의 IP 어드레스)에 대응하는 위치를 결정함으로써 지리 좌표 데이터를 획득할 수 있다. 예를 들면, 각각의 수집된 IP 어드레스 및 대응하는 각 IP 어드레스 위치 정보는 각각의 수집된 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터를 획득하도록 프로세싱될 수 있다.
몇몇 실시예들에서, 각각의 수집된 IP 어드레스의 위치 정보에 포함된 지리 좌표 정보는 각각의 IP 어드레스에 대응하는 IP 어드레스 지리 좌표 데이터가 획득되도록 프로세싱을 겪을 수 있다. 예를 들면, 서버는 수집된 IP 어드레스와 연관된 위치 정보를 사용함으로써 IP 어드레스에 대응하는 IP 어드레스 지리 좌표 데이터를 결정할 수 있다. 몇몇 실시예들에서, 각각의 IP 어드레스와 연관된 위치 정보는 하나 이상의 지리 좌표 정보를 포함한다. 따라서, 몇몇 실시예들에서, 각각의 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터를 획득하는 것이 가능하다. 몇몇 실시예들에서, 각 IP 어드레스 지리 좌표 데이터는 IP 어드레스 및 상기 IP 어드레스에 대응하는 경도 및 위도 데이터의 세트를 포함한다.
140에서, IP 어드레스에 대응하는 지리 좌표들이 결정된다. 몇몇 실시예들에서, 서버는 각각의 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터에 적어도 부분적으로 기초하여 각각의 IP 어드레스에 대응하는 지리 좌표들을 결정한다.
몇몇 실시예들에서, 각 수집된 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터와 연관된 각 IP 어드레스 지리 좌표 데이터의 가중치가 결정된다. 서버는 하나 이상의 IP 어드레스 지리 좌표 데이터와 함께 포함되는 각각의 대응하는 IP 어드레스 지리 좌표 데이터와 연관된 가중치를 결정할 수 있다. 몇몇 실시예들에서, IP 어드레스에 대응하는 지리 좌표들은 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터 중에서 최대 가중치를 가진 IP 어드레스 지리 좌표 데이터와 연관된 지리 좌표들인 것으로 결정된다.
150에서, 수집된 IP 어드레스들의 세트가 세그멘팅된다. 몇몇 실시예들에서, IP 어드레스들은 IP 어드레스에 대응하는 지리 좌표들에 따라 필드들로 세그멘팅(예로서, 분할)된다. 몇몇 실시예들에서, 다수의 IP 어드레스 필드들은 IP 어드레스들의 세그멘팅에 적어도 부분적으로 기초하여 획득된다. 몇몇 실시예들에서, IP 어드레스 필드는 특정한 세트의 IP 어드레스들 내에서의 IP 어드레스들의 유사도에 기초하여 결정되는 IP 어드레스들의 세트에 대응할 수 있다. 예를 들면, IP 어드레스들의 세트에서의 IP 어드레스들은 IP 어드레스들이 미리 결정된 임계 거리(예로서, 서로에 가장 가까운 IP 어드레스들의 세트에서의 IP 어드레스들의 각각의 쌍 사이에서의 미리 결정된 임계 거리, 그 사이에 최대 거리를 가진 IP 어드레스들의 쌍의 지리적 위치들 사이에서의 지리 좌표 데이터 사이에서의 미리 결정된 임계 거리 등) 내에서의 위치를 갖도록 하는 유사도를 가질 수 있다. 몇몇 실시예들에서, IP 어드레스 필드는 IP 어드레스들의 범위에서의 IP 어드레스들의 유사도에 적어도 부분적으로 기초하여 결정되는 IP 어드레스들의 범위에 대응할 수 있다. 예를 들면, IP 어드레스들의 범위에서의 IP 어드레스들은 IP 어드레스들이 미리 결정된 임계 거리(예로서, 서로에 가장 가까운 IP 어드레스들의 범위에서의 IP 어드레스들의 각각의 쌍 사이에서의 미리 결정된 임계 거리, 그 사이에서 최대 거리를 가진 IP 어드레스들의 쌍의 지리적 위치들 사이에서의 지리 좌표 데이터 사이에서의 미리 결정된 임계 거리 등) 내에서의 위치를 갖도록 하는 유사도를 가질 수 있다.
몇몇 실시예들에서, 수집된 IP 어드레스들은 미리 결정된 순서에 따라 랭킹될 수 있다. 몇몇 실시예들에서, 인접한 IP 어드레스들의 각각의 쌍의 지리 좌표들 사이에서의 거리들(예로서, 지리적 거리)(예로서, IP 어드레스들이 미리 결정된 순서에 따라 랭킹되거나 또는 배열될 때)이 결정될 수 있다. IP 어드레스 필드들은 대응하는 지리 좌표들 사이에서의 거리들에 따라 결정될 수 있다. 예를 들면, 수집된 IP 어드레스들은 대응하는 지리 좌표들 사이에서의 거리에 따라 세그멘팅될 수 있다. 예로서, 다수의 IP 어드레스 필드들은 대응하는 지리 좌표들 사이에서의 거리들에 따라 수집된 IP 어드레스들의 IP 어드레스 필드들로의 세그멘팅에 기초하여 획득될 수 있다. 몇몇 실시예들에서, 미리 결정된 순서는 IP 어드레스들 대 숫자들의 매핑 및 그 후 작은 것에서 큰 것으로 매핑된 숫자들에 따른 순서화에 대응할 수 있다. 예로서, IP 어드레스들이 매핑되는 숫자들은 정수들일 수 있다. 또 다른 예로서, IP 어드레스들이 매핑되는 정수들은 IP 어드레스들의 수에 대한 숫자들의 범위를 나타낼 수 있다. 예를 들면, 10개의 IP 어드레스들이 존재하는 경우에, 각각의 IP 어드레스는 미리 결정된 순서에 따라 각각의 IP 어드레스의 랭킹에 적어도 부분적으로 기초하여 1에서 10까지의 정수에 매핑될 수 있다.
160에서, IP 어드레스 필드에 대응하는 지리 좌표들이 결정된다. 몇몇 실시예들에서, 다수의 IP 어드레스 필드들에서의 각각의 IP 어드레스 필드에 대응하는 지리 좌표들이 결정된다. 예를 들면, IP 어드레스들의 세그멘팅에 기인한 각각의 IP 어드레스 필드에 대응하는 지리 좌표들이 결정된다. 몇몇 실시예들에서, 서버는 IP 어드레스 필드에 대응하는 지리 좌표들을 결정할 수 있다.
몇몇 실시예들에서, 각각의 IP 어드레스 필드에 대응하는 지리 좌표들은 각각의 IP 어드레스 필드에 포함된 하나 이상의 IP 어드레스들의 지리 좌표들에 따라 결정될 수 있다. 예를 들면, 각각의 IP 어드레스 필드에 포함된 하나 이상의 IP 어드레스 지리 좌표 데이터(예로서, 각각의 특정한 IP 어드레스와 연관된)에서의 경도 데이터 및 위도 데이터가 개별적으로 평균화될 수 있다. 몇몇 실시예들에서, 특정한 IP 어드레스 필드에 대응하는 평균 경도 좌표 및 위도 좌표는 특정한 IP 어드레스 필드에 대응하는 지리 좌표들인 것으로 결정될 수 있다. 몇몇 실시예들에서, IP 어드레스 필드들에 포함된 하나 이상의 IP 어드레스 지리 좌표 데이터에서의 경도 데이터 및 위도 데이터는 IP 어드레스에 대한 평균 지리 좌표들을 도출하기 위해 특정한 IP 어드레스의 대응하는 IP 어드레스 필드들에 걸쳐 평균화될 수 있다. 평균 지리 좌표들은 대응하는 경도 데이터 및 위도 데이터의 중앙값, 평균 등에 대응할 수 있다.
IP 어드레스들에 대응하는 지리 좌표들을 결정하기 위한 본 출원의 방법이 이하에 설명된다.
도 2는 본 개시의 다양한 실시예들에 따라 IP 어드레스 필드들 및 그에 대응하는 지리 좌표들을 결정하기 위한 방법의 흐름도이다.
도 2를 참조하면, IP 어드레스 필드들 및 그것에 대응하는 지리 좌표들을 결정하기 위한 방법(200)이 제공된다. 몇몇 실시예들에서, 방법(200)은 도 8의 시스템(800)에 의해 구현된다. 몇몇 실시예들에서, 방법(200)은 도 8의 시스템(800)의 서버(820)에 의해 구현된다. 몇몇 실시예들에서, 방법(200)은 도 9의 디바이스(900)에 의해 구현된다.
210에서, IP 어드레스가 수집된다. 몇몇 실시예들에서, 서버는 IP 어드레스를 수집할 수 있다. 몇몇 실시예들에서, 복수의 IP 어드레스들이 수집된다. 예를 들면, 서버는 수신된 메시지(예로서, 액세스 요청, 응답 등)와 관련되어 IP 어드레스를 수집할 수 있다. 몇몇 실시예들에서, 서버는 인터넷을 액세스하는(예로서, 액세스 요청, 응답 등과 같은 메시지를 전송하는) 단말기로부터 IP 어드레스를 수집할 수 있다. 몇몇 실시예들에서, 서버는 수신된 메시지와 연관된 IP 어드레스를 획득하거나 또는 그 외 추출한다. 예를 들면, IP 어드레스는 수신된 메시지와 연관된 메타데이터에 포함될 수 있다.
220에서, IP 어드레스에 관한(예로서, 그것과 연관된) 위치 정보가 수집된다. 예를 들면, 수집된 IP 어드레스에 관한 위치 정보가 수집된다. 몇몇 실시예들에서, 각각의 수집된 IP 어드레스에 관한 위치 정보가 수집된다. 몇몇 실시예들에서, 위치 정보는 IP 어드레스의 적어도 부분 대 대응하는 위치 정보의 매핑에 따라 수집된다. 몇몇 실시예들에서, 서버는 위치 정보를 수집한다. 예를 들면, 서버는 데이터베이스(예로서, IP 어드레스 및 대응하는 위치 정보 사이에서의 기존의 매핑 또는 다른 관계를 저장하는)로부터 위치 정보를 검색할 수 있다. 몇몇 실시예들에서, 서버는 수집된 IP 어드레스에 적어도 부분적으로 기초하여 위치 정보를 결정한다. 몇몇 실시예들에서, 위치 정보는 수신된 메시지(예로서, 액세스 요청, 응답 등)에 포함된다. 예를 들면, 대응하는 IP 어드레스와 연관된 위치 정보는 메타데이터로서 메시지에 포함될 수 있다. 메시지는 인터넷을 액세스하는 단말기와 관련되어 전송될 수 있다(예로서, 서버로). 이러한 레벨의 위치 정보는 부정확하며 추가 프로세싱이 위치 정보를 보다 정확하게 결정하기 위해 요구된다.
몇몇 실시예들에서, 210 및 220이 동시에 수행된다. 예를 들면, 서버는 IP 어드레스 및 대응하는 위치 정보를 동시에 수집할 수 있다(예로서, 단말기 등으로부터 수신되는 동일한 메시지를 사용하여).
몇몇 실시예들에서, IP 어드레스 위치 정보(예로서, 특정한 IP 어드레스에 대응하는 위치 정보)는 인터넷이 특정한 IP 어드레스를 통해 액세스될 때(예로서, 임의의 단말기가 특정한 IP 어드레스를 통해 인터넷을 액세스할 때) 대응하는 지리적 위치들의 지리 좌표 정보를 포함한다. 몇몇 실시예들에서, 지리 좌표 정보는 단말기가 인터넷을 액세스할 때 단말기의 위치에 대응하는 지리 좌표들을 포함한다.
데이터의 시간 민감도(예로서, 단말기의 지리적 위치에 관련된 정보를 단말기의 사용자에게 제공하는 것과 연관된 시간 민감도)를 고려하여, 인터넷은 IP 어드레스를 액세스하며 각각의 IP 어드레스의 위치 정보가 현재 시간 포인트(예로서, 단말기가 인터넷을 액세스하거나, 또는 서버가 액세스 요청, 응답 또는 다른 메시지를 단말기로부터 수신할 때의 시간 포인트)의 미리 결정된 시간 거리 내에서 수집될 수 있다. 몇몇 실시예들에서, 지난(예로서, 이전) 30일들의 인터넷 액세스들에 대한 IP 어드레스들 및 각각의 IP 어드레스의 위치 정보가 수집된다. 서버는 임계 시간 기간에 걸쳐 하나 이상의 IP 어드레스들에 의해 인터넷의 각각의 액세스에 대응하는 위치 정보를 저장할 수 있다. 인터넷의 각각의 액세스에 대응하는 위치 정보는 위치 정보 및 IP 어드레스 매핑 이력을 저장하는 데이터베이스에 저장될 수 있다. 이러한 데이터베이스는 특정한 인터넷 서비스 제공자들로부터 상업적으로 이용 가능하다(예로서, 데이터베이스는 www.ip2location.com에서 검색되거나 또는 그 외 액세스될 수 있다). IP 어드레스들이 동적으로 할당되기 때문에(예로서, 서버에 의해 단말기들에), 각각의 IP 어드레스의 위치(지리 좌표들)는 상이한 인터넷 액세스 이벤트들에 따라(예로서, 상이한 날들에 대해) 달라질 수 있다. 그러므로, 몇몇 실시예들에서, 하나 이상의 지리 좌표 정보는 하나 이상의 IP 어드레스들의 각각에 대해 획득될 수 있다. 예를 들면, 하나 이상의 지리 좌표 정보는 각각의 IP 어드레스의 위치 정보에 포함될 수 있다. 예로서, 1월 1일 내지 1월 10일 사이에서, IP 어드레스(1.2.3.4)는 (북 10도, 서 20도)의 위도/경도 좌표들에 대응하며, 1월 11일 내지 1월 31일 사이에서 동일한 IP 어드레스는 (북 15도, 서 25도)의 위도/경도 좌표들에 대응한다. 따라서, 1개월 기간에 걸친 IP 어드레스에 대한 2개의 데이터가 수집된다. 몇몇 실시예들에서, 각 지리 좌표 정보는 단말기가 상이한 시간에 IP 어드레스를 통해 인터넷을 액세스하였을 때 단말기의 위치의 지리 좌표들에 대응한다. 예를 들면, 하나 이상의 좌표 정보는 특정한 IP 어드레스에 의해 각각의 인터넷 액세스 이벤트에 대응하는 위치 정보에 포함될 수 있다.
230에서, 지리 좌표 데이터가 획득된다. 몇몇 실시예들에서, 서버는 IP 어드레스에 대응하는 하나 이상의 지리 좌표 데이터를 획득(예로서, 결정)한다. 지리 좌표 데이터는 단말기(예로서, 인터넷을 액세스하는 단말기)의 위치에 대응할 수 있다. 서버는 수집된 IP 어드레스(예로서, 인터넷을 액세스하는 단말기의 IP 어드레스)에 대응하는 위치를 결정함으로써 지리 좌표 데이터를 획득할 수 있다. 예를 들면, 각 수집된 IP 어드레스 및 각 IP 어드레스 위치 정보는 각 수집된 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터를 획득하기 위해 프로세싱될 수 있다.
몇몇 실시예들에서, 각각의 수집된 IP 어드레스의 위치 정보에 포함된 지리 좌표 정보는 각각의 IP 어드레스에 대응하는 IP 어드레스 지리 좌표 데이터가 획득되도록 하는 프로세싱을 겪을 수 있다. 예를 들면, 서버는 수집된 IP 어드레스와 연관된 위치 정보를 사용함으로써, IP 어드레스에 대응하는 IP 어드레스 지리 좌표 데이터를 결정할 수 있다. 몇몇 실시예들에서, 각각의 IP 어드레스의 위치 정보는 하나 이상의 지리 좌표 정보를 포함한다. 따라서, 각각의 IP 어드레스의 위치 정보는 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터를 획득하기 위해 프로세싱(예로서, 분석)될 수 있다. 몇몇 실시예들에서, 각 IP 어드레스 지리 좌표 데이터는 IP 어드레스 및 IP 어드레스에 대한 경도 및 위도 데이터의 세트를 포함한다. 예를 들면, IP 어드레스의 위치 정보에서의 임의의 하나의 지리 좌표 정보는 IP 어드레스에 대응하는 IP 어드레스 지리 좌표 데이터를 획득하기 위해 프로세싱될 수 있다. 몇몇 실시예들에서, IP 지리 좌표 데이터의 포맷은 [ip, lat, log]이며, 여기에서 "ip"는 IP 어드레스를 나타내고, "lat"은 위도를 나타내며, "log"는 경도를 나타낸다. 몇몇 실시예들에서, 위도 데이터 및 경도 데이터는 위치의 특정한 정밀도를 달성하기 위해 미리 결정된 방법에 따라 프로세싱될 수 있다. 예를 들면, 소수점 뒤 마지막 3개의 숫자들은 지리 좌표 데이터의 각각의 세트에 대응하는 실제 지리적 위치에 대한 적정한 에러 마진(예로서, 1 km 내에서 0.01도 지리 좌표 에러)을 보장하기 위해 경도 데이터에서 및 위도 데이터에서 유지될 수 있다(예로서, 소수점을 따르는 3개의 장소들이 캡처될 수 있다).
몇몇 실시예들에서, 미리 결정된 일 카운트보다 적은 발생 일 카운트를 가진 IP 어드레스 지리 좌표 데이터는, IP 어드레스 지리 좌표 데이터의 프로세싱으로부터, 제거되거나 또는 그 외 디스카운트될 수 있다. 예를 들면, 단지 하루 동안 IP 어드레스 및 대응하는 위치 정보에 포함되는 IP 어드레스 지리 좌표 데이터는 단말기의 위치를 결정하기 위해 사용된 IP 어드레스 지리 좌표 데이터로부터 제외될 수 있다. 발생 일 카운트는 IP 어드레스의 디바이스들(예로서, 동일한 WiFi 핫스팟을 사용하는 스마트폰들)이 디바이스들의 위치들을 보고할 때 다수 회 카운팅하므로써 획득될 수 있다. 단지 하루 동안 IP 어드레스 및 대응하는 위치 정보에 포함되는 IP 어드레스 지리 좌표 데이터는 비정상적 데이터로서 고려될 수 있으며 따라서 제외되거나 또는 그 외 삭제된다. 몇몇 실시예들에서, 서버는 특정한 IP 어드레스가 임계 시간 기간 이상 동안 지리 좌표 데이터와 연관되지 않는다면(예로서, 단말기가 임계 횟수들 미만, 임계 주파수 미만 등의 특정한 위치로부터 인터넷을 액세스하였다면) 특정한 IP 어드레스와 연관된 지리 좌표 데이터를 제외한다.
240에서, IP 어드레스에 대응하는 지리 좌표들이 결정된다. 몇몇 실시예들에서, 서버는 수집된 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터에 적어도 부분적으로 기초하여 IP 어드레스에 대응하는 지리 좌표들을 결정한다. 예를 들면, 몇몇 실시예들에서, 각각의 IP 어드레스에 대응하는 지리 좌표들은 각각의 수집된 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터에 기초하여 결정된다.
250에서, IP 어드레스들의 세트는 필드들로 분할된다. 몇몇 실시예들에서, 서버는 IP 어드레스들의 세트를 필드들(예로서, IP 어드레스들의 세트, 일련의 IP 어드레스들 등)로 분할한다. 수집된 IP 어드레스들은 필드들로 분할될 수 있다. 몇몇 실시예들에서, IP 어드레스들의 세트는 IP 어드레스와 연관된 지리 좌표들에 적어도 부분적으로 기초하여 필드들로 분할된다. 예를 들면, IP 어드레스들은 각각의 IP 어드레스에 대응하는 지리 좌표들에 따라 필드들로 분할된다. 따라서, 다수의 IP 어드레스 필드들이 그에 의해 획득된다.
몇몇 실시예들에서, 도 3에 예시된 방법(300)이 도 2의 240의 적어도 부분으로서 구현된다.
도 3은 본 개시의 다양한 실시예들에 따라 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터에 기초하여 IP 어드레스에 대응하는 지리 좌표를 결정하기 위한 방법의 흐름도이다.
도 3을 참조하면, IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터에 기초하여 IP 어드레스에 대응하는 지리 좌표를 결정하기 위한 방법(300)이 제공된다. 몇몇 실시예들에서, 방법(300)은 도 2의 240에 포함된다. 몇몇 실시예들에서, 방법(300)은 도 8의 시스템(800)에 의해 구현된다. 몇몇 실시예들에서, 방법(300)은 도 8의 시스템(800)의 서버(820)에 의해 구현된다. 몇몇 실시예들에서, 방법(300)은 도 9의 디바이스(900)에 의해 구현된다.
몇몇 실시예들에서, 방법(300)은 각각의 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터에 적어도 부분적으로 기초하여 각각의 IP 어드레스에 대응하는 지리 좌표들을 결정하기 위해 구현된다.
310에서, IP 어드레스 지리적 데이터의 가중치가 결정된다. 몇몇 실시예들에서, 서버는 IP 어드레스 지리적 데이터의 가중치를 결정한다. 몇몇 실시예들에서, IP 어드레스에 대응하는 각 IP 어드레스 지리 좌표 데이터의 가중치는 복수의 IP 어드레스들에 대해 결정된다. 몇몇 실시예들에서, IP 어드레스에 대응하는 각 IP 어드레스 지리 좌표 데이터의 가중치는 각각의 IP 어드레스에 대해 결정된다. 예를 들면, 하나 이상의 IP 어드레스 지리 좌표 데이터 중에서 각 IP 어드레스 지리 좌표 데이터의 가중치는 각각의 수집된 IP 어드레스에 대응한다. 가중치를 결정하는 방법에 대한 세부사항들이 도 4와 관련되어 설명된다.
도 4는 본 개시의 다양한 실시예들에 따라 IP 어드레스에 대응하는 IP 어드레스 지리 좌표 데이터의 가중치를 결정하기 위한 방법의 흐름도이다. 몇몇 실시예들에서, 도 4에 예시된 방법(400)은 도 3의 310을 구현하기 위해 사용된다.
도 4를 참조하면, IP 어드레스에 대응하는 IP 어드레스 지리 좌표 데이터의 가중치를 결정하기 위한 방법(400)이 제공된다. 몇몇 실시예들에서, 방법(400)은 도 3의 310에 포함된다. 몇몇 실시예들에서, 방법(400)은 도 8의 시스템(800)에 의해 구현된다. 몇몇 실시예들에서, 방법(400)은 도 8의 시스템(800)의 서버(820)에 의해 구현된다. 몇몇 실시예들에서, 방법(400)은 도 9의 디바이스(900)에 의해 구현된다.
몇몇 실시예들에서, 방법(400)은 각각의 IP 어드레스에 대응하는 각 IP 어드레스 지리 좌표 데이터의 가중치를 결정하기 위해 구현된다.
410에서, 하나 이상의 IP 어드레스 지리적 데이터가 획득된다. 몇몇 실시예들에서, 미리 결정된 위치 내에서 발생하는 하나 이상의 IP 어드레스 지리적 데이터가 획득된다. 몇몇 실시예들에서, 서버는 미리 결정된 위치를 갖고 발생한 하나 이상의 IP 어드레스 지리적 데이터를 획득한다. 미리 결정된 위치 내에서 발생한 하나 이상의 IP 어드레스 지리적 데이터는 위치의 임계 거리 내에서 발생하는 IP 어드레스 지리적 데이터에 대응할 수 있다. 몇몇 실시예들에서, 미리 결정된 위치는 네트워크를 액세스하는 단말기로부터 수집된 IP 어드레스와 연관된 위치에 대응한다. 몇몇 실시예들에서, 미리 결정된 위치는 IP 어드레스에 대응하는 각 IP 어드레스 지리 좌표 데이터에서 지리 좌표들에 대응하는 위치에 대응한다.
몇몇 실시예들에서, IP 어드레스에 대응하는 각 IP 어드레스 지리 좌표 데이터에 대응하는 미리 결정된 범위의 위치들 내에서 발생하는 하나 이상의 IP 어드레스 지리 좌표 데이터가 획득된다. 예로서, 임계 거리는 2 킬로미터들에 대응할 수 있다. 예를 들면, IP 어드레스에 대응하는 각 IP 어드레스 지리 좌표 데이터에서 지리 좌표들에 대응하는 위치들의 2 킬로미터들 내에서 발생한 IP 어드레스 지리 좌표 데이터 모두가 획득될 수 있다.
420에서, IP 어드레스 지리 좌표 데이터의 가중치가 결정된다. 몇몇 실시예들에서, 서버는 IP 어드레스 지리 좌표 데이터의 가중치를 결정한다. 몇몇 실시예들에서, IP 어드레스 지리 좌표 데이터의 가중치는 하나 이상의 IP 어드레스 지리 좌표 데이터가 각 IP 어드레스 지리 좌표 데이터에 대응하는 위치들의 미리 결정된 범위 내에서 발생하는 일수에 따라 결정된다. 몇몇 실시예들에서, 각 IP 어드레스 지리 좌표 데이터의 가중치는 하나 이상의 IP 어드레스 지리 좌표 데이터가 각 IP 어드레스 지리 좌표 데이터에 대응하는 미리 결정된 위치 내에서(예로서, 미리 결정된 범위의 위치들 내에서) 발생하는 시간량에 따라 결정된다(예로서, 일수에 기초하여 결정된다).
몇몇 실시예들에서, IP 어드레스 지리 좌표 데이터의 가중치는 특정 IP 어드레스 지리 좌표 데이터가 최근인지에 적어도 부분적으로 기초하여 추가로 결정될 수 있다. 예를 들면, 최근이 아닌(예로서, 지난 30일들 내에 발생하지 않은) IP 어드레스 지리 좌표 데이터가 어드레스 지리 좌표 데이터의 가중치의 산출로부터 제외될 수 있다. 몇몇 실시예들에서, IP 어드레스 지리 좌표 데이터는 IP 어드레스 지리 좌표 데이터에 대응하는 특정한 IP 어드레스에 대한 인터넷의 액세스의 날짜에 따라 최근인 것으로 결정될 수 있다. 예로서, IP 어드레스 지리 좌표 데이터가 가중치의 결정으로부터 임계 일수 이상인 날짜에 대응하는 인터넷의 액세스와 연관되는 경우에, 이러한 IP 어드레스 지리 좌표 데이터는 가중치의 결정으로부터 제외된다.
몇몇 실시예들에서, 각 IP 어드레스 지리 좌표 데이터가 각 IP 어드레스 지리 좌표 데이터에 대응하는 미리 결정된 범위의 위치들 내에서 발생하는 하나 이상의 IP 어드레스 지리 좌표 데이터 중에서 발생하는 일수는 IP 어드레스에 대응하는 각 IP 어드레스 지리 좌표 데이터에 대응하는 총 일수를 획득하기 위해 합산된다. 그 후, 각 IP 어드레스 지리 좌표 데이터에 대응하는 총 일수는 각 IP 어드레스 지리 좌표 데이터(예로서, 상이한 위치에 대응하는)의 가중치를 결정하기 위한 기초로서 작용한다.
몇몇 실시예들에서, 각각의 수집된 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터의 특정한 위치로부터 인터넷을 액세스하기 위한 액세스 이벤트의 발생은 특정한 IP 어드레스에 대응하는 모든 IP 어드레스 지리 좌표 데이터에 대한 일 카운트를 획득하기 위해 카운팅될 수 있다. 몇몇 실시예들에서, 하루(예로서, IP 어드레스 지리 좌표 데이터의 가중치가 결정되는 시간과 같은 현재 시간으로부터 미리 결정된 시간 내에서의 임의의 날) 내에서 IP 어드레스 지리 좌표 데이터의 발생은 특정한 위치로부터 인터넷을 액세스하기 위한 액세스 이벤트의 발생으로서 기록된다(예로서, 하루 동안). 몇몇 실시예들에서, 특정한 위치로부터 인터넷을 액세스하기 위한 다수의 액세스 이벤트들은 액세스 이벤트가 발생하는 날의 인터넷을 액세스하기 위한 단일 액세스 이벤트로서 카운팅(예로서, 그것으로서 고려)될 것이다. 예를 들면, 특정한 날에 데이터가 얼마나 많은 횟수로 발생하는지에 관계없이(예로서, 인터넷을 액세스하기 위한 액세스 이벤트들의 수에 관계없이), 상기 날에 대한 IP 지리 좌표 데이터는 인터넷을 액세스하기 위한 액세스 이벤트의 단일 발생으로서 기록될 것이다. 예를 들면, 30일들의 IP 지리 좌표 데이터가 수집되며, 특정한 IP 어드레스 지리 좌표 데이터가 일 1에 5회(예로서, 인터넷은 일 1에 5회 특정한 위치로부터 특정한 IP 어드레스를 사용하여 단말기에 의해 액세스된다) 및 일 5 및 일 26에 각각 한 번 발생하는 경우에, 특정한 IP 어드레스 지리 좌표 데이터에 대한 발생 일 카운트는 3일들로서 기록될 것이다. 몇몇 실시예들에서, 특정한 IP 어드레스를 사용한 디바이스가 동일한 날에 상이한 위치들로부터 인터넷을 액세스한다면, 특정한 IP 어드레스를 사용하는 디바이스가 인터넷을 보다 많은 횟수로 액세스하는 위치(예로서, 특정한 IP 어드레스와 관련되어 보다 높은 일 카운트에 대응하는 위치)가 상기 날에 특정한 IP 어드레스에 대응하는 위치로서 사용된다. 몇몇 실시예들에서, 특정한 IP 어드레스를 사용한 디바이스가 동일한 날에 상이한 위치들로부터 인터넷을 액세스한다면 및 디바이스가 특정한 IP 어드레스를 사용하여 인터넷을 액세스한 하나 이상의 위치가 상기 날에 상기 특정한 IP 어드레스에 대한 최대 일 카운트를 가진 위치에 대응한다면, 상기 날에 대한 특정한 IP 어드레스에 대응하는 위치는 상기 날에 상기 특정한 IP 어드레스에 대한 최대 일 카운트를 가진 위치들 중에서 랜덤하게 선택된다.
도 3으로 가면, 320에서, IP 어드레스에 대응하는 위치가 결정된다. 몇몇 실시예들에서, 서버는 IP 어드레스에 대응하는 위치를 결정한다. IP 어드레스의 위치는 지리 좌표들(예로서, 위치의 위도 및 경도를 식별하는 좌표들)에 대응할 수 있다. 몇몇 실시예들에서, IP 어드레스에 대응하는 위치는 IP 어드레스에 대응하는 각 IP 어드레스 좌표 데이터의 가중치에 적어도 부분적으로 기초하여 결정될 수 있다. 몇몇 실시예들에서, IP 어드레스에 대응하는 지리 좌표들은 IP 어드레스에 대응하는 각 IP 어드레스 지리 좌표 데이터의 가중치에 기초하여 결정된다.
몇몇 실시예들에서, IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터 중에서 최대 가중치를 가진 IP 어드레스 지리 좌표 데이터에서의 지리 좌표들은 IP 어드레스에 대응하는 지리 좌표들인 것으로 결정된다(예로서, 그것으로 고려된다). 몇몇 실시예들에서, 특정한 IP 어드레스의 위치는 특정한 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터 중에서 IP 어드레스 지리 좌표 데이터에서의 복수의 지리 좌표들의 평균(예로서, 중앙값, 평균 등)인 것으로 결정된다. 예를 들면, 비교적 높은 가중치들을 가진 임계 수의 IP 어드레스 지리 좌표 데이터에 대응하는 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터의 IP 어드레스 지리 좌표 데이터에서의 지리 좌표들의 평균은 IP 어드레스에 대응하는 지리 좌표들인 것으로 결정된다(예로서, 그것으로 고려된다).
몇몇 실시예들에서, 도 5에 예시된 방법(500)은 도 3의 320의 적어도 부분으로서 구현된다.
도 5는 본 개시의 다양한 실시예들에 따라 IP 어드레스에 대응하는 IP 어드레스 지리 좌표 데이터의 가중치에 기초하여 IP 어드레스에 대응하는 지리 좌표들을 결정하기 위한 방법의 흐름도이다.
도 5를 참조하면, IP 어드레스에 대응하는 IP 어드레스 지리 좌표 데이터의 가중치를 결정하기 위한 방법(500)이 제공된다. 몇몇 실시예들에서, 방법(500)은 도 3의 320에 포함된다. 몇몇 실시예들에서, 방법(500)은 도 8의 시스템(800)에 의해 구현된다. 몇몇 실시예들에서, 방법(500)은 도 8의 서버(820)에 의해 구현된다. 몇몇 실시예들에서, 방법(500)은 도 9의 디바이스(900)에 의해 구현된다.
몇몇 실시예들에서, 방법(500)은 IP 어드레스에 대응하는 각 IP 어드레스 지리 좌표 데이터의 가중치에 기초하여 IP 어드레스에 대응하는 지리 좌표들을 결정하기 위해 구현된다.
510에서, 임계 수의 IP 어드레스 지리 좌표 데이터가 IP 어드레스 지리 좌표 데이터의 각각의 가중치에 적어도 부분적으로 기초하여 추출(예로서, 획득, 검색 등)된다. 몇몇 실시예들에서, 서버는 임계 수의 IP 어드레스 지리 좌표 데이터를 추출한다. 몇몇 실시예들에서, 임계 수는 3이다. 예를 들면, IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터 중에서 최대 가중치를 가진 3개의 IP 어드레스 지리 좌표 데이터가 추출된다.
IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터의 각각의 가중치들은 최대 가중치를 가진 임계 수(예로서, 3개)의 IP 어드레스 지리 좌표 데이터를 그로부터 추출하도록 랭킹된다. 예를 들면, 특정한 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터가 큰 것에서 작은 것으로 그것들의 각각의 가중치들에 따라 랭킹된 후, 최대 가중치를 가진 임계 수의 IP 어드레스 지리 좌표 데이터가 추출된다. 임계 수의 IP 어드레스 지리 좌표 데이터는 큰 가중치에서 작은 가중치로 랭킹된 가중치들에 기초하여 제 1 임계 수의 IP 어드레스 지리적 데이터에 대응하는 랭킹된 데이터로부터 추출될 수 있다. 몇몇 실시예들에서, IP 어드레스 지리 좌표 데이터에 대응하는 데이터는 데이터를 추출하는 것이 최고 가중치를 가진 IP 어드레스 지리적 데이터에 대응하는 데이터를 반복적으로 추출하는 것을 포함하도록(예로서, 임계 수의 데이터가 랭킹된 데이터로부터 추출될 때까지) 가중치에 기초하여 랭킹된 데이터로부터 추출된다.
520에서, IP 어드레스에 대응하는 위치가 결정된다. 몇몇 실시예들에서, 서버는 IP 어드레스에 대응하는 위치를 결정한다. 몇몇 실시예들에서, IP 어드레스에 대응하는 위치는 지리 좌표들(예로서, 위치의 위도 및 경도를 식별하는 좌표들)에 대응한다. IP 어드레스에 대응하는 지리 좌표들은 임계 수(예로서, 3)의 IP 어드레스 지리 좌표 데이터의 최대-가중치의 가중치들 및 대응하는 위치들 사이에서의 거리들에 기초하여 결정될 수 있다.
추출된 임계 수의 IP 어드레스 지리 좌표 데이터의 다른 것의 위치들에 관하여 추출된 임계 수의 최대-가중치 IP 어드레스 지리 좌표 데이터 중에서 최대-가중치를 가진 IP 어드레스 지리 좌표 데이터에서 다른 추출된 임계 수의 IP 어드레스 지리 좌표 데이터로부터의 거리들이 결정될 수 있다. 예를 들면, 임계 수가 3인 경우에, 서버는 추출된 임계 수의 IP 어드레스 지리 좌표 데이터의 최대-가중치 중에서 최대 가중치를 가진 IP 어드레스 지리 좌표 데이터의 다른 것의 위치에 관하여 추출된 임계 수의 IP 어드레스 지리 좌표 데이터의 최대-가중치 중에서 제 2 및 제 3 최대 가중치들을 가진 IP 어드레스 지리 좌표 데이터의 각각의 거리들을 결정할 수 있다. 가중치 평균은 (i) 미리 결정된 거리를 초과하지 않는 IP 어드레스 좌표 데이터의 최대-가중치의 IP 어드레스 지리 좌표 데이터에 대응하는 위치로부터의 거리를 가진 IP 어드레스 지리 좌표 데이터의 경도 데이터 및 위도 데이터 및 (i) IP 어드레스 지리 좌표 데이터의 최대-가중치의 IP 어드레스 지리 좌표 데이터의 경도 데이터 및 위도 데이터에 대해 계산될 수 있다. 계산된 가중치 평균(예로서, 경도 평균 및 위도 평균)은 IP 어드레스에 대응하는 지리 좌표들인 것으로 고려될 수 있다.
예를 들면, 임계 수가 3인 경우에, IP 어드레스로부터 추출된 3개의 최대-가중치의 IP 어드레스 지리 좌표 데이터는 a1(예로서, 최대 가중치를 가진), a2(예로서, 제 2 최대 가중치를 가진) 및 a3(예로서, 제 3 최대 가중치를 가진)이며, 여기에서 a1=[ip, lat1, log1], a2=[ip, lat2, log2], 및 a3=[ip, lat3, log3]. 이 예에서, 2km의 미리 결정된 거리가 설정된다. a1에서 다른 두 개의 IP 어드레스 지리 좌표 데이터에 대응하는 위치들(예로서, a2 및 a3)까지의 거리들은 개별적으로 산출된다. a1 및 a2에 대응하는 위치 사이에서의 산출된 거리가 2 km 내에 있는 경우에, 및 a1 및 a3에 대응하는 위치 사이에서의 거리가 또한 2 km 미만이면, a1, a2 및 a3에서의 경도 데이터 및 위도 데이터는 a1, a2 및 a3의 가중치들에 따라 개별적으로 가중되며 평균된다. 산출된 가중치 평균(예로서, 산출된 경도 평균 및 위도 평균)은 IP 어드레스에 대응하는 지리 좌표들로서 작용할 수 있다. a1 및 a2에 대응하는 위치 사이에서의 거리가 2 km 이하이며, a1 및 a3에 대응하는 위치 사이에서의 거리가 2 km보다 큰 경우에, a1 및 a2에서의 경도 데이터 및 위도 데이터는 a1 및 a2의 가중치들에 따라 개별적으로 가중되고 평균되는 반면, a3에 대한 IP 어드레스 지리 좌표 데이터는 다양한 하나 이상의 IP 어드레스 지리 좌표 데이터의 가중치를 결정할 때 제외된다. 몇몇 실시예들에서, a1 및 a2에 대한 각각의 가중치들을 사용하여 a1 및 a2에 대응하는 IP 어드레스 지리 좌표 데이터의 산출된 평균은 IP 어드레스에 대응하는 지리 좌표들로 고려된다. 예를 들면, 경도 평균 및 위도 평균은 IP 어드레스에 대응하는 지리 좌표들로서 작용한다. 획득된 거리들(a1-a2 및 a1-a3) 양쪽 모두가 2 km보다 큰 경우에(예로서, a1으로부터의 a2 및 a3의 각각의 거리들이 미리 결정된 거리보다 큰), 최대-가중치(a1)의 지리 좌표들은 IP 어드레스에 대응하는 지리 좌표들로서 간주될 수 있다.
도 6은 본 개시의 다양한 실시예들에 따라 IP 어드레스에 대응하는 지리 좌표들에 따라 IP 어드레스들을 필드들로 분할하기 위한 및 다수의 IP 어드레스 필드들을 획득하기 위한 방법의 흐름도이다.
도 6을 참조하면, IP 어드레스에 대응하는 지리 좌표들에 따라 IP 어드레스들을 필드들로 분할하기 위한 및 다수의 IP 어드레스 필드들을 획득하기 위한 방법(600)이 제공된다. 몇몇 실시예들에서, 방법(600)은 도 2의 250에 포함된다. 예를 들면, 몇몇 실시예들에서, 도 6에 예시된 방법(600)은 도 2의 250의 적어도 부분으로서 구현된다. 몇몇 실시예들에서, 방법(600)은 도 8의 시스템(800)에 의해 구현된다. 몇몇 실시예들에서, 방법(600)은 도 8의 서버(820)에 의해 구현된다. 몇몇 실시예들에서, 방법(600)은 도 9의 디바이스(900)에 의해 구현된다.
610에서, 수집된 IP 어드레스들이 랭킹된다. 몇몇 실시예들에서, 서버는 수집된 IP 어드레스들을 랭킹한다. 몇몇 실시예들에서, 수집된 IP 어드레스들은 미리 결정된 순서에 따라 랭킹된다. 몇몇 실시예들에서, 미리 결정된 순서는 IP 어드레스들을 숫자들(예로서, 정수들)에 매핑하는 것 및 그 후 작은 것에서 큰 것으로 매핑된 숫자들에 따라 순서화하는 것에 대응한다. 몇몇 실시예들에서, IP 어드레스들 대 숫자들의 매핑은 IP 어드레스의 4개의 세그먼트들을 4 바이트들의 정수로서 고려하는 것을 포함한다. 예를 들면, 정수 값은 IP 어드레스의 4개의 세그먼트들을 대응하는 바이트의 정수로 매핑하는 것으로부터 도출된다.
620에서, IP 어드레스들의 지리 좌표들 사이에서의 거리가 결정된다. 몇몇 실시예들에서, 서버는 IP 어드레스들의 지리 좌표들 사이에서의 거리를 결정한다. 몇몇 실시예들에서, 인접한 IP 어드레스들의 각각의 쌍에 대응하는 지리 좌표들 사이에서의 거리들이 결정된다. 인접한 IP 어드레스들의 쌍은 수집된 IP 어드레스들의 랭킹들에 관하여 논리적으로 서로에 다음인 IP 어드레스에 대응할 수 있다. 몇몇 실시예들에서, 수집된 IP 어드레스들은 10진 포맷으로 개개의 IP 어드레스를 표현하는 수치 값으로 변환된다. 예를 들면, 수집된 어드레스들은 점으로 구분된 10진 IP 어드레스들로부터 수치 IP 어드레스들(예로서, 소수점들에 의해 필드들로 분할되지 않는)로 변환될 수 있다.
몇몇 실시예들에서, 610 및 620은 동시에 수행된다. 예를 들면, 서버는 미리 결정된 순서에 따라 수집된 IP 어드레스들을 랭킹하며 IP 어드레스들의 지리 좌표들 사이에서의 거리를 동시에 결정할 수 있다.
몇몇 실시예들에서, 수집된 IP 어드레스들은 각각의 IP 어드레스의 실제 수치 값의 크기에 따라 작은 것에서 큰 것으로 랭킹된다. 랭킹들에서 인접한 IP 어드레스들의 각각의 쌍에 대응하는 지리 좌표들 사이에서의 거리가 결정될 수 있다. 예를 들면, 인접한 IP 어드레스들의 각각의 쌍에 대응하는 지리 좌표들(예로서, 랭킹에 의해 결정된 바와 같이)은 이들 쌍을 이룬 IP 어드레스들에 대응하는 지리 좌표들에 대응하는 위치들(예로서, 구면 상에서의 포인트들) 사이에서의 거리들을 산출하기 위해 사용된다.
TCP/IP 프로토콜에 따라, IP 어드레스들은 32-비트 이진수들로 구성된다. IP 어드레스의 32-비트 이진수는 일반적으로 기억하기에 더 용이한 IP 어드레스를 생성하기 위해 4개의 필드들로 분할된다. IP 어드레스의 각각의 세그먼트(예로서, 어드레스의 분할된 32-비트 이진 숫자의 각각의 세그먼트)는 8비트들을 가진다. IP 어드레스의 각각의 세그먼트는 소수점에 의해 분리된다. 그 후, 각각의 세그먼트의 8-비트 이진수는 10진수로 변환된다. 따라서, IP 어드레스는 "a.b.c.d"의 형태로 표현된다. 다시 말해서, IP 어드레스는 10진수로서 표현되며 소수점들에 의해 분할된다. 10진수로서 표현되는 IP 어드레스에서의 소수점들의 위치에 의해 정의되는 숫자들의 각각(예로서, a, b, c 및 d)은 0 및 255 사이에서의 10진 정수이다. IP 어드레스의 원래 32-비트 이진수는 10진수로 변환될 수 있으며 10진수로서 표현되며 소수점들에 의해 분할되는 IP 어드레스에 대응하는 수치 IP 어드레스가 획득될 수 있다.
몇몇 실시예들에서, 수집된 IP 어드레스들은 점으로 구분된 10진 어드레스들로서 표현될 수 있다. 몇몇 실시예들에서, 수집된 IP 어드레스들은 수치 IP 어드레스들(예로서, IP 어드레스의 원래 32-비트 이진수)로서 표현될 수 있다. 수집된 IP 어드레스들은 IP 어드레스의 수치 IP 어드레스의 수의 크기에 따라 랭킹될 수 있다. 수집된 IP 어드레스들이 점으로 구분된 어드레스들로서 표현되는 경우에, 각각의 IP 어드레스는 먼저 수치 IP 어드레스로 변환될 수 있다. 예를 들면, 점으로 구분된 10진 IP 어드레스("100.4.5.6")는 32-비트 이진수("01100100 00000100 00000101 00000110")로 변환될 수 있다. 32-비트 이진수(예로서, 점으로 구분된 10진 IP 어드레스에 대응하는)는 그 후 10진수(1677985030)로 변환된다. 1677985030의 수치 IP 어드레스는 이러한 IP 어드레스에 대한 32-비트 이진수로부터 변환된 10진수로부터 획득될 수 있다. 그 후, 수집된 어드레스들은 수치 IP 어드레스들의 수치 값 크기들에 따라 랭킹된다.
630에서, 수집된 IP 어드레스들은 IP 어드레스 필드들로 분할된다. 몇몇 실시예들에서, 서버는 수집된 IP 어드레스들을 IP 어드레스 필드들로 분할한다. 몇몇 실시예들에서, IP 어드레스 필드들은 각각 IP 어드레스들의 세트에 대응할 수 있다. 몇몇 실시예들에서, IP 어드레스 필드들은 각각 IP 어드레스들의 범위에 대응할 수 있다. 수집된 IP 어드레스들은 IP 어드레스들의 쌍에 대응하는 지리 좌표들 사이에서의 거리들에 따라 IP 어드레스 필드들로 분할될 수 있다. 몇몇 실시예들에서, 수집된 IP 어드레스들은 인접한 IP 어드레스들의 각각의 쌍에 대응하는 지리 좌표들 사이에서의 거리들에 따라 IP 어드레스 필드들로 분할된다. 복수의 IP 어드레스 필드들은 수집된 IP 어드레스들의 IP 어드레스 필드들로의 분할에 따라 획득될 수 있다.
수집된 IP 어드레스들은 이하의 방법을 사용하여 다수의 IP 어드레스 필드들을 획득하기 위해 인접한 IP 어드레스들의 상기 각각의 쌍에 대응하는 지리 좌표들 사이에서의 거리들에 따라 IP 어드레스 필드들로 분할될 수 있다. 몇몇 실시예들에서, 수집된 IP 어드레스들을 IP 어드레스 필드들로 분할하기 위한 방법은 (i) 그 인접한 거리가 미리 결정된 거리를 초과하는 제 n 쌍의 IP 어드레스들인 두 개의 인접한 IP 어드레스들 중 보다 작은 IP 어드레스를 제 n IP 어드레스 필드의 종료 IP 어드레스로서 간주하는 것, (ii) 그 인접한 거리가 미리 결정된 거리를 초과하는 제 (n-1) 쌍의 IP 어드레스들인 두 개의 인접한 IP 어드레스들 중 보다 큰 IP 어드레스를 상기 IP 어드레스 필드의 시작 IP 어드레스로서 간주하는 것, 및 (iii) 그로부터 제 n IP 어드레스 필드를 결정하는 것을 포함하며, 여기에서 n은 1 이상의 정수이며 n이 1과 같을 때, 제 1 IP 어드레스는 제 1 IP 어드레스 필드의 시작 IP 어드레스로서 간주된다.
예를 들면, 증가하는 크기의 순서로 넣어진 수집된 IP 어드레스들은 1, 3, 16, 20, 23, 25, 28, ...이다. 제 1 IP 어드레스(1로) 시작하면, 인접한 IP 어드레스들의 각각의 쌍의 지리 좌표들 사이에서의 거리들이 순차적으로 결정된다. 미리 결정된 거리는 2 km에서 설정된 것으로 가정된다. IP 어드레스들의 각각의 쌍의 지리 좌표들 사이에서의 거리는 제 1 IP 어드레스에 관하여 시작된다. 이 예에서, 인접한 IP 어드레스들(1 및 3), 인접한 IP 어드레스들(3 및 16), 및 인접한 IP 어드레스들(16 및 20)에 대응하는 지리 좌표들 사이에서의 거리들 중 어떤 것도 2 km를 초과하지 않는다. IP 어드레스(20) 및 IP 어드레스(23)에 대응하는 지리 좌표들 사이에서의 거리가 2 km를 초과하는 것으로 결정되는 경우에, 인접한 IP 어드레스들(20 및 23)의 IP 어드레스 쌍은 미리 결정된 거리를 초과하는 거리를 가진 제 1 인접한 쌍에 대응한다. IP 어드레스(20)는 인접한 IP 어드레스들(20 및 23)의 IP 어드레스 쌍 중 보다 작은 것이다. 따라서, IP 어드레스(20) 및 IP 어드레스(23) 중 보다 작은 것인 IP 어드레스(20)는 제 1 IP 어드레스 필드의 종료 IP 어드레스로서 간주된다. IP 어드레스(1)는 제 1 IP 어드레스 필드의 시작 IP 어드레스로서 작용한다. 즉, IP 어드레스들(1, 3, 16 및 20)은 동일한 IP 어드레스 필드(예로서, 제 1 IP 어드레스 필드)에 속한다. 수집된 IP 어드레스들의 IP 어드레스 필드들로의 세그멘팅은 IP 어드레스(23)로부터 앞으로 계속된다. 몇몇 실시예들에서, 수집된 IP 어드레스들의 복수의 IP 어드레스 필드들로의 세그멘팅은 수집된 IP 어드레스들의 IP 어드레스들의 서브세트들을 그룹들로 클러스터링하며 여기에서 특정한 그룹의 IP 어드레스들의 각각은 특정한 그룹의 다른 IP 어드레스들에 비교적 가까운 대응하는 위치를 가진다. 미리 결정된 거리는 비교적 가까운 IP 어드레스들을 결정하기 위한 임계 거리로서 작용한다.
몇몇 실시예들에서, 각각의 획득된 IP 어드레스 필드는 [startIP, endIP]의 형태로 기록되거나 또는 그것에 의해 표현될 수 있다. "startIP"는 IP 어드레스 필드의 시작 IP 어드레스를 나타낼 수 있으며 "endIP"는 IP 어드레스 필드의 종료 IP 어드레스를 나타낼 수 있다. 예를 들면, 특정한 포인트(예로서, 위치)에 대한 IP 어드레스 필드에 포함된 IP 어드레스들은 IP 어드레스(1, 3, 16 및 20)로서 증가하는 순서로 배열된다. 이 예에 따르면, 시작 IP 어드레스는 IP 어드레스(1)이며, 종료 IP 어드레스는 IP 어드레스(20)이다. 따라서, IP 어드레스 필드는 [1, 20]으로서 기록될 수 있다. 게다가, IP 어드레스의 크기가 IP 어드레스 필드의 시작 IP 어드레스 및 종료 IP 어드레스 사이에 있는 경우에 또는 IP 어드레스가 IP 어드레스 필드의 시작 IP 어드레스 또는 종료 IP 어드레스인 경우에, IP 어드레스는 IP 어드레스 필드에 속하는 것으로서 확인될 수 있다. 몇몇 실시예들에서, 각각의 IP 어드레스 필드의 시작 IP 어드레스 및 종료 IP 어드레스 사이에 있는 IP 어드레스들(예로서, IP 어드레스의 수치 표현)을 가진 수집되지 않은 IP 어드레스들(예로서, 수집된 IP 어드레스들이 아닌 IP 어드레스들)은 또한 IP 어드레스 필드에 속하는 것으로 고려된다. 통계 분석에 따르면, 연속적 IP 어드레스들은 근처 위치들에 할당될 보다 큰 가능성이 있다. 그러므로, 각각의 IP 어드레스 필드의 시작 IP 어드레스 및 종료 IP 어드레스 사이에 있는 수집되지 않은 IP 어드레스들은 IP 어드레스 필드에 속하는 것으로(예로서, 그에 따라 동일한 위치를 갖는 것으로) 대략 간주될 수 있다. 예로서, IP 어드레스(15)는 상기 설명된 예에서 수집된 IP 어드레스가 아니다. 그러나, IP 어드레스(15)는 IP 어드레스 필드([1,20])의 시작 IP 어드레스 및 종료 IP 어드레스 사이에 있다. 따라서, IP 어드레스(15)는 IP 어드레스 필드([1,20])에 속하며, IP 어드레스(15)의 지리 좌표들은 IP 어드레스 필드([1,20])에 대응하는 지리 좌표들에 따라 결정될 수 있다는 것이 결정될 수 있다.
몇몇 실시예들에서, 획득된 IP 어드레스 필드에서의 IP 어드레스들이 직선으로 함께 묶여지는 상황들을 회피하기 위해, IP 어드레스 필드는 필드들로 세분된다. 획득된 IP 어드레스 필드에서의 IP 어드레스들은 IP 어드레스 필드 내에서의 인접한 IP 어드레스들의 각각의 쌍의 지리 좌표들 사이에서의 거리들 중 어떤 것도 미리 결정된 거리를 초과하지 않지만, IP 어드레스 필드 내에서의 인접하지 않은 IP 어드레스들의 지리 좌표들로부터의 IP 어드레스들 중 하나 이상 사이에서의 거리들이 미리 결정된 거리를 초과하는 경우에 직선으로 함께 묶여진 것으로 고려될 수 있다. 특정한 IP 어드레스 필드에서의 IP 어드레스들이 직선으로 함께 묶여진 경우에, 특정한 IP 어드레스 필드에서의 IP 어드레스들은 연결-시리즈 경향을 보여줄 수 있다. 특정한 IP 어드레스 필드에서의 IP 어드레스들이 연결-시리즈 경향을 보이는 경우에, 특정한 어드레스 필드는 필드들로 세분될 수 있다.
몇몇 실시예들에서, 방법(600)은 640 및 650을 추가로 포함할 수 있다. 예를 들면, 640 및 650은 630을 따르는 도 6의 방법(600)에서 추가로 포함될 수 있다.
640에서, IP 어드레스 필드에서 적어도 두 개의 IP 어드레스들 사이에서의 거리는 임계 평균 거리에 비교된다. 몇몇 실시예들에서, 서버는 적어도 두 개의 IP 어드레스들 사이에서의 거리를 계산하며 계산된 거리들의 평균을 임계 평균 거리에 비교한다. 적어도 두 개의 IP 어드레스들 사이에서의 계산된 거리들의 평균 및 임계 평균 거리의 비교는 다수의 IP 어드레스 필드들 중에서 각각의 IP 어드레스 필드에 대해 계산될 수 있다. 몇몇 실시예들에서, IP 어드레스 필드에서의 각각의 IP 어드레스에 대응하는 지리 좌표들 및 상기 IP 어드레스 전 IP 어드레스에 대응하는 지리 좌표들 사이에서의 거리들의 평균은 거리들의 평균이 임계 평균 거리(예로서, 미리 결정된 평균 거리)를 초과하는지 여부를 결정하기 위해 순차적으로 평가된다.
650에서, IP 어드레스 필드에서 IP 어드레스들 사이에서의 거리가 임계 평균 거리 내에 있지 않은 경우에, IP 어드레스 필드는 세분된다. 몇몇 실시예들에서, 서버는 특정한 IP 어드레스 필드에서의 IP 어드레스들 사이에서의 거리가 임계 평균 거리 내에 있지 않은 경우에 특정한 IP 어드레스 필드를 세분한다. 몇몇 실시예들에서, 평균 거리가 임계 평균 거리(예로서, 미리 결정된 평균 거리)를 초과하는 경우에, 특정한 IP 어드레스 필드 내에서의 IP 어드레스의 앞에서 순서대로 배열된 IP 어드레스들은 새로운 IP 어드레스 필드에 속하는 것으로 결정된다. 예를 들면, 특정한 IP 어드레스 필드는 IP 어드레스의 앞에서 순서대로 배열된 IP 어드레스들이 새로운 IP 어드레스 필드에 속하도록 새로운 IP 어드레스 필드를 생성하기 위해 세분된다. 몇몇 실시예들에서, IP 어드레스(예로서, 임계 평균 거리를 초과하는 그 사이에서의 거리를 가진 IP 어드레스 쌍의 보다 큰 또는 나중 IP 어드레스)의 앞에서의(예로서, 그것에 인접한) IP 어드레스(예로서, 임계 평균 거리를 초과하는 그 사이에서의 거리를 가진 IP 어드레스 쌍의 보다 적은 또는 이전 IP 어드레스)는 새로운 IP 어드레스 필드(예로서, IP 어드레스 필드의 세그멘팅에 따라 새롭게 생성된 IP 어드레스 필드)의 종료 IP 어드레스인 것으로 고려되며 원래 IP 어드레스 필드의 시작 IP 어드레스는 새로운 IP 어드레스 필드의 시작 IP 어드레스로서 간주된다. 몇몇 실시예들에서, IP 어드레스 및 상기 IP 어드레스를 따르는 순서로 배열된 IP 어드레스들 모두는 또 다른 새로운 IP 어드레스 필드인 것으로 결정된다. IP 어드레스는 새로운 IP 어드레스 필드의 시작 IP 어드레스로서 간주되며 원래 IP 어드레스 필드의 종료 IP 어드레스는 상기 IP 어드레스 필드의 종료 IP 어드레스로서 간주된다. 몇몇 실시예들에서, 임계 평균 거리(예로서, 미리 결정된 평균 거리)는 미리 결정된 거리(예로서, 원래 IP 어드레스 필드들을 결정하기 위해 사용되는)와 같다. 몇몇 실시예들에서, 임계 평균 거리는 미리 결정된 거리와 상이하다.
예로서, 특정한 IP 어드레스 필드([IP1, IPn])는 n개의 IP 어드레스들(IP1, IP2, ..., IPk, ..., IPn)을 포함한다. IP1 및 IP2에 대응하는 지리 좌표들 사이에서의 거리는 임계 평균 거리 내에 있다. IPk(k<=n) 및 IP1, IP2, ..., IPk-1 사이에서의 평균 거리가 평가된다(예로서, 계산되거나 또는 그 외 결정된다). 평균 거리가 임계 평균 거리를 초과하는 경우에, IP1 및 IPk-1 사이에서의 IP 어드레스들은 새로운 IP 어드레스 필드([IP1, IPk-1])로서 간주된다. 원래 IP 어드레스 필드의 시작 IP 어드레스(IP1)는 새로운 IP 어드레스 필드의 시작 IP 어드레스로서 작용하며 IPk-1은 새로운 IP 어드레스 필드의 종료 IP 어드레스로서 작용한다. IPk 및 IPn 사이에서의 IP 어드레스들은 또 다른 새로운 IP 어드레스 필드([IP1, IPk-1])로서 작용한다. 특정한 IP 어드레스 필드에서의 다른 IP 어드레스들에 관하여 IP 어드레스 사이에서의 평균 거리가 임계 평균 거리 내에 있는지 여부에 대한 결정은 새로운 IP 어드레스 필드로서 작용하는 후자의 새로운 IP 어드레스 필드(예로서, IP 어드레스들([IP1, IPk-1])에 의해 표현된 IP 어드레스 필드)로 계속된다. IPk(k<=n) 및 IP1, IP2, ..., IPk-1에 대응하는 지리 좌표들 사이에서의 평균 거리가 미리 결정된 평균 거리를 초과하지 않는 경우에, 임계 평균 거리에 관하여 IPk+1 및 IP1, IP2, ..., IPk 사이에서의 비교 평균 거리가 계속된다.
도 2로 가면, 260에서, IP 어드레스 필드에서 인접한 IP 어드레스들 사이에서의 누락 IP 어드레스들의 양이 결정된다. 몇몇 실시예들에서, 서버는 IP 어드레스 필드에서 인접한 IP 어드레스들 사이에서의 누락 IP 어드레스들의 양을 결정한다. 몇몇 실시예들에서, IP 어드레스 필드에서 인접한 IP 어드레스들의 각각의 쌍 사이에서의 누락 IP 어드레스들의 양은 각각의 IP 어드레스 필드에 대해 순차적으로 측정된다.
수집된 IP 어드레스들이 반드시 모든 IP 어드레스들에 대응하는 것은 아니기 때문에, 하나의 IP 어드레스 필드([m,n])(여기서, m 및 n은 수치 IP 어드레스들이다)가 m-n+1 IP 어드레스들을 포함해야 할지라도, IP 어드레스 필드([m,n])에 포함된 수집된 IP 어드레스들의 양(예로서, 사실상 수집된 IP 어드레스들의 양)은 m-n보다 작을 수 있다. 예로서, IP 어드레스 필드([1,20])는 20개의 IP 어드레스들을 포함해야 하지만, 단지 4개의 IP 어드레스들만이 실제로 수집된다: 각각 IP 어드레스들(1, 3, 16, 및 20). 이 예에 따르면, 단지 IP 어드레스 필드([1,20])에 실제로 포함된 IP 어드레스들은 1, 3, 16 및 20이다. 그 결과, IP 어드레스 필드([1,20])로부터 누락되는(예로서, 수집되지 않은 IP 어드레스들) IP 어드레스들의 수는 비교적 크다. 몇몇 실시예들에서, 임계 양(예로서, 미리 결정된 양)이 설정된다. 몇몇 실시예들에서, IP 어드레스 필드에서의 인접한 IP 어드레스들의 각각의 쌍 사이에서의 누락된 IP 어드레스들의 양은 순차적으로 측정된다. 각각의 IP 어드레스 필드에서의 인접한 IP 어드레스들의 각각의 쌍 사이에서의 누락 IP 어드레스들의 양이 임계 양을 초과한다면, 이러한 IP 어드레스 필드는 세분될 수 있다. 예를 들면, IP 어드레스 필드([1,20])에 포함된 IP 어드레스들(1, 3, 16 및 20) 중에서 IP 어드레스들의 각각의 쌍 사이에서의 누락 IP 어드레스들의 양들은 순차적으로 측정된다. 예를 들면, 하나의 IP 어드레스가 IP 어드레스들(1 및 3) 사이에서 누락되고; 12개의 IP 어드레스들이 IP 어드레스들(3 및 16) 사이에서 누락되며; 3개의 IP 어드레스들이 IP 어드레스들(16 및 20) 사이에서 누락된다.
270에서, 누락 IP 어드레스들의 양이 임계 양을 초과하는지 여부에 대한 결정이 이루어진다. 몇몇 실시예들에서, 서버는 누락된 IP 어드레스들의 양이 임계 양을 초과하는지 여부를 결정한다. 예를 들면, 서버는 특정한 IP 어드레스 필드의 인접한 IP 어드레스들의 쌍 사이에서의 누락 IP 어드레스들의 양이 임계 양을 초과하는지 여부를 결정한다.
280에서, IP 어드레스 필드는 누락 어드레스들의 양이 임계 양을 초과하는 경우에 세분된다. 몇몇 실시예들에서, 서버는 IP 어드레스 필드를 세분한다. 몇몇 실시예들에서, 인접한 IP 어드레스들의 쌍 사이에서의 누락 IP 어드레스들의 측정된 양이 임계 양을 초과하는 경우에, IP 어드레스 필드(예로서, 인접한 IP 어드레스들의 쌍이 속하는 IP 어드레스 필드)가 인접한 IP 어드레스들의 쌍에 따라 세분된다. 예를 들면, IP 어드레스 필드는 새롭게 생성된 IP 어드레스 필드들의 쌍 중 하나가 인접한 IP 어드레스들의 쌍 중 하나와 같은 종료 IP 어드레스를 가지며, 다른 새롭게 생성된 IP 어드레스 필드가 인접한 IP 어드레스들의 쌍 중 다른 것과 동일한 시작 IP 어드레스를 갖도록 세분된다.
특정한 IP 어드레스 필드의 인접한 IP 어드레스들의 쌍 사이에서의 누락 IP 어드레스들의 양이 임계 양을 초과하는 경우에, 특정한 IP 어드레스 필드는 두 개의 필드들로 세분될 수 있다. 특정한 IP 어드레스 필드는 인접한 IP 어드레스들의 쌍에 따라 세분될 수 있다. 인접한 IP 어드레스들의 쌍에서의 순방향 위치를 차지하는 IP 어드레스는 두 개의 새롭게 생성된 IP 어드레스 필드들의 순방향 IP 어드레스 필드의 종료 IP 어드레스로서 작용한다. 원래 IP 어드레스 필드의 시작 IP 어드레스는 순방향 필드의 시작 IP 어드레스이다. 후방향 위치를 차지하는 IP 어드레스는 두 개의 새롭게 생성된 IP 어드레스 필드들의 후방향 IP 어드레스 필드의 시작 IP 어드레스로서 작용한다. 원래 IP 어드레스 필드의 종료 IP 어드레스는 후방향 필드의 종료 IP 어드레스이다.
예를 들면, 임계 양은 5로 설정될 수 있다. 통계 분석에 따르면, 가까운 위치들에 할당되는 연속적 IP 어드레스들의 가능성은 비교적 높다. 그러므로, 5 또는 그보다 적은 누락 IP 어드레스들은 누락 IP 어드레스들이 떨어지는 IP 어드레스들과 동일한 IP 어드레스 필드에 속하는 것으로 대략 간주될 수 있다. 이 예에 따르면, IP 어드레스 필드([1,20])의 수집된 IP 어드레스들은 1, 3, 16, 및 20이다. 따라서, IP 어드레스 필드([1,20])의 이 예를 적용하면, IP 어드레스(1) 및 IP 어드레스(3) 사이에서의 누락 IP 어드레스들의 양은 1이며, 이것은 5의 임계 양을 초과하지 않는다. IP 어드레스(3) 및 IP 어드레스(16) 사이에서의 누락 IP 어드레스들의 양은 12이며, 이것은 5의 임계 양을 초과한다. 따라서, IP 어드레스 필드([1,20])는 IP 어드레스 필드들([1,3] 및 [16,20])로 분할될 수 있다. 그 후 측정은 IP 어드레스(16)로부터 순차적으로 계속된다. IP 어드레스(16) 및 IP 어드레스(20) 사이에서의 누락 IP 어드레스들의 양은 3이며, 이것은 5의 임계 양을 초과하지 않는다. 그러므로, IP 어드레스 필드([16,20])는 세분되도록 요구되지 않는다.
290에서, IP 어드레스 필드의 위치가 결정된다. 몇몇 실시예들에서, 서버는 IP 어드레스 필드의 위치를 결정한다. 몇몇 실시예들에서, IP 어드레스 필드들 중에서 각각의 IP 어드레스 필드에 대응하는 지리 좌표들이 결정된다.
몇몇 실시예들에서, 각각의 IP 어드레스 필드에 대응하는 지리 좌표들은 각각의 IP 어드레스 필드에 포함된 하나 이상의 IP 어드레스들의 지리 좌표들에 따라 결정될 수 있다. 예를 들면, 각각의 IP 어드레스 필드에 포함된 하나 이상의 IP 어드레스 지리 좌표 데이터에 대응하는 경도 데이터 및 위도 데이터는 개별적으로 평균화될 수 있으며 평균 경도 및 위도가 계산될 수 있다. 각각의 IP 어드레스 필드의 평균 경도 및 평균 위도는 각각 각각의 IP 어드레스 필드에 대응하는 지리 좌표들인 것으로 고려될 수 있다.
몇몇 실시예들에서, IP 어드레스들은 IP 어드레스 필드들로 분할되며 각각의 IP 어드레스 필드에 대응하는 지리 좌표들이 결정된다. 따라서, IP 어드레스 필드 및 지리 좌표들 사이에서의 관계가 임의의 IP 어드레스의 지리 좌표들을 결정하기 위해 사용될 수 있다. 예를 들면, 특정한 IP 어드레스의 지리 좌표들은, 특정한 IP 어드레스가 속하는 IP 어드레스 필드에 따라, 근사되거나, 또는 그 외 결정될 수 있다. 특정한 IP 어드레스의 위치의 근사 또는 결정은 다양한 온라인 시스템들에 적용될 수 있다. 예를 들면, 특정한 IP 어드레스의 위치의 근사 또는 결정은 온라인 정보 디스플레이 플랫폼들 상에 증가된-정밀도 위치-기반 정보를 푸싱할 때 이용될 수 있다. 단말기(예로서, 사용자)가 온라인 정보 디스플레이 플랫폼 웹 페이지를 브라우징할 때, 사용자의 위치는 단말기에 의해 사용된 IP 어드레스로부터 추론될 수 있으며 가까운 위치 정보가 사용자에게 디스플레이될 수 있다. 예를 들면, 사용자의 위치의 미리 결정된 임계 근접성 내에서의 제공자들 및/또는 벤더들에 관한 광고 정보가 사용자에게(예로서, 단말기에) 제공될 수 있으며 사용자에게 디스플레이될 수 있다.
도 7은 본 개시의 다양한 실시예들에 따라 측정될 IP 어드레스들에 대응하는 지리 좌표들을 결정하기 위한 방법의 흐름도이다.
도 7을 참조하면, IP 어드레스 필드들 및 그것에 대응하는 지리 좌표들을 결정하기 위한 방법(700)이 제공된다. 몇몇 실시예들에서, 방법(700)은 도 8의 시스템(800)에 의해 구현된다. 몇몇 실시예들에서, 방법(700)은 도 8의 서버(820)에 의해 구현된다. 몇몇 실시예들에서, 방법(700)은 도 9의 디바이스(900)에 의해 구현된다. 몇몇 실시예들에서, 방법(700)은 도 10의 디바이스(1000)에 의해 구현된다.
710에서, IP 어드레스가 수신된다. 몇몇 실시예들에서, 서버는 IP 어드레스를 수신한다. IP 어드레스는 위치-기반 애플리케이션 또는 서비스와 관련되어 수신될 수 있다. 예를 들면, 서버는 지리 좌표들이 결정될 IP 어드레스를 수신할 수 있다.
720에서, IP 어드레스에 대응하는 IP 어드레스 필드가 결정된다. 몇몇 실시예들에서, 서버는 수신된 IP 어드레스에 대응하는 IP 어드레스 필드를 결정한다. IP 어드레스들은 도 1 내지 도 6을 참조하여 설명된 방법들 중 하나 이상을 사용하여 획득된 다수의 IP 어드레스 필드들과 연관된 IP 어드레스 필드에 있는 것으로 결정될 수 있다. 다시 말해서, 결정은 IP 어드레스가 다수의 IP 어드레스 필드들(예로서, IP 어드레스들을 필드들로 사전-분할함으로써 획득된) 중에서 어떤 IP 어드레스 필드에 속하는지에 대해 이루어진다.
730에서, IP 어드레스에 대응하는 위치기 결정된다. 몇몇 실시예들에서, 서버는 IP 어드레스의 위치를 결정한다. 예를 들면, 서버는 수신된 IP 어드레스를 사용하여 인터넷을 액세스하는 단말기의 지리 좌표들을 결정할 수 있다. 서버는 단말기의 IP 어드레스가 속하는 IP 어드레스 필드에 따라 단말기의 지리 좌표들을 결정할 수 있다. 도 1 내지 도 6에서 설명된 방법들 중 하나 이상을 사용하여 획득된 IP 어드레스들과 연관된 IP 어드레스 필드에 대응하는 지리 좌표들은 IP 어드레스들에 대응하는 지리 좌표들인 것으로 결정된다. 예를 들면, 지리 좌표들이 결정될 이들 IP 어드레스들과 연관된 IP 어드레스 필드에 대응하는 지리 좌표들은 지리 좌표들이 결정될 이들 IP 어드레스들에 대응하는 지리 좌표들인 것으로 확인된다. 따라서, 위치가 결정될 IP 어드레스의 위치를 빠르게 결정하는 것이 가능하다.
도 8은 본 개시의 다양한 실시예들에 따라 IP 어드레스들을 결정하기 위한 시스템의 다이어그램이다.
도 8을 참조하면, IP 어드레스를 결정하기 위한 시스템(800)이 제공된다. 몇몇 실시예들에서, 시스템(800)은 도 1의 방법(100)을 구현할 수 있다. 몇몇 실시예들에서, 시스템(800)은 도 2의 방법(200)을 구현할 수 있다. 몇몇 실시예들에서, 시스템(800)은 도 3의 방법(300)을 구현할 수 있다. 몇몇 실시예들에서, 시스템(800)은 도 4의 방법(400)을 구현할 수 있다. 몇몇 실시예들에서, 시스템(800)은 도 5의 방법(500)을 구현한다. 몇몇 실시예들에서, 시스템(800)은 도 6의 방법(600)을 구현할 수 있다. 몇몇 실시예들에서, 시스템(800)은 도 7의 방법(700)을 구현할 수 있다.
시스템(800)은 단말기(810) 및 서버(820)를 포함한다. 몇몇 실시예들에서, 단말기(810) 및 서버(820)는 인터넷과 같은 네트워크(830)에 의해 연결된다. 예를 들면, 단말기(810)는 서버(820)(예로서, 서버(820)에 의해 호스팅된 웹사이트)를 액세스할 수 있다. 단말기(810)는 네트워크(830)를 통해 통신하기 위한 IP 어드레스를 할당받을 수 있다.
몇몇 실시예들에서, 서버(820)는 단말기(810)의 IP 어드레스에 따라 단말기(810)의 위치를 결정할 수 있다. 서버(820)는 위치-기반 서비스를 단말기(810)에 제공하는 것과 관련되어 단말기(810)의 위치를 결정할 수 있다. 위치-기반 서비스는 단말기에 광고들을 제공하는 것, 단말기에 가까운 벤더들 또는 서비스들에 대한 정보를 제공하는 것 등, 또는 그것의 임의의 조합을 포함할 수 있다.
몇몇 실시예들에서, 서버(820)는 단말기(810)가 속하는 IP 어드레스 필드를 결정함으로써 단말기(810)의 위치를 결정할 수 있다. IP 어드레스 필드는 실질적으로 동일한 위치(예로서, 지리 좌표들)를 가진 IP 어드레스 필드들의 그룹에 대응할 수 있다. IP 어드레스 필드는 IP 어드레스 필드에 속하는 각각의 IP 어드레스가 동일한 위치를 갖는 것으로 고려되도록 그것에 대응하는 위치를 가질 수 있다.
서버(820)는 수집되는 IP 어드레스 필드 내에서의 개개의 IP 어드레스들의 위치들의 평균에 따라 IP 어드레스 필드에 대응하는 위치를 결정할 수 있다.
몇몇 실시예들에서, 서버(820)는 도 1의 방법(100), 도 2의 방법(200), 도 3의 방법(300), 도 4의 방법(400), 도 5의 방법(500), 도 6의 방법(600), 및 도 7의 방법(700) 중 하나 이상을 구현할 수 있다.
도 9는 본 개시의 다양한 실시예들에 따라 IP 어드레스 필드들 및 지리 좌표들을 결정하기 위한 디바이스의 구조도이다.
도 9를 참조하면, 측정될 IP 어드레스들에 대응하는 지리 좌표들을 결정하기 위한 디바이스(900)가 제공된다. 몇몇 실시예들에서, 디바이스(900)는 도 1의 방법(100)을 구현할 수 있다. 몇몇 실시예들에서, 디바이스(900)는 도 2의 방법(200)을 구현할 수 있다. 몇몇 실시예들에서, 디바이스(900)는 도 3의 방법(300)을 구현할 수 있다. 몇몇 실시예들에서, 디바이스(900)는 도 4의 방법(400)을 구현할 수 있다. 몇몇 실시예들에서, 디바이스(900)는 도 5의 방법(500)을 구현할 수 있다. 몇몇 실시예들에서, 디바이스(900)는 도 6의 방법(600)을 구현할 수 있다. 몇몇 실시예들에서, 디바이스(900)는 도 7의 방법(700)을 구현할 수 있다. 몇몇 실시예들에서, 디바이스(900)는 도 8의 서버(820)에 대응한다.
몇몇 실시예들에서, 디바이스(900)는 수집 모듈(910), 프로세싱 모듈(920), 제 1 결정 모듈(930), IP 어드레스 필드 분할 모듈(940), 및 제 2 결정 모듈(950)을 포함한다.
몇몇 실시예들에서, 수집 모듈(910)은 IP 어드레스들 및 각각의 IP 어드레스의 위치 정보를 수집한다. IP 어드레스의 위치 정보는 인터넷(예로서, 단말기에 의해)이 IP 어드레스를 통해 액세스된 위치의 지리 좌표들을 포함할 수 있다.
몇몇 실시예들에서, 프로세싱 모듈(920)은 각각의 수집된 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터를 획득하기 위해 각각의 수집된 IP 어드레스 및 각각의 IP 어드레스 위치 정보를 프로세싱할 수 있다.
몇몇 실시예들에서, 제 1 결정 모듈(930)은 각각의 수집된 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터에 적어도 부분적으로 기초하여 각각의 IP 어드레스에 대응하는 지리 좌표들을 결정할 수 있다.
몇몇 실시예들에서, IP 어드레스 필드 분할 모듈(940)은 각각의 IP 어드레스에 대응하는 지리 좌표들에 따라 IP 어드레스들을 필드들로 분할하며 그에 의해 다수의 IP 어드레스 필드들을 획득할 수 있다.
몇몇 실시예들에서, 제 2 결정 모듈(950)은 다수의 IP 어드레스 필드들에서의 각각의 IP 어드레스 필드에 대응하는 지리 좌표들을 결정할 수 있다.
몇몇 실시예들에서, 제 1 결정 모듈(930)은 가중치 결정 모듈(도시되지 않음)을 포함할 수 있다. 몇몇 실시예들에서, 제 1 결정 모듈(930)은 지리 좌표 결정 모듈(도시되지 않음)을 포함할 수 있다.
가중치 결정 모듈은, 각각의 IP 어드레스에 대해, IP 어드레스에 대응하는 각 IP 어드레스 지리 좌표 데이터의 가중치를 결정할 수 있다.
지리 좌표 결정 모듈은 IP 어드레스에 대응하는 각 IP 어드레스 지리 좌표 데이터의 가중치에 적어도 부분적으로 기초하여 IP 어드레스에 대응하는 지리 좌표들을 결정할 수 있다.
몇몇 실시예들에서, 가중치 결정 모듈은 획득 서브-모듈을 포함한다. 몇몇 실시예들에서, 가중치 결정 모듈은 가중치 결정 서브-모듈을 포함한다.
획득 서브-모듈은 IP 어드레스에 대응하는 각 IP 어드레스 지리 좌표 데이터에 대응하는 미리 결정된 범위의 위치들 내에서 발생하는 하나 이상의 IP 어드레스 지리 좌표 데이터를 획득할 수 있다.
가중치 결정 서브-모듈은 하나 이상의 IP 어드레스 지리 좌표 데이터가 각 IP 어드레스 지리 좌표 데이터에 대응하는 미리 결정된 범위의 위치들 내에서 발생하는 일수에 따라 각 IP 어드레스 지리 좌표 데이터의 가중치를 결정할 수 있다.
몇몇 실시예들에서, 지리 좌표 결정 모듈은 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터 중에서 최대 가중치를 가진 IP 어드레스 지리 좌표 데이터에서의 지리 좌표들이 IP 어드레스에 대응하는 지리 좌표들일 것임을 결정하도록 추가로 구성될 수 있다.
몇몇 실시예들에서, 지리 좌표 결정 모듈은 추출 서브-모듈을 포함한다. 몇몇 실시예들에서, 지리 좌표 결정 모듈은 지리 좌표 결정 서브-모듈을 포함한다.
몇몇 실시예들에서, 추출 서브-모듈은 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터 중에서 최대 가중치를 가진 임계 수(예로서, 3개)의 IP 어드레스 지리 좌표 데이터를 추출한다.
몇몇 실시예들에서, 지리 좌표 결정 서브-모듈은 IP 어드레스에 대응하는 최대 가중치를 가진 임계 수(예로서, 3개)의 IP 어드레스 지리 좌표 데이터에 대응하는 위치들 사이에서의 거리들에 적어도 부분적으로 기초하여 IP 어드레스에 대응하는 지리 좌표들을 결정한다.
몇몇 실시예들에서, IP 어드레스 필드 분할 모듈(940)은 랭킹 모듈(도시되지 않음), 거리 결정 모듈(도시되지 않음), 및 필드 분할 모듈(도시되지 않음) 중 하나 이상을 포함한다.
몇몇 실시예들에서, 랭킹 모듈은 미리 결정된 순서에 따라 수집된 IP 어드레스들을 랭킹할 수 있다. 미리 결정된 순서는 IP 어드레스들을 숫자들에 매핑시키는 것 및 그 후 작은 것에 큰 것으로 매핑된 숫자들에 따라 IP 어드레스들을 순서화하는 것을 포함할 수 있다.
몇몇 실시예들에서, 거리 결정 모듈은 인접한 IP 어드레스들의 모든 쌍에 대응하는 지리 좌표들 사이에서의 거리들을 결정할 수 있다. 몇몇 실시예들에서, 인접한 IP 어드레스들의 쌍은 논리적으로 서로에 다음인 IP 어드레스들에 대응할 수 있다. 예를 들면, 인접한 IP 어드레스들의 쌍은 매핑된 숫자들에 기초하여 IP 어드레스들의 순서화에 관하여 논리적으로 서로에 다음인 IP 어드레스들에 대응할 수 있다.
몇몇 실시예들에서, 필드 분할 모듈은 인접한 IP 어드레스들의 각각의 쌍에 대응하는 지리 좌표들 사이에서의 거리들에 따라 수집된 IP 어드레스들을 IP 어드레스 필드들로 분할할 수 있다. 필드 분할 모듈은 그에 의해 다수의 IP 어드레스 필드들을 획득할 수 있다. 몇몇 실시예들에서, 필드 분할 모듈은 인접한 IP 어드레스들의 각각의 쌍에 대응하는 지리 좌표들 사이에서의 거리들에 따라 모든 수집된 IP 어드레스들을 IP 어드레스 필드들로 분할하며 다수의 IP 어드레스 필드들을 획득하기 위해 다음의 방법을 사용할 수 있다. 몇몇 실시예들에서, 필드 분할 모듈에 의해 구현되는 수집된 IP 어드레스들을 IP 어드레스 필드들로 분할하기 위한 방법은 (i) 인접한 거리가 미리 결정된 거리를 초과하는 제 n 쌍의 IP 어드레스들인 두 개의 인접한 IP 어드레스들 중 보다 작은 IP 어드레스(예로서, 보다 작은 또는 이전 IP 어드레스)를 제 n IP 어드레스 필드의 종료 IP 어드레스로서 간주하는 것, (ii) 인접한 거리가 미리 결정된 거리를 초과하는 제 n-1 쌍의 IP 어드레스들인 두 개의 인접한 IP 어드레스들 중 보다 큰 IP 어드레스(예로서, 보다 큰 또는 나중 IP 어드레스)를 IP 어드레스 필드의 시작 IP 어드레스로서 간주하는 것, 및 (iii) 그로부터 제 n IP 어드레스 필드를 결정하는 것을 포함하며, 여기에서 n은 1 이상의 정수이고, n이 1과 같을 때, 제 1 IP 어드레스는 제 1 IP 어드레스 필드의 시작 IP 어드레스로 간주된다.
몇몇 실시예들에서, IP 어드레스 분할 모듈(940)은 IP 어드레스 필드에서의 IP 어드레스 사이에서의 평균 거리가 임계 평균 거리를 초과하는지를 결정하도록 구성되는 평가 모듈(도시되지 않음)을 포함한다. 예를 들면, 평가 모듈은 획득되는 다수의 IP 어드레스 필드들 중에서 각각의 IP 어드레스 필드에 대해 다음의 방법을 수행하도록 구성될 수 있다: 계산된 평균 거리가 임계 평균 거리를 초과하는지를 결정하기 위해 IP 어드레스 필드에서의 각각의 IP 어드레스에 대응하는 지리 좌표들 및 상기 IP 어드레스 전에 IP 어드레스에 대응하는 지리 좌표들 사이에서의 거리들의 평균을 순차적으로 평가하는 것.
몇몇 실시예들에서, 필드 분할 모듈은 IP 어드레스 필드에서의 각각의 IP 어드레스에 대응하는 지리 좌표들 및 상기 IP 어드레스 전에 IP 어드레스에 대응하는 지리 좌표들 사이에서의 계산된 평균 거리가 임계 평균 거리를 초과하는지에 적어도 부분적으로 기초하여 IP 어드레스 필드 모듈을 세분하도록 구성될 수 있다. 계산된 평균 거리가 임계 평균 거리를 초과하는 경우에, 필드 분할 모듈은 상기 IP 어드레스 필드 내에서의 IP 어드레스의 앞에서 순서대로 배열된 IP 어드레스들 모두가 새로운 IP 어드레스 필드에 속하는 것으로 결정되도록 IP 어드레스 필드를 세분할 수 있다. 몇몇 실시예들에서, IP 어드레스의 앞에 있는 IP 어드레스는 새로운 IP 어드레스 필드(예로서, IP 어드레스 필드의 세그멘팅에 따라 새롭게 생성된 IP 어드레스 필드)의 종료 IP 어드레스인 것으로 고려되며 원래 IP 어드레스 필드의 시작 IP 어드레스는 새로운 IP 어드레스 필드의 시작 IP 어드레스로서 간주될 수 있다. 몇몇 실시예들에서, IP 어드레스 및 상기 IP 어드레스를 따라 순서대로 배열된 IP 어드레스들 모두는 또 다른 새로운 IP 어드레스 필드인 것으로 결정된다. IP 어드레스는 새로운 IP 어드레스 필드의 시작 IP 어드레스로서 간주되며 원래 IP 어드레스 필드의 종료 IP 어드레스는 상기 IP 어드레스 필드의 종료 IP 어드레스로서 간주된다.
몇몇 실시예들에서, 디바이스(900)는 측정 모듈(도시되지 않음)을 포함한다. 측정 모듈은 IP 어드레스 필드에서의 인접한 IP 어드레스들의 각각의 쌍 사이에서 누락 IP 어드레스들의 양을 순차적으로 측정하도록 구성될 수 있다. 측정 모듈은 각각의 IP 어드레스 필드에 대한 IP 어드레스 필드에서의 인접한 IP 어드레스들의 각각의 쌍 사이에서 누락 IP 어드레스들의 양을 측정할 수 있다.
몇몇 실시예들에서, 필드 분할 모듈은 IP 어드레스 필드를 세분하도록 구성된다. 예를 들면, 필드 분할 모듈은 인접한 IP 어드레스들의 쌍 사이에서의 누락 IP 어드레스들의 순차적으로 측정된 양이 임계 양을 초과한다면 IP 어드레스 필드를 세분하도록 구성될 수 있다. 필드 분할 모듈은 인접한 IP 어드레스들의 쌍(예로서, 그 사이에서 임계 양을 초과하는 누락 IP 어드레스들의 수를 갖는)에 따라 IP 어드레스 필드를 세분할 수 있다.
도 10은 본 개시의 다양한 실시예들에 따라 측정될 IP 어드레스들에 대응하는 지리 좌표들을 결정하기 위한 디바이스의 구조도이다.
도 10을 참조하면, 측정될 IP 어드레스에 대응하는 지리 좌표들을 결정하기 위한 디바이스(1000)가 제공된다. 몇몇 실시예들에서, 디바이스(1000)는 도 7의 방법(700)을 구현할 수 있다. 몇몇 실시예들에서, 디바이스(1000)는 도 8의 서버(820)에 대응한다.
몇몇 실시예들에서, 디바이스(1000)는 수신 모듈(1010), 제 1 결정 모듈(1020), 및 제 2 결정 모듈(1030)을 포함한다.
몇몇 실시예들에서, 수신 모듈(1010)은 IP 어드레스를 수신할 수 있다. IP 어드레스는 위치-기반 애플리케이션 또는 서비스와 관련되어 수신될 수 있다. 예를 들면, 수신 모듈(1010)은 지리 좌표들이 결정될 IP 어드레스를 수신할 수 있다. 수신 모듈(1010)은 각각의 위치들이 결정될 복수의 IP 어드레스들을 수신할 수 있다.
몇몇 실시예들에서, 제 1 결정 모듈(1020)은 IP 어드레스에 대응하는 IP 어드레스 필드를 결정할 수 있다. 제 1 결정 모듈(1020)은 IP 어드레스들이 다수의 IP 어드레스 필드들 중에서 속하는 IP 어드레스 필드를 결정할 수 있다. IP 어드레스 필드들은 상기 설명된 디바이스(900)에 따라 획득되거나 또는 그 외 그것에 의해 결정될 수 있다.
몇몇 실시예들에서, 제 2 결정 모듈(1030)은 IP 어드레스에 대응하는 위치를 결정할 수 있다. 예를 들면, 제 2 결정 모듈(1030)은 수신 모듈(1010)에 의해 수신된 IP 어드레스를 사용하여 인터넷을 액세스하는 단말기의 지리 좌표들을 결정할 수 있다. 제 2 결정 모듈(1030)은 단말기의 IP 어드레스가 속하는 IP 어드레스 필드에 따라 단말기의 지리 좌표들을 결정할 수 있다. 상기 설명된 디바이스(900)에 따라 획득되거나, 또는 그 외 그것에 의해 결정된 IP 어드레스들과 연관된 IP 어드레스 필드에 대응하는 지리 좌표들은 지리 좌표들이 결정될 IP 어드레스들에 대응하는 지리 좌표들일 것이다.
상기 설명된 모듈들은 하나 이상의 범용 프로세서들 상에서 실행하는 소프트웨어 구성요소들로서, 특정한 기능들을 수행하도록 설계된 프로그램 가능한 논리 디바이스들 및/또는 애플리케이션 특정 집적 회로들과 같은 하드웨어 또는 그것의 조합으로서 구현될 수 있다. 몇몇 실시예들에서, 모듈들은 컴퓨터 디바이스(개인용 컴퓨터들, 서버들, 네트워크 장비 등과 같은)가 본 발명의 실시예들에서 설명된 방법들을 구현하게 하기 위한 다수의 명령들을 포함하여, 비휘발성 저장 매체(광 디스크, 플래시 저장 디바이스, 이동 하드 디스크 등과 같은)에 저장될 수 있는 소프트웨어 제품들의 형태에 의해 구체화될 수 있다. 모듈들은 단일 디바이스 상에서 구현될 수 있거나 또는 다수의 디바이스들에 걸쳐 분포될 수 있다. 모듈들의 기능들은 서로 병합되거나 또는 다수의 서브-모듈들로 추가로 분리될 수 있다.
도 11은 본 개시의 다양한 실시예들에 따라 IP 어드레스들에 대응하는 지리 좌표들을 결정하기 위한 컴퓨터 시스템의 기능도이다.
도 11을 참조하면, 웹사이트를 액세스하기 위한 또는 웹사이트를 액세스하는 단말기가 이동 단말기인지를 결정하기 위한 컴퓨터 시스템(1100)이 제공된다. 분명할 바와 같이, 다른 컴퓨터 시스템 아키텍처들 및 구성들이 비디오 호출들을 구현하기 위해 사용될 수 있다. 이하에 설명되는 바와 같이 다양한 서브시스템들을 포함하는, 컴퓨터 시스템(1100)은 적어도 하나의 마이크로프로세서 서브시스템(또한 프로세서 또는 중앙 프로세싱 유닛으로서 불리우는)(CPU)(1102)을 포함한다. 예를 들면, 프로세서(1102)는 단일-칩 프로세서에 의해 또는 다수의 프로세서들에 의해 구현될 수 있다. 몇몇 실시예들에서, 프로세서(1102)는 컴퓨터 시스템(1100)의 동작을 제어하는 범용 디지털 프로세서이다. 메모리(1110)로부터 검색된 명령들을 사용하여, 프로세서(1102)는 입력 데이터의 수신 및 조작, 및 출력 디바이스들(예로서, 디스플레이(1118) 상에서의 데이터의 출력 및 디스플레이를 제어한다.
프로세서(1102)는 제 1 1차 저장 장치, 통상적으로 랜덤 액세스 메모리(RAM), 및 제 2 1차 저장 영역, 통상적으로 판독-전용 메모리(ROM)를 포함할 수 있는, 메모리(1110)와 양방향으로 결합된다. 이 기술분야에 잘 알려진 바와 같이, 1차 저장 장치는 일반 저장 영역으로서 및 스크래치-패드 메모리로서 사용될 수 있으며, 또한 입력 데이터 및 프로세싱된 데이터를 저장하기 위해 사용될 수 있다. 1차 저장 장치는 또한 프로세서(1102) 상에서 동작하는 프로세스들에 대한 다른 데이터 및 명령들 외에, 데이터 오브젝트들 및 텍스트 오브젝트들의 형태로, 프로그래밍 명령들 및 데이터를 저장할 수 있다. 또한 이 기술분야에 잘 알려진 바와 같이, 1차 저장 장치는 통상적으로 그것의 기능들(예로서, 프로그램된 명령들)을 수행하기 위해 프로세서(1102)에 의해 사용된 기본 동작 명령들, 프로그램 코드, 데이터 및 오브젝트들을 포함한다. 예를 들면, 메모리(1110)는 예를 들면, 데이터 액세스가 양-방향 또는 단-방향일 필요가 있는지에 의존하여, 이하에 설명된 임의의 적절한 컴퓨터-판독 가능한 저장 미디어를 포함할 수 있다. 예를 들면, 프로세서(1102)는 또한 캐시 메모리(도시되지 않음)에서 빈번하게 요구된 데이터를 직접 및 매우 빠르게 검색 및 저장할 수 있다.
착탈 가능한 대량 저장 디바이스(1112)가 컴퓨터 시스템(1100)을 위한 부가적인 데이터 저장 용량을 제공하며, 양방향으로(판독/기록) 또는 단방향으로(판독 전용) 프로세서(1102)에 결합된다. 예를 들면, 저장 장치(1112)는 또한 자기 테이프, 플래시 메모리, PC-CARDS, 휴대용 대량 저장 디바이스들, 홀로그램 저장 디바이스들, 및 다른 저장 디바이스들과 같은 컴퓨터-판독 가능한 미디어를 포함할 수 있다. 고정 대량 저장 장치(1120)는 또한, 예를 들면, 부가적인 데이터 저장 용량을 제공할 수 있다. 대량 저장 장치(1120)의 가장 일반적인 예는 하드 디스크 드라이브이다. 대량 저장 디바이스(1112) 및 고정 대량 저장 장치(1120)는 일반적으로, 통상적으로 프로세서(1102)에 의해 활성 사용에 있지 않은 부가적인 프로그래밍 명령들, 데이터 등을 저장한다. 대량 저장 디바이스(1112) 및 고정 대량 저장 장치(1120) 내에 유지된 정보는, 요구된다면, 가상 메모리로서 메모리(1110)(예로서, RAM)의 부분으로서 표준 방식으로 통합될 수 있다는 것이 이해될 것이다.
저장 서브시스템들에 프로세서(1102) 액세스를 제공하는 것 외에, 버스(1114)는 또한 다른 서브시스템들 및 디바이스들에 액세스를 제공하기 위해 사용될 수 있다. 도시된 바와 같이, 이것들은 디스플레이 모니터(1118), 네트워크 인터페이스(1116), 키보드(1104), 및 포인팅 디바이스(1106), 뿐만 아니라 필요하다면 보조 입력/출력 디바이스 인터페이스, 사운드 카드, 스피커들, 및 다른 서브시스템들을 포함할 수 있다. 예를 들면, 포인팅 디바이스(1106)는 마우스, 스타일러스, 트랙 볼, 또는 태블릿일 수 있으며 그래픽 사용자 인터페이스와 상호 작용하는데 유용하다.
네트워크 인터페이스(1116)는 프로세서(1102)가 도시된 바와 같이 네트워크 연결을 사용하여 또 다른 컴퓨터, 컴퓨터 네트워크 또는 전기통신 네트워크에 결합되도록 허용한다. 예를 들면, 네트워크 인터페이스(1116)를 통해, 프로세서(1102)는 방법/프로세스 단계들을 수행하는 과정에서 또 다른 네트워크로부터 정보(예로서, 데이터 오브젝트들 또는 프로그램 명령들)를 수신하거나 또 다른 네트워크로 정보를 출력할 수 있다. 종종 프로세서상에서 실행될 명령들의 시퀀스로서 표현되는, 정보는 또 다른 네트워크로부터 수신되며 그것으로 출력될 수 있다. 인터페이스 카드 또는 유사한 디바이스 및 프로세서(1102)에 의해 구현된(예로서, 그것 상에서 실행된/수행된) 적절한 소프트웨어는 표준 프로토콜들에 따라 외부 네트워크에 컴퓨터 시스템(1100)을 연결하며 데이터를 전달하기 위해 사용될 수 있다. 예를 들면, 본 명세서에 개시된 다양한 프로세스 실시예들은 프로세싱의 일 부분을 공유하는 원격 프로세서와 함께, 프로세서(1102) 상에서 실행될 수 있거나, 또는 인터넷, 인트라넷 네트워크들, 또는 근거리 네트워크들과 같은 네트워크에 걸쳐 수행될 수 있다. 부가적인 대량 저장 디바이스들(도시되지 않음)은 또한 네트워크 인터페이스(1116)를 통해 프로세서(1102)에 연결될 수 있다.
보조 I/O 디바이스 인터페이스(도시되지 않음)는 컴퓨터 시스템(1100)과 함께 사용될 수 있다. 보조 I/O 디바이스 인터페이스는 프로세서(1102)가 보다 통상적으로 마이크로폰들, 터치-민감 디스플레이들, 트랜듀서 카드 판독기들, 테이프 판독기들, 음성 또는 필적 인식기들, 생체인식 판독기들, 카메라들, 휴대용 대량 저장 디바이스들, 및 다른 컴퓨터들과 같은 다른 디바이스들로부터 데이터를 전송 및 수신하도록 허용하는 일반 및 맞춤화된 인터페이스들을 포함할 수 있다.
도 11에 도시된 컴퓨터 시스템은 본 명세서에서 개시된 다양한 실시예들과 함께 사용하기에 적합한 컴퓨터 시스템의 예이다. 이러한 사용에 적합한 다른 컴퓨터 시스템은 부가적인 또는 보다 적은 서브시스템들을 포함할 수 있다. 또한, 버스(1114)는 서브시스템들을 연결하도록 작용하는 임의의 상호연결 기법을 예시한다. 서브시스템들의 상이한 구성들을 가진 다른 컴퓨터 아키텍처들이 또한 이용될 수 있다.
본 명세서에 개시된 실시예들을 고려하여 설명된 방법들 또는 프로세스 단계들은 하드웨어, 프로세서-실행 소프트웨어 모듈들, 또는 양쪽 모두의 조합들을 사용하여 구현될 수 있다. 소프트웨어 모듈들은 랜덤-액세스 메모리(RAM), 메모리, 판독-전용 메모리(ROM), 전기적으로 프로그램 가능한 ROM, 전기적으로 소거 가능한 프로그램 가능한 ROM, 레지스터들, 하드 드라이브들, 착탈 가능한 디스크들, CD-ROM, 또는 기술 분야에서 알려진 임의의 다른 형태들의 저장 미디어에 설치될 수 있다.
앞서 말한 실시예들이 이해의 명료함을 위해 상세히 설명되었지만, 본 발명은 제공된 세부사항들에 제한되지 않는다. 본 발명을 구현하는 많은 대안적인 방식들이 있다. 개시된 실시예들은 예시적이며 제한적이지 않다.
800: 시스템 810: 단말기
820: 서버 830: 네트워크
900: 디바이스 910: 수집 모듈
920: 프로세싱 모듈 930: 제 1 결정 모듈
940: IP 어드레스 필드 분할 모듈 950: 제 2 결정 모듈
1000: 디바이스 1010: 수신 모듈
1020: 제 1 결정 모듈 1030: 제 2 결정 모듈
1100: 컴퓨터 시스템 1102: 프로세서
1104: 키보드 1106: 포인팅 디바이스
1110: 메모리 1112: 대량 저장 디바이스
1116: 네트워크 인터페이스 1118: 디스플레이
1120: 고정 대량 저장 장치

Claims (24)

  1. 방법에 있어서,
    인터넷 프로토콜(IP) 어드레스 및 상기 IP 어드레스에 대응하는 위치 정보를 수집하는 단계로서, 상기 IP 어드레스에 대응하는 상기 위치 정보는 상기 IP 어드레스와 연관된 단말기가 네트워크에 액세스하는 위치를 식별하는 정보를 포함하는, 상기 위치 정보를 수집하는 단계;
    상기 IP 어드레스 및 상기 IP 어드레스에 대응하는 상기 위치 정보를 사용하여 상기 IP 어드레스에 대한 하나 이상의 IP 어드레스 지리 좌표 데이터를 획득하는 단계;
    상기 하나 이상의 IP 어드레스 지리 좌표 데이터에 적어도 부분적으로 기초하여 상기 IP 어드레스에 대응하는 지리 좌표들을 결정하는 단계로서, 상기 IP 어드레스에 대응하는 지리 좌표들을 결정하는 단계는:
    상기 IP 어드레스에 대한 복수의 IP 어드레스 지리 좌표 데이터가 획득되는 경우, 적어도 상기 복수의 IP 어드레스 지리 좌표 데이터의 서브세트에 대한 각각의 가중치를 결정하는 단계로서, 적어도 상기 복수의 IP 어드레스 지리 좌표 데이터의 서브세트에 대한 상기 각각의 가중치는 미리 결정된 시간 기간 내에 특정한 위치로부터 다수의 액세스 이벤트들에 적어도 부분적으로 기초하는, 상기 각각의 가중치를 결정하는 단계, 및
    적어도 상기 복수의 IP 어드레스 지리 좌표 데이터의 서브세트에 대한 상기 각각의 가중치에 적어도 부분적으로 기초하여 상기 IP 어드레스에 대응하는 상기 지리 좌표들을 결정하는 단계를 포함하는, 상기 IP 어드레스에 대응하는 상기 지리 좌표들을 결정하는 단계;
    상기 IP 어드레스에 대응하는 상기 지리 좌표들에 적어도 부분적으로 기초하여 IP 어드레스 필드를 결정하는 단계; 및
    상기 IP 어드레스 필드에 대응하는 위치를 결정하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 수집된 IP 어드레스 및 상기 IP 어드레스에 대응하는 위치 정보는 복수의 IP 어드레스들 및 상기 복수의 IP 어드레스들에 각각 대응하는 위치 정보 중에 있는, 방법.
  3. 제 2 항에 있어서,
    상기 결정된 IP 어드레스 필드는 복수의 IP 어드레스 필드들 중에서 상기 복수의 IP 어드레스들의 각각에 대응하는 각각의 지리 좌표들에 적어도 부분적으로 기초하여 결정되는, 방법.
  4. 제 3 항에 있어서,
    상기 IP 어드레스 필드를 결정하는 단계는 상기 복수의 IP 어드레스들을 상기 복수의 IP 어드레스 필드들로 세그멘팅하는 단계를 포함하는, 방법.
  5. 제 2 항에 있어서,
    상기 하나 이상의 IP 어드레스 지리 좌표 데이터에 적어도 부분적으로 기초하여 상기 IP 어드레스에 대응하는 상기 지리 좌표들을 결정하는 단계는:
    상기 복수의 IP 어드레스들의 각각에 대해, 상기 복수의 IP 어드레스들의 특정한 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터의 각각에 대한 각각의 가중치를 결정하는 단계; 및
    상기 특정한 IP 어드레스에 대응하는 상기 하나 이상의 IP 어드레스 지리 좌표 데이터의 각각의 상기 가중치에 적어도 부분적으로 기초하여 상기 특정한 IP 어드레스에 대응하는 상기 지리 좌표들을 결정하는 단계를 포함하는, 방법.
  6. 제 1 항에 있어서,
    적어도 상기 복수의 IP 어드레스 지리 좌표 데이터의 서브세트에 대한 각각의 가중치를 결정하는 단계는:
    상기 IP 어드레스에 대응하는 미리 결정된 범위의 위치들 내에서 발생하는 상기 하나 이상의 IP 어드레스 지리 좌표 데이터를 획득하는 단계; 및
    상기 하나 이상의 IP 어드레스 지리 좌표 데이터가 상기 미리 결정된 범위의 위치들 내에서 발생하는 일수에 따라 상기 하나 이상의 IP 어드레스 지리 좌표 데이터의 각각의 상기 가중치를 결정하는 단계를 포함하는, 방법.
  7. 제 1 항에 있어서,
    적어도 상기 복수의 IP 어드레스 지리 좌표 데이터의 서브세트에 대한 상기 각각의 가중치에 적어도 부분적으로 기초하여 상기 IP 어드레스에 대응하는 상기 지리 좌표들을 결정하는 단계는:
    특정한 IP 어드레스에 대응하는 상기 하나 이상의 IP 어드레스 지리 좌표 데이터 중에서 최대 가중치를 가진 상기 IP 어드레스 지리 좌표 데이터에서의 지리 좌표들을 상기 특정한 IP 어드레스에 대응하는 상기 지리 좌표들인 것으로 결정하는 단계를 포함하는, 방법.
  8. 제 1 항에 있어서,
    적어도 상기 복수의 IP 어드레스 지리 좌표 데이터의 서브세트에 대한 상기 각각의 가중치에 적어도 부분적으로 기초하여 상기 IP 어드레스에 대응하는 상기 지리 좌표들을 결정하는 단계는:
    특정한 IP 어드레스에 대응하는 하나 이상의 IP 어드레스 지리 좌표 데이터 중에서 최대 가중치를 가진 임계 수의 IP 어드레스 지리 좌표 데이터를 추출하는 단계; 및
    상기 최대 가중치를 가진 상기 임계 수의 IP 어드레스 지리 좌표 데이터에 대응하는 위치들 사이에서의 거리들에 적어도 부분적으로 기초하여 상기 특정한 IP 어드레스에 대응하는 상기 지리 좌표들을 결정하는 단계를 포함하는, 방법.
  9. 제 3 항에 있어서,
    상기 복수의 IP 어드레스들의 각각에 대응하는 각각의 지리 좌표들에 적어도 부분적으로 기초하여 상기 복수의 IP 어드레스 필드들을 결정하는 단계는:
    미리 결정된 순서에 따라 상기 수집된 IP 어드레스들을 랭킹하는 단계;
    상기 랭킹되어 수집된 IP 어드레스들의 인접한 IP 어드레스들의 각각의 쌍에 대응하는 상기 대응하는 지리 좌표들 사이에서의 각각의 거리를 결정하는 단계; 및
    인접한 IP 어드레스들의 각각의 쌍에 대응하는 상기 지리 좌표들 사이에서의 상기 각각의 거리들에 따라 상기 수집된 IP 어드레스들을 상기 복수의 IP 어드레스 필드들로 분할하는 단계를 포함하는, 방법.
  10. 제 9 항에 있어서,
    인접한 IP 어드레스들의 각각의 쌍에 대응하는 상기 지리 좌표들 사이에서의 상기 각각의 거리들에 따라 상기 복수의 수집된 IP 어드레스들을 상기 복수의 IP 어드레스 필드들로 분할하는 단계는:
    그 인접한 거리가 임계 거리를 초과하는 제 n 쌍의 인접한 IP 어드레스들인 두 개의 인접한 IP 어드레스들 중 작은 IP 어드레스를 제 n IP 어드레스 필드의 종료 IP 어드레스로서 간주하는 단계;
    그 인접한 거리가 상기 임계 거리를 초과하는 제 (n-1) 쌍인 두 개의 인접한 IP 어드레스들 중 큰 IP 어드레스를 상기 제 n IP 어드레스 필드의 시작 IP 어드레스로서 간주하는 단계; 및
    상기 제 n IP 어드레스 필드에 기초하여 결정하는 단계로서, n은 1 이상의 정수이며, n이 1과 같을 때, 상기 제 1 IP 어드레스는 상기 제 1 IP 어드레스 필드의 상기 시작 IP 어드레스로서 간주되는, 상기 결정 단계를 포함하는, 방법.
  11. 제 9 항에 있어서,
    인접한 IP 어드레스들의 각각의 쌍에 대응하는 상기 지리 좌표들 사이에서의 상기 각각의 거리들에 따라 상기 수집된 IP 어드레스들을 상기 복수의 IP 어드레스 필드들로의 분할 단계는:
    평균 거리가 임계 평균 거리를 초과하는지를 결정하기 위해 특정한 IP 어드레스 필드에서의 각각의 특정한 IP 어드레스에 대응하는 상기 지리 좌표들 및 상기 특정한 IP 어드레스 앞의 IP 어드레스에 대응하는 상기 지리 좌표들 사이의 상기 평균 거리를 결정하는 단계; 및
    상기 평균 거리가 상기 임계 평균 거리를 초과하는 경우에, 상기 특정한 IP 어드레스 필드 내에서의 상기 특정한 IP 어드레스 앞에 순서대로 배열된 모든 IP 어드레스들을 새로운 IP 어드레스 필드인 것으로 결정하는 단계로서, 상기 특정한 IP 어드레스 앞의 상기 IP 어드레스는 상기 새로운 IP 어드레스 필드의 종료 IP 어드레스로서 간주되고 상기 특정한 IP 어드레스 필드의 원래 시작 IP 어드레스는 상기 새로운 IP 어드레스 필드의 시작 IP 어드레스로서 간주되고, 상기 특정한 IP 어드레스 및 상기 특정한 IP 어드레스 뒤에 순서대로 배열된 IP 어드레스들 모두는 다른 새로운 IP 어드레스 필드에 속하는 것으로 결정되고, 상기 특정한 IP 어드레스는 다른 새로운 IP 어드레스 필드의 시작 IP 어드레스로서 간주되고, 상기 특정한 IP 어드레스 필드의 상기 종료 IP 어드레스는 다른 새로운 IP 어드레스 필드의 종료 IP 어드레스로서 간주되는, 상기 새로운 IP 어드레스 필드 결정 단계를 포함하는, 방법.
  12. 제 9 항에 있어서,
    특정한 IP 어드레스 필드에서의 인접한 IP 어드레스들의 각각의 쌍 사이에서의 누락 IP 어드레스들의 양을 측정하는 단계; 및
    특정한 쌍의 인접한 IP 어드레스들 사이에서의 누락 IP 어드레스들의 상기 측정된 양이 임계 양을 초과하는 경우에, 상기 특정한 쌍의 인접한 IP 어드레스들에 따라 상기 특정한 IP 어드레스 필드를 추가로 분할하는 단계를 더 포함하는, 방법.
  13. 제 1 항에 있어서,
    상기 위치를 결정하는 단계는:
    위치가 결정될 IP 어드레스를 수신하는 단계;
    상기 위치가 결정될 상기 IP 어드레스가 속하는 상기 IP 어드레스 필드를 결정하는 단계; 및
    상기 위치가 결정될 상기 IP 어드레스와 연관된 상기 IP 어드레스 필드에 대응하는 상기 지리 좌표들을 결정하는 단계를 더 포함하는, 방법.
  14. 제 1 항에 있어서,
    상기 IP 어드레스 필드에 대응하는 상기 위치에 따라 위치-기반 정보를 사용자에게 전송하는 단계를 더 포함하는, 방법.
  15. 제 14 항에 있어서,
    상기 위치-기반 정보는 상기 IP 어드레스 필드에 대응하는 상기 위치가 위치되는 미리 결정된 범위의 지리적 위치들 내에서 이용 가능한 제품 및 서비스 중 하나에 대응하는, 방법.
  16. 디바이스에 있어서,
    IP 어드레스 및 상기 IP 어드레스에 대응하는 위치 정보를 수집하도록 구성된 수집 모듈로서, 상기 IP 어드레스에 대응하는 상기 위치 정보는 상기 IP 어드레스와 연관된 단말기가 네트워크에 액세스하는 위치를 식별하는 정보를 포함하는, 상기 수집 모듈;
    상기 IP 어드레스 및 상기 IP 어드레스에 대응하는 상기 위치 정보를 사용하여 상기 IP 어드레스에 대한 하나 이상의 IP 어드레스 지리 좌표 데이터를 획득하도록 구성된 프로세싱 모듈;
    상기 하나 이상의 IP 어드레스 지리 좌표 데이터에 적어도 부분적으로 기초하여 상기 IP 어드레스에 대응하는 지리 좌표들을 결정하도록 구성된 제 1 결정 모듈로서, 상기 IP 어드레스에 대응하는 지리 좌표들을 결정하는 것은:
    상기 IP 어드레스에 대한 복수의 IP 어드레스 지리 좌표 데이터가 획득되는 경우, 적어도 상기 복수의 IP 어드레스 지리 좌표 데이터의 서브세트에 대한 각각의 가중치를 결정하는 것으로서, 적어도 상기 복수의 IP 어드레스 지리 좌표 데이터의 서브세트에 대한 상기 각각의 가중치는 미리 결정된 시간 기간 내에 특정한 위치로부터 다수의 액세스 이벤트들에 적어도 부분적으로 기초하는, 상기 각각의 가중치를 결정하는 것, 및
    적어도 상기 복수의 IP 지리 좌표 데이터의 서브세트에 대한 상기 각각의 가중치에 적어도 부분적으로 기초하여 상기 IP 어드레스에 대응하는 상기 지리 좌표들을 결정하는 것을 포함하는, 상기 제 1 결정 모듈;
    상기 IP 어드레스에 대응하는 상기 지리 좌표들에 적어도 부분적으로 기초하여 IP 어드레스 필드를 결정하도록 구성된 IP 어드레스 필드-분할 모듈; 및
    상기 IP 어드레스 필드에 대응하는 위치를 결정하도록 구성된 제 2 결정 모듈을 포함하는, 디바이스.
  17. 제 16 항에 있어서,
    위치가 결정될 IP 어드레스를 수신하도록 구성된 수신 모듈;
    상기 위치가 결정될 상기 IP 어드레스가 속하는 상기 IP 어드레스 필드를 결정하도록 구성된 제 1 결정 모듈; 및
    위치가 결정될 상기 IP 어드레스와 연관된 상기 IP 어드레스 필드에 대응하는 상기 지리 좌표들을 결정하도록 구성된 제 2 결정 모듈을 더 포함하는, 디바이스.
  18. 제 16 항에 있어서,
    상기 수집 모듈에 의해 수집된 상기 IP 어드레스 및 상기 IP 어드레스에 대응하는 위치 정보는 상기 수집 모듈에 의해 수집된 복수의 IP 어드레스들 및 대응하는 위치 정보 중에 있는, 디바이스.
  19. 제 18 항에 있어서,
    상기 IP 어드레스 필드 분할 모듈에 의해 결정된 상기 IP 어드레스 필드는 복수의 IP 어드레스 필드들 중에서, 상기 복수의 IP 어드레스들의 각각에 대응하는 각각의 지리 좌표들에 적어도 부분적으로 기초하여, 상기 IP 어드레스 필드 분할 모듈에 의해 결정되는, 디바이스.
  20. 제 19 항에 있어서,
    상기 IP 어드레스 필드-분할 모듈은 상기 복수의 IP 어드레스들을 상기 복수의 IP 어드레스 필드들로 세그멘팅하는, 디바이스.
  21. 정보를 제공하기 위한 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능한 저장 매체로서, 상기 컴퓨터 프로그램은 컴퓨터 명령들을 포함하는, 상기 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능한 저장 매체에 있어서,
    상기 컴퓨터 명령들은:
    IP 어드레스 및 상기 IP 어드레스에 대응하는 위치 정보를 수집하고, 상기 IP 어드레스에 대응하는 상기 위치 정보는 상기 IP 어드레스와 연관된 단말기가 네트워크에 액세스하는 위치를 식별하는 정보를 포함하고;
    상기 IP 어드레스 및 상기 IP 어드레스에 대응하는 상기 위치 정보를 사용하여 상기 IP 어드레스에 대한 하나 이상의 IP 어드레스 지리 좌표 데이터를 획득하고;
    상기 하나 이상의 IP 어드레스 지리 좌표 데이터에 적어도 부분적으로 기초하여 상기 IP 어드레스에 대응하는 지리 좌표들을 결정하고, 상기 IP 어드레스에 대응하는 지리 좌표들을 결정하는 것은:
    상기 IP 어드레스에 대한 복수의 IP 어드레스 지리 좌표 데이터가 획득되는 경우, 적어도 상기 복수의 IP 어드레스 지리 좌표 데이터의 서브세트에 대한 각각의 가중치를 결정하는 것으로서, 적어도 상기 복수의 IP 어드레스 지리 좌표 데이터의 서브세트에 대한 상기 각각의 가중치는 미리 결정된 시간 기간 내에 특정한 위치로부터 다수의 액세스 이벤트들에 적어도 부분적으로 기초하는, 상기 각각의 가중치를 결정하는 것, 및
    적어도 상기 복수의 IP 지리 좌표 데이터의 서브세트에 대한 상기 각각의 가중치에 적어도 부분적으로 기초하여 상기 IP 어드레스에 대응하는 상기 지리 좌표들을 결정하는 것을 포함하고;
    상기 IP 어드레스에 대응하는 상기 지리 좌표들에 적어도 부분적으로 기초하여 IP 어드레스 필드를 결정하고;
    상기 IP 어드레스 필드에 대응하는 위치를 결정하는, 컴퓨터 판독 가능한 저장 매체.
  22. 제 21 항에 있어서,
    수집되는 상기 IP 어드레스 및 상기 IP 어드레스에 대응하는 위치 정보는 복수의 IP 어드레스들 및 각각 상기 복수의 IP 어드레스들에 대응하는 위치 정보 중에 있는, 컴퓨터 판독 가능한 저장 매체.
  23. 제 22 항에 있어서,
    결정되는 상기 IP 어드레스 필드는 복수의 IP 어드레스 필드들 중에서 상기 복수의 IP 어드레스들의 각각에 대응하는 각각의 지리 좌표들에 적어도 부분적으로 기초하여 결정되는, 컴퓨터 판독 가능한 저장 매체.
  24. 제 23 항에 있어서,
    상기 IP 어드레스 필드의 결정은 상기 복수의 IP 어드레스들을 상기 복수의 IP 어드레스 필드들로 세그멘팅하는 것을 포함하는, 컴퓨터 판독 가능한 저장 매체.
KR1020167022450A 2014-03-17 2015-03-16 Ip 어드레스에 대응하는 위치를 결정하기 위한 방법, 장치, 및 시스템 KR101894226B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201410098749.4A CN104935676A (zh) 2014-03-17 2014-03-17 确定ip地址段及其对应的经纬度的方法及装置
CN201410098749.4 2014-03-17
US14/657,691 2015-03-13
US14/657,691 US9813309B2 (en) 2014-03-17 2015-03-13 Method, apparatus, and system for determining a location corresponding to an IP address
PCT/US2015/020689 WO2015142710A1 (en) 2014-03-17 2015-03-16 Method, apparatus, and system for determining a location corresponding to an ip address

Publications (2)

Publication Number Publication Date
KR20160111443A KR20160111443A (ko) 2016-09-26
KR101894226B1 true KR101894226B1 (ko) 2018-10-04

Family

ID=54070248

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167022450A KR101894226B1 (ko) 2014-03-17 2015-03-16 Ip 어드레스에 대응하는 위치를 결정하기 위한 방법, 장치, 및 시스템

Country Status (8)

Country Link
US (2) US9813309B2 (ko)
EP (1) EP3120306A1 (ko)
JP (1) JP6403787B2 (ko)
KR (1) KR101894226B1 (ko)
CN (1) CN104935676A (ko)
HK (1) HK1211147A1 (ko)
TW (1) TWI639324B (ko)
WO (1) WO2015142710A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105100292B (zh) 2014-05-12 2018-12-18 阿里巴巴集团控股有限公司 确定终端的位置的方法及装置
CN105430115B (zh) * 2015-11-20 2018-11-23 车智互联(北京)科技有限公司 一种优化ip库的方法、装置及计算设备
CN106936887B (zh) * 2015-12-31 2020-10-20 珠海金山办公软件有限公司 一种地理位置定位方法及装置
CN106998371B (zh) * 2016-01-25 2020-11-06 创新先进技术有限公司 可信ip信息的判定方法、ip信息库的更新方法及装置
US11558407B2 (en) * 2016-02-05 2023-01-17 Defensestorm, Inc. Enterprise policy tracking with security incident integration
CN107222585A (zh) * 2016-03-21 2017-09-29 林政宗 适用于电子设备的现实地址与网络地址匹配的方法及系统
CN105933294B (zh) * 2016-04-12 2019-08-16 晶赞广告(上海)有限公司 网络用户定位方法、装置及终端
KR101920190B1 (ko) * 2016-11-22 2019-02-08 한국인터넷진흥원 임의의 ip 생성 방법 및 그 장치
CN108875006B (zh) * 2018-06-15 2021-03-30 泰康保险集团股份有限公司 确定ip地址所属地区的方法及装置
CN109635063A (zh) * 2018-12-06 2019-04-16 拉扎斯网络科技(上海)有限公司 地址库的信息处理方法、装置、电子设备和存储介质
CN109769202B (zh) * 2019-02-25 2021-01-15 上海晶赞融宣科技有限公司 流量数据的定位方法及装置、存储介质、服务器
CN110311890B (zh) * 2019-05-22 2023-06-27 中国平安财产保险股份有限公司 可视化攻防图生成方法、装置、计算机设备及存储介质
CN112307138A (zh) * 2019-07-30 2021-02-02 华扬联众数字技术股份有限公司 地域信息的存储和查询方法、系统与介质
CN110519412B (zh) * 2019-09-09 2022-04-22 新华三信息安全技术有限公司 一种物联网模块上线方法及装置
CN110798543B (zh) * 2019-11-04 2020-11-10 北京数字联盟网络科技有限公司 Ip定位方法及装置、计算机存储介质、计算设备
CN110995805B (zh) * 2019-11-24 2022-02-18 浪潮电子信息产业股份有限公司 一种集群网卡的确定方法、装置、设备及可读存储介质
CN112019652B (zh) * 2020-08-27 2023-01-24 北京亚鸿世纪科技发展有限公司 一种ipv6地址段判断的方法及装置
CN113067913B (zh) * 2021-03-19 2022-12-09 北京达佳互联信息技术有限公司 定位方法、装置、服务器、介质及产品
CN114500454B (zh) * 2021-12-20 2024-01-23 成都鲁易科技有限公司 电子设备地理位置变更的检测方法及装置
CN115190110B (zh) * 2022-07-18 2024-01-09 北京抖音信息服务有限公司 一种地理位置确定方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100776982B1 (ko) * 2006-07-18 2007-11-21 주식회사 날리지큐브 인터넷 사용자의 위치 정보 수집 방법 및 장치
US20080243822A1 (en) * 2007-03-28 2008-10-02 Bruce Campbell System and method for associating a geographic location with an Internet protocol address

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757740B1 (en) 1999-05-03 2004-06-29 Digital Envoy, Inc. Systems and methods for determining collecting and using geographic locations of internet users
US6980566B2 (en) 2000-03-10 2005-12-27 Lightwaves Systems, Inc. Method for routing data packets using an IP address based in GEO position
US7062572B1 (en) 2001-03-19 2006-06-13 Microsoft Corporation Method and system to determine the geographic location of a network user
US20050071417A1 (en) 2003-09-29 2005-03-31 Jeffrey Taylor Method and apparatus for geolocation of a network user
JP2005184482A (ja) * 2003-12-19 2005-07-07 Kddi Corp Ipアドレスに地理範囲情報を有するパケットの経路制御装置、経路制御プログラム及び経路制御方法
US7464136B2 (en) 2004-11-05 2008-12-09 Microsoft Corporation Integrated messaging domain name setup
US7739266B2 (en) * 2007-03-28 2010-06-15 Yahoo! Inc. System and method for associating a geographic location with an internet protocol address
US7870227B2 (en) * 2007-07-31 2011-01-11 Yahoo! Inc. System and method for merging internet protocol address to location data from multiple sources
CN101383855B (zh) * 2007-09-04 2013-01-23 沈阳 一种基于ip地址信息获取计算机精确地理位置信息的方法
US20090245114A1 (en) * 2008-04-01 2009-10-01 Jayanth Vijayaraghavan Methods for collecting and analyzing network performance data
US20100002700A1 (en) * 2008-07-02 2010-01-07 Cellnet Innovations, Inc. Methods and Systems for Network Packet Routing Using Embedded Geographic Routing Information
CN101355595B (zh) * 2008-09-17 2012-05-23 北京搜狗科技发展有限公司 定位ip地址的物理所在地的方法和装置
US8443107B2 (en) 2009-11-11 2013-05-14 Digital Envoy, Inc. Method, computer program product and electronic device for hyper-local geo-targeting
CN102104635B (zh) * 2009-12-17 2014-07-16 阿里巴巴集团控股有限公司 一种更新互联网协议ip地址库的方法和装置
WO2012043768A1 (ja) * 2010-09-30 2012-04-05 楽天株式会社 地域特定サーバ、地域特定方法、地域特定プログラム、及びそのプログラムを記憶するコンピュータ読み取り可能な記録媒体
US20160006628A1 (en) * 2011-05-02 2016-01-07 Google Inc. Determining geo-locations of users from user activities
US8788437B2 (en) 2011-07-28 2014-07-22 Quova, Inc. System and method for implementing a learning model for predicting the geographic location of an internet protocol address
CN102291299B (zh) * 2011-08-08 2015-04-22 北京酷智科技有限公司 一种基于网络路由路径的互联网位置定位方法和系统
US20130053057A1 (en) 2011-08-31 2013-02-28 The Directv Group, Inc. Method and system for determining a location of a mobile device and utilizing the location in content services
US8938653B2 (en) * 2011-12-14 2015-01-20 Microsoft Corporation Increasing the accuracy of information returned for context signals
US9026145B1 (en) * 2012-03-23 2015-05-05 Google Inc. Systems and methods for mapping IP-addresses to geolocations
US9197595B1 (en) * 2012-05-04 2015-11-24 Google Inc. Evaluating IP-location mapping data
CN103220376B (zh) * 2013-03-30 2014-07-16 清华大学 利用移动终端的位置数据来定位ip位置的方法
US20150095124A1 (en) * 2013-09-27 2015-04-02 Cellco Partnership D/B/A Verizon Wireless Method and System for Realtime Display or Distribution of Advertisements

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100776982B1 (ko) * 2006-07-18 2007-11-21 주식회사 날리지큐브 인터넷 사용자의 위치 정보 수집 방법 및 장치
US20080243822A1 (en) * 2007-03-28 2008-10-02 Bruce Campbell System and method for associating a geographic location with an Internet protocol address

Also Published As

Publication number Publication date
US10277480B2 (en) 2019-04-30
US20150264008A1 (en) 2015-09-17
WO2015142710A1 (en) 2015-09-24
US20180026859A1 (en) 2018-01-25
JP6403787B2 (ja) 2018-10-10
TW201537915A (zh) 2015-10-01
WO2015142710A8 (en) 2016-10-06
JP2017513281A (ja) 2017-05-25
CN104935676A (zh) 2015-09-23
HK1211147A1 (en) 2016-05-13
US9813309B2 (en) 2017-11-07
KR20160111443A (ko) 2016-09-26
TWI639324B (zh) 2018-10-21
EP3120306A1 (en) 2017-01-25

Similar Documents

Publication Publication Date Title
KR101894226B1 (ko) Ip 어드레스에 대응하는 위치를 결정하기 위한 방법, 장치, 및 시스템
JP6307176B2 (ja) 端末のロケーションを決定するための方法、装置およびシステム
US20200356572A1 (en) Search ranking method and apparatus, electronic device and storage medium
WO2018196546A1 (zh) 一种确定应用账号的方法及设备
US9197595B1 (en) Evaluating IP-location mapping data
US10346496B2 (en) Information category obtaining method and apparatus
US10664481B2 (en) Computer system programmed to identify common subsequences in logs
WO2019191875A1 (en) Processor systems to estimate audience sizes and impression counts for different frequency intervals
CN113765873B (zh) 用于检测异常访问流量的方法和装置
KR102141083B1 (ko) 데이터베이스 시스템의 최적화 방법, 시스템, 전자장치 및 저장매체
WO2017156994A1 (zh) 多媒体资源的质量评估方法和装置
CN111523031A (zh) 用于推荐兴趣点的方法和装置
US9842334B1 (en) Identifying risky transactions
CN112328688A (zh) 数据存储方法、装置、计算机设备及存储介质
CN111061588A (zh) 一种定位数据库异常来源的方法及装置
CN113849702A (zh) 一种确定目标数据的方法、装置、电子设备及存储介质
CN109886300A (zh) 一种用户聚类方法、装置及设备
US9917846B1 (en) Method of defining the user&#39;s geographic areas for risk assessment purposes in mobile channels
US20170346889A1 (en) Co-locating application instances
CN114466214B (zh) 直播间人数统计方法及装置
EP3433817B1 (en) Reliability metrics for real-time auctions
CN105653645B (zh) 网络信息关注度评估方法及装置
CN112261484B (zh) 一种目标用户识别方法、装置、电子设备和存储介质
KR102570399B1 (ko) 장소 추천 방법 및 장치
JP6998022B1 (ja) プログラム、情報処理装置、方法、及び情報処理システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant