KR101598809B1 - 사용자의 실제위치를 포함하는 상하관계형 영역에 기반한 사용자 영역 설정방법및 인접사용자 탐색방법 - Google Patents

사용자의 실제위치를 포함하는 상하관계형 영역에 기반한 사용자 영역 설정방법및 인접사용자 탐색방법 Download PDF

Info

Publication number
KR101598809B1
KR101598809B1 KR1020140149174A KR20140149174A KR101598809B1 KR 101598809 B1 KR101598809 B1 KR 101598809B1 KR 1020140149174 A KR1020140149174 A KR 1020140149174A KR 20140149174 A KR20140149174 A KR 20140149174A KR 101598809 B1 KR101598809 B1 KR 101598809B1
Authority
KR
South Korea
Prior art keywords
user
hash code
level
information
area
Prior art date
Application number
KR1020140149174A
Other languages
English (en)
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 김시윤
Priority to KR1020140149174A priority Critical patent/KR101598809B1/ko
Application granted granted Critical
Publication of KR101598809B1 publication Critical patent/KR101598809B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • 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
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 사용자영역 설정방법 및 인접사용자 탐색방법에 관한 것이다.
본 발명의 일실시예에 따른 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 사용자영역 설정방법은, 사용자의 위치정보를 인식하는 단계(S100); 제n 레벨에서 정의된 복수의 제1 영역 중에서 상기 위치정보와 대응되는 영역의 코드정보를 포함하는 제n 해시코드를 결정(n은 양의 정수)하는 단계(S110); 상기 제n 레벨의 하위레벨인 제n+1 레벨이 존재할 경우, n=n+1로 하여, 상기 제n 해시코드를 결정하는 단계를 반복하는 단계(S120); 및 최하위레벨에서 상기 제n 해시코드를 기초로 최종해시코드를 결정하는 단계(S130); 를 포함하되, 상기 제n 해시코드는 제n-1 해시코드 정보를 포함한다.
본 발명에 따르면, 사용자의 위치정보를 계층화된 코드정보인 해시코드로 변환하여, 사용자의 정확한 실제 위치가 노출되는 것을 방지할 수 있다.

Description

사용자의 실제위치를 포함하는 상하관계형 영역에 기반한 사용자 영역 설정방법및 인접사용자 탐색방법 {THE METHOD FOR SETTING THE POSITION OF USER AND SEARCHING FOR ADJACENT USERS BY THE RELATION OF UP AND DOWN}
본 발명은 사용자의 실제위치를 포함하는 상하관계형 영역에 기반한 사용자 영역 설정방법 및 인접사용자 탐색방법 에 관한 것으로, 보다 자세하게는 사용자의 정확한 실제 위치를 노출하지 않도록 사용자 가 포함된 상하관계형 영역의 해시코드를 이용하여 사용자가 원하는 영역 내 인접사용자를 탐색하는 방법에 관한 것이다.
최근 사용자의 위치를 기반으로 하여 서비스를 제공하는 위치기반 서비스가 많이 등장하고 있다. 위치기반서비스(Location Based Sevice; LBS)란, 이동통신망과 IT기술을 종합적으로 활용한 위치정보 기반의 시스템 및 서비스를 말한다. 현재 인공위성을 이용한 GPS(Global Positioning System 위성항법장치)와 기지국 정보를 결합한 차세대 위치정보서비스(LBS)가 제공되고 있으며, 와이파이(Wi-Fi)와 같은 무선통신신호도 함께 이용하여 더 정확한 위치 탐색 수행을 하고 있다. 상기 위치기반서비스는 고객의 위치정보를 기반으로 상품정보뿐만 아니라 교통정보, 위치추적정보 등 생활 전반에 걸쳐 다양한 정보제공에 활용될 수 있다. 교통관련 정보로 운전편의정보, 대중교통정보 경로탐색 및 설정 등이 있으며, 위치추적 정보로는 위치 추적, 개인위치정보, 분실된 단말기 추적 등이 있다. 또한 생활편의 정보로는 물류, 생활편의 서비스, 전화번호서비스, 지역정보 등이 있고, 상거래 정보로는 원하는 상품에 대한 통보기능, 위치기반마케팅/광고 등의 서비스를 제공할 수 있다.
현재 주로 이용되고 있는 위치기반서비스 방식은 사용자의 실제 위치를 바탕으로 일정반경 내의 다른 사용자를 탐색하는 방식이다. 일부 사용자들은 사용자의 프라이버시에 해당하는 사용자의 정확한 위치가 노출되기를 원치 않는데, 상기 실제 위치를 기반으로 하는 서비스방식을 이용할 때는 정확한 위치의 노출이 발생한다. 그래서 이러한 사용자들은 위치기반서비스의 사용설정을 꺼두는 경우가 많다.
또한, 사용자들은 위치기반서비스 이용시에 다양한 형태로 사용자와 인접한 다른 사용자를 탐색하기를 원할 수 있다. 그러나 현재 제공되는 위치기반서비스들은 사용자로부터 떨어진 거리만을 기초로 인접사용자를 탐색한다. 따라서 사용자들은 본인의 상황에 맞는 인접사용자 탐색을 수행하지 못해, 원하는 탐색결과를 얻지 못하는 불편함이 겪는다.
또한, 사용자는 인접사용자의 탐색영역을 다양하게 설정할 수 없어서, 사용자의 상황에 부합하는 인접사용자 탐색을 수행하지 못하는 불편함이 있다.
사용자의 실제 위치를 사용자가 포함된 일정 크기의 상하관계형 영역으로 설정한 후 상기 영역에 해당하는 해시코드를 부여하여, 사용자의 정확한 실제 위치의 노출을 방지하는, 사용자의 실제위치를 투영한 상하관계형 영역에 기반한 사용자 영역 설정방법 및 사용자들의 정확한 실제 위치정보 없이 사용자들이 포함된 상하관계형 영역에 상응하는 해시코드를 이용하여 사용자가 원하는 상하관계형 영역의 범위 내 인접사용자를 탐색하는 사용자의 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법을 제공하고자 한다.
본 발명의 일실시예에 따른 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 사용자영역 설정방법은, 사용자의 위치정보를 인식하는 단계; 제n 레벨에서 정의된 복수의 제1 영역 중에서 상기 위치정보와 대응되는 영역의 코드정보를 파악하여, 상기 코드정보를 포함하는 제n 해시코드를 결정(n은 양의 정수)하는 단계; 상기 제n 레벨의 하위레벨인 제n+1 레벨이 존재할 경우, n=n+1로 하여, 상기 제n 해시코드를 결정하는 단계를 반복하는 단계; 최하위레벨에서 상기 제n 해시코드를 기초로 최종해시코드를 결정하는 단계; 및 상기 최종해시코드를 서버에 저장하는 단계를 포함하되, 상기 제n 해시코드는 제n-1 해시코드 정보를 포함한다.
또한, 상기 제n해시코드는, 상기 n-1해시코드와 상기 제n레벨의 코드정보를 포함하여, 제1레벨부터 상기 제n레벨의 사용자가 위치한 영역의 코드를 모두 포함하는 것을 특징으로 할 수 있다.또한, 사용자의 위치정보를 인식하기 전, 지도의 영역 분할을 수행하여, 상기 영역별로 코드정보를 부여하는 단계;를 더 포함할 수 있다.
또한, 사용자의 클라이언트 단말기에서 수행되는 경우, 사용자의 위치정보를 인식하기 전, 서버로부터 분할된 영역별 코드정보를 수신하는 단계;를 더 포함할 수 있다.
또한, 상기 최종해시코드를 서버 내 사용자의 데이터공간에 저장하거나, 상기 최종해시코드에 해당하는 서버 내 데이터공간에 상기 사용자의 사용자식별정보를 저장하는 단계;를 더 포함할 수 있다.
본 발명의 일실시예에 따른 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법은, 사용자의 위치검색조건을 수신하는 단계; 상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출하는 단계; 및 상기 해시코드를 기초로 서버를 탐색하여, 저장된 인접사용자를 탐색하는 단계;를 포함할 수 있다.
또한, 사용자의 위치정보에 해당하는 해시코드를 수신하는 단계;를 더 포함할 수 있다.
또한, 상기 위치검색조건이 사용자가 입력한 특정한 레벨정보 또는 구획정보인 경우, 상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출하는 단계는, 상기 특정한 레벨의 사용자의 해시코드가 포함된 영역 또는 상기 특정한 구획의 영역에 포함된 모든 해시코드를 추출할 수 있다.
또한, 상기 위치검색조건이 특정한 도형영역 정보인 경우, 상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출하는 단계는, 상기 도형영역을 포함하는 제n번째 레벨을 판단하는 단계; 상기 도형영역 내인 상기 제n번째 레벌에 포함된 제n+1번째 레벨의 영역 내 해시코드를 추출하는 단계; k가 1일 때부터 제n+k+1번째 레벨이 마지막 레벨에 해당할 때까지, 상기 도형영역의 외곽선이 제n+k번째 레벨의 영역을 통과하는 경우, 상기 도형영역 내인 제n+k번째 레벨에 포함된 제n+k+1번째의 해시코드를 추출하는 단계; 및 상기 도형영역의 외곽선이 통과하는 마지막 레벨의 해시코드를 추출하는 단계;를 포함하고, 상기 n은 제n번째 레벨이 상기 도형영역을 포함하는 가장 큰 양의 정수이고, 상기 도형영역은 사용자에 의해 설정된 단일폐곡선에 해당하는 영역일 수 있다.
또한, 상기 위치검색조건이 특정한 도형영역 정보인 경우, 상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출하는 단계는, 상기 도형영역의 외곽선이 지나는 마지막 레벨의 해시코드를 추출하는 단계; 및 분할된 영역별 해시코드 부여규칙을 기초로, 상기 추출된 해시코드 사이에 해당하는 해시코드를 추출하는 단계;를 포함하고, 상기 도형영역은 사용자에 의해 설정된 단일폐곡선에 해당하는 영역일 수 있다.
또한, 상기 위치검색조건이 사용자로부터 떨어진 거리정보인 경우, 사용자의 상기 위치정보, 사용자의 상기 해시코드에 해당하는 마지막 레벨 영역의 기준점, 상기 마지막 레벨 영역의 무게중심 중 어느 하나를 중심으로 하고, 상기 거리정보를 반지름으로 하는 원 내에 포함 또는 상기 원이 통과하는 해시코드를 추출하는 단계;를 더 포함할 수 있다.
또한, 상기 위치검색조건이 방향정보를 포함하는 경우, 상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출하는 단계는, 사용자의 위치정보에 상응하는 해시코드를 기준으로, 상기 해시코드 부여규칙을 고려하여 상기 방향정보에 해당하는 상기 해시코드를 구별하는 단계;를 포함할 수 있다.
또한, 상기 위치검색조건이 행정구역인 경우, 상기 행정구역에 해당하는 상기 해시코드 목록을 획득하는 단계;를 더 포함할 수 있다.
또한, 상기 위치검색조건이 사용자가 설정한 직선 또는 개곡선인 경우, 상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출하는 단계는, 상기 직선 또는 개곡선으로부터 떨어진 거리를 입력받아, 상기 직선 또는 개곡선으로부터 상기 거리만큼 떨어진 영역의 해시코드를 추출하는 단계;를 포함할 수 있다.
또한, 사용자에게 상기 탐색된 인접사용자의 사용자식별정보를 제공하는 단계;를 더 포함할 수 있다.
또한, 상기 사용자에게 상기 탐색된 인접사용자의 사용자식별정보를 제공하는 단계는, 사용자의 위치로부터 상기 인접사용자까지의 거리를 파악하여, 가까운 곳에 위치한 인접사용자부터 차례대로 표시하는 것을 특징으로 할 수 있다.
또한, 상기 탐색된 인접사용자에게 사용자가 요청한 정보를 전송하는 단계;를 더 포함할 수 있다.
또한, 상기 사용자의 위치정보 및 상기 사용자식별정보를 수신하는 단계; 및 상기 위치정보를 해시코드로 변환하여, 상기 해시코드의 데이터영역에 상기 사용자식별정보를 저장하는 단계;를 더 포함할 수 있다.
상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.
첫째, 사용자의 위치정보를 계층화된 코드정보인 해시코드로 변환하여, 사용자의 정확한 실제 위치가 노출되는 것을 방지할 수 있다. 본 발명을 통해서는 사용자의 정확한 위치가 연속적으로 분할된 최소 단위 영역으로 추상화되므로, 본인의 정확한 실시간 위치정보가 서비스 제공업체 또는 다른 사용자에게 제공되기를 꺼리는 사용자들도 위치기반서비스를 이용하도록 할 수 있다.
둘째, 전체 지도를 여러 단계의 레벨로 단계적으로 분할하여 코드를 부여함으로써 각 영역의 상하위레벨 관계를 트리구조로 형성하므로, 본 발명을 적용한 위치기반서비스는 특정 영역에 위치한 사용자의 사용자식별정보 저장 및 상기 특정 영역에 포함되는 인접사용자들을 사용자식별정보 탐색을 간편하게 수행할 수 있다.
셋째, 본 발명을 통해서 사용자가 원하는 영역을 설정하여 인접사용자의 탐색을 수행할 수 있다. 사용자는 레벨 또는 구획정보, 도형영역정보, 선 또는 개곡선정보, 행정구역정보 등 다양한 방식으로 탐색을 수행할 영역을 설정할 수 있다. 이를 통해, 사용자는 본인의 상황에 부합하는 인접사용자 탐색범위를 설정할 수 있는 효과가 있다.
넷째, 제공하는 위치기반서비스에 따라 탐색된 인접사용자의 사용자식별정보를 사용자에게 제공하거나 사용자가 탐색된 인접사용자에게 원하는 정보를 전송할 수 있다. 이를 통해, 본 발명을 이용하는 위치기반서비스의 방식에 따라서 탐색된 인접사용자 리스트를 다양하게 활용할 수 있는 효과가 있다.
도 1은 본 발명의 일실시예에 따른 사용자의 위치정보에 대응하는 해시코드를 부여하는 예시도면이다.
도 2는 본 발명의 일실시예에 따른 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 사용자영역 설정방법의 순서도이다.
도 3은 본 발명의 일실시예에 따른 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 사용자영역 설정방법에 대한 알고리즘의 순서도이다.
도 4는 본 발명의 일실시예에 따른 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법의 순서도이다.
도 5는 본 발명의 일실시예에 따라 레벨정보 또는 구획정보를 위치검색조건으로 설정한 경우의 인접사용자를 탐색하는 예시도면이다.
도 6는 본 발명의 일실시예에 따라 특정한 도형영역을 위치검색조건으로 설정하는 경우, 위치검색조건에 상응하는 해시코드를 추출하는 방법의 순서도이다.
도 7은 본 발명의 일실시예에 따라 특정한 도형영역 정보를 위치검색조건으로 설정한 경우의 인접사용자를 탐색하는 예시도면이다.
도 8은 본 발명의 일실시예에 따른 사용자의 단말기와 서버의 연결관계를 나타낸 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
본 명세서에서 사용되는 사용자 또는 인접사용자는 스마트폰 등의 모바일 디바이스를 사용하는 사용자들뿐만 아니라 식당, 까페, 판매점 등의 매장 등의 위치정보를 제공하거나 받을 수 있는 모든 사용자가 해당할 수 있다.
또한, 본 명세서에서 사용되는 레벨은, 트리구조의 깊이(depth)와 같이 하위로 내려간 횟수를 의미하여, 전체지도를 순차적으로 영역분할을 수행할 때 분할을 몇번째 수행하는 단계인지를 의미한다. 예를 들어, 세계지도 전체를 분할할 때, 세계지도를 최초 분할 시에는 제1레벨, 해당 영역을 n번째 분할 시에는 제n레벨에 해당한다.
도 1은 본 발명의 일실시예에 따른 사용자의 위치정보에 대응하는 해시코드를 부여하는 예시도면이다. 도 2은 본 발명의 일실시예에 따른 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 사용자영역 설정방법의 순서도이다. 도 3은 본 발명의 일실시예에 따른 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 사용자영역 설정방법에 대한 알고리즘의 순서도이다. 도 4는 본 발명의 일실시예에 따른 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법의 순서도이다. 도 5는 본 발명의 일실시예에 따라 레벨정보 또는 구획정보를 위치검색조건으로 설정한 경우의 인접사용자를 탐색하는 예시도면이다. 도 6는 본 발명의 일실시예에 따라 특정한 도형영역을 위치검색조건으로 설정하는 경우, 위치검색조건에 상응하는 해시코드를 추출하는 방법의 순서도이다. 도 7은 본 발명의 일실시예에 따라 특정한 도형영역 정보를 위치검색조건으로 설정한 경우의 인접사용자를 탐색하는 예시도면이다. 도 8은 본 발명의 일실시예에 따른 사용자의 단말기(100)와 서버(200)의 연결관계를 나타낸 도면이다.
이하, 도면을 참조하여 본 발명의 실시예들에 따른 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 사용자영역 설정방법 및 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법에 대해 설명하기로 한다.
도 1은 본 발명의 일실시예에 따른 사용자의 위치정보에 대응하는 해시코드를 부여하는 예시도면이다.
도 1을 참조하여, 본 발명의 일실시예들의 해시코드의 정의를 설명한다. 상기 해시코드는 계층화된 코드정보로, 사용자의 정확한 실제 위치를 노출하지 않으면서 사용자가 위치한 영역을 나타내는 짧은 길이의 값을 의미한다. 예를 들어, 도 1에서와 같이, 지도 전체(최상위 레벨 또는 제1레벨)를 x축과 y축으로 일정간격으로 분할하고, 분할된 각 영역에 x값과 y값을 부여한다. 상기 부여된 x값 및 y값을 상기 분할된 영역의 코드정보라고 한다. 상기 분할된 영역(제2레벨)을 다시 x축과 y축 방향으로 일정간격으로 분할하고, 분할된 각 영역에 x값과 y값을 부여한다. 이러한 과정을 하위 레벨로 내려가면서 반복할 수 있다. 이를 통해, 사용자의 위치정보에 해당하는 위도(latitude)와 경도(longitude)가 주어지면(도1에서, Loc(lat, lng)), 제1레벨부터 차례대로 하위레벨로 내려가면서 사용자의 위치가 속하는 영역의 x값 및 y값을 파악할 수 있다. 상기 파악된 x값과 y값을 각각 차례대로 기재한 형태가 해시코드에 해당할 수 있다(도1에서, Area(x1…xm y1…ym)). 즉, 제n레벨의 해시코드는 제1레벨에서 사용자가 위치한 영역의 x값 및 y값부터 제n레벨에서 사용자가 위치한 영역의 x값 및 y값을 차례대로 기재한 코드배열에 해당하고, 최종해시코드는 제n레벨이 최하위레벨에 해당할 때의 제n레벨의 해시코드에 해당한다. 따라서 상위레벨의 코드부터 하위레벨의 코드를 차례대로 기재하여 최종해시코드를 형성할 수 있고, 이는 상하위 레벨간의 포함관계를 포함하게 된다. 다만, 상기 해시코드의 형식은 이에 한정되지 아니하고, 사용자의 위치정보에 해당하는 영역을 상위 레벨부터 하위 레벨로 차례대로 나타내는 다양한 형식이 적용될 수 있다. 또한, 본 발명의 일실시예에는 상기 부여된 해시코드 내에 상하위 레벨간의 관계가 포함되는, 상위 레벨 영역을 세분화하여 하위 레벨 영역을 형성하는 다양한 방식이 적용될 수 있다.
상기 영역을 분할하는 다양한 방식은 후술하는 조건을 만족하는 다양한 영역분할 알고리즘에 의해 수행될 수 있다. 먼저, 상기 영역분할 알고리즘에 의해 분할되는 같은 레벨 내 영역들은 동일한 모양 및 크기여야 한다. 즉, 분할한 영역의 모양은 동일하여야 하며, 각 영역의 변의 길이는 동일하거나 오차허용범위 내에 해당하여야 한다. 다만, 지구가 구형임에 의해 완벽히 동일한 모양과 크기로 분할되지 못하더라도 모양과 크기가 특정한 허용범위 내에 해당한다면 무방하며, 극지방 등의 예외가 존재할 수 있다. 다음으로, 영역분할 알고리즘에 의해 분할되는 각 레벨의 영역 간에는 서로 유기적인 관계가 있어야 한다. 즉, 상위레벨의 영역을 세분화하여 하위레벨의 영역을 형성하여, 상하위 레벨간의 유기적 관계가 존재하여야 한다. 상기 두가지 조건을 만족하는 알고리즘이라면, 본 발명의 일실시예들의 영역분할에 이용될 수 있다.
또한, 상기 해시코드를 부여하기 위한 영역 분할은, 상기 사각형 형태의 영역 분할에 한정되지 아니하고, 구 형태인 지구에 적합한 삼각형 형태로의 영역 분할 또는 폴리곤(3D그래픽을 구성하는 기본단위인 다각형)으로 분할 등 다양한 방식이 적용될 수 있다.
도 2은 본 발명의 일실시예에 따른 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 사용자영역 설정방법의 순서도이고, 도 3는 본 발명의 일실시예에 따른 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 사용자영역 설정방법에 대한 알고리즘의 순서도이다.
도 2와 도 3을 참조하면, 본 발명의 일실시예에 따른 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 사용자영역 설정방법은, 사용자의 위치정보를 인식하는 단계(S100); 제n 레벨에서 정의된 복수의 제1 영역 중에서 상기 위치정보와 대응되는 영역의 코드정보를 포함하는 제n 해시코드를 결정(n은 양의 정수)하는 단계(S110); 상기 제n 레벨의 하위레벨인 제n+1 레벨이 존재할 경우, n=n+1로 하여, 상기 제n 해시코드를 결정하는 단계를 반복하는 단계(S120); 및 최하위레벨에서 상기 제n 해시코드를 기초로 최종해시코드를 결정하는 단계(S130);를 를 포함한다. 본 발명의 일 실시예에 따른 사용자 실제위치를 포함하는 상하관계형 영역을 기반한 사용자영역 설정방법을 순서대로 설명한다.
상기 제n 해시코드는, 전술한 바와 같이, 제n-1 해시코드 정보를 포함한다. 상기 제n해시코드의 정의가 상기 제1레벨부터 상기 제n레벨의 사용자가 위치한 영역의 코드를 모두 포함하는 코드정보이다. 따라서 제n해시코드는 제n-1해시코드에 제n레벨의 사용자가 위치한 영역의 코드를 더 포함하는 것에 해당한다.
사용자의 위치정보를 인식한다(S100). 사용자의 단말기(100)(또는 클라이언트)가 GPS신호 또는 와이파이(Wi-Fi)신호 등의 무선신호를 수신하여 사용자의 위치를 인식할 수 있다. 예를 들어, 사용자가 스마트폰을 이용하는 경우, 스마트폰에 포함된 GPS신호모듈이 위성으로부터 GPS신호를 수신하여 현재 위치를 인식하고, 주변의 Wi-Fi신호를 함께 이용하여 인식되는 위치의 정확도를 높일 수 있다.
또한, 사용자가 직접 주소를 입력하여 현재위치를 인식할 수 있다. 예를 들어, 사용자가 매장에 해당하는 경우, 위치가 항상 일정하므로 GPS신호 등의 무선신호를 수신하여 위치를 인식하는 대신, 상기 매장의 주소를 입력하여 현재 위치를 인식할 수 있다. 사용자가 주소를 입력할 수 있는 인터페이스를 제공하여, 사용자의 사용자입력부 조작으로 상기 매장의 주소를 상기 단말기(100)에 입력할 수 있다. 상기 사용자입력부는 사용자가 단말기(100)의 동작 제어를 위하여 입력하는 입력 데이터를 발생시킨다. 사용자입력부는 키패드(key pad), 키보드, 돔 스위치(dome switch), 터치 패드(정압/정전), 조그 휠, 조그 스위치, 핑거 마우스 등으로 구성될 수 있다. 특히, 터치 패드가 상기 디스플레이부와 상호 레이어 구조를 이룰 경우, 이를 터치스크린(touch screen)이라 부를 수 있다. 또한, 상기 사용자입력부는 사용자의 음성을 받는 음성입력모듈과 사용자의 음성의 의미를 파악하는 음성인식모듈을 더 포함하여, 사용자가 음성을 통해 주소를 단말기(100)에 입력할 수 있다.
제n 레벨에서 정의된 복수의 제1 영역 중에서 상기 위치정보와 대응되는 영역의 코드정보를 포함하는 제n 해시코드를 결정(n은 양의 정수)한다(S110). 즉, 상기 제n레벨의 분할된 복수개의 영역 중에서 사용자의 위치가 포함된 영역을 파악하고, 상기 파악된 영역에 해당하는 상기 코드정보를 파악한다. 도 1을 참조하면, 제1레벨에서 사용자의 위치가 포함된 영역의 상기 코드정보는 (8,4)에 해당한다. 즉, 상기 제1해시코드는 상기 코드정보를 포함하여 결정된다.
상기 제n 레벨의 하위레벨인 제n+1 레벨이 존재할 경우, n=n+1로 하여, 상기 제n 해시코드를 결정하는 단계를 반복한다(S120). 사용자의 정확한 실제 위치는 노출하지 않으면서 최대한 근접한 영역으로 나타내기 위해서는 최하위 레벨까지 상기 코드정보를 파악하여 해시코드를 파악하여야 한다. 따라서, 도 3에서와 같이, n이 1일 때부터 사용자의 위치가 속하는 범위를 파악하여(S111), 제n레벨에 해당하는 제n해시코드를 추출한다(S110). 하위레벨인 제n+1레벨이 존재하는 지 여부를 판단하여(S121), 하위레벨이 존재하면 n을 증가시켜 코드정보를 추출하여 해시코드를 결정하는 과정을 반복한다(S122).
최하위레벨에서 상기 제n 해시코드를 기초로 최종해시코드를 결정한다(S130). 즉, 제n레벨이 최하위 레벨에 해당하여 하위레벨이 존재하지 않으면, 해시코드 추출과정을 중단하고, 제1레벨의 코드정보부터 제n레벨의 코드정보까지 포함하는 제n해시코드를 최종해시코드를 결정한다.
S110 내지 S130의 사용자 위치에 해당하는 최종해시코드를 파악하는 과정은 사용자의 단말기(100)(클라이언트)에서 수행될 수 있고, 상기 서버(200)에서 수행될 수도 있다. 상기 단말기(100)에서 수행되는 경우, 상기 단말기(100) 내에서 사용자의 위치정보를 바탕으로 최종해시코드를 파악하여, 상기 서버(200)로 유선 또는 무선 통신을 통해 상기 최종해시코드를 전송한다. 상기 서버(200)에서 수행되는 경우, 상기 서버(200)가 사용자의 상기 단말기(100)에 의해 인식된 사용자 위치정보를 유선 또는 무선통신을 통해 수신하고, 상기 서버(200)가 사용자 위치에 해당하는 최종해시코드를 파악하는 과정을 수행한다.
또한, 사용자의 위치정보를 인식하기 전, 지도의 영역 분할을 수행하여, 상기 영역별로 코드정보를 부여하는 단계;를 더 포함할 수 있다. 사용자의 위치정보에 해당하는 상기 최종해시코드를 파악하기 위해서는, 도 1에서와 같이, 지도가 영역분할이 되고, 각 영역별로 상기 코드정보가 부여되어 있어야 한다. 그러므로 상기 단말기(100) 또는 상기 서버(200)는 각 레벨별로 정해진 분할 스케일에 따라 지도를 분할하고, 상기 영역별로 상기 코드정보를 부여한다. 상기 지도의 영역 분할은 상기 영역분할 알고리즘의 조건을 만족하는 다양한 방식에 의해 수행될 수 있다. 또한, 사용자의 단말기(100)에서 수행되는 경우, 사용자의 위치정보를 인식하기 전, 서버(200)로부터 분할된 영역별 코드정보를 수신하는 단계;를 더 포함할 수 있다. 즉, 상기 단말기(100)가 직접 영역 분할 기준에 따라 영역을 분할하여 상기 코드정보를 부여하는 대신, 상기 서버(200)로부터 무선통신을 통해 분할된 영역별 상기 코드정보를 수신할 수 있다. 이를 통해, 본 실시예에서의 각 레벨별 영역 분할 및 해시코드 부여 기준과 후술하는 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법에서 상기 서버(200)가 사용하는 각 레벨별 영역 분할 및 해시코드 부여 기준이 동일하게 되어, 사용자의 위치검색 및 인접사용자 탐색에 오류 발생을 줄일 수 있다.
또한, 상기 최종해시코드를 서버(200) 내 사용자의 데이터공간에 저장하거나, 상기 최종해시코드에 해당하는 서버(200) 내 데이터공간에 상기 사용자의 사용자식별정보를 저장하는 단계;를 더 포함할 수 있다. 즉, 상기 서버(200)는 상위레벨의 해시코드별로 차례대로 트리구조로 저장공간이 구성되어 있을 수 있다. 따라서, 상기 최종해시코드에 상응하는 저장공간에 사용자의 정보를 저장할 수 있다. 또한, 상기 서버(200)는 사용자별로 저장공간을 부여하여 사용자의 현재 위치에 해당하는 상기 최종해시코드를 상기 서버(200) 내 데이터공간에 저장할 수도 있다. 또한, 상기 사용자가 포함된 상하관계형 영역의 최종해시코드 파악을 상기 단말기(클라이언트)에서 수행되는 경우에는, 상기 서버가 상기 단말기로부터 상기 최종해시코드를 수신하여 저장할 수 있다. 상기 사용자식별정보는, 사용자의 ID, 사용자의 성명 등의 사용자와 관련된 다양한 정보가 될 수 있다.
도 4는 본 발명의 일실시예에 따른 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법의 순서도이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법은, 사용자의 위치검색조건을 수신하는 단계(S300); 상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출하는 단계(S310); 및 상기 해시코드를 기초로 서버(200)를 탐색하여, 저장된 인접사용자를 탐색하는 단계(S320);를 포함할 수 있다. 본 발명의 일 실시예에 따른 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법을 순서대로 설명한다.
사용자의 위치검색조건을 수신한다(S300). 상기 위치검색조건은, 사용자가 상기 인접사용자를 탐색하고자 하는 영역을 설정하는 조건에 해당한다. 사용자가 상기 위치검색조건을 상기 단말기(100)에 입력하고, 상기 서버(200)는 입력된 상기 위치검색조건을 유선 또는 무선통신을 통해 수신할 수 있다. 상기 위치검색조건은, 특정한 레벨정보 또는 구획정보, 도형영역 정보, 사용자로부터 떨어진 거리정보, 행정구역 정보 등이 포함될 수 있다. 예를 들어, 상기 도형영역은, 도 7에서와 같이, 사용자에 의해 설정된 단일폐곡선에 해당하는 영역으로, 상기 도형영역 정보는 사용자가 단말기(100)의 터치스크린에 표시된 지도상에 도형을 직접 표시하여 입력될 수 있다. 또한, 상기 레벨정보 또는 구획정보는, 예를 들어, 사용자가 상기 인접사용자를 탐색하기를 원하는 레벨조건 또는 구획조건을 입력할 수 있는 인터페이스를 디스플레이부 상에 표시하고, 사용자가 원하는 조건을 상기 사용자입력부를 조작하여 입력할 수 있다. 상기 구획정보는, 사용자가 탐색을 원하는 레벨에서 사용자가 포함된 영역으로부터 몇칸 떨어진 구획까지 탐색을 수행할 지에 해당하는 정보이다. 예를 들어, 도 5에서와 같이, 상기 구획정보를 1로 설정할 경우, 사용자가 속한 해당 레벨의 영역으로부터 한칸씩 확장된 영역을 상기 인접사용자를 탐색할 영역으로 설정할 수 있다.
상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출한다(S310). 즉, 사용자가 입력한 상기 위치검색조건을 바탕으로, 상기 인접사용자를 탐색할 영역에 해당하는 상기 해시코드를 파악한다. 상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출하는 방식은, 위치검색조건에 따라서 다양한 방식이 적용될 수 있다.
상기 위치검색조건이 사용자가 입력한 특정한 레벨정보 또는 구획정보인 경우, 상기 특정한 레벨의 사용자의 해시코드가 포함된 영역 또는 상기 특정한 구획의 영역에 포함된 모든 해시코드를 추출할 수 있다. 예를 들어, 사용자가 상기 특정한 레벨을 제5레벨로 설정하면, 상기 제5레벨의 분할된 영역 중에서 사용자의 해시코드에 해당하는 최소 영역이 포함된 상기 제5레벨의 영역을 탐색영역으로 설정하여, 상기 제5레벨의 영역 내 모든 해시코드를 추출할 수 있다. 또한, 예를 들어, 상기 도 5에서 나타난 레벨이 제6레벨이라고 가정할 때, 사용자가 상기 레벨정보로 제6레벨, 상기 구획정보로 1을 입력하면, 사용자가 위치한 제6레벨의 사용자영역과 상기 사용자영역으로부터 구획간격을 1만큼씩 확장시킨 영역을 인접사용자를 탐색할 영역으로 인식한다. 그 후, 상기 서버(200)는 상기 인식된 영역의 해시코드를 추출한다. 사용자가 입력한 레벨로부터 순차적으로 상위레벨로 올라가면서, 상기 인식된 영역이 포함된 상위레벨의 해시코드를 파악한다.
또한, 상기 위치검색조건이 특정한 도형영역 정보인 경우, 상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출하는 단계(S310)는, 도 6에서와 같이, 상기 도형영역을 포함하는 제n번째 레벨을 판단하는 단계(S311); 상기 도형영역 내인 상기 제n번째 레벌에 포함된 제n+1번째 레벨의 영역 내 해시코드를 추출하는 단계(S312); k가 1일 때부터 제n+k+1번째 레벨이 마지막 레벨에 해당할 때까지, 상기 도형영역의 외곽선이 제n+k번째 레벨의 영역을 통과하는 경우, 제n+k번째 레벨에 포함된, 상기 도형영역 내인 제n+k+1번째 레벨 영역의 해시코드를 추출하는 단계(S313 내지 S316); 및 상기 도형영역의 외곽선이 통과하는 마지막 레벨의 해시코드를 추출하는 단계(S317);를 포함할 수 있다. 상기 n은 제n번째 레벨이 상기 도형영역을 포함하는 가장 큰 양의 정수이다.
상기 도형영역을 포함하는 제n번째 레벨을 판단한다(S311). 단일폐곡선 형태의 도형영역이 포함되는 최소의 레벨(제n번째 레벨)을 탐색하여, 제n번째 레벨 이상은 상기 도형영역이 전체를 포함하지 못하므로 제n+1번째 레벨부터 속하는 영역을 추출한다.
상기 도형영역 내인 상기 제n번째 레벌에 포함된 제n+1번째 레벨의 영역 내 해시코드를 추출한다(S312). 즉, 상기 도형영역을 포함하는 제n번째 레벨 하의 분할된 제n+1번째 레벨 중에서 상기 도형영역 내인 영역을 파악하고, 상기 파악된 영역의 해시코드를 추출한다. 상기 파악된 영역의 하위 레벨은 모두 상기 도형영역 내에 포함된다.
그 후, k가 1일 때부터 제n+k+1번째 레벨이 마지막 레벨에 해당할 때까지, 상기 도형영역의 외곽선이 제n+k번째 레벨의 영역을 통과하는 경우, 제n+k번째 레벨에 포함된, 상기 도형영역 내인 제n+k+1번째 레벨 영역의 해시코드를 추출한다(S313 내지 S316). 상기 S312단계에서 추출되지 않은 상기 제n번째 레벨에 포함되는 제n+1번째 레벨(즉, k=1인, 제n+k번째 레벨)의 영역 중에는 상기 도형영역의 외곽선이 제n+1번째 레벨 영역을 통과하여 일부만 포함하는 경우가 존재한다. 그러므로 상기 도형영역의 외곽선이 통과하는 제n+1번째 레벨의 하위레벨인 제n+2번째 레벨(즉, k=1인, 제n+k+1번째 레벨)영역 중에서, 상기 도형영역에 포함되는 제n+2번째 레벨영역의 해시코드를 추출한다(S313 및 S314).
상기 제n+k+1번째 레벨이 마지막 레벨(최하위 레벨)인지 판단하여(S315), 상기 제n+k+1번째 레벨의 하위레벨이 존재하면, k를 증가시키면서 상기 도형영역에 포함되는 영역을 추출하는 과정을 하위레벨로 연속적으로 진행하여, 상기 도형영역에 포함되는 모든 해시코드를 추출한다(S316).
상기 도형영역의 외곽선이 통과하는 마지막 레벨의 해시코드를 추출한다(S317). 상기 단계의 수행에 의해, 상기 제n+k+1번째 레벨이 마지막 레벨(최하위 레벨)인 경우, 상기 도형영역에 포함되는 모든 마지막 레벨 영역의 해시코드는 추출되므로, 상기 도형영역의 외곽선이 통과하는 마지막 레벨영역의 해시코드의 포함여부를 결정하여야 한다. 상기 도형영역의 외곽선이 통과하는 마지막 레벨영역의 해시코드의 처리는 다양한 방식으로 설정될 수 있다. 예를 들어, 상기 도형영역의 외곽선이 통과하는 마지막 레벨영역의 해시코드 추출은 수행하지 않을 수 있다. 또한, 상기 도형영역이 상기 마지막 레벨 영역을 특정한 퍼센트 이상 포함하면 해시영역으로 추출하도록 설정할 수 있다. 또한, 상기 도형영역의 외곽선이 통과하는 모든 마지막 레벨의 해시코드를 추출할 수 있다(S317). 상기 도형영역의 외곽선이 통과하는 마지막 레벨영역의 해시코드의 포함여부를 결정하는 방식은 이에 한정되지 않고, 다양한 기준을 적용하여 수행될 수 있다.
또한, 상기 위치검색조건이 특정한 도형영역 정보인 경우, 상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출하는 단계는, 상기 도형영역의 외곽선이 지나는 마지막 레벨의 해시코드를 추출하는 단계; 및 분할된 영역별 해시코드 부여규칙을 기초로, 상기 추출된 해시코드 사이에 해당하는 해시코드를 추출하는 단계;를 포함하고, 상기 도형영역은 사용자에 의해 설정된 단일폐곡선에 해당하는 영역일 수 있다. 먼저, 상기 도형영역의 외곽선이 지나는 마지막 레벨의 해시코드를 추출한다. 그 후, 상기 분할된 영역별 해시코드 부여규칙을 기초로, 상기 추출된 해시코드 사이에 해당하는 해시코드를 추출할 수 있다. 해시코드는 기준점을 정하여 부여규칙을 적용하므로, 상기 분할된 영역별 해시코드 부여규칙을 바탕으로 상기 도형영역의 외곽선이 지나는 마지막 레벨의 해시코드를 비교하면, 상기 추출된 해시코드 사이에 해당하는 상기 도형영역 내 해시코드를 모두 추출할 수 있다.
또한, 상기 위치검색조건이 사용자로부터 떨어진 거리정보인 경우, 사용자의 위치를 중심으로 하는 원 내에 포함 또는 상기 원이 통과하는 해시코드를 추출할 수 있다. 즉, 사용자의 위치로부터 특정한 거리 내의 인접사용자를 탐색하기 위해, 기준점이 되는 사용자의 위치를 설정하고, 이를 기준으로 사용자가 원하는 거리반경을 적용하여 원 영역을 설정할 수 있다. 상기 기준점은 사용자의 실제 위치, 사용자가 위치한 영역의 해시코드에 해당하는 마지막 레벨 영역의 기준점, 상기 마지막 레벨 영역의 무게중심 등이 될 수 있다. 상기 거리반경은 사용자가 상기 단말기(100)의 상기 사용자입력부를 조작하여 입력하고, 이를 상기 서버(200)가 유선 또는 무선 통신을 통해 수신할 수 있다. 그 후, 상기 원 영역 내에 포함되거나 상기 원이 통과하는 영역의 해시코드를 추출할 수 있다. 상기 원 영역 내에 포함되거나 상기 원이 통과하는 영역의 해시코드를 추출하는 방법으로는, 상기 위치검색조건이 도형영역인 경우와 동일한 방식이 적용될 수 있다.
또한, 상기 위치검색조건이 방향정보를 포함하는 경우, 상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출하는 단계는, 사용자의 위치정보에 상응하는 해시코드를 기준으로, 상기 해시코드 부여규칙을 고려하여 상기 방향정보에 해당하는 상기 해시코드를 구별하는 단계;를 포함할 수 있다. 즉, 분할된 각 영역의 상기 해시코드 부여규칙을 반영하면, 사용자가 위치한 영역을 기준으로 상기 분할된 각 영역의 위치를 방위정보(방향정보)로 표현할 수 있다. 이를 통해, 상기 서버(200)는 사용자가 원하는 방향(또는 방위)에 해당하는 영역을 파악해낼 수 있다.
또한, 상기 위치검색조건이 사용자가 설정한 직선 또는 개곡선인 경우, 상기 직선 또는 개곡선으로부터 떨어진 거리를 입력받아, 상기 직선 또는 개곡선으로부터 상기 거리만큼 떨어진 영역의 해시코드를 추출할 수 있다. 상기 직선 또는 개곡선은 사용자가 단말기(100)의 터치스크린에 표시된 지도상에 직접 표시하여 입력되거나, 사용자가 상기 사용자입력부를 통해 특정한 도로명칭 또는 구간을 입력하여 설정할 수 있다. 그 후, 상기 서버(200)는 사용자가 입력한 상기 입력된 직선 또는 개곡선으로부터 떨어진 특정한 거리값을 수신할 수 있다. 그 후, 상기 서버(200)는 상기 입력된 직선 또는 개곡선으로부터 상기 입력된 거리값만큼 떨어진 범위를 상기 인접사용자를 탐색할 영역으로 설정할 수 있다. 예를 들어, 강남대로에 위치한 까페를 운영하는 사용자는 강남대로 특정구간 내의 인접사용자만을 탐색하기를 원할 수 있다. 이러한 경우에 사용자는 상기 인접사용자 탐색을 원하는 강남대로의 특정구간을 입력하고, 탐색을 수행할 상기 강남대로로부터 떨어진 거리를 입력한다. 상기 서버(200)는 상기 입력된 데이터를 바탕으로 블록영역을 설정하여, 상기 블록영역 내에 해당하는 해시코드를 추출할 수 있다.
상기 해시코드를 기초로 서버(200)를 탐색하여, 저장된 인접사용자를 탐색한다(S320). 즉, 상기 해시코드에 해당하는 서버(200)의 저장공간 내에 포함된 인접사용자를 파악해낸다. 또한, 추가적인 탐색조건이 포함된다면, 상기 탐색된 인접사용자 중에서 추가된 탐색조건에 상응하는 상기 인접사용자만을 탐색할 수 있다.
또한, 상기 위치검색조건이 행정구역인 경우, 상기 행정구역에 해당하는 상기 해시코드 목록을 획득하는 단계;를 더 포함할 수 있다. 상기 행정구역별로 상응하는 해시코드를 목록화해둘 수 있고, 사용자가 특정한 행정구역 내의 상기 인접사용자의 탐색을 요청하면 상기 행정구역에 대응되는 해시코드 목록을 외부로부터 또는 상기 서버(200) 내 저장부로부터 획득할 수 있다. 이를 통해, 별도의 해시코드를 추출할 영역을 탐색하는 과정을 수행하지 않아도 되므로, 상기 인접사용자 탐색이 빠르게 이루어질 수 있다.
또한, 사용자의 위치정보에 해당하는 해시코드를 수신하는 단계;를 더 포함할 수 있다. 사용자의 위치를 기준으로 인접한 사용자를 탐색하여야 하므로, 사용자의 위치정보를 사용자의 단말기(100)로부터 수신할 필요가 있다. 사용자의 정확한 현재 위치는 노출되지 않도록 해시코드를 수신할 수 있다.
또한, 사용자에게 상기 탐색된 인접사용자의 사용자식별정보를 제공하는 단계;를 더 포함할 수 있다. 즉, 상기 서버(200)가 상기 탐색된 인접사용자의 사용자식별정보를 사용자의 상기 단말기(100)로 전송할 수 있다. 상기 사용자식별정보는, 사용자의 ID, 사용자가 현재 위치한 영역, 사용자의 성명 등의 사용자와 관련된 다양한 정보가 될 수 있다. 예를 들어, 소셜데이팅 어플리케이션의 경우, 사용자는 상기 인접사용자를 탐색하여 상기 인접사용자의 현재 위치 정보와 신상정보를 제공받기를 원할 수 있다. 따라서 상기 서버(200)는 탐색된 상기 인접사용자가 현재 위치한 영역을 지도상에 표시해서 제공할 수 있으며, 상기 인접사용자의 신상정보 등을 제공할 수 있다. 따라서 상기 서버(200)는 사용자가 이용하는 서비스의 형태에 따라서 다양한 종류의 사용자식별정보를 제공할 수 있다.
또한, 상기 사용자에게 상기 탐색된 인접사용자의 사용자식별정보를 제공하는 단계는, 사용자의 위치로부터 상기 인접사용자까지의 거리를 파악하여, 가까운 곳에 위치한 인접사용자부터 차례대로 표시하는 것을 특징으로 할 수 있다. 사용자의 정확한 위치(경위도 좌표)를 알지 못하고 사용자가 포함된 영역만을 알고 있는 상태에서 상이한 영역에 포함된 사용자와 인접사용자 간의 거리를 측정하는 경우, 사용자가 위치한 영역의 해시코드와 상기 인접사용자가 위치한 영역의 해시코드를 상기 해시코드 부여기준을 바탕으로 비교하여, 가까운 영역의 인접사용자부터 차례대로 표시하여 사용자에게 제공할 수 있다. 또한, 사용자의 정확한 위치(경위도 좌표)를 알지 못하고 사용자가 포함된 영역만을 알고 있는 상태에서 상이한 영역에 포함된 사용자와 인접사용자 간의 거리를 측정하는 경우, 각 영역의 기준점을 설정하여 기준점 간의 거리를 양자간의 거리로 판단할 수 있고, 이를 기준으로 인접사용자들을 거리순으로 정렬하여 제공할 수 있다. 또한, 사용자의 실제위치를 기준으로 판단하는 경우, 사용자의 실제 위치로부터 인접사용자가 포함된 영역의 기준점까지의 거리를 계산하여, 이를 기준으로 인접사용자들을 거리순으로 정렬할 수 있다. 또한, 인접사용자가 자신의 실제 위치를 노출하고자 하는 경우(예를 들어, 매장에 해당하여 광고를 하거나 타인이 정확한 위치를 검색 가능하도록 하려는 경우), 상기 인접사용자의 실제위치를 적용한 거리 계산값을 통해 정렬할 수 있다.
또한, 상기 탐색된 인접사용자에게 사용자가 요청한 정보를 전송하는 단계;를 더 포함할 수 있다. 예를 들어, 사용자가 까페 등의 매장을 운영하는 경우, 사용자는 인접사용자에게 할인 또는 이벤트 정보와 같은 광고를 전송하기를 원할 수 있다. 이러한 경우, 사용자는 광고 내용을 상기 서버(200)로 전송하여 상기 인접사용자들에게 전송요청을 할 수 있다. 또한, 사용자가 관공서(예를 들어, 주민센터)인 경우, 사용자는 해당 지역에 발생한 특이사항을 인접사용자에게 전파하여야 할 수 있다.
또한, 상기 사용자의 위치정보 및 상기 사용자식별정보를 수신하는 단계; 및 상기 위치정보를 해시코드로 변환하여, 상기 해시코드의 데이터영역에 상기 사용자식별정보를 저장하는 단계;를 더 포함할 수 있다. 상기 서버(200)가 사용자에게 상기 탐색된 인접사용자의 위치정보와 사용자식별정보를 제공하기 위해서는, 서비스를 이용하는 사용자들의 위치정보와 사용자식별정보를 유선 또는 무선통신을 통해 수신하여 상기 사용자들의 위치에 해당하는 해시코드를 파악하고, 상기 해시코드의 서버(200) 내 데이터영역에 상기 사용자식별정보를 저장할 필요가 있다. 따라서 서비스를 이용하는 모든 사용자의 위치정보 및 사용자식별정보를 수신하여, 사용자 위치에 해당하는 해시코드의 데이터영역에 사용자식별정보를 저장할 수 있다.
도 8은 본 발명의 일실시예에 따른 사용자의 단말기(100, 300)와 서버(200)의 연결관계를 나타낸 도면이다.
도 8을 참조하여, 사용자의 위치에 상응하는 해시코드를 파악하여, 이를 바탕으로 인접사용자를 탐색하여 사용자에게 인접사용자에 대한 정보를 제공하는 과정을 설명한다.
사용자는 단말기(100)에 포함된 상기 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 사용자영역 설정방법을 이용하여 사용자의 위치에 상응하는 해시코드를 파악한다. 상기 해시코드를 유선 또는 무선통신을 통해 상기 서버(200)로 전송한다. 다른 사용자의 단말기(300)에서도 위치정보에 상응하는 해시코드를 파악하여 상기 서버(200)로 전송한다. 상기 서버(200)는 수신한 상기 해시코드에 대응하는 서버상의 저장공간에 상기 사용자의 사용자식별정보를 저장한다. 그 후, 사용자가 인접사용자가 인접사용자를 탐색하고자 요청하는 경우, 상기 서버(200)는 상기 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법을 이용하여 인접사용자 탐색하여 사용자의 단말기(100)로 상기 탐색된 인접사용자의 사용자식별정보를 전송한다.
상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.
첫째, 사용자의 위치정보를 계층화된 코드정보인 해시코드로 변환하여, 사용자의 정확한 실제 위치가 노출되는 것을 방지할 수 있다. 본 발명을 통해서는 사용자의 정확한 위치가 연속적으로 분할된 최소 단위 영역으로 추상화되므로, 본인의 정확한 실시간 위치정보가 서비스 제공업체 또는 다른 사용자에게 제공되기를 꺼리는 사용자들도 위치기반서비스를 이용하도록 할 수 있다.
둘째, 전체 지도를 여러 단계의 레벨로 단계적으로 분할하여 코드를 부여함으로써 각 영역의 상하위레벨 관계를 트리구조로 형성하므로, 본 발명을 적용한 위치기반서비스는 특정 영역에 위치한 사용자의 사용자식별정보 저장 및 상기 특정 영역에 포함되는 인접사용자들을 사용자식별정보 탐색을 간편하게 수행할 수 있다.
셋째, 본 발명을 통해서 사용자가 원하는 영역을 설정하여 인접사용자의 탐색을 수행할 수 있다. 사용자는 레벨 또는 구획정보, 도형영역정보, 선 또는 개곡선정보, 행정구역정보 등 다양한 방식으로 탐색을 수행할 영역을 설정할 수 있다. 이를 통해, 사용자는 본인의 상황에 부합하는 인접사용자 탐색범위를 설정할 수 있는 효과가 있다.
넷째, 제공하는 위치기반서비스에 따라 탐색된 인접사용자의 사용자식별정보를 사용자에게 제공하거나 사용자가 탐색된 인접사용자에게 원하는 정보를 전송할 수 있다. 이를 통해, 본 발명을 이용하는 위치기반서비스의 방식에 따라서 탐색된 인접사용자 리스트를 다양하게 활용할 수 있는 효과가 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100 : 사용자의 단말기
200 : 서버
300 : 다른 사용자의 단말기

Claims (18)

  1. 사용자의 위치정보를 인식하는 단계;
    제n 레벨에서 정의된 복수의 제1 영역 중에서 상기 위치정보와 대응되는 영역의 코드정보를 파악하여, 상기 코드정보를 포함하는 제n 해시코드를 결정(n은 양의 정수)하는 단계;
    상기 제n 레벨의 하위레벨인 제n+1 레벨이 존재할 경우, n=n+1로 하여, 상기 제n 해시코드를 결정하는 단계를 반복하는 단계; 및
    최하위레벨에서 상기 제n 해시코드를 기초로 최종해시코드를 결정하는 단계;를 포함하되,
    상기 제n 해시코드는,
    n 이 1이면, 상기 제1 레벨의 코드정보를 포함하고,
    n이 1이 아닌 양의 정수이면, 상기 제n 레벨의 코드정보 및 제n-1 해시코드 정보를 포함하는, 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 사용자영역 설정방법.
  2. 제1항에 있어서,
    상기 제n 해시코드는,
    제1 레벨부터 제n 레벨까지의 사용자가 위치한 영역의 코드를 모두 포함하는 것을 특징으로 하는, 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 사용자영역 설정방법.
  3. 제1항에 있어서,
    사용자의 위치정보를 인식하기 전, 지도의 영역 분할을 수행하여, 상기 영역별로 코드정보를 부여하는 단계;를 더 포함하는, 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 사용자영역 설정방법.
  4. 제1항에 있어서,
    사용자의 단말기에서 수행되는 경우,
    사용자의 위치정보를 인식하기 전, 서버로부터 분할된 영역별 코드정보를 수신하는 단계;를 더 포함하는, 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 사용자영역 설정방법.
  5. 제1항에 있어서,
    상기 최종해시코드를 서버 내 사용자의 데이터공간에 저장하거나, 상기 최종해시코드에 해당하는 서버 내 데이터공간에 상기 사용자의 사용자식별정보를 저장하는 단계;를 더 포함하는, 사용자의 실제위치를 투영한 상하관계형 영역에 기반한 사용자 영역 설정방법.
  6. 사용자의 위치검색조건을 수신하는 단계;
    상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출하는 단계; 및
    상기 해시코드를 기초로 서버를 탐색하여, 저장된 인접사용자를 탐색하는 단계;를 포함하는, 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법.
  7. 제6항에 있어서,
    사용자의 위치정보에 해당하는 해시코드를 수신하는 단계;를 더 포함하는 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법.
  8. 제6항에 있어서,
    상기 위치검색조건이 사용자가 입력한 특정한 레벨정보 또는 구획정보인 경우,
    상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출하는 단계는,
    상기 특정한 레벨의 사용자의 해시코드가 포함된 영역 또는 상기 특정한 구획의 영역에 포함된 모든 해시코드를 추출하는, 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법.
  9. 제6항에 있어서,
    상기 위치검색조건이 특정한 도형영역 정보인 경우,
    상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출하는 단계는,
    상기 도형영역을 포함하는 제n번째 레벨을 판단하는 단계;
    상기 도형영역 내인 상기 제n번째 레벌에 포함된 제n+1번째 레벨의 영역 내 해시코드를 추출하는 단계;
    k가 1일 때부터 제n+k+1번째 레벨이 마지막 레벨에 해당할 때까지,
    상기 도형영역의 외곽선이 제n+k번째 레벨의 영역을 통과하는 경우, 제n+k번째 레벨에 포함된, 상기 도형영역 내인 제n+k+1번째 레벨 영역의 해시코드를 추출하는 단계; 및
    상기 도형영역의 외곽선이 통과하는 마지막 레벨의 해시코드를 추출하는 단계;를 포함하고,
    상기 n은 제n번째 레벨이 상기 도형영역을 포함하는 가장 큰 양의 정수이고, 상기 도형영역은 사용자에 의해 설정된 단일폐곡선에 해당하는 영역인, 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법.
  10. 제6항에 있어서,
    상기 위치검색조건이 특정한 도형영역 정보인 경우,
    상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출하는 단계는,
    상기 도형영역의 외곽선이 지나는 마지막 레벨의 해시코드를 추출하는 단계; 및
    분할된 영역별 해시코드 부여규칙을 기초로, 상기 추출된 해시코드 사이에 해당하는 해시코드를 추출하는 단계;를 포함하고,
    상기 도형영역은 사용자에 의해 설정된 단일폐곡선에 해당하는 영역인, 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법.
  11. 제6항에 있어서,
    상기 위치검색조건이 사용자로부터 떨어진 거리정보인 경우,
    사용자의 위치정보, 사용자의 상기 해시코드에 해당하는 마지막 레벨 영역의 기준점, 상기 마지막 레벨 영역의 무게중심 중 어느 하나를 중심으로 하고, 상기 거리정보를 반지름으로 하는 원 내에 포함 또는 상기 원이 통과하는 해시코드를 추출하는 단계;를 더 포함하는, 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법.
  12. 제6항에 있어서,
    상기 위치검색조건이 방향정보를 포함하는 경우,
    상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출하는 단계는,
    사용자의 위치정보에 상응하는 해시코드를 기준으로, 상기 해시코드 부여규칙을 고려하여 상기 방향정보에 해당하는 상기 해시코드를 구별하는 단계;를 포함하는, 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법.
  13. 제6항에 있어서,
    상기 위치검색조건이 행정구역인 경우,
    상기 행정구역에 해당하는 상기 해시코드 목록을 획득하는 단계;를 더 포함하는, 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법.
  14. 제6항에 있어서,
    상기 위치검색조건이 사용자가 설정한 직선 또는 개곡선인 경우,
    상기 위치검색조건을 기초로 탐색을 수행할 해시코드를 추출하는 단계는,
    상기 직선 또는 개곡선으로부터 떨어진 거리를 입력받아, 상기 직선 또는 개곡선으로부터 상기 거리만큼 떨어진 영역의 해시코드를 추출하는 단계;를 포함하는, 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법.
  15. 제6항에 있어서,
    사용자에게 상기 탐색된 인접사용자의 사용자식별정보를 제공하는 단계;를 더 포함하는, 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법.
  16. 제15항에 있어서,
    상기 사용자에게 상기 탐색된 인접사용자의 사용자식별정보를 제공하는 단계는,
    사용자의 위치로부터 상기 인접사용자까지의 거리를 파악하여, 가까운 곳에 위치한 인접사용자부터 차례대로 표시하는 것을 특징으로 하는, 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법.
  17. 제6항에 있어서,
    상기 탐색된 인접사용자에게 사용자가 요청한 정보를 전송하는 단계;를 더 포함하는, 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법.
  18. 제6항에 있어서,
    상기 사용자의 위치정보 및 사용자식별정보를 수신하는 단계; 및
    상기 위치정보를 해시코드로 변환하여, 상기 해시코드의 데이터영역에 상기 사용자식별정보를 저장하는 단계;를 더 포함하는, 사용자 실제위치를 포함하는 상하관계형 영역에 기반한 인접사용자 탐색방법.
KR1020140149174A 2014-10-30 2014-10-30 사용자의 실제위치를 포함하는 상하관계형 영역에 기반한 사용자 영역 설정방법및 인접사용자 탐색방법 KR101598809B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140149174A KR101598809B1 (ko) 2014-10-30 2014-10-30 사용자의 실제위치를 포함하는 상하관계형 영역에 기반한 사용자 영역 설정방법및 인접사용자 탐색방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140149174A KR101598809B1 (ko) 2014-10-30 2014-10-30 사용자의 실제위치를 포함하는 상하관계형 영역에 기반한 사용자 영역 설정방법및 인접사용자 탐색방법

Publications (1)

Publication Number Publication Date
KR101598809B1 true KR101598809B1 (ko) 2016-03-02

Family

ID=55582649

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140149174A KR101598809B1 (ko) 2014-10-30 2014-10-30 사용자의 실제위치를 포함하는 상하관계형 영역에 기반한 사용자 영역 설정방법및 인접사용자 탐색방법

Country Status (1)

Country Link
KR (1) KR101598809B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101942952B1 (ko) 2016-12-26 2019-01-28 김성재 좌표 기반 이벤트 제공 시스템
US11223938B2 (en) 2019-05-08 2022-01-11 Samsung Electronics Co., Ltd. Electronic device and method of controlling thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040096683A (ko) * 2003-05-10 2004-11-17 팅크웨어(주) 이동 통신 단말기에 지도 정보를 제공하는 방법 및 시스템
JP2004357216A (ja) * 2003-05-30 2004-12-16 Toshiba Corp 位置探索システム及び位置探索方法
KR20130096765A (ko) * 2010-12-20 2013-08-30 노키아 코포레이션 지리학적 데이터베이스를 맵 타일 데이터베이스로 변환하기 위한 방법, 장치 및 컴퓨터 프로그램 제품
KR20140020576A (ko) * 2012-08-09 2014-02-19 엘지전자 주식회사 이동 단말기 및 그것의 제어방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040096683A (ko) * 2003-05-10 2004-11-17 팅크웨어(주) 이동 통신 단말기에 지도 정보를 제공하는 방법 및 시스템
JP2004357216A (ja) * 2003-05-30 2004-12-16 Toshiba Corp 位置探索システム及び位置探索方法
KR20130096765A (ko) * 2010-12-20 2013-08-30 노키아 코포레이션 지리학적 데이터베이스를 맵 타일 데이터베이스로 변환하기 위한 방법, 장치 및 컴퓨터 프로그램 제품
KR20140020576A (ko) * 2012-08-09 2014-02-19 엘지전자 주식회사 이동 단말기 및 그것의 제어방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101942952B1 (ko) 2016-12-26 2019-01-28 김성재 좌표 기반 이벤트 제공 시스템
US11223938B2 (en) 2019-05-08 2022-01-11 Samsung Electronics Co., Ltd. Electronic device and method of controlling thereof

Similar Documents

Publication Publication Date Title
US11669864B2 (en) Determining locations of interest based on user visits
EP3241370B1 (en) Analyzing semantic places and related data from a plurality of location data reports
EP2149032B1 (en) Method, apparatus and computer program product for a social route planner
US8671365B2 (en) Method, apparatus and computer program product for providing a cursor for indicating context data in a mapping application
CN103210410B (zh) 用于情境确定的方法和装置
US10657669B2 (en) Determination of a geographical location of a user
CN112398895B (zh) 提供服务信息的方法及装置
US10798670B2 (en) Information processing device, portable device, and system
US20070123270A1 (en) Mobile device product locator
CN104160440A (zh) 使用基于位置的语言建模的自动输入信号识别
JP2018518664A (ja) モバイル端末の測位間隔を決定するための方法およびシステム
JP2018032137A (ja) 移動体の配置システム
JP6160399B2 (ja) 行先情報提供プログラム、行先情報提供装置および行先情報提供方法
KR101598809B1 (ko) 사용자의 실제위치를 포함하는 상하관계형 영역에 기반한 사용자 영역 설정방법및 인접사용자 탐색방법
CN106126628A (zh) 一种公共区域智能信息查询追踪系统及方法
KR100671164B1 (ko) 이동 통신 단말기를 이용한 위치 정보 제공 시스템 및 방법
JP5475835B2 (ja) 地点登録装置、端末装置、及び地点登録方法
CN107678816A (zh) 一种基于地理位置的程序运行提示方法、装置和终端设备
KR101318369B1 (ko) 액세스 포인트를 이용한 실내 위치 측정을 위한 액세스 포인트 정보 수집 장치 및 방법
JP6581878B2 (ja) ナビゲーションシステム、情報処理装置、プログラム
CN112783992B (zh) 一种基于兴趣点的地图功能区域确定方法和装置
JP2012174182A (ja) 群検出装置、群検出プログラム、及び群検出方法
CN109141462B (zh) 地图显示比例的设定方法、服务器和地图显示装置
US11153719B2 (en) Systems and methods for identifying available services at a physical address
KR101292690B1 (ko) 실내 위치 측정을 위해 실내를 섹터 분할하는 섹터 분할 방법 및 섹터 분할 장치

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190225

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200224

Year of fee payment: 5