KR101782810B1 - 단말의 위치를 결정하기 위한 방법, 장치 및 시스템 - Google Patents

단말의 위치를 결정하기 위한 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR101782810B1
KR101782810B1 KR1020167028157A KR20167028157A KR101782810B1 KR 101782810 B1 KR101782810 B1 KR 101782810B1 KR 1020167028157 A KR1020167028157 A KR 1020167028157A KR 20167028157 A KR20167028157 A KR 20167028157A KR 101782810 B1 KR101782810 B1 KR 101782810B1
Authority
KR
South Korea
Prior art keywords
address
latitude
mac address
longitude
mac
Prior art date
Application number
KR1020167028157A
Other languages
English (en)
Other versions
KR20160132443A (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 KR20160132443A publication Critical patent/KR20160132443A/ko
Application granted granted Critical
Publication of KR101782810B1 publication Critical patent/KR101782810B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0261Targeted advertisements based on user location
    • H04L61/609
    • H04L67/18
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • 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/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

본 출원의 실시예들은 단말의 위치를 결정하기 위한 방법, 장치 및 시스템에 관한 것이다. 상기 방법은 네트워크에 액세스하기 위해 단말에 의해 이용된 네트워크 장비의 미디어 액세스 제어(MAC; Media Access Control) 어드레스를 획득하는 단계, 각각의 MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 획득된 MAC 어드레스를 포함하는지를 결정하는 단계, 각각의 MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 획득된 MAC 어드레스를 포함하는 경우에, 단말의 현재 위치가 데이터베이스에 저장되는 획득된 MAC 어드레스와 연관된 위치에 대응한다고 결정하는 단계, 및 단말의 현재 위치를 출력하는 단계를 포함한다.

Description

단말의 위치를 결정하기 위한 방법, 장치 및 시스템{METHOD, APPARATUS, AND SYSTEM FOR DETERMINING A LOCATION OF A TERMINAL}
다른 출원들에 대한 교차 참조
이 출원은, 발명의 명칭이 "단말의 위치를 결정하기 위한 방법 및 디바이스(A METHOD AND A DEVICE FOR DETERMINING THE LOCATION OF A TERMINAL)"이고 2014년 5월 12일에 출원되고 모든 목적들을 위해 본원에 참조로서 포함되는 중화 인민 공화국 특허 출원 제201410199350.5호에 대한 우선권을 주장한다.
본 발명은 인터넷 기술의 분야에 관한 것이다. 특히, 본 발명은 단말의 위치를 결정하기 위한 방법, 디바이스 및 시스템에 관한 것이다.
현재, 많은 단말들(예를 들면, 데스크탑 컴퓨터들, 노트북 컴퓨터들 등)은 통상적으로 글로벌 포지셔닝 시스템(GPS; Global Positioning System) 위치확인 모듈을 내부에 포함하거나 그것에 접속하지 않는다. 따라서, 위치확인 기능(예를 들면, GPS 모듈)이 결여된 이러한 단말들의 위치 정보를 결정하는 것이 어렵다.
일부 관련 기술에 따라, 단말과 관련하여 제공되는 일부 애플리케이션들은 단말의 위치 정보의 이용을 포함한다. 결과적으로, 이러한 애플리케이션들은 사용자 지리적 위치 정보(예를 들면, 단말의 위치)를 획득하는 것을 포함한다. 위치 정보를 이용하는 애플리케이션의 일례는 광고 정보(promotional information)의 디스플레이를 포함한다. 사용자에 대한 위치 정보가 획득될 수 있는 경우에, 사용자의 주변 지역과 연관된 광고 정보가 애플리케이션(예를 들면, 사용자에 의해 브라우징되는 웹사이트 상에)과 관련하여 디스플레이될 수 있다. 광고 정보는 사용자의 위치에 가까운 영화관들, 레스토랑들, 쇼핑 장소들 등에 관한 정보를 포함할 수 있다. 애플리케이션이 사용자의 위치에 따라 구성될 수 있는 광고 정보를 디스플레이하기 때문에, 이러한 단말들을 이용한 온라인 사용자들의 위치 정보가 정확할수록 광고 정보의 디스플레이를 더욱 정확하게 할 것이고 이러한 단말들 상에서의 사용자 경험을 개선할 수 있다.
다른 예로서, 많은 사용자들이 PC 단말들 및 모바일 단말들을 동시에 이용한다. 예를 들면, 웨이보(Weibo) 및 웨이신(Weixin)과 같은 애플리케이션들은 클라이언트 버전들 및 PC 단말 웹 페이지 버전들을 가진다. 사용자가 PC 단말을 이용하여 애플리케이션에 액세스할 때의 위치 정보 및 사용자가 셀 폰 단말을 이용하여 애플리케이션에 액세스할 때의 위치 정보의 수집은 PC 단말의 위치 정보와 셀 폰 단말의 위치 정보 간의 비교(예를 들면, 두 지리적 위치들 사이의 거리)에 기초하여 사용자 계정이 손상될 위험에 있는지를 결정하는 것과 같이 보안용으로 이용될 수 있다.
일부 관련 기술에 따라, 단말의 위치는 오퍼레이터에 의해 제공되는 IP 뱅크(예를 들면, IP 어드레스 데이터베이스)로부터의 정보를 이용하여 결정될 수 있다. 예를 들면, IP 뱅크들은 지리적 위치를 특정 IP 어드레스(또는 IP 어드레스들의 범위)에 매핑하는 상업적으로 이용 가능한 데이터베이스들이다. IP 어드레스에 대한 지리적 위치 정보는 이러한 단말의 IP 어드레스를 이용하여 조회된다(예를 들면, 룩업된다). 그러나, 오퍼레이터들에 의해 제공되는 IP 뱅크들은 IP 어드레스에 대응하는 넓은 지리적 위치를 제공할 뿐이다(예를 들면, IP 뱅크들에 의해 제공되는 지리적 위치는 IP 어드레스에 대응하는 지리적 위치로서 도시를 식별할 뿐이다). 따라서, IP 뱅크들에 의해 제공되는 지리적 위치 정보는 부정확하다. 예를 들면, 항저우, 베이징 및 기타 대도시들에서, IP 뱅크로부터의 정보를 이용하여 단말의 정확한 위치확인을 제공하는 것은 일반적으로 가능하지 않다.
따라서, 단말의 위치를 결정하기 위한 더욱 양호한 방법들이 필요하다.
본 출원의 실시예들은 단말의 위치를 결정하기 위한 방법, 장치 및 시스템에 관한 것이다. 상기 방법은 네트워크에 액세스하기 위해 단말에 의해 이용된 네트워크 장비의 미디어 액세스 제어(MAC; Media Access Control) 어드레스를 획득하는 단계, 각각의 MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 획득된 MAC 어드레스를 포함하는지를 결정하는 단계, 각각의 MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 획득된 MAC 어드레스를 포함하는 경우에, 단말의 현재 위치가 데이터베이스에 저장되는 획득된 MAC 어드레스와 연관된 위치에 대응한다고 결정하는 단계, 및 단말의 현재 위치를 출력하는 단계를 포함한다.
본 발명의 다양한 실시예들은 다음의 상세한 기술 및 첨부 도면들에 개시된다.
본 명세서에 기술된 도면들은 본 출원의 이해를 촉진하고 이 출원의 일부를 형성하기 위한 것이다. 본 출원의 예시적 실시예들 및 그 설명들은 이 출원을 설명하기 위한 것이고 본 출원의 부적절한 제한을 의미하지 않는다.
도 1은 본 출원의 다양한 실시예들에 따라 단말 위치를 결정하기 위한 방법의 흐름도.
도 2는 본 출원의 다양한 실시예들에 따라 미디어 액세스 제어(MAC; Media Access Control) 어드레스들과 연관된 위치들을 나타내는 데이터베이스를 사전-구성하는 흐름도.
도 3은 본 출원의 다양한 실시예들에 따라 각각의 MAC 어드레스에 대응하는 위도 및 경도를 결정하기 위한 기초로서 수집된 MAC 어드레스 및 대응하는 위치 정보를 이용하여 MAC 어드레스들과 연관된 위치들을 나타내는 기록(record)을 데이터베이스에 생성하는 흐름도.
도 4는 본 출원의 다양한 실시예들에 따라 MAC 어드레스에 대응하는 위도 및 경도를 결정하기 위한 흐름도.
도 5는 본 출원의 다양한 실시예들에 따라 인터넷 프로토콜(IP; Internet Protocol) 어드레스들과 연관된 위치들을 나타내는 데이터베이스를 사전-구성하는 흐름도.
도 6은 본 출원의 다양한 실시예들에 따라 IP 어드레스에 대응하는 위도 및 경도를 결정하는 흐름도.
도 7은 본 출원의 다양한 실시예들에 따라 IP 어드레스에 대응하는 위도 및 경도를 결정하는 흐름도.
도 8은 본 출원의 다양한 실시예들에 따라 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 각각의 조각의 가중치를 결정하는 흐름도.
도 9는 본 출원의 다양한 실시예들에 따라 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스를 미리 결정된 간격들에서 업데이트하는 흐름도.
도 10은 본 출원의 다양한 실시예들에 따라 단말 위치를 결정하기 위한 디바이스의 도면.
도 11은 본 출원의 다양한 실시예들에 따라 단말 위치를 결정하기 위한 시스템의 구성 블록도.
도 12는 본 출원의 다양한 실시예들에 따라 단말의 위치를 결정하기 위한 컴퓨터 시스템의 기능도.
본 발명은, 프로세스; 장치; 시스템; 조성물(composition of matter); 컴퓨터 판독 가능한 저장 매체 상에서 구현되는 컴퓨터 프로그램 제품; 및/또는 처리기, 예를 들면 처리기에 결합된 메모리 상에 저장되고 및/또는 이에 의해 제공되는 지시들을 실행하도록 구성되는 처리기를 포함하여, 다양한 방식들로 구현될 수 있다. 이 명세서에서, 이들 구현들, 또는 본 발명이 취할 수 있는 임의의 다른 형태는 기술들(techniques)로 칭해질 수 있다. 일반적으로, 개시된 프로세스들의 단계들의 순서는 본 발명의 범위 내에서 변경될 수 있다. 달리 언급되지 않으면, 작업을 수행하도록 구성되는 것으로 기술된 처리기 또는 메모리와 같은 구성요소는 주어진 시간에 작업을 수행하도록 일시적으로 구성되는 일반 구성요소 또는 작업을 수행하도록 제작되는 특정 구성요소로서 구현될 수 있다. 본 명세서에서 이용된 바와 같이, 용어 '처리기(processor)'는 하나 이상의 디바이스들, 회로들 및/또는, 컴퓨터 프로그램 지시들과 같은 데이터를 처리하도록 구성된 프로세싱 코어들을 의미한다.
본 발명의 하나 이상의 실시예들의 상세한 기술은 본 발명의 원리들을 예시하는 첨부 도면들과 함께 하기에 제공된다. 본 발명은 이러한 실시예들에 관련하여 기술되지만, 본 발명은 어떠한 실시예에도 제한되지 않는다. 본 발명의 범위는 특허 청구 범위들에 의해서만 제한되고 본 발명은 다수의 대안들, 수정들 및 등가물들을 포함한다. 다수의 특정 세부 사항들은 본 발명의 완전한 이해를 제공하기 위해 다음의 설명에서 기재된다. 이러한 세부 사항들은 예시의 목적으로 제공되고 본 발명은 이들 특정 세부 사항들의 일부 또는 전부 없이 특허 청구 범위들에 따라 실시될 수 있다. 명확성을 위하여, 본 발명이 불필요하게 모호하지 않도록 본 발명에 관련된 기술 분야들에 알려진 기술 자료는 상세히 기술되지 않았다.
본 개시내용의 다양한 실시예들은 디바이스(예를 들면, 단말)의 위치(예를 들면, 지리적 위치)를 결정하기 위한 방법, 장치 및 시스템을 포함한다. 다양한 실시예들에 따라, 하나 이상의 미디어 액세스 제어(MAC) 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 구성될 수 있다. 다양한 실시예들에 따라, 하나 이상의 인터넷 프로토콜(IP) 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 구성될 수 있다. 다양한 실시예들에 따라, 단말이 네트워크(예를 들면, 인터넷)에 접속하는 경우에, 단말의 위치는 단말의 MAC 어드레스 또는 IP 어드레스와 연관된 위치를 나타내는 데이터베이스를 이용함으로써(예를 들면, 조회함으로써) 결정될 수 있다.
본 출원의 기술적 솔루션들은 본 출원의 특정 실시예들 및 대응하는 도면들에 비추어 하기에 분명하고 완전하게 기술된다. 기술된 실시예들은 본 출원의 실시예들의 일부일 뿐, 모든 실시예들이 아니다. 당업자들에 의해 본 출원의 실시예들에 기초하여 얻어진 모든 다른 실시예들은 이들을 얻는 과정에서 독창적 노력이 이루어지지 않는 한 본 출원의 보호 범위 내에 포함된다.
단말은 일반적으로, 네트워크 시스템 내에서 이용되고(예를 들면, 사용자에 의해) 하나 이상의 서버들과 통신하기 위해 이용되는 디바이스를 의미한다. 본 개시내용의 다양한 실시예들에 따라, 단말은 통신 기능을 포함할 수 있다. 예를 들면, 단말은 스마트 폰, 태블릿 개인용 컴퓨터(PC), 모바일 폰, 비디오 폰, 전자책 리더, 데스크탑 PC, 랩탑 PC, 넷북 PC, 개인 휴대 정보 단말기(PDA; Personal Digital Assistant), 휴대용 멀티미디어 플레이어(PMP; Portable Multimedia Player), mp3 플레이어, 모바일 의료 디바이스, 카메라, 착용형 디바이스(예를 들면, 헤드-마운티드 디바이스(HMD; Head-Mounted Device) 전자 의류, 전자 브레이스들(electronic braces), 전자 목걸이, 전자 액세서리, 전자 문신 또는 스마트 워치) 등 일 수 있다.
본 개시내용의 일부 실시예들에 따라, 단말은 통신 기능을 갖춘 스마트 가전 제품을 포함한다. 스마트 가전 제품은 예를 들면, 텔레비전, 디지털 비디오 디스크(DVD: Digital Video Disk) 플레이어, 오디오 디바이스, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 건조기, 공기 청정기, 셋-톱 박스, TV 박스(예를 들면, 삼성 HomeSync™ 애플 TV™ 또는 구글 TV™), 게임 콘솔, 전자 사전, 전자 키, 캠코더, 전자 액자 등 일 수 있다.
본 개시내용의 다양한 실시예들에 따라, 단말은 상술한 디바이스들의 임의의 조합일 수 있다. 또한, 당업자에게는 본 개시내용의 다양한 실시예들에 따른 단말이 상술한 디바이스들에 제한되지 않는다는 것이 명백할 것이다.
도 1은 본 출원의 다양한 실시예들에 따라 단말 위치를 결정하기 위한 방법의 흐름도이다 .
도 1을 참조하면, 단말의 위치를 결정하기 위한 방법(100)이 제공된다. 일부 실시예들에서, 방법(100)은 도 10의 디바이스(1000)에 의해 구현된다. 일부 실시예들에서, 방법(100)은 도 11의 시스템(1100)에 의해 구현된다.
단계(110)에서, 단말의 MAC 어드레스가 획득된다. 일부 실시예들에서, 단말의 MAC 어드레스는 단말이 인터넷 등과 같은 네트워크에 접속하는 경우에 획득된다. 예를 들면, 서버(예를 들면, 네트워크에 접속되고 호스팅 또는 기타 기능들을 수행하도록 구성되고, 웹 사이트, 웹 서비스 등과 연관되는 디바이스)는 단말로부터 메시지를 수신할 수 있다. 메시지는 액세스 요청 등일 수 있다. 메시지는 단말의 MAC 어드레스를 포함할 수 있다. 메시지는 GET 메시지, POST 메시지 또는 임의의 다른 적절한 포맷의 메시지와 같은 HTTP 메시지 일 수 있다. 일부 실시예들에서, 서버는 단말로부터 수신되는 메시지의 헤더 또는 페이로드로부터 MAC 어드레스를 추출한다. MAC 어드레스는 단말과 연관되는 물리적 어드레스 또는 하드웨어 어드레스일 수 있다. MAC 어드레스는 전역적으로 고유할 수 있다.
단말은 무선 신호 송수신기 장비에 의해 전송되는 무신 네트워크 신호들을 수신함으로써 네트워크(예를 들면, 인터넷)에 접속할 수 있다. 무선 신호 송수신기 장비는 무선 신호 송수신기 장비의 신호 커버리지 범위 내에 있는 장비에 무선 네트워크 신호들을 제공하기 위해 유선 네트워크 신호들을 무선 네트워크 신호들로 변환하도록 구성된 장비에 대응할 수 있다. 무선 신호 송수신기 장비의 신호 커버리지 범위 내에 있는 장비(예를 들면, 단말)는 무선 네트워크 신호들을 수신함으로써 인터넷에 무선으로 접속할 수 있다. 무선 라우터가 무신 신호 송수신기 장비의 일례이며 이것은 유선 네트워크 신호들을 WiFi 신호들로 변환한다. 무선 신호 송수신기 장비의 신호 커버리지 범위 내에 있는 무선 네트워크 장비(예를 들면, WiFi-지원 노트북 컴퓨터들, 셀 폰들 및 태블릿 컴퓨터들)는 무선 신호 송수신기 장비에 의해 전송되는 WiFi 신호들을 수신함으로써 인터넷에 액세스할 수 있다.
단계(120)에서, 데이터베이스가 단말의 MAC 어드레스를 포함하는지의 결정이 이루어진다. 일부 실시예들에서, 서버(예를 들면, MAC 어드레스를 획득하는 서버)는 데이터베이스가 MAC 어드레스를 포함하는지를 결정한다. 데이터베이스는 MAC 어드레스와 연관된 위치(예를 들면, 지리적 위치)의 매핑을 저장하는 데이터베이스일 수 있다. 예를 들면, 데이터베이스는 특정 MAC 어드레스와 연관된 위치의 매핑에 각각 관련되는 복수의 기록들을 저장한다. 위치는 위도 및 경도와 연관된 정보를 포함할 수 있다. 예를 들면, 위치는 위치에 대응하는 위도 좌표 및 경도 좌표를 나타내는 정보를 포함할 수 있다.
서버는 데이터베이스에 조회함으로써 데이터베이스가 MAC 어드레스를 포함하는지를 결정할 수 있다. 예를 들면, 서버는 MAC 어드레스와 연관된 위치 정보에 대한 데이터베이스의 조회에 관련하여 수신되는 응답에 적어도 부분적으로 기초하여 데이터베이스가 MAC 어드레스를 포함하는지를 결정할 수 있다. MAC 어드레스와 연관된 위치 정보에 대한 데이터베이스의 조회에 대한 응답이 무응답인 경우에(예를 들면, 기록이 존재하지 않거나, 또는 위치 정보가 존재하지 않는다는 응답이 나타나는 경우에), 서버는 데이터베이스가 MAC 어드레스를 포함하지 않는다고 결정할 수 있다.
일부 실시예들에서, 데이터베이스는 (예를 들면, 제 3 자에 의해 제공되는) 상업적으로 이용 가능한 서비스일 수 있다. 데이터베이스가 MAC 어드레스를 포함하지 않는 경우(예를 들면, 데이터베이스가 MAC 어드레스와 연관된 위치 정보를 포함하는 기록을 저장하지 않는 경우)에 데이터베이스는 MAC 어드레스와 연관되는 단말에 대응하는 위치 정보를 포함하도록 수동으로 또는 자동으로 구성될 수 있다.
일부 실시예들에서, MAC 어드레스와 연관된 위치 정보는 MAC 어드레스에 대응하는 단말의 위치를 결정하기 위해 이용될 수 있다. 예를 들면, 위치 정보는 MAC 어드레스에 대응하는 단말의 위도 및 경도를 결정하기 위해 이용될 수 있다.
데이터베이스가 MAC 어드레스(예를 들면, MAC 어드레스와 연관된 위치 정보)를 포함한다고 결정하는 경우에, 단계(130)에서, 단말의 위치가 반환될 수 있다. 일부 실시예들에서, 위치는 서버에 반환될 수 있다. 일부 실시예들에서, 서버는 획득된 MAC 어드레스와 연관된 정보에 대한 데이터베이스의 조회에 응답하여 서버에 제공되는 정보에 기초하여 위치를 결정할 수 있다. 서버는 MAC 어드레스와 연관된 위치 정보를 이용하여 컨텍스트-기반 컨텐트(예를 들면, 뉴스, 날씨, 광고들 등 또는 이들의 임의의 조합)를 MAC 어드레스에 대응하는 단말에 제공할 수 있다.
그에 반해, 데이터베이스가 MAC 어드레스를 포함하지 않는다고(예를 들면, 데이터베이스가 MAC 어드레스와 연관된 위치 정보를 저장하지 않는다고) 결정하는 경우에, 단계(140)에서, 단말의 IP 어드레스가 획득된다. 일부 실시예들에서, 단말의 IP 어드레스는 단말이 인터넷 또는 사설 네트워크와 같은 네트워크에 접속하는 경우에 획득된다. 예를 들면, 서버는 단말로부터 메시지를 수신할 수 있다. 메시지는 액세스 요청 등일 수 있다. 메시지는 단말의 IP 어드레스를 헤더 또는 페이로드에 포함할 수 있다. 메시지는 GET 메시지, POST 메시지 또는 임의의 다른 적절한 포맷의 메시지와 같은 HTTP 메시지일 수 있다. 일부 실시예들에서, 서버는 단말로부터 수신되는 메시지의 헤더 또는 페이로드로부터 IP 어드레스를 추출한다. IP 어드레스는 전역적으로 고유할 수 있다.
단계(150)에서, 데이터베이스가 단말의 IP 어드레스를 포함하는지의 결정이 이루어진다. 일부 실시예들에서, 서버(예를 들면, IP 어드레스를 획득하는 서버)는 데이터베이스가 IP 어드레스를 포함하는지를 결정한다. 데이터베이스는 IP 어드레스와 연관된 위치(예를 들면, 지리적 위치)의 매핑을 저장하는 데이터베이스일 수 있다. 예를 들면, 데이터베이스(예를 들면, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스)는 특정 IP 어드레스와 연관된 위치의 매핑에 각각 관련되는 복수의 기록들을 저장한다. 위치는 위도 및 경도와 연관된 정보를 포함할 수 있다. 예를 들면, 위치는 위치에 대응하는 위도 좌표 및 경도 좌표를 나타내는 정보를 포함할 수 있다.
서버는 데이터베이스에 조회함으로써 데이터베이스가 IP 어드레스를 포함하는지를 결정할 수 있다. 예를 들면, 서버는 IP 어드레스와 연관된 위치 정보에 대한 데이터베이스의 조회에 관련하여 수신되는 응답에 적어도 부분적으로 기초하여 데이터베이스가 IP 어드레스를 포함하는지를 결정할 수 있다. IP 어드레스와 연관된 위치 정보에 대한 데이터베이스의 조회에 대한 응답이 무응답인 경우(예를 들면, 기록이 존재하지 않거나, 또는 위치 정보가 존재하지 않는다는 응답이 나타나는 경우)에, 서버는 데이터베이스가 IP 어드레스를 포함하지 않는다고 결정할 수 있다.
일부 실시예들에서, 데이터베이스는 (예를 들면, 제 3 자에 의해 제공되는) 상업적으로 이용 가능한 서비스일 수 있다. 데이터베이스가 IP 어드레스를 포함하지 않는 경우(예를 들면, 데이터베이스가 IP 어드레스와 연관된 위치 정보를 포함하는 기록을 저장하지 않는 경우)에 데이터베이스는 IP 어드레스와 연관되는 단말에 대응하는 위치 정보를 포함하도록 수동으로 또는 자동으로 구성될 수 있다.
일부 실시예들에서, IP 어드레스와 연관된 위치 정보는 IP 어드레스에 대응하는 단말의 위치를 결정하기 위해 이용될 수 있다. 예를 들면, 위치 정보는 IP 어드레스에 대응하는 단말의 위도 및 경도를 결정하기 위해 이용될 수 있다.
데이터베이스가 IP 어드레스(예를 들면, IP 어드레스와 연관된 위치 정보)를 포함한다고 결정하는 경우에, 단계(160)에서, 단말의 위치가 반환될 수 있다. 일부 실시예들에서, 위치는 서버에 반환될 수 있다. 일부 실시예들에서, 서버는 획득된 IP 어드레스와 연관된 정보에 대한 데이터베이스의 조회에 응답하여 서버에 제공되는 정보에 기초하여 위치를 결정할 수 있다. 서버는 IP 어드레스와 연관된 위치 정보를 이용하여 컨텍스트-기반 컨텐트(예를 들면, 뉴스, 날씨, 광고들 등 또는 이들의 임의의 조합)를 IP 어드레스에 대응하는 단말에 제공할 수 있다.
도 2는 본 출원의 다양한 실시예들에 따라 MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스를 사전-구성하는 흐름도이다.
도 2를 참조하면, MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스를 구성하기 위한 방법(200)이 제공된다. 일부 실시예들에서, 방법(200)은 도 10의 디바이스(1000)에 의해 구현된다. 일부 실시예들에서, 방법(200)은 도 11의 시스템(1100)에 의해 구현된다.
단계(210)에서, 디바이스의 MAC 어드레스 및 디바이스의 위치 정보(예를 들면, MAC 어드레스에 대응하는 위치 정보)가 획득된다. 일부 실시예들에서, 서버는 MAC 어드레스 및 MAC 어드레스에 대응하는 위치 정보를 획득한다(예를 들면, 수집한다). 서버는 네트워크 액세스 이벤트와 관련하여 MAC 어드레스 및 MAC 어드레스의 위치 정보를 획득할 수 있다. 예를 들면, 네트워크 액세스 이벤트는 인터넷에 액세스하고, 웹 페이지에 브라우징하고, 네트워크 디바이스와 통신하는 등의 단말일 수 있다. 예로서, MAC 어드레스들은 단말이 통신하는 무선 신호 송수신기 장비(예를 들면, 무선 라우터들, 무선 스위치들 등)의 MAC 어드레스들에 대응할 수 있고, 지정된 필드의 메시지의 헤더 또는 페이로드에 첨부될 수 있다. 위치 정보는 위도 정보(예를 들면, 위도 좌표) 및 경도 정보(예를 들면, 경도 좌표)를 포함할 수 있고, 패킷 헤더 또는 페이로드에 포함될 수 있다. 일부 실시예들에서, 무선 신호들(예를 들면, WiFi 신호들)을 이용하여 무선 신호 송수신기 장비를 통해 인터넷에 접속하는 단말의 위치 정보가 MAC 어드레스의 위치를 결정하기 위해 이용될 수 있다.
일부 실시예들에서, 모바일 디바이스가 무선 신호 송수신기 장비에 의해 전송되는 무선 네트워크 신호들(예를 들면, WiFi 신호들이지만 이에 제한되지 않음)을 통해(예를 들면, 이용하여) 인터넷에 접속하는 경우에, 무선 네트워크 신호들을 전송하는 무선 신호 송수신기 장비의 MAC 어드레스가 획득될 수 있다. 예를 들면, 모바일 디바이스가 인터넷에 액세스하는 경우에, 모바일 디바이스는 패킷을 네트워크 장비에 전송하며, 이것은 MAC 어드레스를 패킷 헤더 또는 페이로드에 첨부한 다음에 패킷을 목적지에 전송한다. 따라서, 모바일 디바이스가 인터넷에 액세스하기 위해 이용하는 무선 신호 송수신 디바이스(예를 들면, 네트워크 장비)의 MAC 어드레스는, 패킷이 목적지 서버에 도달할 때와 같이, 무선 신호 송수신 디바이스로부터 다운 스트림에 있는 패킷 헤더 또는 페이로드를 분석함으로써 획득된다.
일부 실시예들에서, 모바일 디바이스가 인터넷에 액세스하기 위해 이용하는 네트워크 디바이스의 위치가 사전-구성된다. 예를 들면, 네트워크 디바이스가 고정된 위치를 가질 가능성이 있기 때문에, 위치 정보는 네트워크 디바이스의 설치시에 구성될 수 있고(예를 들면, 네트워크 디바이스 상의 GPS 기능을 호출하여 획득되거나 수동으로 입력될 수 있고) 구성 파일 등에 저장될 수 있다. 위치 정보는 단말이 네트워크 디바이스를 통해 인터넷에 액세스할 때 제공된다(예를 들면, 패킷 헤더 또는 페이로드에 포함된다).
단말이 글로벌 포지셔닝 시스템(GPS) 위치확인 기능을 가지는 경우에, 단말이 무선 신호 송수신기 장비를 이용하여 인터넷에 액세스할 때(예를 들면, 단말이 온라인 상태일 때)의 단말의 위치 정보(예를 들면, 위도 정보 및 경도 정보)가 획득될 수 있고 무선 송수신기의 MAC 어드레스에 대응하는 위치 정보의 역할을 한다.
일부 실시예들에서, MAC 어드레스 및 MAC 어드레스와 연관된 위치 정보를 획득하기 위해 모바일 단말 상에 설치된 다양한 애플리케이션들(예를 들면, 클라이언트 애플리케이션들)이 이용될 수 있다. 예를 들면, 모바일 단말 상에 설치된 애플리케이션은 모바일 단말과 네트워크 디바이스(예를 들면, 무선 신호 송수신기 장비와 같은 네트워크 장비) 사이의 통신에 관련하여 대량의 로그 정보를 수집할 수 있다. 모바일 단말이 네트워크 디바이스로부터의 응답들을 수신할 때 네트워크 디바이스의 MAC 어드레스 및 그에 대응하는 위치 정보를 획득하기 위해 로그 정보가 수집될 수 있다. 예를 들면, MAC 어드레스 및/또는 MAC 어드레스의 위치 정보를 포함하는 로그 정보를 생성하기 위해 헤더 정보 및/또는 페이로드 정보가 네트워크 디바이스에 의해 전송되는 응답들로부터 추출될 수 있다.
일부 실시예들에서, 모바일 단말 상의 무선 신호 수신기(예를 들면, WiFi 수신기)는 무선 신호 송수신기 장비 정보(예를 들면, MAC 어드레스, IP 어드레스 등, 또는 이들의 임의의 조합) 및 도시의 다양한 위치들로부터 전송되는 무선 네트워크 신호들(예를 들면, 모바일 디바이스와 네트워크 디바이스 사이에 통신되는 무선 네트워크 신호들)의 위치 정보를 수신하고 기록한다.
일부 실시예들에서, 디바이스(예를 들면, 모바일 디바이스, 네트워크 디바이스 등, 또는 이들의 임의의 조합)의 MAC 어드레스들 및 대응하는 위치 정보는 현재 시간(예를 들면, 단말의 위치가 위치-기반 서비스에 관련하여 데이터베이스를 이용하여 결정되는 시간) 이전의 시간의 미리 결정된 수집 기간 내에서 수집될 수 있다. MAC 어드레스들 및 대응하는 위치 정보는 현재 시간 이전의 시간의 미리 결정된 수집 기간 내에서 발생한 네트워크 통신들에 관련하여 수집될 수 있다. 예를 들면, 무선 신호 송수신기 장비의 MAC 어드레스는 단말이 인터넷과 같은 네트워크에 액세스했을 때 수집될 수 있다. 단말이 무선 신호 송수신기 장비를 통해 인터넷에 액세스했을 때의 단말의 위치 정보가 수집된다. 일부 실시예들에서, 단말은 단말이 인터넷에 액세스할 때 단말의 위치를 결정하기 위해 호출될 수 있는 위치확인 기능(예를 들면, GPS 기능)을 갖춘다. 단말은 단말이 인터넷에 액세스하여 패킷의 헤더 또는 페이로드에 있는 MAC 어드레스를 서버에 첨부할 때 MAC 어드레스와 연관된 위치 정보를 통신할 수 있다.
무선 신호 송수신기 장비에 의해 전송되는 무선 네트워크 신호들이 특정 효과적인 커버리지 범위(예를 들면, 일반적으로 50미터 내에 있는)를 가지기 때문에, 무선 신호 송수신기 장비의 각각의 조각은 위치확인 기능을 구현하는 상이한 단말들로부터 위도 정보 및 경도 정보의 하나 이상의 조각들을 수집할 것이다. 예를 들면, 각각이 위치확인 기능을 각각 구현하는 복수의 단말들은 네트워크 디바이스를 이용하여 인터넷에 액세스할 수 있다. 복수의 단말들 중 적어도 두 개가 상이한 위치들을 가지는 경우, 네트워크 디바이스의 MAC 어드레스와 관련하여 이용된(예를 들면, 수집된) 위치 정보는 상이할 것이다. 예를 들면, 네트워크 디바이스를 이용하여 인터넷에 액세스하는 단말들의 상이한 위치들로 인해 네트워크 디바이스와 연관된 위치 정보가 상이할 수 있다. 장비 신호들의 효과적인 커버리지 범위 내의 상이한 위치들에서, 상이한 단말들은 장비에 의해 전송되는 무선 네트워크 신호들을 이용하여 인터넷에 액세스한다. 다른 예로서, 동일 단말이 무선 신호 송수신기 장비에 의해 전송되는 무선 네트워크 신호들을 이용하여 무선 신호 송수신기 장비의 신호들의 효과적인 커버리지 범위 내의 상이한 위치들에서 상이한 시간에 인터넷에 액세스할 수 있다(예를 들면, 네트워크 디바이스와 통신할 수 있다). 따라서, 일부 실시예들에서, 각각의 MAC 어드레스에 대응하는 위치 정보는 위도 정보 및 경도 정보의 하나 이상의 조각들(예를 들면, 기록들)을 포함한다. 위도 정보 및 경도 정보의 하나 이상의 조각들의 각각은 (ⅰ) 단말이 무선 신호 송수신기 장비에 의해 제공되는 무선 네트워크 신호들을 이용하여 인터넷에 액세스했을 때 상이한 단말의 위치에 대한 위도 정보 및 경도 정보, 또는 (ⅱ) 특정 단말이 무선 신호 송수신기 장비에 의해 제공되는 무선 네트워크 신호들을 이용하여 인터넷에 액세스한 상이한 시간들에서의 특정 단말의 위치에 대한 위도 정보 및 경도 정보에 대응한다.
단계(220)에서, 데이터베이스는 MAC 어드레스 및 위치 정보로 업데이트된다. 일부 실시예들에서, MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스는 획득된 MAC 어드레스 및 위치 정보를 저장하도록 구성된다. 예를 들면, 데이터베이스는 획득된 위치 정보의 획득된 MAC 어드레스에의 매핑을 저장하도록 구성될 수 있다. 서버는 MAC 어드레스 및 위치 정보로 데이터베이스를 구성할 수 있다. 패킷이 수신되는 경우, 패킷은 MAC 어드레스 및 신호 세기를 포함할 수 있다. 모바일 단말의 위치가 위치확인 모듈에 의해 결정될 수 있다. 서버는, MAC 어드레스 및 MAC 어드레스에 대응하는 위치 정보 등, 또는 임의의 이들의 조합을 수신하는 것에 응답하여, MAC 어드레스 및 위치 정보로 데이터베이스를 미리 결정된 시간에(예를 들면, 미리 결정된 시간 간격들로) 구성할 수 있거나 업데이트할 수 있다.
수집된 MAC 어드레스 및 대응하는 위치 정보는 MAC 어드레스들 및 위치들의 데이터베이스에 저장된 MAC 어드레스들과 대응하는 위치들 사이의 관계를 얻기 위해 각각의 MAC 어드레스에 대응하는 위도 및 경도를 결정하기 위한 기초로서 이용될 수 있다.
도 3은 본 개시내용의 다양한 실시예들에 따라 각각의 MAC 어드레스에 대응한 위도 및 경도를 결정하기 위한 기초로서 수집된 MAC 어드레스 및 대응하는 위치 정보를 이용하여 MAC 어드레스들과 연관된 위치들을 나타내는 기록을 데이터베이스에 생성하는 흐름도이다.
도 3을 참조하면, 수집된 MAC 어드레스 및 대응하는 위치 정보를 이용하여 MAC 어드레스들과 연관된 위치들을 나타내는 기록을 데이터베이스에 생성하기 위한 방법(300)이 제공된다. 일부 실시예들에서, 프로세스(300)가 도 10의 디바이스(1000)에 의해 구현된다. 일부 실시예들에서, 프로세스(300)가 도 11의 시스템(1100)에 의해 구현된다. 일부 실시예들에서, 도 2의 단계(220)가 방법(300)에 의해 구현된다.
일부 실시예들에서, 각각의 MAC 어드레스에 대응한 위도 및 경도를 결정하기 위한 기초로서 각각의 수집된 MAC 어드레스 및 대응하는 위치 정보를 이용하는 단계는 단계들(305 내지 320)을 포함한다.
단계(305)에서, MAC 어드레스 및 연관된 위치 정보가 획득된다. 일부 실시예들에서, MAC 어드레스 및 위치 정보는 서버에서 수신되는 특별히 표시된 패킷의 헤더 및/또는 페이로드에 있는 특정 필드들로부터 획득된다. 일부 실시예들에서, 디바이스가 WiFi 네트워크에 접속되는 경우, 모바일 디바이스는 모바일 디바이스의 위치(예를 들면, 위치확인)를 결정할 수 있는 맵 애플리케이션을 실행할 수 있다. 모바일 폰은 WiFi 네트워크들과 연관된 MAC 어드레스를 검색할 수 있다(예를 들면, 라우터와 같이, WiFi 네트워크와의 통신 중에 수신되는 패킷을 이용하여). 맵 애플리케이션은 모바일 디바이스 상의 캐시에 MAC 어드레스 및 대응하는 위치 정보를 저장할 수 있다. 일부 실시예들에서, 모바일 디바이스는 데이터베이스(예를 들면, 로컬 데이터베이스, 서버에 의해 호스팅되는 원격 데이터베이스 등)를 업데이트할 수 있다. 예를 들면, 모바일 디바이스는 데이터베이스를 미리 정해진 시간 간격들에서 업데이트할 수 있다. 다른 예로서, 모바일 디바이스는 데이터베이스를 미리 정해진 이벤트들(예를 들면, 네트워크 또는 인터넷 액세스 이벤트들과 같이)에서 업데이트할 수 있다.
단계(310)에서, MAC 어드레스와 연관된 위치 정보가 처리된다. 일부 실시예들에서, 서버는 MAC 어드레스와 연관된 위치 정보를 처리한다. 일부 실시예들에서, 데이터베이스(예를 들면, 데이터베이스와 동작 가능하게 접속된 처리기)는 MAC 어드레스와 연관된 위치 정보를 처리한다. 각각의 수집된 MAC 어드레스에 대응하는 위치 정보는 각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들을 획득하기 위해 처리될 수 있다.
일부 실시예들에서, MAC 어드레스 위도 및 경도 데이터의 각각의 조각은 MAC 어드레스 및 MAC 어드레스에 대응하는 위도 및 경도(예를 들면, 위도 정보 및 경도 정보)를 포함한다. 위도 정보 및 경도 정보는 MAC 어드레스에 대응하는 네트워크 디바이스를 이용하여 네트워크에 액세스한 디바이스의 위치(예를 들면, 디바이스가 인터넷에 접속했을 때의 디바이스의 위치)의 위도 및 경도에 대응한다. 각각의 MAC 어드레스에 대응하는 위치 정보는 위도 정보 및 경도 정보의 하나 이상의 조각들을 포함할 수 있다. 위도 정보 및 경도 정보의 각각의 조각은 단말이 무선 신호 송수신기 장비에 의해 제공되는 무선 네트워크 신호들을 이용하여 네트워크에 액세스했을 때 상이한 단말의 위치에 대한 위도 정보 및 경도 정보, 또는 특정 단말이 무선 신호 송수신기 장비에 의해 제공되는 무선 네트워크 신호들을 이용하여 인터넷에 액세스한(예를 들면, 온라인 상태인) 상이한 시간들에서의 특정 단말의 위치에 대한 위도 정보 및 경도 정보에 대응한다.
각각의 MAC 어드레스의 위치 정보가 처리될 수 있다. 각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들이 획득될 수 있다. 각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들은 각각의 MAC 어드레스의 위치 정보의 처리에 기초하여 획득될 수 있다. 예를 들면, MAC 어드레스의 위치 정보에 있는 위도 및 경도 정보의 임의의 조각은 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 한 조각을 획득하기 위한 처리를 받는다. 일부 실시예들에서, 특정 MAC 어드레스에 대응하는 대표 위치는 특정 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들에 적어도 부분적으로 기초하여 결정된다. 일부 실시예들에서, 특정 MAC 어드레스에 대응하는 대표 위치는 특정 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들의 평균에 따라 결정될 수 있다. 일부 실시예들에서, 특정 MAC 어드레스에 대응하는 대표 위치는 특정 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들의 중간값에 따라 결정될 수 있다. 일부 실시예들에서, 특정 MAC 어드레스에 대응하는 대표 위치는 특정 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들 중 가장 빈번하게 발생하는 위치에 따라 결정될 수 있다. 일부 실시예들에서, 특정 MAC 어드레스에 대응하는 대표 위치는 특정 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들 중, 가장 최근에 기록된(예를 들면, 수집된) 위치, 또는 가장 최근의 인터넷 액세스 이벤트에 관련된 위치에 따라 결정될 수 있다.
일부 실시예들에서, 데이터(예를 들면, MAC 어드레스 정보 및 MAC 어드레스에 대응하는 위치 정보)의 포맷은 "[mac, lat, long]"이고, 여기서 "mac"은 MAC 어드레스를 나타내고, "lat"는 위도를 나타내고, "long"는 경도를 나타낸다. MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스는 이러한 포맷에 따라 기록을 저장할 수 있다.
일부 실시예들에서, MAC 어드레스 위도 및 경도 데이터의 각각의 조각은 MAC 어드레스 위도 및 경도 데이터의 특정 조각이 발생한 일수를 포함할 수 있다. MAC 어드레스 위도 및 경도 데이터의 특정 조각이 발생한 일수는 MAC 어드레스 위도 및 경도 데이터가 기록된(예를 들면, 수집된) 일수들에 대응할 수 있다. MAC 어드레스 위도 및 경도 데이터의 각각의 조각은 발생시의 신호 세기(예를 들면, 단말에 의해 수신되는 무선 신호 송수신기 장비에 의해 통신되는 신호의 신호 세기)를 포함할 수 있다. 데이터 포맷은 "[mac, lat, long, signal, log_days]"일 수 있다. "Signal"는 신호 세기를 나타내고, "log_days"는 인터넷의 액세스가 발생한 일수를 나타낸다. 이러한 포맷에서, MAC 어드레스 위도 및 경도 데이터의 조각이 한 일자(a day)(예를 들면, 현재 시간 이전의 미리 결정된 수집 시간 중 어느 날이든지)에 발생하면, MAC 어드레스 위도 및 경도 데이터는 하나의 발생 일자를 가지는 것으로 기록된다. 일부 실시예들에서, MAC 어드레스 위도 및 경도 데이터가 특정 일자에 얼마나 많이 발생하는지에 상관없이, MAC 어드레스 위도 및 경도는 하나의 발생 일자를 가지는 것으로 기록될 것이다. 예를 들면, 30일의 데이터가 수집되는 경우, MAC 어드레스 위도 및 경도 데이터의 조각이 3일자에 5회, 5일자에 1회 및 6일자에 3회 발생하면, 이 IP 어드레스 위도 및 경도의 조각에 대해 기록되는 발생 일수는 3일이다.
일부 실시예들에서, 각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들에 연관된 발생 일수가 수집될 수 있고 미리 결정된 임계 일수보다 적은 발생 일수를 갖는 MAC 어드레스 위도 및 경도 데이터의 조각들은 각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들로부터 필터링될 수 있다. 예를 들면, MAC 어드레스 위도 및 경도 데이터의 조각은 일 일자에만 발생했다. 일 일자에만 발생한 MAC 어드레스 위도 및 경도 데이터의 조각은 임계 일수 5 아래에 있기 때문에 비정상 데이터일 것으로 간주될 수 있다. 따라서, 이러한 데이터는 삭제될 수 있거나, 필터링될 수 있다. 일부 실시예들에서, 임계 일수는 사용자, 서버(예를 들면, 텍스트-기반 컨텐트를 단말에 제공하는 서버) 등에 의해 구성될 수 있다. 임계 일수는, 통계적으로 적절한 척도에 따라 아웃라이어들(outliers)로 간주되는 데이터를 결정하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들의 통계적 분석에 따라 결정될 수 있다.
단계(320)에서, MAC 어드레스에 대응하는 위치가 결정될 수 있다. MAC 어드레스에 대응하는 위치는 MAC 어드레스와 연관된 처리된 위치 정보에 적어도 부분적으로 기초하여 결정될 수 있다. 일부 실시예들에서, MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들은 MAC 어드레스에 대응하는 위도 및 경도를 결정하기 위한 기초의 역할을 한다. 예로서, MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들에 적어도 부분적으로 기초하여 결정되는 특정 MAC 어드레스에 대응하는 위치는 특정 MAC 어드레스에 대응하는 대표 위치일 수 있다.
도 4는 본 개시내용의 다양한 실시예들에 따라 MAC 어드레스에 대응하는 위도 및 경도를 결정하기 위한 흐름도이다.
도 4를 참조하면, MAC 어드레스에 대응하는 위도 및 경도를 결정하기 위한 방법(400)이 제공된다. 일부 실시예들에서, 프로세스(400)는 각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들에 따라 각각의 MAC 어드레스에 대응하는 위도 및 경도를 결정하기 위한 방법을 포함한다. 일부 실시예들에서, 프로세스(400)는 도 10의 디바이스(1000)에 의해 구현된다. 일부 실시예들에서, 프로세스(400)는 도 11의 시스템(1100)에 의해 구현된다. 일부 실시예들에서, 도 3의 단계(320)는 방법(400)에 의해 구현된다.
단계(402)에서, MAC 어드레스가 위치 정보의 단일 조각인지 위치 정보의 다중 조각인지가 결정된다. MAC 어드레스가 위치 정보의 단일 조각을 가지면, 단계(405)에서, 위치 정보의 그 조각이 MAC 어드레스에 대응하는 위치 정보인 것으로 결정된다. MAC 어드레스에 대응하는 위치 정보는 (예를 들면, MAC 어드레스와 함께 네트워크 디바이스를 이용하여 인터넷에 액세스하는) 단말의 현재 위치를 결정하기 위해 이용될 수 있다. MAC 어드레스에 대응하는 위치 정보는 출력으로서 제공될 수 있거나 위치-기반 서비스를 제공하기 위해 이용될 수 있다.
MAC 어드레스가 대응하는 위치 정보의 다중 조각들을 가지면, 단계(410)에서, MAC 어드레스에 대응하는 위치 정보의 임의의 두 조각들 사이의 거리가 제 1 임계 거리보다 큰지에 대한 결정이 이루어진다. 일부 실시예들에서, MAC 어드레스에 대응하는 위치 정보의 두 조각들 사이의 거리가 제 1 임계 거리보다 큰지를 서버가 결정한다. 서버는 각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 다중 조각들 중 MAC 어드레스 위도 및 경도 데이터의 두 조각들의 모든 조합들에 대응하는 위치들 사이의 거리가 제 1 임계 거리를 초과하는지를 결정할 수 있다.
일부 실시예들에 있어서, 특정 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 다중 조각들이 클러스터링되는 정도가, MAC 어드레스에 대응하는 위치 정보의 임의의 두 조각들 사이의 거리가 제 1 임계 거리보다 큰지에 적어도 부분적으로 기초하여 측정된다. 구체적으로, 이것은 각각의 MAC 어드레스에 대응하는 위도 및 경도 데이터의 다중 조각들 중 위도 및 경도 데이터의 각각의 두 조각들에 대응하는 위치들 사이의 거리가 제 1 임계 거리를 초과하는지이다. 이러한 경우, MAC 어드레스에 대응하는 위도 및 경도 데이터의 다중 조각들의 위치들이 클러스터링된다. 일부 실시예들에서, 특정 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 다중 조각들이 클러스터링되는 정도는 모바일 WiFi와 같이 비정상 데이터(아웃라이어들)를 배제하기 위해 측정된다. 일부 실시예들에서, 모바일 WiFi는 분산화된 위치(decentralized position)를 가지고 따라서 MAC 어드레스에 따른 위치는 모바일 WiFi를 이용하여 인터넷에 액세스하는 디바이스에 대한 MAC 어드레스에 따라 결정될 수 없다.
제 1 임계 거리는 서버에 의해 자동으로 구성될 수 있거나 사용자에 의해(예를 들면, 위치-기반 컨텐트와 같은 컨텍스트-기반 컨텐트에 대한 설정들에 기초하여) 수동으로 구성될 수 있다. 일부 실시예들에서, 제 1 임계 거리는 특정 조건들에 따라 설정된다. 예를 들면, 약 50 미터의 무선 네트워크 신호 커버리지 범위들을 가진 무선 네트워크 신호 전송 장비가 비교적 일반적이다(예를 들면, 무선 라우터들의 경우에). 따라서, 제 1 임계 거리는 100 미터로 설정될 수 있다.
각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 다중 조각들 중 MAC 어드레스 위도 및 경도 데이터의 각각의 두 조각들(예를 들면, 두 조각들의 임의의 조합)에 대응하는 위치들 사이의 거리들 중 어느 것도 제 1 임계 거리보다 크지 않는 경우에, 단계(420)에서, 특정 MAC 어드레스에 대응하는 위치가 MAC 어드레스에 대응하는 위치 정보의 다중 조각들에 적어도 부분적으로 기초하여 결정될 수 있다. 예를 들면, 서버는 특정 MAC 어드레스에 대응하는 위치가 특정 MAC 어드레스에 대응하는 (수집된) 위치 정보의 다중 조각들의 평균이라고 결정할 수 있다. 일부 실시예들에서, 서버는, 특정 MAC 어드레스에 대응하는 (수집된) 위치 정보의 다중 조각들이 아웃라이어 위치 정보를 제거하기 위해 필터링된(예를 들면, 처리된) 후, 특정 MAC 어드레스에 대응하는 위치가 특정 MAC 어드레스에 대응하는 (수집된) 위치 정보의 다중 조각들의 평균이라고 결정할 수 있다.
일부 실시예들에서, 각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 다중 조각들 중 MAC 어드레스 위도 및 경도 데이터의 각각의 두 조각들(예를 들면, 두 조각들의 임의의 조합)에 대응하는 위치들 사이의 거리들 중 어느 것도 제 1 임계 거리보다 크지 않는 경우에, MAC 어드레스 위도 및 경도 데이터의 다중 조각들의 위도 정보 및 경도 정보의 평균이 특정 MAC 어드레스에 대응하는 위도 정보(예를 들면, 위도 좌표) 및 경도 정보(예를 들면, 경도 좌표)인 것으로 결정된다. 예로서, 특정 MAC 어드레스에 대응하는 위치는 특정 MAC 어드레스에 대응하는 위치 정보의 임의의 두 조각들 사이의 거리들 중 어느 것도 제 1 임계 거리보다 크지 않는 경우 특정 MAC 어드레스에 대응하는 위치 정보의 조각들의 평균인 것으로 결정될 수 있다. 특정 MAC 어드레스에 대응하는 결정된 위치는 MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스에 저장될 수 있다.
일부 실시예들에서, 각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 다중 조각들 중 MAC 어드레스 위도 및 경도 데이터의 각각의 두 조각들에 대응하는 위치들 사이의 거리들 중 어느 것도 제 1 임계 거리를 초과하지 않는 경우에, MAC 어드레스 위도 및 경도 데이터의 다중 조각들이 MAC 어드레스에 대응하여 발생하는 위치들이 상대적으로 클러스터링되는 것으로 결정될 수 있다. 따라서, MAC 어드레스 위도 및 경도 데이터의 다중 조각들 중 위도들 및 경도들의 각각의 평균들이 결정될 수 있고 MAC 어드레스에 대응하는 위치에 대응하는 것으로 간주될 수 있다.
그에 반해, 각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 다중 조각들 중 MAC 어드레스 위도 및 경도 데이터의 임의의 두 조각들에 대응하는 위치들 사이의 거리가 제 1 임계 거리보다 큰 경우에, 단계(430)에서, 특정 MAC 어드레스에 대응하는 위치가 MAC 어드레스에 대응하는 위치 정보의 다중 조각들 중 특정 위치의 빈도에 적어도 부분적으로 기초하여 결정될 수 있다. 예를 들면, 특정 MAC 어드레스에 대응하는 위치는 인터넷이 MAC 어드레스와 관련하여 가장 빈번히 액세스되는 위치에 대응하도록 결정될 수 있다.
일부 실시예들에서, 단계(430)에서, 특정 MAC 어드레스에 대응하는 위도 및 경도는 MAC 어드레스 위도 및 경도 데이터의 다중 조각들 중 가장 많은 발생 일자들을 가진 MAC 어드레스 위도 및 경도 데이터의 조각들의 임계량에 따라 결정된다.
예를 들면, MAC 어드레스 위도 및 경도 데이터의 다중 조각들 중 MAC 어드레스 위도 및 경도 데이터의 두 조각들에 대응하는 위치들 사이의 거리가 제 1 임계 거리를 초과하는 경우에, MAC 어드레스 위도 및 경도 데이터의 다중 조각들이 MAC 어드레스에 대응하여 발생한 위치들은 상대적으로 분산된(예를 들면, 클러스터링되지 않은) 것으로 간주된다. MAC 어드레스에 대응하는 위도 정보 및 경도 정보(예를 들면, 위도 및 경도 좌표들)는 MAC 어드레스 위도 및 경도 데이터의 다중 조각들 중 가장 많은 발생 일자들을 가진 MAC 어드레스 위도 및 경도 데이터의 조각들의 임계량에 따라 결정될 수 있다.
MAC 어드레스 위도 및 경도 데이터의 조각들의 임계량은 서버에 의해, 사용자(예를 들면, 위치-기반 컨텐트와 같은 컨텍스트-기반 컨텐트에 대한 설정들에 기초하여) 등에 의해 구성될 수 있다. 조각들의 임계량은 신호 세기, 시간(예를 들면, 접속 시간) 등에 따라 구성될 수 있다.
예로서, MAC 어드레스 위도 및 경도 데이터의 조각들의 임계량이 3인 경우, 특정 MAC 어드레스에 대응하는 위도 및 경도는 특정 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 다중 조각들 중 가장 많은 발생 일자들을 가진 MAC 어드레스 위도 및 경도 데이터의 세 조각들에 따라 결정될 수 있다. 특정 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 다중 조각들은 특정 MAC 어드레스에 대응하는 3개의 가장 많은 발생 일자들을 가진 MAC 어드레스 위도 및 경도 데이터의 조각들을 추출하기 위해 발생 일수에 따라 랭크될 수 있다. 특정 MAC 어드레스에 대응하는 위도 및 경도는 가장 많은 발생 일자들을 가진 MAC 어드레스 위도 및 경도 데이터의 세 조각들의 발생 일수와 그에 대응하는 위치들 사이의 거리들에 따라 결정될 수 있다.
일부 실시예들에서, MAC 어드레스 위도 및 경도 데이터의 추출된 조각들의 MAC 어드레스 위도 및 경도 데이터(예를 들면, MAC 어드레스 위도 및 경도 데이터의 다중 조각들로부터 추출되는 MAC 어드레스 위도 및 경도 데이터의 다중 조각들 중 가장 많은 발생 일자들을 가진 MAC 어드레스 위도 및 경도 데이터의 조각들의 임계량)와 MAC 어드레스 위도 및 경도 데이터의 다른 조각들에 대응하는 위치들 사이의 거리가 결정될 수 있다. 가장 많은 발생 일자들을 가진 MAC 어드레스 위도 및 경도 데이터에 대응하는 위치로부터의 거리를 가진 MAC 어드레스 위도 및 경도 데이터의 조각들이 제 2 임계 거리를 초과하지 않는 경우에, 가장 많은 발생 일자들을 가진 MAC 어드레스 위도 및 경도 데이터의 위도 데이터 및 경도 데이터가 가중되고 각각의 발생 일수를 가중치들로 이용하여 평균화된다. 획득된 평균 위도 및 평균 경도는 MAC 어드레스에 대한 위도 및 경도인 것으로 결정될 수 있다.
예를 들면, 단계(430)에서 특정 MAC 어드레스에 대해 추출된 3개의 가장 많은 발생 일자들을 가진 MAC 어드레스 위도 및 경도 데이터의 조각들이 r1(가장 많은 발생 일자들), r2 및 r3이라고 가정하고, 여기서, r1 = [mac, lat1, long1], r2 = [mac, lat2, long2] 및 r3 = [mac, lat3, long3]이다. 제 2 임계 거리는 제 1 임계 거리와 동일할 수 있다. 제 1 임계 거리 및 제 2 임계 거리가 둘 모두 100미터로 가정한다. r1과 MAC 어드레스 위도 및 경도 데이터의 다른 두 조각들(예를 들면, r2 및 r3)에 대응하는 위치들 사이의 거리가 별도로 계산될 수 있다. r1 및 r2에 대응하는 위치들 사이에 획득되는 거리가 100미터 내(예를 들면, 이하)이고, r1 및 r3에 대응하는 위치들 사이의 거리가 100미터보다 적으면, r1, r2 및 r3의 위도 데이터 및 경도 데이터가 가중되고 r1, r2 및 r3의 발생 일수를 각각 가중치들로 이용하여 평균화된다. r1, r2 및 r3의 발생 일수는 n1, n2 및 n3으로 각각 표현될 수 있다. 평균 위도 및 평균 경도는 (n1/(n1+n2+n3)*r1 + n2/(n1+n2+n3)*r2 + n3/(n1+n2+n3)*r3) / (위도 및 경도 데이터의 조각들의 수)로서 계산될 수 있다. 이 예에서, 위도 및 경도 데이터의 조각들의 수는 3이다. 획득된 평균 위도 및 평균 경도는 특정 MAC 어드레스에 대응하는 위도 및 경도인 것으로 결정된다. 그에 반해, r1 및 r2에 대응하는 위치들 사이에 획득되는 거리가 100미터 내(예를 들면, 이하)이고, r1 및 r3에 대응하는 위치들 사이의 거리가 100미터보다 크면, r1 및 r2의 위도 데이터 및 경도 데이터가 가중되고 r1 및 r2의 발생 일수를 각각 가중치들(예를 들면, 각각, n1 및 n2)로서 이용하여 평균화된다. 평균 위도 및 평균 경도는 (n1/(n1+n2)*r1 + n2/(n1+n2)*r2) / (위도 및 경도 데이터의 조각들의 수)로서 계산될 수 있다. 이 예에서, r1 및 r3에 대응하는 위치들 사이의 거리가 100미터보다 크기 때문에 위도 및 경도 데이터의 조각들의 수는 2이다. 예를 들면, 가장 많은 발생 일자들을 가진 위도 데이터 및 경도 데이터(예를 들면, 가장 큰 발생 빈도를 가진 위도 데이터 및 경도 데이터)의 조각들 사이의 거리가 제 2 임계 거리보다 적은 위도 데이터 및 경도 데이터의 조각들만이 특정 MAC 어드레스에 대응하는 위도 정보 및 경도 정보의 가중된 평균을 결정하는데 이용된다. 획득된 평균 위도 및 평균 경도는 MAC 어드레스에 대응하는 위도 및 경도인 것으로 결정될 수 있다(예를 들면, 간주될 수 있다). r1 및 r2와 r1 및 r3 둘 모두에 대해 획득된 거리들이 제 2 임계 거리(예를 들면, 100미터)보다 큰 경우, 가장 많은 발생 일자들을 가진 r1의 위도 및 경도가 MAC 어드레스에 대응하는 위도 및 경도인 것으로 결정될 수 있다(예를 들면, 간주될 수 있다).
일부 실시예들에서, 각각의 수집된 MAC 어드레스에 대응하는 위도 및 경도가 결정된 후에는 각각의 MAC 어드레스에 대응하는 위치의 신뢰도가 결정될 수 있다.
예를 들면, 각각의 MAC 어드레스에 대응하는 위치의 신뢰도가 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들에 대응하는 신호 세기에 따라 결정될 수 있다. 각각의 MAC 어드레스에 대해, MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 각각의 조각에 대응하는 신호 세기는 MAC 어드레스 위도 및 경도 데이터의 각각의 조각의 신뢰도를 결정하기 위한 기초로서 이용될 수 있다. 예를 들면, Isignal을 한 위치에서 획득된 데이터의 신호 세기라고 하자. -50 dbm < Isignal < 0 dbm의 신호 세기를 가진 MAC 어드레스 위도 및 경도 데이터에 대한 신뢰도는 1(가장 큰 신뢰도)로 설정된다. -70 dbm < Isignal < -50 dbm의 신호 세기를 가진 MAC 어드레스 위도 및 경도 데이터에 대한 신뢰도는 2로 설정된다. -90 dbm < Isignal < -70 dbm의 신호 세기를 가진 MAC 어드레스 위도 및 경도 데이터에 대한 신뢰도는 3으로 설정된다 등. 일부 실시예들에서, MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들의 신뢰도 중 가장 높은 발생 일수를 가진 신뢰도가 MAC 어드레스에 대응하는 위치의 신뢰도로서 결정된다. 예를 들면, MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들과 연관된 가장 빈번한 신뢰도는 MAC 어드레스에 대응하는 위치 정보의 신뢰도인 것으로 결정된다. 신뢰도의 값은 신뢰 정도에 역으로 관련될 수 있다. 예를 들면, 1의 신뢰도는 가장 많은 신뢰 정도에 대응할 수 있고, 2의 신뢰도는 두 번째로 가장 많은 신뢰 정도에 대응할 수 있는 등이다.
일부 실시예들에서, MAC 어드레스와 연관된 위치들을 나타내는 데이터베이스가 이용되고(예를 들면, 단말의 위치를 룩-업하거나 결정하기 위해), (예를 들면, 인터넷에 접속하는 단말과 연관된 무선 신호 송수신기 장비의) MAC 어드레스에 대응하는 위치에 대해 룩업되는 신뢰도가 비교적 높은(예를 들면, 신뢰도 임계값보다 높은) 경우, MAC 어드레스에 대응하는 위치는 또한 IP 어드레스들 및 위치들의 미리-구성된 대응 뱅크와 조합하여 결정된다.
도 1의 단계(130)를 다시 참조하면, 데이터베이스(예를 들면, MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스)가 MAC 어드레스를 포함하는 경우, 데이터베이스에 포함되는 MAC 어드레스에 대응하는 위치는 단말의 현재 위치인 것으로 결정된다(간주된다). 예를 들면, MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 인터넷에 접속된 단말과 연관된 네트워크 디바이스(예를 들면, 무선 신호 송수신기 장비)(예를 들면, 단말이 인터넷에 액세스하기 위해 이용하는 네트워크 디바이스)의 MAC 어드레스를 포함하면, MAC 어드레스에 대응하는 위치(예를 들면, MAC 어드레스에 대응하는 위도 정보 및 경도 정보)는 MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스에서 룩업된다. MAC 어드레스에 대응하는 위도 정보 및 경도 정보는 단말의 현재 위치의 위도 및 경도인 것으로 결정된다.
MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 MAC 어드레스를 가지지 않는 경우, 단말의 위치는 단말의 IP 어드레스에 따라 결정될 수 있다.
도 5는 본 출원의 다양한 실시예들에 따라 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스를 사전-구성하는 흐름도이다.
도 5를 참조하면, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스를 구성하기 위한 방법(500)이 제공된다. 일부 실시예들에서, 방법(500)은 도 10의 디바이스(1000)에 의해 구현된다. 일부 실시예들에서, 방법(500)은 도 11의 시스템(1100)에 의해 구현된다.
단계(510)에서, 디바이스의 IP 어드레스 및 디바이스의 위치 정보(예를 들면, IP 어드레스에 대응하는 위치 정보)가 획득된다. 디바이스는 인터넷에 액세스하는 단말 등일 수 있다. 일부 실시예들에서, 서버는 IP 어드레스 및 IP 어드레스에 대응하는 위치 정보를 획득한다(예를 들면, 수집한다). 서버는 네트워크 액세스 이벤트와 관련하여 디바이스의 IP 어드레스 및 위치 정보를 획득할 수 있다. 예를 들면, 네트워크 액세스 이벤트는 단말이 인터넷에 액세스하고, 웹 페이지에 브라우징하고, 네트워크 디바이스와 통신하는 것 등일 수 있다. 예로서, IP 어드레스들은 단말이 통신하는 무선 신호 송수신기 장비(예를 들면, 무선 라우터들, 무선 스위치들 등)의 IP 어드레스들에 대응할 수 있고, 특정 필드에 있는 메시지의 헤더 또는 페이로드에 첨부될 수 있다. IP 어드레스에 대응하는 위치 정보는 위도 정보(예를 들면, 위도 좌표) 및 경도 정보(예를 들면, 경도 좌표)를 포함할 수 있고, 패킷 헤더 또는 페이로드에 포함될 수 있다. 특정 IP 어드레스와 연관된 위치 정보는 인터넷이 특정 IP 어드레스를 통해 액세스되는 시점에(예를 들면, 단말이 IP 어드레스를 통해 인터넷에 액세스하거나, 또는 온라인 상태일 때)서의 단말의 위치에 대응할 수 있다. IP 어드레스와 연관된 위치 정보는 단말의 위치의 위도 및 경도를 결정하기 위해 이용될 수 있다.
일부 실시예들에서, 모바일 단말이 무선 신호 송수신기 장비에 의해 전송되는 무선 네트워크 신호들(예를 들면, WiFi 신호들이지만, 이에 제한되지 않음)을 통해(예를 들면, 이용하여) 인터넷에 접속하는 경우에, 무선 네트워크 신호들을 전송하고 있는 무선 신호 송수신기 장비의 IP 어드레스가 획득될 수 있다. 예를 들면, 모바일 디바이스가 인터넷에 액세스하는 경우, 모바일 디바이스는 패킷을 네트워크 장비에 전송하고, 이것은 그 IP 어드레스를 패킷 헤더 또는 페이로드에 첨부한 다음 그 패킷을 목적지에 전송한다. 따라서, 모바일 디바이스가 인터넷에 액세스하기 위해 이용하는 무선 신호 송수신 디바이스(예를 들면, 네트워크 장비)의 IP 어드레스는 패킷이 그 목적지 서버에 도달할 때와 같이, 무선 신호 송수신 디바이스로부터 다운스트림에 있는 패킷 헤더 또는 페이로드를 분석함으로써 획득될 수 있다.
일부 실시예들에서, 특정 IP 어드레스와 연관되어 저장된 위치 정보는 데이터의 유효 시간을 가질 수 있다. 데이터의 유효 시간은 특정 IP 어드레스와 연관된 위치 정보가 유효한 임계 시간량일 수 있다. 일부 실시예들에서, 디바이스의 IP 어드레스들 및 대응하는 위치 정보는 현재 시간(예를 들면, 단말의 위치가 위치-기반 서비스와 관련하여 데이터베이스를 이용하여 결정되는 시간) 이전의 미리 결정된 수집 시간 기간 내에서 수집될 수 있다. IP 어드레스들 및 대응하는 위치 정보는 현재 시간 이전의 미리 결정된 수집 기간 내에서 발생하는 네트워크 통신들과 관련하여 수집될 수 있다. 예를 들면, IP 어드레스들 및 각각의 IP 어드레스의 위치 정보는 최근 30일 동안 수집될 수 있다. IP 어드레스들이 동적으로 할당될 수 있기 때문에, IP 어드레스들을 이용하는 디바이스들과 연관된 위치들(예를 들면, 위도들 및 경도들)은 상이한 네트워크 액세스 시간들마다 다를 수 있다. 일부 실시예들에서, 위치 정보(예를 들면, 위도 정보 및 경도 정보)의 하나 이상의 조각들이 각각의 IP 어드레스마다 수집된다. 예를 들면, 각각의 IP 어드레스의 위치 정보는 위도 정보 및 경도 정보의 하나 이상의 조각들을 포함한다. 일부 실시예들에서, IP 어드레스와 연관된 위도 정보 및 경도 정보의 각 조각은 단말이 IP 어드레스를 통해 인터넷에 액세스할 때(예를 들면, 온라인 상태일 때)의 상이한 시간에서의 단말의 위도 및 경도에 대응한다.
단계(520)에서, 데이터베이스는 IP 어드레스 및 위치 정보로 업데이트된다. 일부 실시예들에서, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스는 획득된 IP 어드레스 및 위치 정보를 저장하도록 구성된다. 예를 들면, 데이터베이스는 획득된 위치 정보의 획득된 IP 어드레스에의 매핑을 저장하도록 구성될 수 있다. 서버는 IP 어드레스 및 위치 정보로 데이터베이스를 구성할 수 있다. 서버는, MAC 어드레스 및 MAC 어드레스에 대응하는 위치 정보 등, 또는 이들의 임의의 조합을 수신하는 것에 응답하여, MAC 어드레스 및 위치 정보로 데이터베이스를 미리 결정된 시간에서(예를 들면, 미리 결정된 시간 간격들에서) 구성하거나, 또는 업데이트할 수 있다. 일부 실시예들에서, 디바이스가 WiFi 네트워크에 접속되는 경우, 모바일 디바이스는 모바일 디바이스의 위치(예를 들면, 위치확인)를 결정할 수 있는 맵 애플리케이션을 실행할 수 있다. 모바일 폰은 WiFi 네트워크들과 연관된 MAC 어드레스를 검색할 수 있다(예를 들면, 라우터와 같이, WiFi 네트워크와의 통신 중에 수신되는 패킷을 이용하여). 맵 애플리케이션은 모바일 디바이스 상의 캐시에 MAC 어드레스 및 대응하는 위치 정보를 저장할 수 있다. 일부 실시예들에서, 모바일 디바이스는 데이터베이스(예를 들면, 로컬 데이터베이스, 서버에 의해 호스팅되는 원격 데이터베이스 등)를 업데이트할 수 있다. 예를 들면, 모바일 디바이스는 데이터베이스를 미리 정해진 시간 간격들에서 업데이트할 수 있다. 다른 예로서, 모바일 디바이스는 데이터베이스를 미리 정해진 이벤트들(예를 들면, 네트워크 또는 인터넷 액세스 이벤트들과 같이)에서 업데이트할 수 있다. 서버는 서버가 모바일 디바이스로부터 업데이트(예를 들면, MAC 어드레스 정보 및 위치 정보를 포함)를 수신할 때 데이터베이스를 구성할 수 있다.
수집된 IP 어드레스 및 대응하는 위치 정보는 IP 어드레스들 및 위치들의 데이터베이스에 저장된 IP 어드레스들 및 대응하는 위치들 사이의 관계를 획득하기 위해 각각의 IP 어드레스에 대응하는 위도 및 경도를 결정하기 위한 기초로서 이용될 수 있다. 데이터베이스는 단말의 IP 어드레스에 따라 단말의 위치를 결정하기 위해 이용될 수 있다. 단말의 IP 어드레스는 서버에 통신되는 메시지(예를 들면, 액세스 요청)에 기초하여 결정될 수 있다.
도 6은 본 개시내용의 다양한 실시예들에 따라 IP 어드레스에 대응하는 위도 및 경도를 결정하는 흐름도이다.
도 6을 참조하면, IP 어드레스에 대응하는 위치를 결정하기 위한 방법(600)이 제공된다. 일부 실시예들에서, 프로세스(600)는 도 10의 디바이스(1000)에 의해 구현된다. 일부 실시예들에서, 프로세스(600)는 도 11의 시스템(1100)에 의해 구현된다. 일부 실시예들에서, 도 5의 단계(520)는 방법(600)에 의해 구현된다.
일부 실시예들에서, 각각 수집된 IP 어드레스의 위치 정보를 각각의 IP 어드레스에 대응하는 위도 및 경도를 결정하기 위한 기초로 이용하는 단계는 단계들(605 내지 620)을 포함한다. 각각 수집된 IP 어드레스는 디바이스가 인터넷에 접속할 때 디바이스의 IP 어드레스에 대응할 수 있다.
단계(605)에서, IP 어드레스 및 연관된 위치 정보가 획득된다. 일부 실시예들에서, IP 어드레스 및 위치 정보는 서버에서 수신되는 특별히 표시된 패킷의 헤더 및/또는 페이로드의 특정 필드들로부터 획득된다.
단계(610)에서, IP 어드레스와 연관된 위치 정보가 처리된다. 일부 실시예들에서, 서버는 IP 어드레스와 연관된 위치 정보를 처리한다. 일부 실시예들에서, 데이터베이스(예를 들면, 데이터베이스와 동작 가능하게 접속된 처리기)는 IP 어드레스와 연관된 위치 정보를 처리한다. 수집된 IP 어드레스들 및 각각의 IP 어드레스의 위치 정보는 각각의 수집된 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 하나 이상의 조각들을 획득하도록 처리된다.
일부 실시예들에서, 각각의 수집된 IP 어드레스의 위치 정보에 포함되는 지리적 좌표 정보는 각각의 IP 어드레스에 대응하는 IP 어드레스 지리적 좌표 데이터를 획득하기 위해 처리될 수 있다. 각각의 IP 어드레스의 위치 정보가 지리적 좌표 정보의 하나 이상의 조각들을 포함할 수 있기 때문에, 특정 IP 어드레스에 대응하는 IP 어드레스 지리적 좌표 데이터의 하나 이상의 조각들이 특정 IP 어드레스와 연관된 위치 정보를 처리함으로써 획득될 수 있다. IP 어드레스 지리적 좌표 데이터의 각각의 조각은 IP 어드레스 및 IP 어드레스와 연관된 위도 및 경도 데이터의 세트를 포함할 수 있다. 예를 들면, IP 어드레스와 연관된 위치 정보에서의 지리적 좌표 정보의 임의의 한 조각이 IP 어드레스에 대응하는 IP 어드레스 지리적 좌표 데이터의 조각을 획득하기 위해 처리될 수 있다. IP 어드레스 데이터에 대응하는 IP 어드레스 지리적 좌표 데이터의 조각의 포맷은 [ip, lat, long]일 수 있고, 여기서 "ip"는 IP 어드레스를 나타내고, "lat"은 위도를 나타내고, "long"은 경도를 나타낸다. IP 어드레스와 연관된 위치 정보(예를 들면, 위도 데이터 및 경도 데이터)는 바람직한 정밀도에 기초하여 미리 결정된 규칙에 따라 처리될 수 있다. 예를 들면, 지리적 좌표 데이터의 각각의 세트에 대응하는 실제 지리적 위치에 대한 적당한 에러(예를 들면, 1 km 내에서 0.01도 지리적 좌표 에러)를 보장하기 위해 경도 데이터 및 위도 데이터에 소수점 마지막 세 디지트들이 유지될 수 있다(예, 소수점 다음의 세 자리들이 캡처될 수 있다).
일부 실시예들에서, IP 어드레스에 대응하는 위치의 결정 또는 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스의 구성은 처리를 통해 획득되는 IP 어드레스 위도 및 경도 데이터에서의 발생 일수가 임계 일수보다 적은 IP 어드레스 위도 및 경도 데이터의 조각들을 삭제하는 단계를 포함할 수 있다. 예를 들면, IP 어드레스 지리적 좌표 데이터의 조각이 일 일자에만 발생한다. IP 어드레스 지리적 좌표 데이터의 조각은 이것이 임계 일수 5보다 아래에 있기 때문에 비정상 데이터일 것으로 간주될 수 있다. 따라서, 이러한 데이터는 삭제되거나 필터링되어질 수 있다. 일부 실시예들에서, 임계 일수는 사용자, 서버(예를 들면, 컨텍스트-기반 컨텐트를 단말에 제공하는 서버) 등에 의해 구성될 수 있다. 임계 일수는 통계적으로 적절한 척도에 따라 아웃라이어들인 것으로 간주되는 데이터를 결정하는 IP 어드레스 위도 및 경도 데이터의 하나 이상의 조각들의 통계적 분석에 따라 결정될 수 있다.
단계(620)에서, IP 어드레스에 대응하는 위치가 결정된다. IP 어드레스에 대응하는 위치는 IP 어드레스와 연관된 처리된 위치 정보에 적어도 부분적으로 기초하여 결정될 수 있다. 일부 실시예들에서, IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 하나 이상의 조각들은 IP 어드레스에 대응하는 위도 및 경도를 결정하기 위한 기초의 역할을 한다. 예로서, IP 어드레스 위도 및 경도 데이터의 하나 이상의 조각들에 적어도 부분적으로 기초하여 결정되는 특정 IP 어드레스에 대응하는 위치는 특정 IP 어드레스에 대응하는 대표 위치일 수 있다.
도 7은 본 개시내용의 다양한 실시예들에 따라 IP 어드레스에 대응하는 위도 및 경도를 결정하는 흐름도이다.
도 7을 참조하면, IP 어드레스에 대응하는 위도 및 경도를 결정하기 위한 방법(700)이 제공된다. 일부 실시예들에서, 프로세스(700)는 도 10의 디바이스(1000)에 의해 구현된다. 일부 실시예들에서, 프로세스(700)는 도 11의 시스템(1100)에 의해 구현된다. 일부 실시예들에서, 도 6의 단계(620)는 방법(700)에 의해 구현된다.
일부 실시예들에서, 각각의 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 하나 이상의 조각들에 따라 각각의 IP 어드레스에 대응하는 위도 및 경도의 결정 단계는 단계들(710 및 720)을 포함한다.
단계(710)에서, 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 어드레스 위도 및 경도 데이터의 조각들이 제 3 임계 거리를 초과하지 않는 경우에, 가장 많은 발생 일자들을 가진 IP 어드레스 위도 및 경도 데이터의 위도 데이터 및 경도 데이터는 각각의 발생 일수를 가중치들로 이용하여 가중되고 평균화된다. 획득된 평균 위도 및 평균 경도는 IP 어드레스에 대한 위도 및 경도인 것으로 결정될 수 있다.
예를 들면, 특정 IP 어드레스에 대해 3개의 가장 많은 발생 일자들을 가진 IP 어드레스 위도 및 경도 데이터의 조각들은 p1(가장 많은 발생 일자들), p2 및 p3이고, 여기서 p1 = [IP, lat1, long1], p2 = [IP, lat2, long2] 및 p3 = [IP, lat3, long3]이다. 제 3 임계 거리는 제 1 임계 거리와 동일할 수 있다. 제 1 임계 거리 및 제 3 임계 거리가 둘 모두 100미터로 가정한다. p1과 IP 어드레스 위도 및 경도 데이터의 다른 두 조각들(예를 들면, p2 및 p3)에 대응하는 위치들 사이의 거리가 별도로 계산될 수 있다. p1 및 p2에 대응하는 위치들 사이에 획득되는 거리가 100미터 내(예를 들면, 이하)이고, p1 및 p3에 대응하는 위치들 사이의 거리가 100미터보다 적으면, p1, p2 및 p3의 위도 데이터 및 경도 데이터가 가중되고 p1, p2 및 p3의 발생 일수를 각각 가중치들로 이용하여 평균화된다. p1, p2 및 p3의 발생 일수는 n1, n2 및 n3으로 각각 표현될 수 있다. 평균 위도 및 평균 경도는 (n1/(n1+n2+n3)*p1 + n2/(n1+n2+n3)*p2 + n3/(n1+n2+n3)*p3) / (위도 및 경도 데이터의 조각들의 수)로서 계산될 수 있다. 이 예에서, 위도 및 경도 데이터의 조각들의 수는 3이다. 획득된 평균 위도 및 평균 경도는 특정 IP 어드레스에 대응하는 위도 및 경도인 것으로 결정된다. 그에 반해, p1 및 p2에 대응하는 위치들 사이에 획득되는 거리가 100미터 내(예를 들면, 이하)이고, p1 및 p3에 대응하는 위치들 사이의 거리가 100미터보다 크면, p1 및 p2의 위도 데이터 및 경도 데이터가 가중되고 p1 및 p2의 발생 일수를 각각 가중치들(예를 들면, 각각, n1 및 n2)로서 이용하여 평균화된다. 평균 위도 및 평균 경도는 (n1/(n1+n2)*p1 + n2/(n1+n2)*p2) / (위도 및 경도 데이터의 조각들의 수)로서 계산될 수 있다. 이 예에서, p1 및 p3에 대응하는 위치들 사이의 거리가 100미터보다 크기 때문에 위도 및 경도 데이터의 조각들의 수는 2이다. 예를 들면, 가장 많은 발생 일자들을 가진 위도 데이터 및 경도 데이터(예를 들면, 가장 큰 발생 빈도를 가진 위도 데이터 및 경도 데이터)의 조각들 사이의 거리가 제 3 임계 거리보다 적은 위도 데이터 및 경도 데이터의 조각들만이 특정 IP 어드레스에 대응하는 위도 정보 및 경도 정보의 가중된 평균을 결정하는데 이용된다. 획득된 평균 위도 및 평균 경도는 IP 어드레스에 대응하는 위도 및 경도인 것으로 결정될 수 있다(예를 들면, 간주될 수 있다). p1 및 p2와 p1 및 p3 둘 모두에 대해 획득된 거리들이 제 3 임계 거리(예를 들면, 100미터)보다 큰 경우, 가장 많은 발생 일자들을 가진 p1의 위도 및 경도가 IP 어드레스에 대응하는 위도 및 경도인 것으로 결정될 수 있다(예를 들면, 간주될 수 있다).
단계(720)에서, IP 어드레스와 연관된 위치가 위치 정보의 가중치에 적어도 부분적으로 기초하여 결정된다. 일부 실시예들에서, 서버가 특정 IP 어드레스와 연관된 위치를 결정한다. 결정된 위치는 IP 어드레스와 연관된 위치를 나타내는 데이터베이스에 저장될 수 있다. 일부 실시예들에서, 특정 IP 어드레스와 연관된 위치는 특정 IP 어드레스를 이용하여 인터넷에 액세스하는 단말에 컨텍스트-기반(예를 들면, 위치-기반) 서비스를 제공하는 것과 동시에 결정될 수 있다. IP 어드레스와 연관된 위치는 수집된 IP 어드레스에 대응하는 IP 어드레스 지리적 좌표 데이터의 가중치를 이용하여(예를 들면, 각각 수집된 IP 어드레스에 대응하는 IP 어드레스 지리적 좌표 데이터의 하나 이상의 조각들 중 IP 어드레스 지리적 좌표 데이터의 각각의 조각의 가중치를 이용하여) 결정될 수 있다.
도 8은 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 각각의 조각의 가중치를 결정하는 흐름도이다.
도 8을 참조하면, IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 각각의 조각의 가중치를 결정하기 위한 방법(800)이 제공된다. 일부 실시예들에서, 프로세스(800)는 도 10의 디바이스(1000)에 의해 구현된다. 일부 실시예들에서, 프로세스(800)는 도 11의 시스템(1100)에 의해 구현된다. 일부 실시예들에서, 도 7의 단게(710)는 방법(800)에 의해 구현된다.
일부 실시예들에서, 각각의 IP 어드레스에 대해, 특정 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 각각의 조각의 가중치의 결정 단계는 단계들(810 및 820)을 포함한다.
단계(810)에서, IP 어드레스와 연관된 위치 정보의 조각의 제 4 임계 거리 내에서 발생하는 위치 정보의 하나 이상의 조각들이 획득된다. 예를 들면, IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 각각의 조각에 대응하는 위치의 미리 결정된 범위(예를 들면, 제 4 임계 거리) 내에서 발생하는 IP 어드레스 위도 및 경도 데이터의 하나 이상의 조각들이 획득된다.
예를 들면, 제 4 임계 거리는 2 킬로미터일 수 있고 서버는 IP 어드레스에 대응하는 IP 어드레스 지리적 좌표 데이터의 각각의 조각에서의 지리적 좌표에 대응하는 위치들의 2 킬로미터 내에서 발생하는 모든 IP 어드레스 지리적 좌표 데이터를 획득할 수 있다. 특정 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 하나 거른 조각(every other piece)의 2 킬로미터 내에서 발생하는 특정 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 하나 이상의 조각들이 획득된다.
단계(820)에서, 위치 정보의 가중치는 위치 정보의 획득된 하나 이상의 조각들 중 특정 위치의 발생 일수들에 적어도 부분적으로 기초하여 결정된다. 일부 실시예들에서, 서버(예를 들면, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스에 동작 가능하게 접속된 서버)는 위치 정보의 가중화를 결정할 수 있다. 특정 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 각각의 조각의 가중치는 대응하는 위치의 미리 결정된 범위 내에서 발생하는 IP 어드레스 위도 및 경도 데이터의 하나 이상의 조각들의 미리 결정된 기간 및 발생 일수 내에서 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 각각의 조각의 발생 일수에 따라 결정된다. 미리 결정된 범위는 제 4 임계 거리에 대응할 수 있다. 일부 실시예들에서, 특정 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 각각의 조각의 가중치는 인터넷이 특정 위치로부터 특정 IP 어드레스를 이용하여 액세스되는 일수에 기초하여 결정된다.
일부 실시예들에서, IP 어드레스 위도 및 경도 데이터의 조각들의 각각에 대응하는 위치들의 미리 결정된 범위 내에서 발생하는 IP 어드레스 위도 및 경도 데이터의 하나 이상의 조각들 중 IP 어드레스 위도 및 경도 데이터의 각각의 조각의 발생 일수가 합산된다. 미리 결정된 범위는 제 4 임계 거리에 대응할 수 있다. IP 어드레스 위도 및 경도 데이터에 대응하는 총 일수가 획득되고, IP 어드레스 위도 및 경도 데이터의 발생 일수가 계수된다. IP 어드레스 위도 및 경도 데이터의 각각의 조각에 대응하는 발생 일수 및 총 발생 일수는 미리 결정된 가중치에 따라 가중된다. IP 어드레스 위도 및 경도 데이터의 각각의 조각에 대한 가중치가 획득된다.
일부 실시예들에서, 발생 일수는 IP 어드레스 위도 및 경도 데이터의 모든 조각들에 대한 일수를 획득하도록 각각 수집된 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 하나 이상의 조각들에 대해 계수된다. 하루 동안(현재 시간 이전의 미리 결정된 수집 시간 기간의 임의의 하루) IP 어드레스 위도 및 경도 데이터의 한 조각의 발생들은 데이터 조각에 대한 하나의 발생으로 기록된다. 또한, IP 어드레스 위도 및 경도 데이터의 조각이 특정 일자에 발생하는 횟수에 상관없이, IP 어드레스 위도 및 경도 데이터의 조각의 모든 경우들은 IP 어드레스 위도 및 경도 데이터의 그 조각에 대해 하나의 발생 일자로 기록된다.
예를 들면, IP 어드레스 위도 및 경도 데이터의 각각의 조각(IP 어드레스 위도 및 경도 데이터의 이 조각에 대해 포함)의 2 킬로미터 내에 있는 모든 IP 어드레스 위도 및 경도 데이터에 대한 발생 일수가 획득되어 합산될 수 있고, IP 어드레스 위도 및 경도 데이터의 이 조각에 대응하는 총 일수가 획득된다. 또한, 미리 결정된 시간 기간 내(예를 들면, 현재 시간 이전의 7일 동안)의 IP 어드레스 위도 및 경도 데이터의 이 조각의 발생 일수가 획득된다. 대응하는 총 일수 및 발생 일수는 미리 결정된 가중치에 따라 가중된다. 예를 들면, 대응하는 총 일수 및 발생 일수는 1 : 4의 가중치에 따라 가중될 수 있다. 가중된 값은 IP 어드레스 위도 및 경도 데이터의 특정 조각의 가중치로서 취해진다.
도 7의 단계(720)를 다시 참조하면, IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 하나 이상의 조각들 중 가장 큰 가중치를 가진 IP 어드레스 위도 및 경도 데이터의 위도 및 경도는 IP 어드레스에 대응하는 위도 및 경도인 것으로 결정될 수 있다.
도 7의 단계(710)를 다시 참조하면, IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 하나 이상의 조각들 중 IP 어드레스 위도 및 경도 데이터의 각각의 조각의 가중치가 결정된 경우에, 여기서 가장 큰 가중치를 가진 IP 어드레스 위도 및 경도 데이터의 조각이 결정될 수 있고, 단계(720)에서, 가장 큰 가중치를 가진 IP 어드레스 위도 및 경도 데이터의 위도 및 경도는 IP 어드레스에 대응하는 위도 및 경도(예를 들면, IP 어드레스에 대응하는 위치의 위도 및 경도)인 것으로 결정될 수 있다. 일부 실시예들에서, 가장 큰 가중치를 가진 특정 IP 어드레스와 연관된 IP 어드레스 위도 및 경도 데이터의 위도 및 경도는 특정 IP 어드레스와 연관된 위치 정보(예를 들면, 위도 및 경도)로서 IP 어드레스와 연관된 위치들을 나타내는 데이터베이스에 저장될 수 있다.
도 5의 단계(520)를 다시 참조하면, 각각의 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 어드레스들의 위치들에 대응하는 도시들을 제공할 수 있다. 예를 들면, 상술된 단계(520)에서 결정된 바와 같이 IP 어드레스에 대응하는 위도 및 경도는 [lata, longa]일 수 있고, 여기서 "lata"는 위도 정보(예를 들면, 위도 좌표)를 나타내고, "longa"는 경도 정보(예를 들면, 경도 좌표)를 나타낸다. 오퍼레이터 IP 데이터베이스에서, IP 어드레스에 대응하는 위도 및 경도와 그 위치에 대응하는 도시는 [latb, longb, cityb]일 수 있고, 여기서 "cityb"는 IP 어드레스의 위치에 대응하는 도시를 나타낸다. 위도 정보 및 경도 정보[lata, longa]가 cityb의 구역에 있는지에 대한 결정이 이루어질 수 있다(예를 들면, 위도 및 경도에 의해 나타낸 도시의 제한들을 이용하여). 위도 정보 및 경도 정보와 연관된 위치가 cityb의 구역 내에 있는 경우, [lata, longa]는 IP 어드레스에 대응하는 위도 정보 및 경도 정보인 것으로 결정될 수 있다. 위도 정보 및 경도 정보[lata, longa]는 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스에 추가될 수 있다. 위도 정보 및 경도 정보[lata, longa]와 연관된 위치가 cityb의 구역에 있지 않은 경우, [latb, longb]는 IP 어드레스에 대응하는 위도 및 경도인 것으로 결정될 수 있고(간주될 수 있고) IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스에 추가될 수 있다.
일부 실시예들에서, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 구성되는 경우, 데이터베이스는 미리 결정된 간격들에서 업데이트된다. IP 어드레스들이 동적으로 할당되기 때문에, IP 어드레스에 대응하는 위치가 변할 수 있거나, 또는 수집되지 않았고 따라서 데이터베이스에 존재하지 않은 IP 어드레스는 후속 수집될 수 있다. 따라서, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스는 미리 결정된 간격들에서 업데이트될 수 있다. 일부 실시예들에서, 미리 결정된 시간 길이가 특정 조건들에 따라 결정된다. 예를 들면, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스는 매 10분마다 업데이터될 수 있다.
도 9는 본 출원의 다양한 실시예들에 따라 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스를 미리 결정된 간격들에서 업데이트하는 흐름도이다.
도 9를 참조하면, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스를 업데이트하기 위한 방법(900)이 제공된다. 일부 실시예들에서, 프로세스(900)는 도 10의 디바이스(1000)에 의해 구현된다. 일부 실시예들에서, 프로세스(900)는 도 11의 시스템(1100)에 의해 구현된다.
단계(910)에서, IP 어드레스 및 IP 어드레스와 연관된 위치 정보가 수집된다. 일부 실시예들에서, 서버는 IP 어드레스 및 연관된 위치 정보를 수집한다(예를 들면, 획득한다). 예로서, 현재 일자에 발생한 IP 어드레스들 및 각각의 IP 어드레스의 위치 정보가 수집된다.
단계(920)에서, 특정 IP 어드레스에 현재 대응하는 위치 정보가 결정된다. 일부 실시예들에서, 서버는 특정 IP 어드레스에 현재 대응하는 위치 정보를 결정한다. 현재 시간에 가장 가까운 발생 시간을 가진 각각의 IP 어드레스의 위치 정보에 포함되는 위도 정보 및 경도 정보는 IP 어드레스에 현재 대응하는 위도 정보 및 경도 정보인 것으로 결정될 수 있다. 예를 들면, 각각의 수집된 IP 어드레스의 최신 위도 및 경도 정보는 IP 어드레스에 현재 대응하는 위도 및 경도로서 결정된다.
단계(930)에서, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 특정 IP 어드레스와 연관된 위치 정보를 포함하는지에 관한 결정이 이루어진다. 일부 실시예들에서, 서버는 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 특정 IP 어드레스와 연관된 위치 정보(예를 들면, 위도 정보 및 경도 정보)를 포함하는지를 결정한다. 서버는 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 특정 IP 어드레스를 포함하는지(예를 들면, 데이터베이스가 IP 어드레스에 대한 기록을 저장하는지)를 결정할 수 있다. 예를 들면, IP 어드레스가 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스에서 룩업될 수 있는지에 관한 결정이 이루어진다.
IP 어드레스들에 관련된 위치들을 나타내는 데이터베이스가 특정 IP 어드레스를 포함하지 않는 경우, 단계(940)에서, 특정 IP 어드레스 및 그와 연관된 위치 정보가 데이터베이스에 포함될 수 있다. 일부 실시예들에서, 데이터베이스가 특정 IP 어드레스를 포함하지 않는 경우, IP 어드레스 및 특정 IP 어드레스에 현재 대응하는 위도 정보 및 경도 정보가 데이터베이스에 저장될 수 있다.
그에 반해, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 특정 IP 어드레스를 포함하는 경우, 단계(950)에서, 데이터베이스에 저장된 위치 정보와 특정 IP 어드레스에 현재 대응하는 위치 정보 사이의 거리가 임계값을 초과하는지에 관한 결정이 이루어질 수 있다. 임계값은 제 4 임계 거리에 대응할 수 있다. IP 어드레스들과 연관된 위치들이 특정 IP 어드레스를 포함하는 경우, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스에 저장되는 IP 어드레스에 대응하는 위도 및 경도와 특정 IP 어드레스에 현재 대응하는 위도 및 경도 사이의 거리가 제 4 임계 거리를 초과하는지에 관한 결정이 이루어질 수 있다.
데이터베이스에 저장된 위치와 특정 IP 어드레스에 현재 대응하는 위치 사이의 거리가 제 4 임계 거리를 초과하는 경우, 단계(960)에서, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스의 특정 IP 어드레스에 현재 대응하는 위치 정보가 저장된다. IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스의 특정 IP 어드레스에 대응하는 위도 및 경도와 특정 IP 어드레스에 현재 대응하는 위도 및 경도 사이의 거리가 임계 거리를 초과하는 경우, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스의 IP 어드레스에 대응하는 위도 및 경도 정보는 특정 IP 어드레스에 현재 대응하는 위도 정보 및 경도 정보로 대체된다.
그에 반해, 데이터베이스에 저장된 위치와 특정 IP 어드레스에 현재 대응하는 위치 사이의 거리가 제 4 임계 거리를 초과하지 않는 경우, 처리를 수행할 필요가 없다(예를 들면, IP 어드레스와 연관된 위치들을 나타내는 데이터베이스는 특정 IP 어드레스에 관해 변경되지 않을 수 있다). 예를 들면, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스의 특정 IP 어드레스에 현재 대응하는 위도 및 경도와 특정 IP 어드레스에 현재 대응하는 위도 및 경도 사이의 거리가 제 4 임계 거리를 초과하지 않는 경우, 데이터베이스에 저장된 특정 IP 어드레스에 대응하는 위치 정보에 관해 처리를 수행할 필요가 없다. 예를 들면, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스는 IP 어드레스에 원래 대응한 위도 및 경도를 유지할 수 있다.
도 1의 단계(160)를 다시 참조하면, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 IP 어드레스를 포함하는 경우, 단계(160)에서, IP 어드레스에 대응하는 위치는 단말의 위치인 것으로 결정될 수 있다. 즉, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 단말의 IP 어드레스를 포함하는 경우, IP 어드레스에 대응하는 위치(예를 들면, 위도 및 경도)는 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스에서 룩업된다. 단말의 현재 위치는 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스에 저장된 IP 어드레스에 대응하는 위치의 위도 및 경도인 것으로 결정된다.
IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 IP 어드레스를 가지지 않는 경우, 단말의 위치확인은 실패한 것으로 결정될 수 있다. 예를 들면, 방법(100)은 단말에 위치 제공 없이 종료할 수 있다. 즉, 단말의 IP 어드레스에 대응하는 위도 및 경도는 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스에서 찾을 수 없다. 따라서, 단말의 위치확인은 실패했다.
도 10은 본 출원의 다양한 실시예들에 따라 단말 위치를 결정하기 위한 디바이스의 도면이다.
도 10을 참조하면, 단말의 위치를 결정하기 위한 디바이스(1000)가 제공된다. 일부 실시예들에서, 디바이스(1000)는 도 1의 방법(100), 도 2의 방법(200), 도 3의 방법(300), 도 4의 방법(400), 도 5의 방법(500), 도 6의 방법(600), 도 7의 방법(700), 도 8의 방법(800), 도 9의 방법(900) 또는 그들의 임의의 조합을 구현한다. 일부 실시예들에서, 디바이스(1000)는 도 11의 시스템(1100)에서 구현될 수 있다. 예를 들면, 디바이스(1000)는 도 11의 서버(1120), 도 11의 데이터베이스(1140) 등, 또는 그것의 임의의 조합에 대응할 수 있다.
일부 실시예들에서, 디바이스(1000)는 서버에 대응한다. 서버는 클라이언트 단말에 위치-기반 서비스를 제공하는 서버일 수 있다. 예를 들면, 서버는 웹사이트 또는 웹 서비스를 호스팅하는 서버에 대응할 수 있다. 일부 실시예들에서, 디바이스(1000)는 클라이언트 단말에 위치-기반 서비스를 제공하는 다른 서버에 접속되는 서버에 대응한다.
일부 실시예들에서, 디바이스(1000)는 클라이언트 단말에 대응한다.
일부 실시예들에서, 디바이스(1000)는 제 1 획득 모듈(1010), 제 1 평가 모듈(1020) 및 제 1 결정 모듈(1030)을 포함한다.
제 1 획득 모듈(1010)은 단말이 인터넷에 접속할 때 네트워크 장비(예를 들면, 무선 신호 송수신기 장비)의 MAC 어드레스를 획득하도록 구성될 수 있다. 단말은 네트워크 장비(예를 들면, 무선 신호 송수신기 장비)에 의해 전송되는 무선 네트워크 신호들을 수신함으로써 인터넷에 접속할 수 있다.
제 1 평가 모듈(1020)은 MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 단말에 대응하는 MAC 어드레스를 포함하는지를 결정하도록 구성될 수 있다.
제 1 결정 모듈(1030)은 데이터베이스가 단말에 대응하는 MAC 어드레스를 포함하는 경우에 데이터베이스(예를 들면, MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스)에 포함된 MAC 어드레스에 대응하는 위치를 단말의 현재 위치인 것으로 결정하도록 구성될 수 있다.
일부 실시예들에서, 디바이스(1000)는 제 2 획득 모듈, 제 2 평가 모듈 및 제 2 결정 모듈을 포함한다.
제 2 획득 모듈은 MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 단말에 대응하는 MAC 어드레스를 포함하지 않는 경우에 단말의 IP 어드레스를 획득하도록 구성될 수 있다.
제 2 평가 모듈은 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 단말에 대응하는 IP 어드레스를 포함하는지를 결정하도록 구성될 수 있다.
제 2 결정 모듈은 IP 어드레스에 대응하는 위치를 단말의 현재 위치로서 결정하도록 구성될 수 있다.
디바이스(1000)는 제 1 수집 모듈을 더 포함할 수 있다. 제 1 수집 모듈은 MAC 어드레스들 및 그에 대응하는 위치 정보를 수집하도록 구성될 수 있다. 위치 정보는 인터넷에 액세스하는 장비(예를 들면, 디바이스)가 MAC 어드레스에 대응하는 무선 신호 송수신기 장비를 이용하여 인터넷에 접속할 때 장비의 위치들의 위도들 및 경도들을 포함할 수 있다.
디바이스(1000)는 제 3 결정 모듈을 더 포함할 수 있다. 제 3 결정 모듈은 MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스를 획득(예를 들면, 구성)하기 위해 각각의 수집된 MAC 어드레스 및 그에 대응하는 위치 정보를 각각의 MAC 어드레스에 대응하는 위도 및 경도를 결정하기 위한 기초로서 이용하도록 구성된다.
일부 실시예들에서, 제 3 결정 모듈은 제 1 처리 모듈 및 제 1 위도 및 경도 결정 모듈을 포함한다.
제 1 처리 모듈은 각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들을 획득하기 위해 각각의 수집된 MAC 어드레스에 대응하는 위치 정보를 처리하도록 구성될 수 있다.
제 1 위도 및 경도 결정 모듈은 각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들을 각각의 MAC 어드레스에 대응하는 위도 및 경도를 결정하기 위한 기초로서 이용하도록 구성될 수 있다.
일부 실시예들에서, 제 1 위도 및 경도 결정 모듈은 거리 평가 모듈과 위도 및 경도 결정 서브 모듈을 포함한다.
거리 평가 모듈은 각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들 중 MAC 어드레스 위도 및 경도 데이터의 두 조각들의 각각에 대응하는 위치들 사이의 거리가 제 1 임계 거리를 초과하는지를 결정하도록 구성될 수 있다.
위도 및 경도 결정 서브 모듈은, MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들 중 MAC 어드레스 위도 및 경도 데이터의 두 조각들의 각각에 대응하는 위치들 사이의 거리가 제 1 임계 거리를 초과하는 경우에, MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들의 위도들 및 경도들의 평균이 MAC 어드레스에 대응하는 위도 및 경도에 대응한다고 결정하도록 구성될 수 있다.
일부 실시예들에서, 위도 및 경도 결정 서브 모듈은 또한, MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들 중 MAC 어드레스 위도 및 경도 데이터의 임의의 두 조각들에 대응하는 위치들 사이의 거리가 제 1 임계 거리를 초과하는 경우에, MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들 중 가장 큰 발생 일수를 가진 MAC 어드레스 위도 및 경도 데이터의 미리 결정된 양이 MAC 어드레스에 대응하는 위도 및 경도를 결정하기 위한 기초의 역할을 한다고 결정하도록 구성될 수 있다.
일부 실시예들에서, 디바이스(1000)는 신뢰도 결정 모듈을 더 포함할 수 있다. 신뢰도 모듈은 각각의 MAC 어드레스에 대응하는 신호 세기를 각각의 MAC 어드레스에 대응하는 위도 및 경도의 신뢰도를 결정하기 위한 기초로서 이용하도록 구성될 수 있다.
디바이스(1000)는 제 2 수집 모듈을 더 포함할 수 있다. 제 2 수집 모듈은 IP 어드레스들 및 각각의 IP 어드레스의 위치 정보를 수집하도록 구성될 수 있다. IP 어드레스들의 위치 정보는 인터넷이 IP 어드레스들을 통해 액세스될 때의 위치들의 위도들 및 경도들을 포함할 수 있다.
디바이스(1000)는 제 4 결정 모듈을 더 포함할 수 있다. 제 4 결정 모듈은 각각의 수집된 IP 어드레스의 위치 정보에 따라 각각의 IP 어드레스에 대응하는 위도 및 경도를 결정하도록 구성될 수 있다.
디바이스(1000)는 병합 모듈(margining module)을 더 포함할 수 있다. 병합 모듈은 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스를 획득(예를 들면, 구성)하기 위해 이전에 획득된 IP 어드레스 기본 데이터베이스와 각각의 IP 어드레스에 대응하는 결정된 위도 및 경도를 병합하여 처리하도록 구성될 수 있다.
일부 실시예들에서, 디바이스(1000)는 제 4 결정 모듈을 포함할 수 있다. 제 4 결정 모듈은 제 2 처리 모듈 및 제 2 위도 및 경도 결정 모듈을 포함할 수 있다.
제 2 처리 모듈은 각각의 수집된 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 하나 이상의 조각들을 획득하기 위해 각각 수집된 IP 어드레스 및 각각의 IP 어드레스의 위치 정보를 처리하도록 구성될 수 있다.
제 2 위도 및 경도 결정 모듈은 각각 수집된 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 하나 이상의 조각들을 각각의 IP 어드레스에 대응하는 위도 및 경도를 결정하기 위한 기초로서 이용하도록 구성될 수 있다.
일부 실시예들에서, 제 2 결정 모듈은 가중치 결정 모듈 및 제 2 위도 및 경도 결정 서브 모듈을 더 포함할 수 있다.
가중치 결정 모듈은 각각의 IP 어드레스에 대해, IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 각각의 조각의 가중치를 결정하도록 구성될 수 있다.
제 2 위도 및 경도 결정 서브 모듈은 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 하나 이상의 조각들 중 가장 큰 가중치를 가진 IP 어드레스 위도 및 경도 데이터의 위도 및 경도를 IP 어드레스에 대응하는 위도 및 경도로서 결정하도록 구성될 수 있다.
일부 실시예들에서, 가중 결정 모듈은 획득 서브-모듈 및 가중치 결정 서브-모듈을 더 포함할 수 있다.
획득 서브-모듈은 IP 어드레스에 대응하는 IP 어드레스 지리적 좌표 데이터의 각각의 조각에 대응하는 위치들의 미리 결정된 범위 내에서 발생하는 IP 어드레스 지리적 좌표 데이터의 하나 이상의 조각들을 획득하도록 구성될 수 있다.
가중치 결정 서브-모듈은 미리 결정된 시간 기간 내에서 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 각각의 조각의 발생 일수 및 대응하는 위치의 미리 결정된 범위 내에서 발생하는 IP 어드레스 위도 및 경도 데이터의 하나 이상의 조각들의 발생 일수에 따라 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 각각의 조각의 가중치를 결정하도록 구성될 수 있다.
일부 실시예들에서, 디바이스(1000)는 IP 어드레스와 연관된 위치들을 나타내는 데이터베이스를 구성(예를 들면, 업데이트)하기 위한 업데이팅 모듈을 더 포함할 수 있다. 업데이팅 모듈은 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스를 미리 결정된 간격들에서 업데이트하도록 구성될 수 있다. 업데이팅 모듈은 수집 서브-모듈, 결정 서브-모듈, 제 1 평가 서브-모듈 및 추가 서브-모듈을 더 포함할 수 있다.
수집 서브-모듈은 현재 일자에서 발생한 IP 어드레스들 및 각각의 IP 어드레스의 위치 정보를 수집하도록 구성될 수 있다.
결정 서브-모듈은 현재 시간에 가장 가까운 발생 시간을 가진 각각의 IP 어드레스의 위치 정보의 위도 및 경도를 IP 어드레스에 현재 대응하는 위도 및 경도로서 결정하도록 구성될 수 있다.
제 1 평가 서브-모듈은 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 IP 어드레스를 포함하는지를 결정하도록 구성될 수 있다.
추가 서브-모듈은 데이터베이스가 IP 어드레스를 포함하지 않는 경우에 현재 대응하는 위도 및 경도에의 IP 어드레스의 대응을 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스에 추가하도록 구성될 수 있다.
일부 실시예들에서, 업데이팅 모듈은 제 2 평가 서브-모듈 및 대체 서브-모듈을 더 포함한다.
제 2 평가 서브-모듈은 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 IP 어드레스를 포함하는 경우에 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스의 IP 어드레스에 대응하는 위치와 IP 어드레스에 현재 대응하는 위도 몇 경도 사이의 거리가 임계 거리(예를 들면, 제 4 임계 거리)를 초과하는지를 결정하도록 구성될 수 있다.
대체 서브-모듈은, IP 어드레스들 및 위치들의 상기 대응 데이터베이스의 상기 IP 어드레스에 대응하는 위치와 상기 IP 어드레스에 현재 대응하는 위도 몇 경도 사이의 거리가 제 2 미리 결정된 거리를 초과하는 경우, IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스의 IP 어드레스에 대응하는 위치와 IP 어드레스에 현재 대응하는 위도 몇 경도 사이의 거리가 임계 거리(예를 들면, 제 4 임계 거리)를 초과하는 경우에 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스의 IP 어드레스에 대응하는 위도 및 경도를 IP 어드레스에 현재 대응하는 위도 몇 경도로 대체하도록 구성될 수 있다.
도 11은 본 출원의 다양한 실시예들에 따라 단말 위치를 결정하기 위한 시스템의 구성 블록도이다.
도 11을 참조하면, 단말의 위치를 결정하기 위한 시스템(1100)이 제공된다. 일부 실시예들에서, 시스템(1100)은 도 1의 방법(100), 도 2의 방법(200), 도 3의 방법(300), 도 4의 방법(400), 도 5의 방법(500), 도 6의 방법(600), 도 7의 방법(700), 도 8의 방법(800), 도 9의 방법(900) 또는 그들의 임의의 조합을 구현한다. 일부 실시예들에서, 도 10의 디바이스(1000)는 시스템(1100)에서 구현될 수 있다. 예를 들면, 디바이스(1000)는 서버(1120), 데이터베이스(1140) 등, 또는 그것의 임의의 조합에 대응할 수 있다.
단말의 위치를 결정하기 위한 시스템(1100)은 클라이언트 단말(1110) 및 서버(1120)를 포함한다.
시스템(1100)은 또한 클라이언트 단말(1110) 및 서버(1120)는 통신할 수 있는 네트워크를 포함할 수 있다. 네트워크(1130)는 LAN, 광역 네트워크(WAN), 인터넷 등일 수 있다.
시스템(1100)은 하나 이상의 데이터베이스(1140)를 포함할 수 있다. 일부 실시예들에서, 데이터베이스(1140)는 MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스에 대응할 수 있다. 일부 실시예들에서, 데이터베이스(1140)는 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스에 대응할 수 있다. 일부 실시예들에서, 서버(1120)는 데이터베이스(1140)를 구성할 수 있다. 예를 들면, 서버(1120)는 데이터베이스(1140)를 업데이트할 수 있다(예를 들면, MAC 어드레스 또는 IP 어드레스와 같은 어드레스들에의 위치들의 매핑을 업데이트하도록). 서버(1120)는 단말(1110)에 의한 서버(1120)(예를 들면, 또는 인터넷)의 액세스와 관련하여 단말(1110)로부터 수신되는 MAC 어드레스 또는 IP 어드레스에 적어도 부분적으로 기초하여 단말(1110)의 현재 위치를 결정하기 위해 데이터베이스(1140)에 조회할 수 있다.
도 12는 본 개시내용의 다양한 실시예들에 따라 단말의 위치를 결정하기 위한 컴퓨터 시스템의 기능도이다.
도 12를 참조하면, 웹사이트에 액세스하기 위한 또는 웹사이트에 액세스하는 단말이 모바일 단말인지를 결정하기 위한 컴퓨터 시스템(1200)이 제공된다. 알 수 있는 바와 같이, 다른 컴퓨터 시스템 아키텍처들 및 구성들은 영상 통화들을 구현하기 위해 이용될 수 있다. 컴퓨터 시스템(1200)은 후술되는 바와 같이 다양한 서브시스템들을 포함하며, 적어도 하나의 마이크로프로세서 서브시스템(또한, 처리기 또는 중앙 처리 장치(CPU)로 칭해짐)(1202)을 포함한다. 예를 들면, 처리기(1202)는 단일-칩 처리기에 의해 또는 다중 처리기들에 의해 구현될 수 있다. 일부 실시예들에서, 처리기(1202)는 컴퓨터 시스템(1200)의 동작을 제어하는 범용 디지털 처리기이다. 메모리(1210)로부터 검색되는 지시들을 이용하여, 처리기(1202)는 입력 데이터의 수신 및 조작과, 출력 디바이스들(예를 들면, 디스플레이(1218)) 상의 데이터의 출력 및 디스플레이를 제어한다.
처리기(1202)는 1차 저장장치, 통상적으로 랜덤 액세스 메모리(RAM), 및 2차 저장 영역, 통상적으로 판독 전용 메모리(ROM)를 포함할 수 있는 메모리(1210)와 양방향으로 결합된다. 본 기술분야에 잘 알려진 바와 같이, 1차 저장장치는 일반 저장 영역으로 및 스크래치-패드 메모리로 이용될 수 있고, 또한 입력 데이터 및 처리된 데이터를 저장하기 위해 이용될 수 있다. 1차 저장장치는 또한 처리기(1202) 상에서 동작하는 처리들을 위한 다른 데이터 및 지시들 외에도, 데이터 오브젝트들 및 텍스트 오브젝트들의 형태로 프로그래밍 지시들 및 데이터를 저장할 수 있다. 또한, 본 기술분야에 잘 알려진 바와 같이, 1차 저장장치는 통상적으로 그 기능들(예를 들면, 프로그래밍된 지시들)을 수행하기 위해 처리기(1202)에 의해 이용된 기본 오퍼레이팅 지시들, 프로그램 코드, 데이터 및 오브젝트들을 포함한다. 예를 들면, 메모리(1210)는 예를 들면, 데이터 액세스가 양방향이어야 하는지 또는 단방향이어야 하는지에 의존하여, 후술되는 임의의 적당한 컴퓨터-판독 가능한 저장 매체들을 포함할 수 있다. 예를 들면, 처리기(1202)는 또한 캐시 메모리(도시되지 않음)에서 빈번하게 필요한 데이터를 직접적이고 매우 신속하게 검색 및 저장할 수 있다.
착탈 가능한 대용량 저장 디바이스(1212)는 컴퓨터 시스템(1200)을 위한 추가적인 데이터 저장 능력을 제공하고, 프로세서(1202)에 양방향(읽기/쓰기)으로 또는 단방향(읽기 전용)으로 결합된다. 예를 들면, 저장장치(1212)는 또한, 자기 테이프, 플래시 메모리, PC-CARDS, 휴대용 대용량 저장 디바이스들, 홀로그래픽 저장 디바이스들 및 다른 저장 디바이스들과 같은 컴퓨터-판독 가능한 매체들을 포함할 수 있다. 고정 대용량 저장장치(1220)는 또한, 예를 들면, 추가적인 데이터 저장 능력을 제공한다. 대용량 저장장치(1220)의 가장 일반적인 예는 하드 디스크 드라이브이다. 대용량 저장 디바이스(1212) 및 고정 대용량 저장장치(1220)는 일반적으로, 통상적으로 처리기(1202)에 의해 활성 이용 상태가 아닌 추가적인 프로그래밍 지시들, 데이터 등을 저장한다. 대용량 저장 디바이스(1212) 및 고정 대용량 저장장치(1220) 내에 유지되는 정보는, 필요시, 가상 메모리로서 메모리(1210)(예를 들면, RAM)의 일부로서 표준 방식으로 통합될 수 있음을 알 것이다.
저장 서브시스템들에 대한 처리기(1202) 액세스를 제공하는 것 외에도, 버스(1214)가 또한, 다른 서브시스템들 및 디바이스들에 대한 액세스를 제공하기 위해 이용될 수 있다. 도시된 바와 같이, 이들은 디스플레이 모니터(1218), 네트워크 인터페이스(1216), 키보드(1204) 및 포인팅 디바이스(1206) 뿐 아니라 보조 입력/출력 디바이스 인터페이스, 사운드 카드, 스피커들 및 필요에 따른 다른 서브시스템들을 포함할 수 있다. 예를 들면, 포인팅 디바이스(1206)는 마우스, 스타일러스, 트랙볼 또는 태블릿일 수 있고, 그래픽 사용자 인터페이스와의 상호 작용에 유용하다.
네트워크 인터페이스(1216)는 처리기(1202)가 도시된 바와 같은 네트워크 접속을 이용하여 다른 컴퓨터, 컴퓨터 네트워크 또는 원격 통신 네트워크에 결합되도록 허용한다. 예를 들면, 네트워크 인터페이스(1216)를 통해, 처리기(1202)는 방법/프로세스 단계들을 수행하는 과정에서 다른 네트워크로부터 정보(예를 들면, 데이터 오프젝트들 또는 프로그램 지시들)를 수신하거나 다른 네트워크에 정보를 출력할 수 있다. 처리기 상에서 실행될 지시들의 시퀀스로 흔히 표현되는 정보는 다른 네트워크로부터 수신되고 다른 네트워크에 출력될 수 있다. 처리기(1202)에 의해 구현되는(예를 들면, 처리기 상에서 실행되는/수행되는) 적절한 소프트웨어 및 인터페이스 카드 또는 유사 디바이스는 컴퓨터 시스템(1200)을 외부 네트워크에 접속하고 표준 프로토콜들에 따라 데이터를 이송하기 위해 이용될 수 있다. 예를 들면, 본 명세서에 개시된 다양한 프로세스 실시예들은 처리기(1202) 상에서 실행될 수 있거나, 처리의 일부를 공유하는 원격 처리기와 함께, 인터넷, 인트라넷 네트워크들 또는 근거리 네트워크들과 같은 네트워크를 통해 수행될 수 있다. 추가적인 대용량 저장 디바이스들(도시되지 않음)은 또한 네트워크 인터페이스(1216)를 통해 처리기(1202)에 접속될 수 있다.
보조 I/O 디바이스 인터페이스(도시되지 않음)는 컴퓨터 시스템(1200)과 함께 이용될 수 있다. 보조 I/O 디바이스 인터페이스는 일반 및 맞춤식 인터페이스들을 포함할 수 있고, 이들은 처리기(1202)가, 더욱 일반적으로 마이크로폰들, 터치-감응식 디스플레이들, 트랜스듀서 카드 판독기들, 테이프 판독기들, 음성 또는 필기 인식기들, 생체 인식 판독기들, 카메라들, 휴대용 대용량 저장 디바이스들 및 기타 컴퓨터들과 같은 다른 디바이스들로부터 데이터를 송신 및 수신하도록 허용한다.
도 12에 도시된 컴퓨터 시스템은 본 명세서에 개시된 다양한 실시예들과의 이용에 적합한 컴퓨터 시스템의 일례일 뿐이다. 이러한 이용에 적합한 다른 컴퓨터 시스템들은 추가적인 또는 소수의 서브시스템들을 포함할 수 있다. 또한, 버스(1214)는 서브시스템들을 링크하는 역할을 하는 임의의 상호접속 방식을 예시한다. 서브시스템들의 상이한 구성들을 가진 다른 컴퓨터 아키텍처들도 또한 활용될 수 있다.
상술된 모듈들은 하나 이상의 범용 프로세서들 상에서 실행하는 소프트웨어 구성요소들로서, 프로그램 가능한 논리 디바이스들과 같은 하드웨어로서, 및/또는 특정 기능들 또는 그들의 조합을 수행하도록 설계된 주문형 집적 회로들로서 구현될 수 있다. 일부 실시예들에서, 모듈들은 컴퓨터 디바이스(예를 들면, 개인용 컴퓨터들, 서버들, 네트워크 장비 등)가 본 발명의 실시예들에 기재된 방법들을 구현하게 하기 위한 다수의 지시들을 포함하여, 비휘발성 저장 매체(예를 들면 광학 디스크, 플래시 저장 디바이스, 모바일 하드 디스크 등)에 저장될 수 있는 소프트웨어 제품들의 형태로 구현될 수 있다. 모듈들은 단일 디바이스 상에서 구현될 수 있거나 다수의 디바이스들에 걸쳐 분산될 수 있다. 모듈들의 기능들은 서로 병합될 수 있거나 다수의 서브-모듈들로 더 분할될 수 있다.
상술된 실시예들이 명확한 이해를 목적으로 다소 상세하게 기술되었지만, 본 발명은 제공된 세부 사항들에 제한되지 않는다. 본 발명을 구현하는 많은 대안적인 방법들이 있다. 개시된 실시예들은 제한적인 것이 아니라 예시적이다.
1010: 제 1 획득 모듈 1020: 제 1 평가 모듈
1030: 제 1 결정 모듈 1110: 단말
1130: 네트워크 1120: 서버
1140: 데이터베이스 1202: 처리기
1204: 키보드 1206: 포인팅 디바이스
1210: 메모리
1212: 착탈 가능한 대용량 저장 디바이스 1216: 네트워크 인터페이스
1218: 디스플레이
1220: 고정 대용량 저장 디바이스

Claims (22)

  1. 네트워크에 액세스하기 위해 단말에 의해 이용된 네트워크 장비의 미디어 액세스 제어(MAC; Media Access Control) 어드레스를 획득하는 단계;
    각각의 MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 상기 획득된 MAC 어드레스를 포함하는지를 결정하는 단계;
    각각의 MAC 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스가 상기 획득된 MAC 어드레스를 포함하는 경우에, 상기 단말의 현재 위치가 상기 데이터베이스에 저장되는 상기 획득된 MAC 어드레스와 연관된 위치에 대응한다고 결정하는 단계;
    각각의 MAC 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스가 상기 획득된 MAC 어드레스를 포함하지 않는 경우에, 상기 단말의 인터넷 프로토콜(IP; Internet Protocol) 어드레스와 연관된 위치를 획득하는 단계;
    각각의 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 상기 단말의 상기 IP 어드레스와 연관된 상기 위치를 포함하는지를 결정하는 단계;
    각각의 IP 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스가 상기 단말의 상기 IP 어드레스와 연관된 상기 위치를 포함한다는 결정에 대한 응답으로, 상기 단말의 상기 현재 위치가 상기 데이터베이스에 저장되는 상기 단말의 상기 IP 어드레스와 연관된 상기 위치에 대응한다고 결정하는 단계; 및
    상기 단말의 상기 현재 위치를 출력하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 네트워크 장비는 무선 신호들을 이용하는 상기 단말과 통신하는 무선 신호 송수신기 장비인, 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    각각의 MAC 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스를 구성하는 단계를 더 포함하고, 각각의 MAC 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스를 구성하는 상기 단계는:
    MAC 어드레스들 및 대응하는 위치 정보를 수집하는 단계로서, 상기 위치 정보는 디바이스가 특정 MAC 어드레스에 대응하는 네트워크 장비를 이용하여 인터넷에 접속하는 동안 상기 디바이스의 위도 및 경도를 포함하는, 상기 수집 단계; 및
    각각의 MAC 어드레스에 대응하는 위도들 및 경도들을 결정하고, 각각의 MAC 어드레스들과 연관된 위치들의 매핑을 생성하기 위해, 상기 수집된 MAC 어드레스들 및 대응하는 위치 정보를 이용하는 단계를 포함하는, 방법.
  5. 제 4 항에 있어서,
    상기 MAC 어드레스들에 대응하는 상기 위도들 및 상기 경도들을 결정하고, 각각의 MAC 어드레스들과 연관된 위치들의 상기 매핑을 생성하기 위해, 상기 수집된 MAC 어드레스들 및 대응하는 위치 정보를 이용하는 상기 단계는:
    상기 수집된 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 하나 이상의 조각들(pieces)을 획득하기 위해 수집된 MAC 어드레스에 대응하는 상기 위치 정보를 처리하는 단계; 및
    상기 특정한 MAC 어드레스에 대응하는 위도 및 경도를 결정하기 위해 각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 상기 하나 이상의 조각들을 이용하는 단계를 포함하는, 방법.
  6. 제 5 항에 있어서,
    MAC 어드레스 위도 및 경도 데이터의 복수의 조각들이 획득되고;
    상기 MAC 어드레스에 대응하는 상기 위도 및 경도를 결정하기 위해 상기 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 상기 하나 이상의 조각들을 이용하는 상기 단계는:
    각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 상기 복수의 조각들 중 MAC 어드레스 위도 및 경도 데이터의 임의의 2개의 조각들에 각각 대응하는 위치들 사이의 거리가 제 1 임계 거리를 초과하는지를 결정하는 단계; 및
    각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 상기 복수의 조각들 중 MAC 어드레스 위도 및 경도 데이터의 임의의 2개의 조각들에 각각 대응하는 상기 위치들 사이의 상기 거리들 중 어느 것도 상기 제 1 임계 거리를 초과하지 않는 경우에, 상기 MAC 어드레스에 대응하는 상기 위도 및 상기 경도가 MAC 어드레스 위도 및 경도 데이터의 상기 복수의 조각들의 상기 위도들 및 경도들의 평균에 대응한다고 결정하는 단계를 포함하는, 방법.
  7. 제 6 항에 있어서,
    MAC 어드레스 위도 및 경도 데이터의 상기 복수의 조각들 중 MAC 어드레스 위도 및 경도 데이터의 임의의 2개의 조각들에 각각 대응하는 상기 위치들 사이의 거리가 상기 제 1 임계 거리를 초과하는 경우에, 상기 MAC 어드레스에 대응하는 상기 위도 및 상기 경도가 상기 복수의 MAC 어드레스 위도 및 경도 데이터 중 가장 큰 발생 일수들을 가진 MAC 어드레스 위도 및 경도 데이터의 미리 결정된 양과 연관되는 위도 및 경도에 대응한다고 결정하는 단계를 더 포함하는, 방법.
  8. 제 5 항에 있어서,
    상기 데이터베이스에 저장된 각각의 MAC 어드레스에 대응하는 각각의 위도 및 경도의 신뢰도(confidence level)를 결정하는 단계를 더 포함하는, 방법.
  9. 제 4 항에 있어서,
    각각의 IP 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스를 구성하는 단계를 더 포함하고, 각각의 IP 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스를 구성하는 상기 단계는:
    상기 IP 어드레스들에 각각 대응하는 IP 어드레스들 및 위치 정보를 수집하는 단계로서, 상기 수집된 IP 어드레스들 중 하나의 IP 어드레스에 대응하는 상기 위치 정보는: 상기 인터넷이 상기 각각의 IP 어드레스를 통해 액세스된 위치의 지리적 좌표를 포함하는, 상기 수집 단계:
    상기 위치 정보에 적어도 부분적으로 기초하여 상기 IP 어드레스들에 각각 대응하는 위도들 및 경도들을 결정하는 단계; 및
    상기 IP 어드레스들에 대응하는 상기 결정된 위도들 및 경도들과 이전에 획득된 IP 어드레스 베이스 데이터베이스 중 하나에 적어도 부분적으로 기초하여 각각의 IP 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스를 구성하는 단계를 포함하는, 방법.
  10. 제 9 항에 있어서,
    상기 위치 정보에 적어도 부분적으로 기초하여 상기 IP 어드레스들에 대응하는 상기 위도들 및 상기 경도들을 결정하는 상기 단계는:
    상기 수집된 IP 어드레스에 대응하는 IP 어드레스 지리적 좌표 데이터의 하나 이상의 조각들을 획득하기 위해, 수집된 IP 어드레스 및 IP 어드레스 위치 정보의 조각을 처리하는 단계; 및
    상기 IP 어드레스에 대응하는 상기 위도 및 상기 경도를 결정하기 위해 상기 수집된 IP 어드레스에 대응하는 IP 어드레스 지리적 좌표 데이터의 상기 하나 이상의 조각들을 이용하는 단계를 포함하는, 방법.
  11. 제 10 항에 있어서,
    상기 IP 어드레스에 대응하는 상기 위도 및 상기 경도를 결정하기 위해 상기 수집된 IP 어드레스에 대응하는 IP 어드레스 지리적 좌표 데이터의 상기 하나 이상의 조각들을 이용하는 상기 단계는:
    상기 IP 어드레스에 대해, 상기 IP 어드레스에 대응하는 IP 어드레스 지리적 좌표 데이터의 각각의 조각의 가중치를 결정하는 단계; 및
    상기 IP 어드레스와 연관된 지리적 좌표가 상기 IP 어드레스에 대응하는 IP 어드레스 지리적 좌표 데이터의 상기 하나 이상의 조각들 중 가장 큰 가중치를 가진 상기 IP 어드레스 지리적 좌표 데이터의 지리적 좌표에 대응한다고 결정하는 단계를 포함하는, 방법.
  12. 제 11 항에 있어서,
    상기 IP 어드레스에 대해, 상기 IP 어드레스에 대응하는 IP 어드레스 지리적 좌표 데이터의 각각의 조각의 상기 가중치를 결정하는 상기 단계는:
    상기 IP 어드레스에 대응하는 IP 어드레스 지리적 좌표 데이터의 각각의 조각에 대응하는 위치들의 임계 범위 내에서 발생하는 IP 어드레스 지리적 좌표 데이터의 하나 이상의 조각들을 획득하는 단계; 및
    임계 시간 기간 내의 상기 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 각각의 조각의 발생 일수들 및 대응하는 위치의 임계 범위 내에서 발생하는 IP 어드레스 위도 및 경도 데이터의 하나 이상의 조각들의 발생 일수들에 따라 상기 IP 어드레스에 대응하는 IP 어드레스 위도 및 경도 데이터의 각각의 조각의 가중치를 결정하는 단계를 포함하는, 방법.
  13. 제 9 항에 있어서,
    각각의 IP 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스를 미리 결정된 간격들에서 업데이트하는 단계를 더 포함하고, 상기 데이터베이스 업데이트 단계는:
    현재 일자에 발생한 IP 어드레스들 및 각각의 수집된 IP 어드레스의 위치 정보를 수집하는 단계;
    특정 IP 어드레스에 현재 대응하는 위도 및 경도에 대응하기 위해 현재 시간에 가장 가까운 발생 시간을 가진 각각의 수집된 IP 어드레스의 상기 위치 정보와 연관된 위도 및 경도를 결정하는 단계;
    각각의 IP 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스가 상기 특정 IP 어드레스를 포함하는지를 결정하는 단계; 및
    각각의 IP 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스가 상기 특정 IP 어드레스를 포함하지 않는 경우에, 상기 특정 IP 어드레스 및 대응하는 위도 및 경도를 각각의 IP 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스에 추가하는 단계를 포함하는, 방법.
  14. 제 13 항에 있어서,
    각각의 IP 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스가 상기 특정 IP 어드레스를 포함하는 경우에, 각각의 IP 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스의 상기 특정 IP 어드레스에 대응하는 위치와 상기 특정 IP 어드레스에 현재 대응하는 상기 위도 및 상기 경도 사이의 거리가 제 4 임계 거리를 초과하는지를 결정하는 단계; 및
    각각의 IP 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스의 상기 특정 IP 어드레스에 대응하는 상기 위치와 상기 특정 IP 어드레스에 현재 대응하는 상기 위도 및 상기 경도 사이의 상기 거리가 상기 제 4 임계 거리를 초과하는 경우에, 각각의 IP 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스의 상기 특정 IP 어드레스에 대응하는 위도 및 경도를 상기 특정 IP 어드레스에 현재 대응하는 상기 위도 및 상기 경도와 대체하는 단계를 더 포함하는, 방법.
  15. 디바이스에 있어서:
    적어도 하나의 처리기로서:
    네트워크에 액세스하기 위해 단말에 의해 이용된 네트워크 장비의 미디어 액세스 제어(MAC) 어드레스를 획득하고;
    각각의 MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 상기 획득된 MAC 어드레스를 포함하는지를 결정하고;
    각각의 MAC 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스가 상기 획득된 MAC 어드레스를 포함하는 경우에, 상기 단말의 현재 위치가 상기 데이터베이스에 저장되는 상기 획득된 MAC 어드레스와 연관된 위치에 대응한다고 결정하고;
    각각의 MAC 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스가 상기 획득된 MAC 어드레스를 포함하지 않는 경우에, 상기 단말의 인터넷 프로토콜(IP; Internet Protocol) 어드레스와 연관된 위치를 획득하고;
    각각의 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 상기 단말의 상기 IP 어드레스와 연관된 상기 위치를 포함하는지를 결정하고;
    각각의 IP 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스가 상기 단말의 상기 IP 어드레스와 연관된 상기 위치를 포함한다는 결정에 대한 응답으로, 상기 단말의 상기 현재 위치가 상기 데이터베이스에 저장되는 상기 단말의 상기 IP 어드레스와 연관된 상기 위치에 대응한다고 결정하고;
    상기 단말의 상기 현재 위치를 출력하도록 구성되는, 상기 적어도 하나의 처리기; 및
    상기 적어도 하나의 처리기에 결합되고 상기 적어도 하나의 처리기에 지시들을 제공하도록 구성되는 메모리를 포함하는, 디바이스.
  16. 제 15 항에 있어서,
    상기 네트워크 장비는 무선 신호들을 이용하여 상기 단말과 통신하는 무선 신호 송수신기 장비인, 디바이스.
  17. 삭제
  18. 유형의 비-일시적 컴퓨터-판독 가능한 저장 매체에서 구현되는 컴퓨터 프로그램이 기록된 컴퓨터 판독가능한 기록 매체에 있어서:
    네트워크에 액세스하기 위해 단말에 의해 이용된 네트워크 장비의 미디어 액세스 제어(MAC) 어드레스를 획득하고;
    각각의 MAC 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 상기 획득된 MAC 어드레스를 포함하는지를 결정하고;
    각각의 MAC 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스가 상기 획득된 MAC 어드레스를 포함하는 경우에, 상기 단말의 현재 위치가 상기 데이터베이스에 저장되는 상기 획득된 MAC 어드레스와 연관된 위치에 대응한다고 결정하고;
    각각의 MAC 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스가 상기 획득된 MAC 어드레스를 포함하지 않는 경우에, 상기 단말의 인터넷 프로토콜(IP; Internet Protocol) 어드레스와 연관된 위치를 획득하고;
    각각의 IP 어드레스들과 연관된 위치들을 나타내는 데이터베이스가 상기 단말의 상기 IP 어드레스와 연관된 위치를 포함하는지를 결정하고;
    각각의 IP 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스가 상기 단말의 상기 IP 어드레스와 연관된 상기 위치를 포함한다는 결정에 대한 응답으로, 상기 단말의 상기 현재 위치가 상기 데이터베이스에 저장되는 상기 단말의 상기 IP 어드레스와 연관된 상기 위치에 대응한다고 결정하고;
    상기 단말의 상기 현재 위치를 출력하기 위한 컴퓨터 지시들을 포함하는, 컴퓨터 판독가능한 기록 매체.
  19. 제 18 항에 있어서,
    상기 네트워크 장비는 무선 신호들을 이용하여 상기 단말과 통신하는 무선 신호 송수신기 장비인, 컴퓨터 판독가능한 기록 매체.
  20. 삭제
  21. 제 18 항에 있어서,
    각각의 MAC 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스를 구성하기 위한 컴퓨터 지시들을 더 포함하고, 각각의 MAC 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스를 구성하는 단계는:
    MAC 어드레스들 및 대응하는 위치 정보를 수집하는 단계로서, 상기 위치 정보는 디바이스가 특정 MAC 어드레스에 대응하는 네트워크 장비를 이용하여 인터넷에 접속하는 동안 상기 디바이스의 위도 및 경도를 포함하는, 상기 수집 단계; 및
    각각의 MAC 어드레스에 대응하는 위도들 및 경도들을 결정하고, 각각의 MAC 어드레스들과 연관된 위치들의 매핑을 생성하기 위해, 상기 수집된 MAC 어드레스들 및 대응하는 위치 정보를 이용하는 단계를 포함하는, 컴퓨터 판독가능한 기록 매체.
  22. 각각의 미디어 액세스 제어(MAC) 어드레스들과 연관된 위치들을 나타내는 데이터베이스를 구성하는 단계를 포함하는 방법으로서, 상기 데이터베이스를 구성하는 단계는:
    MAC 어드레스들 및 대응하는 위치 정보를 수집하는 단계로서, 상기 위치 정보는 디바이스가 특정 MAC 어드레스에 대응하는 네트워크 장비를 이용하여 하나 이상의 네트워크들에 접속하는 동안 상기 디바이스의 위도 및 경도를 포함하는, 상기 수집 단계; 및
    각각의 MAC 어드레스에 대응하는 위도들 및 경도들을 결정하고, 각각의 MAC 어드레스들과 연관된 위치들의 매핑을 생성하기 위해, 상기 수집된 MAC 어드레스들 및 대응하는 위치 정보를 이용하는 단계를 포함하고, 상기 수집된 MAC 어드레스들 및 대응하는 위치 정보를 이용하는 단계는:
    상기 수집된 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 복수의 조각들(pieces)을 획득하기 위해 수집된 MAC 어드레스에 대응하는 상기 위치 정보를 처리하는 단계; 및
    상기 특정한 MAC 어드레스에 대응하는 위도 및 경도를 결정하기 위해 각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 상기 복수의 조각들을 이용하는 단계를 포함하고, 상기 MAC 어드레스 위도 및 경도 데이터의 상기 복수의 조각들을 이용하는 단계는:
    각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 상기 복수의 조각들 중 MAC 어드레스 위도 및 경도 데이터의 임의의 2개의 조각들에 각각 대응하는 위치들 사이의 거리가 임계 거리를 초과하는지를 결정하는 단계; 및
    각각의 MAC 어드레스에 대응하는 MAC 어드레스 위도 및 경도 데이터의 상기 복수의 조각들 중 MAC 어드레스 위도 및 경도 데이터의 임의의 2개의 조각들에 각각 대응하는 상기 위치들 사이의 상기 거리들 중 어느 것도 상기 임계 거리를 초과하지 않는 경우에, 상기 MAC 어드레스에 대응하는 상기 위도 및 상기 경도가 MAC 어드레스 위도 및 경도 데이터의 상기 복수의 조각들의 상기 위도들 및 경도들의 평균에 대응한다고 결정하는 단계를 포함하며, 상기 방법은:
    네트워크에 액세스하기 위해 단말에 의해 이용된 네트워크 장비의 MAC 어드레스를 획득하는 단계;
    각각의 MAC 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스가 상기 획득된 MAC 어드레스를 포함하는지를 결정하는 단계;
    각각의 MAC 어드레스들과 연관된 위치들을 나타내는 상기 데이터베이스가 상기 획득된 MAC 어드레스를 포함하는 경우에, 상기 단말의 현재 위치가 상기 데이터베이스에 저장되는 상기 획득된 MAC 어드레스와 연관된 위치에 대응한다고 결정하는 단계; 및
    상기 단말의 상기 현재 위치를 출력하는 단계를 더 포함하는, 방법.
KR1020167028157A 2014-05-12 2015-05-12 단말의 위치를 결정하기 위한 방법, 장치 및 시스템 KR101782810B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201410199350.5 2014-05-12
CN201410199350.5A CN105100292B (zh) 2014-05-12 2014-05-12 确定终端的位置的方法及装置
US14/708,516 2015-05-11
US14/708,516 US9560621B2 (en) 2014-05-12 2015-05-11 Method, apparatus, and system for determining a location of a terminal
PCT/US2015/030304 WO2015175488A1 (en) 2014-05-12 2015-05-12 Method, apparatus, and system for determining a location of a terminal

Publications (2)

Publication Number Publication Date
KR20160132443A KR20160132443A (ko) 2016-11-18
KR101782810B1 true KR101782810B1 (ko) 2017-09-28

Family

ID=54369008

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167028157A KR101782810B1 (ko) 2014-05-12 2015-05-12 단말의 위치를 결정하기 위한 방법, 장치 및 시스템

Country Status (7)

Country Link
US (2) US9560621B2 (ko)
EP (1) EP3143813B1 (ko)
JP (1) JP6307176B2 (ko)
KR (1) KR101782810B1 (ko)
CN (1) CN105100292B (ko)
TW (1) TWI654867B (ko)
WO (1) WO2015175488A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102145576B1 (ko) 2019-03-28 2020-08-18 (주)제로웹 주 거주공간 클러스터링 방법

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105100292B (zh) * 2014-05-12 2018-12-18 阿里巴巴集团控股有限公司 确定终端的位置的方法及装置
CN106603733B (zh) * 2015-10-14 2019-12-27 阿里巴巴集团控股有限公司 路由器地址类型的识别方法及装置
CN106936887B (zh) 2015-12-31 2020-10-20 珠海金山办公软件有限公司 一种地理位置定位方法及装置
CN105704781A (zh) * 2016-01-13 2016-06-22 广东欧珀移动通信有限公司 一种移动终端定位方法、装置及移动终端
WO2017147835A1 (zh) * 2016-03-03 2017-09-08 臧利 基于基站的用户设备定位方法及系统
CN107222585A (zh) * 2016-03-21 2017-09-29 林政宗 适用于电子设备的现实地址与网络地址匹配的方法及系统
CN105933294B (zh) * 2016-04-12 2019-08-16 晶赞广告(上海)有限公司 网络用户定位方法、装置及终端
CN106658705B (zh) * 2016-12-07 2019-10-18 Oppo广东移动通信有限公司 一种网络定位方法及终端设备
CN106714103B (zh) * 2016-12-07 2019-09-27 Oppo广东移动通信有限公司 一种网络定位方法及终端设备
CN106507482B (zh) * 2016-12-07 2019-07-26 Oppo广东移动通信有限公司 一种网络定位方法及终端设备
CN108513351B (zh) * 2017-02-24 2020-11-03 中国移动通信集团福建有限公司 通信位置确定方法及装置
US20180351978A1 (en) * 2017-06-05 2018-12-06 Microsoft Technology Licensing, Llc Correlating user information to a tracked event
CN107707648B (zh) * 2017-09-28 2020-11-03 湖南省茂泽信息科技有限公司 一种可信定位方法
CN108282808A (zh) * 2017-12-22 2018-07-13 厦门市美亚柏科信息股份有限公司 无线终端的探测方法及其系统
US10762103B2 (en) * 2017-12-27 2020-09-01 Paypal, Inc. Calculating representative location information for network addresses
CN108269087B (zh) * 2018-01-12 2020-07-28 阿里巴巴集团控股有限公司 位置信息的处理方法及装置
CN108768862B (zh) * 2018-05-11 2020-10-30 哈尔滨工业大学 一种多接口路由器地理定位方法
US10924560B2 (en) * 2018-07-30 2021-02-16 Facebook, Inc. Determining geographic locations of network devices
CN109660503B (zh) * 2018-09-28 2023-04-18 深圳壹账通智能科技有限公司 分析用户终端异常使用行为的方法、装置、设备及介质
CN109583737A (zh) * 2018-11-22 2019-04-05 深圳前海点点电工网络科技有限公司 充电设施运维安装o2o模式择优指派任务的方法
US10893377B2 (en) * 2019-03-28 2021-01-12 Here Global B.V. Determining a position estimate of a mobile device based on layout information
CN110049434B (zh) * 2019-05-07 2020-11-17 腾讯科技(深圳)有限公司 一种定位方法、装置、设备及存储介质
CN110138892B (zh) * 2019-05-31 2021-12-07 秒针信息技术有限公司 确定设备地域信息的方法及装置
CN110247989A (zh) * 2019-07-05 2019-09-17 四川长虹电器股份有限公司 智能家居设备的地理位置信息获取方法及系统
US11736437B2 (en) * 2020-09-12 2023-08-22 Near Intelligence Llc Method for adaptive location assignment to IP-indexed data streams from partially observable data
RU2766548C1 (ru) * 2021-01-21 2022-03-15 Общество с ограниченной ответственностью "Технологии Отраслевой Трансформации" (ООО "ТОТ") Способ и устройство определения местоположения терминала
WO2022158995A1 (ru) * 2021-01-21 2022-07-28 Общество с ограниченной ответственностью "Технологии Отраслевой Трансформации" (ООО "ТОТ") Способ и устройство определения местоположения терминала
US11411839B1 (en) * 2021-02-10 2022-08-09 Citrix Systems, Inc. System and method to correlate end user experience with location
CN113259849B (zh) * 2021-05-17 2022-12-16 深圳市酷开网络科技股份有限公司 基于用户标签的小区覆盖量确定方法、装置和存储介质
CN113221092B (zh) * 2021-05-26 2024-05-31 德明通讯(上海)股份有限公司 一种基于信任环境的屏幕解锁方法、终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007121331A2 (en) 2006-04-13 2007-10-25 T-Mobile, Usa, Inc. Mobile computing device geographic location determination
US20100151816A1 (en) * 2008-12-16 2010-06-17 Jan Besehanic Methods and apparatus for associating media devices with a demographic composition of a geographic area
US8315649B1 (en) 2012-03-23 2012-11-20 Google Inc. Providing a geographic location of a device while maintaining geographic location anonymity of access points
US20130150085A1 (en) * 2006-10-20 2013-06-13 T-Mobile Usa, Inc. Two stage mobile device geographic location determination

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684959A (en) 1995-04-19 1997-11-04 Hewlett-Packard Company Method for determining topology of a network
US5508708A (en) 1995-05-08 1996-04-16 Motorola, Inc. Method and apparatus for location finding in a CDMA system
US5754767A (en) 1996-09-04 1998-05-19 Johnson Service Company Method for automatically determining the physical location of devices on a bus networked control system
US6236365B1 (en) 1996-09-09 2001-05-22 Tracbeam, Llc Location of a mobile station using a plurality of commercial wireless infrastructures
US5890068A (en) 1996-10-03 1999-03-30 Cell-Loc Inc. Wireless location system
US6131119A (en) 1997-04-01 2000-10-10 Sony Corporation Automatic configuration system for mapping node addresses within a bus structure to their physical location
US6684250B2 (en) 2000-04-03 2004-01-27 Quova, Inc. Method and apparatus for estimating a geographic location of a networked entity
US6782436B1 (en) 2000-04-21 2004-08-24 Richard A. Baker Method and apparatus for locating devices within a network system
US7000029B2 (en) 2001-09-12 2006-02-14 Tropic Networks Inc. Method and system for automatic address allocation in a network and network protocol therefor
US7898977B2 (en) * 2002-03-01 2011-03-01 Enterasys Networks Inc. Using signal characteristics to determine the physical location of devices in a data network
US6664925B1 (en) * 2002-05-02 2003-12-16 Microsoft Corporation Method and system for determining the location of a mobile computer
US7734760B2 (en) * 2003-02-14 2010-06-08 Intel Corporation Estimating the location of a network client using a media access control address
JP2004356950A (ja) * 2003-05-29 2004-12-16 Oki Electric Ind Co Ltd 無線端末及び無線アクセスシステム
KR20050065194A (ko) * 2003-12-24 2005-06-29 한국전자통신연구원 유엘아이디 위치식별 코드의 구조와 이를 이용한 위치정보획득 방법 및 그 위치기반서비스 시스템
US7110779B2 (en) 2004-01-29 2006-09-19 Harris Corporation Wireless communications system including a wireless device locator and related methods
US8369264B2 (en) * 2005-10-28 2013-02-05 Skyhook Wireless, Inc. Method and system for selecting and providing a relevant subset of Wi-Fi location information to a mobile client device so the client device may estimate its position with efficient utilization of resources
US9392406B2 (en) * 2005-02-03 2016-07-12 Trueposition, Inc. Method and system for location-based monitoring of a mobile device
US7502620B2 (en) * 2005-03-04 2009-03-10 Shyhook Wireless, Inc. Encoding and compression of a location beacon database
US7702309B2 (en) 2005-05-04 2010-04-20 Nokia Corporation Using MAC address of a WLAN access point as location information
US7961717B2 (en) 2005-05-12 2011-06-14 Iposi, Inc. System and methods for IP and VoIP device location determination
EP1938488B1 (en) * 2005-10-21 2015-09-09 T-Mobile, USA, Inc System and method for determining device location in an ip-based wireless telecommunications network
US7937067B2 (en) * 2006-05-16 2011-05-03 Red Sky Technologies, Inc. System and method for an emergency location information service (E-LIS)
JP2010503928A (ja) * 2006-09-12 2010-02-04 ウェイポート,インコーポレーテッド アクセス・ポイントを介した直接制御なしに、分散環境において位置に基づくサービスを提供すること
US20080252518A1 (en) 2007-03-21 2008-10-16 Yerachmiel Yeshayahu Method and apparatus for determining location using a hybrid solution
US8880907B2 (en) 2007-06-21 2014-11-04 Schneider Electric It Corporation Method and system for determining physical location of equipment
JP2009277111A (ja) * 2008-05-16 2009-11-26 Funai Electric Co Ltd 情報処理装置
CN101778349A (zh) * 2009-01-14 2010-07-14 北京天昭信息通信系统开发有限责任公司 具有位置追踪和广告插播等功能的用户接入点ap设备
WO2011133195A1 (en) * 2010-04-22 2011-10-27 Zipit Wireless, Inc. System and method for administration and operation of one or more mobile electronic communications devices
US8412232B2 (en) * 2010-08-20 2013-04-02 Qualcomm Incorporated Methods and apparatuses for use in estimating a location of a mobile device within a structure
US8548495B2 (en) * 2010-09-08 2013-10-01 Texas Instruments Incorporated System and method for determining a position of a mobile wireless device by accessing access points alamanacs database
KR101462058B1 (ko) * 2010-10-22 2014-11-19 에스케이 텔레콤주식회사 로그 데이터를 이용한 ap 위치 추정 방법과 그를 위한 장치 및 단말기
US8402120B1 (en) 2010-11-04 2013-03-19 Adtran, Inc. System and method for locating and configuring network device
CN102958152B (zh) * 2011-08-24 2016-03-09 中国电信股份有限公司 实现第三方定位的wlan定位方法和定位服务器
KR101921228B1 (ko) * 2011-09-23 2019-02-13 알엑스 네트웍스 아이엔씨. 모바일 장치의 지오-레퍼런스 기반한 포지셔닝
GB201117723D0 (en) * 2011-10-13 2011-11-23 Sensewhere Ltd Method of estimating the position of a user device using radio beacons and radio beacons adapted to facilitate the methods of the invention
CN103297915A (zh) 2012-02-29 2013-09-11 腾讯科技(深圳)有限公司 一种收集位置信息的方法及系统
US9026145B1 (en) * 2012-03-23 2015-05-05 Google Inc. Systems and methods for mapping IP-addresses to geolocations
US9078099B2 (en) * 2012-07-16 2015-07-07 Qualcomm Incorporated Localization method employing radio signal strength measurements of electric and gas meters
EP2885609B1 (en) * 2012-08-15 2021-04-21 Google LLC Crowd-sourcing indoor locations
CN102892074A (zh) * 2012-09-26 2013-01-23 上海顶竹通讯技术有限公司 获取终端位置信息的系统及方法
US20140128093A1 (en) * 2012-11-06 2014-05-08 Qualcomm Incorporated Portal transition parameters for use in mobile device positioning
US9198003B2 (en) * 2013-01-31 2015-11-24 Apple Inc. Survey techniques for generating location fingerprint data
EP3045000A4 (en) * 2013-09-13 2017-04-19 INTEL Corporation Indoor location determination of access points using mobile device indoor location information
CN104935676A (zh) * 2014-03-17 2015-09-23 阿里巴巴集团控股有限公司 确定ip地址段及其对应的经纬度的方法及装置
CN105100292B (zh) * 2014-05-12 2018-12-18 阿里巴巴集团控股有限公司 确定终端的位置的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007121331A2 (en) 2006-04-13 2007-10-25 T-Mobile, Usa, Inc. Mobile computing device geographic location determination
US20130150085A1 (en) * 2006-10-20 2013-06-13 T-Mobile Usa, Inc. Two stage mobile device geographic location determination
US20100151816A1 (en) * 2008-12-16 2010-06-17 Jan Besehanic Methods and apparatus for associating media devices with a demographic composition of a geographic area
US8315649B1 (en) 2012-03-23 2012-11-20 Google Inc. Providing a geographic location of a device while maintaining geographic location anonymity of access points

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102145576B1 (ko) 2019-03-28 2020-08-18 (주)제로웹 주 거주공간 클러스터링 방법

Also Published As

Publication number Publication date
EP3143813B1 (en) 2019-07-03
JP2017521637A (ja) 2017-08-03
TW201543859A (zh) 2015-11-16
JP6307176B2 (ja) 2018-04-04
US10278005B2 (en) 2019-04-30
WO2015175488A1 (en) 2015-11-19
TWI654867B (zh) 2019-03-21
CN105100292A (zh) 2015-11-25
EP3143813A1 (en) 2017-03-22
US9560621B2 (en) 2017-01-31
US20170127228A1 (en) 2017-05-04
CN105100292B (zh) 2018-12-18
US20150327007A1 (en) 2015-11-12
KR20160132443A (ko) 2016-11-18

Similar Documents

Publication Publication Date Title
KR101782810B1 (ko) 단말의 위치를 결정하기 위한 방법, 장치 및 시스템
US8473512B2 (en) Dynamic profile slice
US9571589B2 (en) Systems and methods for mapping IP-addresses to geolocations
KR101841661B1 (ko) 모바일 장치에 대한 캐리어의 검출
JP6630743B2 (ja) プロモーション情報の配信の妥当性を決定するための方法、モニタリングサーバ、および端末
JP6074433B2 (ja) 動的デバイス構成のための周期的周囲波形分析
KR20110095874A (ko) 트렌드 식별에 의거하여 사용자에게 커스터마이징된 정보를 제공하는 방법
JP2017513281A (ja) Ipアドレスに対応する位置を決定するための方法、装置、および、システム
KR20140142732A (ko) 소셜 네트워킹 서비스(sns) 상의 접촉자들에 통신을 전송하기
KR20200011443A (ko) 사용자 디바이스 이벤트의 매칭 및 속성
CN109740089A (zh) 数据采集方法、装置、系统、可读存储介质及电子设备
US9866454B2 (en) Generating anonymous data from web data
CN104022940A (zh) 基于即时通信的信息处理方法、装置及系统
US20180234392A1 (en) Method and apparatus for managing device context using an ip address in a communication system
CN108366012B (zh) 一种社交关系建立方法、装置及电子设备
CN104427519A (zh) Ip地址归属地管理方法及装置
KR101550192B1 (ko) 통신망 선택을 통하여 통신연결하는 방법, 장치, 컴퓨터 판독가능 기록매체 및 컴퓨터 프로그램
JP6659889B1 (ja) 情報処理装置及びコンピュータプログラム
AU2015305730A1 (en) Selective inclusion of members in a results list
CN104392000B (zh) 确定移动站点抓取配额的方法和装置
CN109086428B (zh) 转发信息访问次数统计方法及装置
KR101505105B1 (ko) 패킷미러링을 이용한 호스트 순위 제공 방법 및 시스템

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