KR20190041767A - 핑거프린트를 이용하는 사용자 위치 정보를 제공하는 방법 및 시스템 - Google Patents

핑거프린트를 이용하는 사용자 위치 정보를 제공하는 방법 및 시스템 Download PDF

Info

Publication number
KR20190041767A
KR20190041767A KR1020170133411A KR20170133411A KR20190041767A KR 20190041767 A KR20190041767 A KR 20190041767A KR 1020170133411 A KR1020170133411 A KR 1020170133411A KR 20170133411 A KR20170133411 A KR 20170133411A KR 20190041767 A KR20190041767 A KR 20190041767A
Authority
KR
South Korea
Prior art keywords
user
place
fingerprint
electronic device
providing
Prior art date
Application number
KR1020170133411A
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 KR1020170133411A priority Critical patent/KR20190041767A/ko
Priority to PCT/KR2018/012019 priority patent/WO2019074315A1/ko
Publication of KR20190041767A publication Critical patent/KR20190041767A/ko

Links

Images

Classifications

    • 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
    • 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
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/73Access point logical identity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/79Radio fingerprint
    • 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/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • 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/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • 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/024Guidance services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel

Abstract

핑거프린트를 이용하는 사용자 위치 정보를 제공하는 방법 및 시스템이 개시된다. 일 실시예에 따른 사용자 위치 정보 제공 방법은, 사용자의 전자 기기가 접속하는 적어도 하나의 AP(Access Point)의 정보를 수집하는 단계; 상기 수집된 적어도 하나의 AP의 정보에 기초하여 상기 사용자의 접속 핑거프린트(Fingerprint)를 획득하는 단계; 핑거프린트 데이터베이스-상기 핑거프린트 데이터베이스에는 복수의 장소 ID들이 각각의 핑거프린트에 매핑되어 저장 및 유지됨-에 액세스하는 단계; 상기 핑거프린트 데이터베이스로부터 상기 접속 핑거프린트에 대응하는 장소 ID를 추출하는 단계; 및 상기 사용자의 전자 기기 또는 상기 사용자의 전자 기기와 페어링된 보호자의 전자 기기 중 적어도 하나에 상기 추출된 장소 ID를 제공하는 단계를 포함할 수 있다.

Description

핑거프린트를 이용하는 사용자 위치 정보를 제공하는 방법 및 시스템{METHOD AND SYSTEM FOR PROVIDING USER LOCATION INFORMATION USING FINGERPRINT}
아래의 설명은 사용자 위치 정보를 제공하는 기술에 관한 것이다.
위치 기반 서비스(Location Based Service; LBS)는 휴대폰이나 PDA와 같은 이동통신 전자 기기를 기반으로 사용자의 위치를 실시간으로 추적하여 제공하는 시스템 및 서비스를 일컫는다. 종래의 위치 기반 서비스에서는 사용자의 전자 기기가 어느 이동 통신 기지국과 접속하고 있느냐를 판단하여 사용자의 위치를 확인하거나, 인공위성기반의 GPS(Global Positioning System)를 이용하여 사용자의 위치를 확인하는 방식이 이용되었다. GPS를 이용하는 방식의 일례로서, 한국 공개특허공보 제10-2001-0040059호(공개일 2001년 05월 15일)에는 GPS 위성으로부터 나오는 스펙트럼 확산신호를 이용하여 위치를 측정하는 방법 및 장치가 개시되어 있다.
그러나 이동 통신 기지국을 활용하는 방식은 위치 추적에서 1 내지 2km의 오차 범위를 포함하기 때문에 정확도가 떨어지는 단점이 있으며, GPS를 이용하는 방식은 GPS 신호가 닿지 않는 실내에서 적용하기 힘든 문제점이 있다.
이에, 실외뿐만 아니라 실내에서도 적용 가능하며 위치 추적의 오차 범위를 최소화하는 기술이 요구된다.
일 실시예들은 AP(Access Point) 기반의 핑거프린트(Fingerprint)를 이용함으로써, 실외 및 실내 모두에서 적용 가능하며, 오차 범위를 최소화할 수 있는 사용자 위치 정보 제공 방법 및 시스템, 그리고 컴퓨터와 결합되어 사용자 위치 정보 제공 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램과 그 기록매체를 제안한다.
더 나아가, 일 실시예들은 사용자 위치 정보를 실시간으로 추적하는 방법 및 시스템, 그리고 컴퓨터와 결합되어 상기 사용자 위치 실시간 추적 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램과 그 기록매체를 제안한다.
또한, 일 실시예들은 핑거프린트를 이용하는 과정에서 사용되는 핑거프린트 데이터베이스를 구축 및 유지하는 방법 및 시스템, 그리고 컴퓨터와 결합되어 상기 구축 및 유지 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램과 그 기록매체를 제안한다.
또한, 일 실시예들은 사용자의 위치 정보를 이용하여 사용자의 이동 스케줄을 생성함으로써, 시각 별 사용자 위치를 제공하는 방법 및 시스템, 그리고 컴퓨터와 결합되어 상기 제공 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램과 그 기록매체를 제안한다.
컴퓨터로 구현되는 사용자 위치 정보 제공 방법에 있어서, 사용자의 전자 기기가 접속하는 적어도 하나의 AP(Access Point)의 정보를 수집하는 단계; 상기 수집된 적어도 하나의 AP의 정보에 기초하여 상기 사용자의 접속 핑거프린트(Fingerprint)를 획득하는 단계; 핑거프린트 데이터베이스-상기 핑거프린트 데이터베이스에는 복수의 장소 ID들이 각각의 핑거프린트에 매핑되어 저장 및 유지됨-에 액세스하는 단계; 상기 핑거프린트 데이터베이스로부터 상기 접속 핑거프린트에 대응하는 장소 ID를 추출하는 단계; 및 상기 사용자의 전자 기기 또는 상기 사용자의 전자 기기와 페어링된 보호자의 전자 기기 중 적어도 하나에 상기 추출된 장소 ID를 제공하는 단계를 포함하는 사용자 위치 정보 제공 방법을 제안한다.
일 측면에 따르면, 상기 추출하는 단계는, 상기 핑거프린트 데이터베이스로부터 상기 접속 핑거프린트와의 유사도가 기 설정된 레벨 이상인 핑거프린트에 매핑된 장소 ID를 추출하는 단계를 포함할 수 있다.
다른 측면에 따르면, 상기 획득하는 단계는, 상기 수집된 적어도 하나의 AP의 정보 중 식별 정보를 상기 접속 핑거프린트로 획득하는 단계를 포함하고, 상기 핑거프린트 데이터베이스에 저장 및 유지되는 상기 복수의 장소 ID들 각각의 핑거프린트는, 상기 복수의 장소 ID들 각각에서 탐색되는 적어도 하나의 AP의 식별 정보를 포함할 수 있다.
또 다른 측면에 따르면, 상기 획득하는 단계는, 상기 적어도 하나의 AP 중 RSSI(Received Signal Strength Indication)가 기 설정된 레벨 이상이거나, 상기 사용자의 전자 기기가 접속하는 횟수가 기 설정된 횟수 이상인 적어도 하나의 AP의 정보에 기초하여 상기 사용자의 접속 핑거프린트를 획득하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 제공하는 단계는, 상기 핑거프린트 데이터베이스로부터 상기 접속 핑거프린트에 대응하는 장소 ID가 추출되지 않거나, 상기 추출된 장소 ID가 시각 별 기 설정된 장소 ID와 일치하지 않는 경우, 상기 사용자의 전자 기기 또는 상기 보호자의 전자 기기 중 적어도 하나에 상기 사용자가 이탈했음을 알리는 알람을 통지하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 사용자 위치 정보 제공 방법은, 기 설정된 주기에 따라 반복 수행되어 시각 별 사용자 위치에 대응하는 장소 ID를 제공할 수 있다.
또 다른 측면에 따르면, 상기 사용자 위치 정보 제공 방법은, 상기 시각 별 사용자 위치에 대응하는 장소 ID에 기초하여 상기 사용자에 대한 이동 스케줄을 생성하는 단계; 및 상기 보호자의 전자 기기 또는 상기 사용자의 전자 기기 중 적어도 하나에 상기 이동 스케줄을 제공하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 사용자 위치 정보 제공 방법은, 상기 이동 스케줄에 기초하여 상기 사용자의 전자 기기에 특정 장소로 이동할 것을 알리는 알람을 통지하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 수집하는 단계는, 상기 수집된 적어도 하나의 AP의 정보에 기초하여 상기 사용자의 전자 기기가 위치하는 좌표를 확인하는 단계를 더 포함하고, 상기 핑거프린트 데이터베이스에는, 상기 복수의 장소 ID들이 각각의 좌표와 매핑되어 저장 및 유지되며, 상기 추출하는 단계는, 상기 핑거프린트 데이터베이스로부터 상기 확인된 좌표와 기 설정된 거리 내에 근접한 좌표에 매핑된 장소 ID를 추출하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 사용자 위치 정보 제공 방법은, 상기 핑거프린트 데이터베이스를 미리 구축하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 미리 구축하는 단계는, 특정 장소에 위치하는 상기 사용자의 전자 기기가 접속하는 적어도 하나의 AP의 정보를 수집하는 단계; 상기 사용자의 전자 기기 또는 상기 보호자의 전자 기기에서 발생되는 장소 지정 입력에 응답하여, 상기 특정 장소에 대한 장소 ID를 생성하는 단계; 상기 수집된 적어도 하나의 AP의 정보에 기초하여 상기 특정 장소에 대한 핑거프린트를 획득하는 단계; 및 상기 생성된 장소 ID를 상기 획득된 핑거프린트에 매핑하여 저장 및 유지하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 미리 구축하는 단계는, 상기 특정 장소에 위치하는 상기 사용자의 전자 기기가 적어도 하나의 AP에 접속하는 횟수가 기 설정된 횟수 이상이거나, 상기 수집된 적어도 하나의 AP의 정보에 기초하여 확인되는 상기 사용자의 전자 기기가 위치하는 좌표가 기 설정된 횟수 이상 반복되어 일치하는 경우, 상기 특정 장소에 장소 ID를 지정할 것을 추천하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 미리 구축하는 단계는, 상기 사용자의 전자 기기 또는 상기 보호자의 전자 기기가 제공하는 지도 상에서 발생되는 장소 선택 입력에 응답하여, 상기 지도 상에서 특정 장소를 선택하는 단계; 상기 특정 장소에서 탐색되는 적어도 하나의 AP의 정보를 수집하는 단계; 상기 사용자의 전자 기기 또는 상기 보호자의 전자 기기에서 발생되는 장소 지정 입력에 응답하여, 상기 특정 장소에 대한 장소 ID를 생성하는 단계; 상기 수집된 적어도 하나의 AP의 정보에 기초하여 상기 특정 장소에 대한 핑거프린트를 획득하는 단계; 및 상기 생성된 장소 ID를 상기 획득된 핑거프린트에 매핑하여 저장 및 유지하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 획득하는 단계는, 상기 적어도 하나의 AP 중 RSSI(Received Signal Strength Indication)가 기 설정된 레벨 이상이거나, 상기 사용자의 전자 기기가 접속하는 횟수가 기 설정된 횟수 이상인 적어도 하나의 AP의 정보에 기초하여 상기 특정 장소에 대한 핑거프린트를 획득하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 생성하는 단계는, 상기 특정 장소의 좌표에 기초하여 상기 장소 ID를 추천하는 단계를 더 포함할 수 있다.
컴퓨터 시스템과 결합되어 사용자 위치 정보 제공 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서, 상기 사용자 위치 정보 제공 방법은, 사용자의 전자 기기가 접속하는 적어도 하나의 AP(Access Point)의 정보를 수집하는 단계; 상기 수집된 적어도 하나의 AP의 정보에 기초하여 상기 사용자의 접속 핑거프린트(Fingerprint)를 획득하는 단계; 핑거프린트 데이터베이스-상기 핑거프린트 데이터베이스에는 복수의 장소 ID들이 각각의 핑거프린트에 매핑되어 저장 및 유지됨-에 액세스하는 단계; 상기 핑거프린트 데이터베이스로부터 상기 접속 핑거프린트에 대응하는 장소 ID를 추출하는 단계; 및 상기 사용자의 전자 기기 또는 상기 사용자의 전자 기기와 페어링된 보호자의 전자 기기 중 적어도 하나에 상기 추출된 장소 ID를 제공하는 단계를 포함하는 컴퓨터 프로그램을 제공한다.
컴퓨터로 구현되는 사용자 위치 정보 제공 시스템에 있어서, 컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 사용자의 전자 기기가 접속하는 적어도 하나의 AP(Access Point)의 정보를 수집하는 수집부; 상기 수집된 적어도 하나의 AP의 정보에 기초하여 상기 사용자의 접속 핑거프린트(Fingerprint)를 획득하는 획득부; 핑거프린트 데이터베이스-상기 핑거프린트 데이터베이스에는 복수의 장소 ID들이 각각의 핑거프린트에 매핑되어 저장 및 유지됨-에 액세스하고, 상기 핑거프린트 데이터베이스로부터 상기 접속 핑거프린트에 대응하는 장소 ID를 추출하는 추출부; 및 상기 사용자의 전자 기기 또는 상기 사용자의 전자 기기와 페어링된 보호자의 전자 기기 중 적어도 하나에 상기 추출된 장소 ID를 제공하는 제공부를 포함하는 사용자 위치 정보 제공 시스템을 제공한다.
일 실시예들은 AP(Access Point) 기반의 핑거프린트(Fingerprint)를 이용하는 사용자 위치 정보 제공 방법 및 시스템, 그리고 컴퓨터 프로그램과 기록매체를 제안함으로써, 사용자 위치 추적이 실외 및 실내 모두에서 가능하도록 하며, 위치 추적 오차 범위를 최소화할 수 있다.
더 나아가, 일 실시예들은 사용자 위치 정보를 실시간으로 추적하는 방법 및 시스템, 그리고 컴퓨터 프로그램과 기록매체를 제안함으로써, 사용자가 특정 장소에서 이탈하는 것 또는 특정 장소로 이동할 것을 요청하는 알람 서비스를 보호자 또는 사용자에게 제공할 수 있다.
또한, 일 실시예들은 핑거프린트 데이터베이스를 구축 및 유지하는 방법 및 시스템, 그리고 컴퓨터 프로그램과 기록매체를 제안함으로써, 사용자 위치 추적 시 핑거프린트를 이용 가능하도록 하고, 다양한 위치 기반 서비스 분야에서 핑거프린트 데이터베이스가 활용되도록 할 수 있다.
또한, 일 실시예들은 시각 별 사용자 위치를 나타내는 이동 스케줄을 생성하는 방법 및 시스템, 그리고 컴퓨터 프로그램과 기록매체를 제안함으로써, 위치 기반 서비스의 활용 폭을 넓힐 수 있다.
도 1은 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 일 실시예에 있어서 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 서버의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이다.
도 4는 일 실시예에 따른 서버가 수행할 수 있는 사용자 위치 정보 제공 방법을 도시한 흐름도이다.
도 5는 일 실시예에 있어서 사용자의 접속 핑거프린트를 획득하는 과정과 접속 핑거프린트에 대응하는 장소 ID를 추출하는 과정을 설명하기 위한 개념도이다.
도 6은 일 실시예에 있어서 핑거프린트들 사이의 유사도를 판단하는 과정을 설명하기 위한 도면이다.
도 7은 일 실시예에 있어서 사용자에 대한 이동 스케줄이 제공되는 보호자의 전자 기기 상 서비스 화면을 나타낸 도면이다.
도 8은 일 실시예에 따른 핑거프린트 데이터베이스를 미리 구축하는 과정을 도시한 흐름도이다.
도 9는 일 실시예에 따른 핑거프린트 데이터베이스를 미리 구축하는 과정에서의 사용자의 전자 기기 상 서비스 화면을 나타낸 도면이다.
도 10은 다른 일 실시예에 따른 핑거프린트 데이터베이스를 미리 구축하는 과정을 도시한 흐름도이다.
도 11은 다른 일 실시예에 따른 핑거프린트 데이터베이스를 미리 구축하는 과정에서의 보호자의 전자 기기 상 서비스 화면을 나타낸 도면이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명에서 설명되는 실시예들은 사용자 위치 정보를 제공하는 기술에 관한 것으로, 사용자의 전자 기기의 위치를 사용자의 전자 기기와 페어링된 보호자의 전자 기기로 제공하는 과정에서 AP 기반의 핑거프린트를 이용함으로써, 사용자 위치 추적이 실외 및 실내 모두에서 가능하도록 하며, 위치 추적 오차 범위를 최소화하는 장점들을 달성한다.
도 1은 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.
복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 장치로 구현되는 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 태블릿 PC, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player) 등이 있다. 일례로 제1 전자 기기(110)는 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있다.
통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다.
일례로, 서버(160)는 네트워크(170)를 통해 접속한 제1 전자 기기(110)로 어플리케이션의 설치를 위한 파일을 제공할 수 있다. 이 경우 제1 전자 기기(110)는 서버(160)로부터 제공된 파일을 이용하여 어플리케이션을 설치할 수 있다. 또한, 제1 전자 기기(110)가 포함하는 운영체제(Operating System, OS)나 적어도 하나의 프로그램(일례로 브라우저나 상기 설치된 어플리케이션)의 제어에 따라 서버(150)에 접속하여 서버(150)가 제공하는 서비스나 컨텐츠를 제공받을 수 있다. 예를 들어, 제1 전자 기기(110)가 어플리케이션의 제어에 따라 네트워크(170)를 통해 서비스 요청 메시지를 서버(150)로 전송하면, 서버(150)는 서비스 요청 메시지에 대응하는 코드를 제1 전자 기기(110)로 전송할 수 있고, 제1 전자 기기(110)는 어플리케이션의 제어에 따라 코드에 따른 화면을 구성하여 표시함으로써 사용자에게 컨텐츠를 제공할 수 있다.
도 2는 일 실시예에 있어서 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다. 도 2에서는 하나의 전자 기기에 대한 예로서 제1 전자 기기(110), 그리고 하나의 서버에 대한 예로서 서버(150)의 내부 구성을 설명한다. 다른 전자 기기들(120, 130, 140)이나 서버(160) 역시 동일한 또는 유사한 내부 구성을 가질 수 있다.
제1 전자 기기(110)와 서버(150)는 메모리(211, 221), 프로세서(212, 222), 통신 모듈(213, 223) 그리고 입출력 인터페이스(214, 224)를 포함할 수 있다. 메모리(211, 221)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(211, 221)에는 운영체제나 적어도 하나의 프로그램 코드(일례로 제1 전자 기기(110)에 설치되어 구동되는 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(211, 221)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 모듈(213, 223)을 통해 메모리(211, 221)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로 상술한 서버(160))이 네트워크(170)를 통해 제공하는 파일들에 의해 설치되는 프로그램(일례로 상술한 어플리케이션)에 기반하여 메모리(211, 221)에 로딩될 수 있다.
프로세서(212, 222)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(211, 221) 또는 통신 모듈(213, 223)에 의해 프로세서(212, 222)로 제공될 수 있다. 예를 들어 프로세서(212, 222)는 메모리(211, 221)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 모듈(213, 223)은 네트워크(170)를 통해 제1 전자 기기(110)와 서버(150)가 서로 통신하기 위한 기능을 제공할 수 있으며, 다른 전자 기기(일례로 제2 전자 기기(120)) 또는 다른 서버(일례로 서버(160))와 통신하기 위한 기능을 제공할 수 있다. 일례로, 제1 전자 기기(110)의 프로세서(212)가 메모리(211)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청(일례로 검색 요청)이 통신 모듈(213)의 제어에 따라 네트워크(170)를 통해 서버(150)로 전달될 수 있다. 역으로, 서버(150)의 프로세서(222)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(223)과 네트워크(170)를 거쳐 제1 전자 기기(110)의 통신 모듈(213)을 통해 제1 전자 기기(110)로 수신될 수 있다. 예를 들어 통신 모듈(213)을 통해 수신된 서버(150)의 제어 신호나 명령 등은 프로세서(212)나 메모리(211)로 전달될 수 있고, 컨텐츠나 파일 등은 제1 전자 기기(110)가 더 포함할 수 있는 저장 매체로 저장될 수 있다.
입출력 인터페이스(214)는 입출력 장치(215)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 어플리케이션의 통신 세션을 표시하기 위한 디스플레이와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(214)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 보다 구체적인 예로, 제1 전자 기기(110)의 프로세서(212)는 메모리(211)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 서버(150)나 제2 전자 기기(120)가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(214)를 통해 디스플레이에 표시될 수 있다. 입출력 인터페이스(224) 또한 마찬가지로 서버(150)의 프로세서(222)가 메모리(221)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어 서버(150)가 제공하는 데이터를 이용하여 구성되는 정보를 출력할 수 있다.
또한, 다른 실시예들에서 제1 전자 기기(110) 및 서버(150)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 제1 전자 기기(110)는 상술한 입출력 장치(215) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 제1 전자 기기(110)가 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 제1 전자 기기(110)에 더 포함되도록 구현될 수 있음을 알 수 있다.
이하에서는 사용자 위치 정보를 제공하는 방법 및 시스템의 구체적인 실시예를 설명하기로 한다.
도 3은 일 실시예에 따른 서버의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이고, 도 4는 일 실시예에 따른 서버가 수행할 수 있는 사용자 위치 정보 제공 방법을 도시한 흐름도이며, 도 5는 일 실시예에 있어서 사용자의 접속 핑거프린트를 획득하는 과정과 접속 핑거프린트에 대응하는 장소 ID를 추출하는 과정을 설명하기 위한 개념도이고, 도 6은 일 실시예에 있어서 핑거프린트들 사이의 유사도를 판단하는 과정을 설명하기 위한 도면이며, 도 7은 일 실시예에 있어서 사용자에 대한 이동 스케줄이 제공되는 보호자의 전자 기기 상 서비스 화면을 나타낸 도면이다.
일 실시예에 따른 서버(150)에는 컴퓨터로 구현된 사용자 위치 정보 제공 시스템이 구성될 수 있다. 서버(150)는 클라이언트(client)인 복수의 전자 기기들(110, 120, 130, 140)을 대상으로 사용자 위치 정보를 제공하는 것으로, 전자 기기들(110, 120, 130, 140) 상에 설치된 전용 어플리케이션이나 서버(150)와 관련된 웹/모바일 사이트 접속을 통한 서비스 요청에 대응되는 사용자 위치 정보를 제공할 수 있다. 보다 상세하게, 서버(150)는 사용자의 전자 기기(예컨대, 제1 전자 기기(110))가 접속하는 적어도 하나의 AP(Access Point)의 정보를 수집하기 위해 사용자의 전자 기기를 제어하고, 사용자의 전자 기기에서 수집된 적어도 하나의 AP의 정보를 토대로 파악된 사용자의 위치 정보(정확하게는, 사용자의 전자 기기의 위치 정보)를 사용자의 전자 기기와 페어링된 보호자의 전자 기기(예컨대, 제2 전자 기기(120))로 제공할 수 있다. 이하, 사용자의 전자 기기는 예를 들어, 아동이 소유하고 있는 전자 기기를 의미할 수 있고, 보호자의 전자 기기는 아동의 부모가 소유하고 있는 전자 기기를 의미할 수 있다. 따라서, 사용자의 전자 기기가 보호자의 전자 기기와 페어링된다는 것은, 보호자의 전자 기기(또는 사용자의 전자 기기)로부터 발생되는 페어링 요청에 응답하여 서버(150)가 사용자의 전자 기기와 보호자의 전자 기기를 매칭하여 등록한 것을 의미할 수 있다.
서버(150)가 도 4에 따른 사용자 위치 정보 제공 방법을 수행할 수 있도록, 서버(150)의 프로세서(222)는 구성요소로서 도 3에 도시된 바와 같이, 수집부(310), 획득부(320), 추출부(330) 및 제공부(340)를 포함할 수 있다. 실시예에 따라 프로세서(222)의 구성요소들은 선택적으로 프로세서(222)에 포함되거나 제외될 수도 있다. 또한, 실시예에 따라 프로세서(222)의 구성요소들은 프로세서(222)의 기능의 표현을 위해 분리 또는 병합될 수도 있다. 예컨대, 프로세서(222)의 구성요소들 중 적어도 일부는 사용자의 전자 기기에 포함되는 프로세서 또는 보호자의 전자 기기에 포함되는 프로세서에 구현될 수 있다.
이러한 프로세서(222) 및 프로세서(222)의 구성요소들은 도 4의 사용자 위치 정보 제공 방법이 포함하는 단계들(S410 내지 S450)을 수행하도록 서버(150)를 제어할 수 있다. 예를 들어, 프로세서(222) 및 프로세서(222)의 구성요소들은 메모리(221)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.
여기서, 프로세서(222)의 구성요소들은 서버(150)에 저장된 프로그램 코드가 제공하는 명령에 따라 프로세서(222)에 의해 수행되는 프로세서(222)의 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 서버(150)가 사용자의 전자 기기가 접속하는 적어도 하나의 AP의 정보를 수집하도록 상술한 명령에 따라 서버(150)를 제어하는 프로세서(222)의 기능적 표현으로서 수집부(310)가 이용될 수 있다.
프로세서(222)는 단계(S410) 이전에, 서버(150)의 제어와 관련된 명령이 로딩된 메모리(221)로부터 필요한 명령을 읽어드릴 수 있다(도면 상 별도의 단계로 도시되지 않음). 이 경우, 상기 읽어드린 명령은 프로세서(222)가 이후 설명될 단계들(S410 내지 S450)을 실행하도록 제어하기 위한 명령을 포함할 수 있다.
단계(S410)에서 수집부(310)는 사용자의 전자 기기가 접속하는 적어도 하나의 AP의 정보를 수집할 수 있다. 이하, 수집부(310)가 사용자의 전자 기기가 접속하는 적어도 하나의 AP의 정보를 수집한다는 것은, 특정 장소에 위치하는 사용자의 전자 기기가 주변 AP들을 탐색하여 접속 가능한 적어도 하나의 AP를 감지함에 따라, 감지된 적어도 하나의 AP의 정보를 사용자의 전자 기기로부터 수신한다는 것을 의미한다.
여기서, AP의 정보는 AP의 Mac Address, BBSID(Basic Service Set Identification)와 같은 식별 정보, AP가 배치된 물리적 좌표(예컨대, 위도 및 경도), AP에서 발생하는 신호가 사용자의 전자 기기에서 수신되는 수신 신호 세기(Received Signal Strength Indication; RSSI) 등을 포함할 수 있다. 이에, 수집부(310)는 수집된 적어도 하나의 AP의 정보 중 AP 별 수신 신호 세기와 AP 별 물리적 좌표를 토대로 WPS(Wi-Fi Positioning System)를 이용하여 사용자의 전자 기기가 위치하는 좌표를 확인할 수 있다. 예를 들어, 수집부(310)는 전자 기기가 접속하는 AP들 각각의 수신 신호 세기와 AP들 각각의 물리적인 좌표를 미리 구축된 AP 데이터베이스들과 비교함으로써, 틀린 데이터를 필터링하고 새로운 데이터를 추가해가며 AP 데이터베이스들을 업데이트하는 WPS 기술에 기반하여 전자 기기의 좌표를 추정할 수 있다. 그러나 수집부(310)가 사용자의 전자 기기가 위치하는 좌표를 확인하는 것은, 설명된 내용에 한정되거나 제한되지 않고, 다양한 방식을 활용하여 수행될 수 있다. 이렇게 확인된 좌표는 후술되는 장소 ID를 추출하는 과정에서 추가적으로 이용될 수 있다.
이와 같은 수집부(310)의 동작은, 사용자의 전자 기기 또는 보호자의 전자 기기 중 어느 하나로부터 사용자 위치 정보 파악 요청이 발생되는 경우에 수행될 수 있으며, 이에 제한되거나 한정되지 않고, 기 설정된 주기에 따라 반복 수행됨으로써, 사용자의 전자 기기가 실시간으로 접속하는 적어도 하나의 AP의 정보가 수집될 수 있다. 이처럼, 실시간으로 수집된 적어도 하나의 AP의 정보는 시각 별 데이터로 정렬되어 수집부(310)에 의해 메모리(221) 상에 저장 및 유지될 수 있다.
단계(S420)에서 획득부(320)는 수집된 적어도 하나의 AP의 정보에 기초하여 사용자의 접속 핑거프린트(Fingerprint)를 획득할 수 있다. 이하, 접속 핑거프린트(또한, 후술되는 핑거프린트 데이터베이스에 저장되어 있는 핑거프린트)는 적어도 하나의 AP의 식별 정보의 군집을 의미할 수 있다. 예를 들어, 사용자의 전자 기기가 제1 AP, 제2 AP, 제3 AP 및 제4 AP에 접속하였다면, 획득부(3200는 수집부(310)로부터 수집된 제1 AP의 정보 중 제1 AP의 식별 정보인 A, 제2 AP의 정보 중 제2 AP의 식별 정보인 B, 제3 AP의 정보 중 제3 AP의 식별 정보인 D 및 제4 AP의 정보 중 제4 AP의 식별 정보인 H를 토대로, 사용자의 접속 핑거프린트를 A, B, D, H로 획득할 수 있다.
또한, 획득부(320)는 적어도 하나의 AP 중 RSSI가 기 설정된 레벨 이상이거나, 사용자의 전자 기기가 접속하는 횟수가 기 설정된 횟수 이상인 적어도 하나의 AP의 정보에 기초하여 사용자의 접속 핑거프린트를 획득할 수 있다. 예를 들어, 도 5를 참조하면, 사용자의 전자 기기가 제1 AP, 제2 AP, 제3 AP 및 제4 AP에 접속하였고, 수집부(310)가 제1 AP의 식별 정보 A, 제2 AP의 식별 정보 B, 제3 AP의 식별 정보 D 및 제4 AP의 식별 정보 H를 수집하였으며(510), 제1 AP의 RSSI, 제2 AP의 RSSI 및 제3 AP의 RSSI는 기 설정된 레벨 이상이나, 제4 AP의 RSSI가 기 설정된 레벨 미만이라면, 획득부(320)는 제1 AP의 식별 정보 A, 제2 AP의 식별 정보 B와 제3 AP의 식별 정보 D를 토대로 사용자의 접속 핑거프린트(520)를 A, B, D로 획득할 수 있다. 다른 예를 들면, 사용자의 전자 기기가 기 설정된 시간 동안 제1 AP, 제2 AP 및 제3 AP에 10회 접속하였고, 제4 AP에 1회 접속하였다면, 획득부(320)는 기 설정된 횟수인 5회 이상인 제1 AP, 제2 AP 및 제3 AP 각각의 식별 정보를 토대로 사용자의 접속 핑거프린트(520)를 A, B, D로 획득할 수 있다.
단계(S430)에서 추출부(330)는 핑거프린트 데이터베이스(530)에 액세스할 수 있다. 여기서, 핑거프린트 데이터베이스(530)에는 복수의 장소 ID들이 각각의 핑거프린트(531)에 매핑되어 저장 및 유지될 수 있으며, 단계(S410) 이전에 메모리(221) 상에 미리 구축되어 있을 수 있다. 이하, 장소 ID는 사용자의 전자 기기 또는 보호자의 전자 기기에서 발생되는 장소 지정 입력에 따른 식별 정보로서, 예를 들어, 학교, 집, 학원 등과 같은 한글명은 물론, 다양한 언어 또는 기호의 조합으로도 구성될 수 있다.
핑거프린트 데이터베이스(530)에 저장 및 유지되는 복수의 장소 ID들 각각의 핑거프린트(531)는 상술한 접속 핑거프린트(520)와 마찬가지로, 복수의 장소 ID들 각각에서 탐색되는 적어도 하나의 AP의 식별 정보의 군집을 의미할 수 있다. 또한, 핑거프린트 데이터베이스(530)에는 복수의 장소 ID들이 각각의 좌표(예컨대, 위도 및 경도)와 매핑되어 저장 및 유지될 수 있다(도면에는 도시되지 않음). 이에, 핑거프린트 데이터베이스(530)는 후술되는 좌표를 토대로 하는 장소 ID 추출 과정에서 활용될 수 있다. 이 때, 핑거프린트 데이터베이스(530)를 미리 구축하는 세부 과정은 프로세서(222)에 의해 수행될 수 있으나, 이에 제한되거나 한정되지 않고 별도의 서버에 의해 수행될 수 있다. 이러한 경우, 별도의 서버에 의해 미리 구축된 핑거프린트 데이터베이스(530)는 프로세서(222)에 의해 메모리(221) 상에 백업됨으로써 추출부(330)의 동작에서 사용될 수 있다. 핑거프린트 데이터베이스(530)가 미리 구축되는 것에 대한 상세한 설명은 도 8 내지 도 11을 참조하여 기재하기로 한다.
단계(S440)에서 추출부(330)는 핑거프린트 데이터베이스(530)로부터 접속 핑거프린트(520)에 대응하는 장소 ID(532)를 추출할 수 있다. 한편, 도 6을 참조하면, 제1 장소(610)의 핑거프린트는 "00:24:6c:85:a9:49-69,00:24:6c:85:a9:48-67,b4:5d:50:fd:e2:b0-75,b4:5d:50:fd:e2:b1-74,2a:a1:83:f9:c6:fd-83,00:1d:93:2f:c0:0a-86,b4:5d:50:fd:d9:d0-72,b4:5d:50:fd:d9:d1-72,00:24:6c:85:dc:db-79,00:24:6c:85:b7:f2-76,00:24:6c:85:b7:f3-78,00:24:6c:85:b7:f0-81,b4:5d:50:fd:e1:32-55,b4:5d:50:fd:e1:30-53,b4:5d:50:fd:e1:31-53,b4:5d:50:02:28:c2-82,00:24:6c:85:b7:fb-83,b4:5d:50:02:28:c1-83,02:30:0d:b0:15:12-85,b4:5d:50:fd:e2:a1-59,b4:5d:50:fd:e2:a0-58,b4:5d:50:f3:08:11-81,b4:5d:50:f3:08:10-81,b4:5d:50:f3:08:12-80,b4:5d:50:fd:d9:c1-70,90:9f:33:c3:80:ea-87,00:24:6c:85:a9:4b-65,b4:5d:50:fd:d9:e1-61,b4:5d:50:fd:e5:d2-73,b4:5d:50:fd:e5:d1-72,b4:5d:50:fd:e5:d0-74,02:30:0d:b1:0b:a2-85,b4:5d:50:fd:d9:f0-83,b4:5d:50:fd:e5:c0-64,b4:5d:50:02:25:91-76,b4:5d:50:02:25:90-76,b4:5d:50:fd:e5:c1-63,a6:84:31:fe:0f:a2-79,b4:5d:50:fd:e1:21-41,b4:5d:50:fd:e1:20-42,b4:5d:50:fd:e1:22-45,b4:5d:50:02:25:92-76,00:24:6c:85:b7:fa-84,00:24:6c:85:dc:d8-78,00:24:6c:85:dc:d9-79"와 같이 나타나는 반면, 제1 장소(610)와 88m정도 떨어진 제2 장소(620)의 핑거프린트는 "88:36:6c:06:36:6a-83,00:07:89:6b:b3:11-92,02:30:0d:11:05:12-93,00:0b:81:9b:f4:9c-96,00:07:89:74:44:88-95,90:9f:33:40:ad:e2-91,00:08:9f:66:63:39-95,90:9f:33:ba:a3:46-51,64:e5:99:5c:5a:8c-86,08:5d:dd:2d:ce:ec-84,08:5d:dd:2d:ce:eb-84,90:9f:33:c3:80:ea-90,cc:46:d6:89:60:d0-97,88:36:6c:06:36:68-68,88:36:6c:24:00:f0-91,90:9f:33:3e:40:0a-70,02:15:99:d2:ff:41-74,cc:46:d6:77:b8:ff-90,48:27:ea:ce:6e:89-61,08:5d:dd:d3:19:c0-89,08:5d:dd:d3:19:c1-96,84:d4:7e:a1:57:e0-91,84:d4:7e:a1:57:e1-89,90:9f:33:7b:a3:42-93,88:3c:1c:1c:6d:8f-93,00:07:89:34:dd:13-93,00:07:89:34:dd:12-94"와 같이 나타난다. 이에, 제1 장소(610)의 핑거프린트와 제2 장소(620)의 핑거프린트 사이의 유사도는 3.540%로 계산된다. 이처럼, 물리적으로 떨어진 공간들 각각의 핑거프린트 사이의 유사도가 낮게 나온다는 것은, 핑거프린트들 사이의 유사도로서 공간들이 동일한 공간인지를 판단할 수 있다는 근거가 된다. 따라서, 추출부(330)는 핑거프린트 데이터베이스(530)로부터 접속 핑거프린트(520)와의 유사도가 기 설정된 레벨 이상인 핑거프린트(531)에 매핑된 장소 ID(532)를 추출할 수 있다.
또한, 추출부(330)는 장소 ID(532)를 추출하는 과정에서, 사용자의 전자 기기가 위치하는 좌표(수집부(310)에서 확인된 좌표)를 추가적으로 활용할 수 있다. 예를 들어, 핑거프린트 데이터베이스(530)에서 접속 핑거프린트(520)와의 유사도가 기 설정된 레벨 이상인 핑거프린트가 복수 개 탐색된다면, 추출부(330)는 복수의 핑거프린트들에 매핑된 복수의 장소 ID들 중 사용자의 전자 기기가 위치하는 좌표와 기 설정된 거리 내에 근접한 좌표에 매핑된 어느 하나의 장소 ID를 추출할 수 있다. 이처럼 사용자의 전자 기기가 위치하는 좌표가 활용될 수 있는 것은, 수집부(310)가 사용자의 전자 기기가 접속하는 적어도 하나의 AP의 정보를 수집하는 과정에서 사용자의 전자 기기가 위치하는 좌표를 확인하고, 핑거프린트 데이터베이스(530)가 미리 구축되는 과정에서 복수의 장소 ID들이 각각의 좌표와 매핑되어 저장 및 유지되기 때문이다.
단계(S450)에서 제공부(340)는 사용자의 전자 기기와 페어링된 보호자의 전자 기기에 추출된 장소 ID를 제공할 수 있다. 예를 들어, 도 5에 도시된 바와 같이, 핑거프린트 데이터베이스(530)로부터 접속 핑거프린트(520)와의 유사도가 기 설정된 레벨 이상인 핑거프린트(531)에 매핑된 장소 ID(532)가 추출되면, 제공부(340)는 추출된 장소 ID인 "학교"를 보호자의 전자 기기에 제공할 수 있다. 또한, 이에 제한되거나 한정되지 않고, 제공부(340)는 추출된 장소 ID를 사용자의 전자 기기에 제공할 수도 있다.
상술한 수집부(310), 획득부(320), 추출부(330) 및 제공부(340)의 동작은 사용자의 전자 기기 또는 보호자의 전자 기기 중 어느 하나로부터 사용자 위치 정보 파악 요청이 발생되는 경우, 순차적으로 수행될 수 있다. 그러나 이에 제한되거나 한정되지 않고, 상술한 수집부(310), 획득부(320) 및 추출부(330)의 동작이 기 설정된 주기에 따라 반복 수행됨으로써, 제공부(340) 역시 사용자의 전자 기기가 위치하는 장소를 나타내는 장소 ID를 실시간으로 보호자의 전자 기기(또는 사용자의 전자 기기)에 제공할 수도 있다. 또한, 제공부(340)는 장소 ID가 추출되는 시각을 확인하여 추출된 장소 ID와 함께 매칭하여 메모리(221) 상에 저장 및 유지함으로써, 시각 별 사용자 위치에 대응하는 장소 ID를 보호자의 전자 기기 또는 사용자의 전자 기기 중 적어도 하나에 제공할 수 있다. 예를 들어, 도 7을 참조하면, 사용자의 전자 기기가 위치하는 장소를 나타내는 장소 ID가 추출되면, 제공부(340)는 장소 ID가 추출된 시각을 장소 ID와 함께 매칭하여 저장한 뒤, 추출되는 장소 ID가 변경되는 경우(사용자의 전자 기기가 위치하는 장소가 바뀌는 경우, 다시 말해, 사용자가 다른 장소로 이동하게 되는 경우), 변경된 장소 ID와 함께 변경된 장소 ID가 추출되는 시각을 매칭하여 저장함으로써, 시각 별 사용자 위치에 대응하는 장소 ID가 시각화된 이동 스케줄(700)을 생성하고 보호자의 전자 기기 또는 사용자의 전자 기기 중 적어도 하나에 제공할 수 있다. 도면에서는, 이동 스케줄(700)이 테이블 형태로 구현되는 것으로 도시되었으나, 이에 제한되거나 한정되지 않고, 지도 상에 사용자의 위치에 대응하는 장소 ID들이 표시되고, 장소 ID들 옆에 머무르는 시각이 표시되는 방식으로 구현될 수도 있다.
또한, 제공부(340)는 사용자(보다 정확하게는, 사용자의 전자 기기)가 특정 장소에서 이탈했음을 알리는 알람을 보호자의 전자 기기(또는 사용자의 전자 기기)에 통지할 수 있다. 예를 들어, 핑거프린트 데이터베이스(530)로부터 접속 핑거프린트(520)에 대응하는 장소 ID가 추출되지 않는 경우(사용자의 전자 기기가 새로운 AP가 탐색되는 낯선 장소로 간 경우), 제공부(340)는 사용자가 위치해야 할 특정 장소에서 이탈했음을 알리는 알람을 보호자의 전자 기기(또는 사용자의 전자 기기)에 통지할 수 있다. 다른 예로, 추출부(330)에서 추출된 장소 ID가 시각 별 기 설정된 장소 ID와 일치하지 않는 경우, 제공부(340)는 보호자의 전자 기기(또는 사용자의 전자 기기)에 사용자가 이탈했음을 알리는 알람을 통지할 수 있다. 더 구체적인 예를 들면, 추출부(330)에서 17시 00분에 추출된 장소 ID가 "학교"이고, 17시 00분에 기 설정된 장소 ID가 "학원"인 경우, 제공부(340)는 추출된 장소 ID인 "학교"가 17시 00분에 기 설정된 장소 ID인 "학원"가 일치하지 않음을 판단하여, 보호자의 전자 기기(또는 사용자의 전자 기기)에 사용자가 이탈했음을 알리는 알람을 통지할 수 있다.
또한, 제공부(340)는 사용자가 특정 장소에서 출발한 것 또는 특정 장소에 도착한 것을 알리는 알람을 사용자의 전자 기기 또는 보호자의 전자 기기에 통지할 수 있다. 예를 들어, 핑거프린트 데이터베이스(530)로부터 접속 핑거프린트(520)에 대응하는 장소 ID가 추출되면, 제공부(340)는 추출된 장소 ID가 사용자가 출발해야 하는 장소의 장소 ID와 일치하는지를 판단하여, 일치하지 않는 경우 사용자가 해당 장소를 출발했음을 인지할 수 있다. 이에, 제공부(340)는 사용자가 특정 장소에서 출발한 것을 알리는 알람을 보호자의 전자 기기로 통지할 수 있다. 다른 예로, 핑거프린트 데이터베이스(530)로부터 접속 핑거프린트(520)에 대응하는 장소 ID가 추출되면, 제공부(340)는 추출된 장소 ID가 사용자가 출발해야 하는 장소의 장소 ID와 일치하는지를 판단하여, 일치하는 경우 사용자가 해당 장소를 아직 출발하지 않았음을 인지함으로써, 사용자가 특정 장소에서 출발하지 않았음을 알리는 알람을 보호자의 전자 기기로 통지할 수 있다.
또 다른 예를 들면, 핑거프린트 데이터베이스(530)로부터 접속 핑거프린트(520)에 대응하는 장소 ID가 추출되면, 제공부(340)는 추출된 장소 ID가 사용자가 도착했어야 하는 장소의 장소 ID와 일치하는지를 판단하여, 일치하는 경우 사용자가 해당 장소에 도착했음을 인지함으로써, 사용자가 특정 장소에 도착했음을 알리는 알람을 보호자의 전자 기기로 통지할 수 있다.
더 나아가, 제공부(340)는 이동 스케줄(700)에 기초하여 사용자의 전자 기기에 특정 장소로 이동할 것을 알리는 알람을 통지할 수도 있다. 예를 들어, 이동 스케줄(700) 상에서 16시 00분에 기 설정된 장소 ID가 "학교"이고, 16시 18분에 기 설정된 장소 ID가 "학원"인 경우, 제공부(340)는 16시 00분에 "학원"으로 이동 할 것을 알리는 알람을 사용자의 전자 기기로 통지할 수 있다.
이상, 사용자의 전자 기기가 위치하는 장소 ID를 제공하는 것을 기반으로 사용자의 전자 기기 또는 보호자의 전자 기기로 서비스될 수 있는 서비스 예시들이 설명되었으나, 서비스 예시들은 상술한 바에 한정되거나 제한되지 않는다.
도 8은 일 실시예에 따른 핑거프린트 데이터베이스를 미리 구축하는 과정을 도시한 흐름도이고, 도 9는 일 실시예에 따른 핑거프린트 데이터베이스를 미리 구축하는 과정에서의 사용자의 전자 기기 상 서비스 화면을 나타낸 도면이다.
도 8의 핑거프린트 데이터베이스 구축 과정이 포함하는 단계들(S810 내지 S840)은 도 3을 참조하여 상술된 프로세서(222)의 구성요소들에 의해 각각 수행될 수 있다. 예를 들어, 단계들(S810 내지 S820)은 수집부(310)에 의해 수행되고, 단계(S830)는 획득부(320)에 의해 수행되며, 단계(S840)는 추출부(340)에 의해 수행될 수 있다. 이에, 단계들(S810 내지 S840)은 후술되는 예시만으로 한정되지 않고, 도 3 내지 4를 참조하여 상술된 구성요소들 각각의 동작들의 예시와 같이 수행될 수도 있다. 또한, 단계들(S810 내지 S840)은 도 3을 참조하여 상술된 프로세서(222)의 구성요소들에 의해 각각 수행되는 것에 제한되거나 한정되지 않고, 프로세서(222)에 포함되는 별도의 구성요소들(핑거프린트 데이터베이스(530)를 미리 구축하기 위해 구비되는 구성요소들)에 의해 각각 수행될 수 있다.
단계(S810)에서 수집부(310)는 특정 장소에 위치하는 사용자의 전자 기기가 접속하는 적어도 하나의 AP의 정보를 수집할 수 있다. 이 때, 수집부(310)가 사용자의 전자 기기가 접속하는 적어도 하나의 AP의 정보를 수집한다는 것은, 특정 장소에 위치하는 사용자의 전자 기기가 주변 AP들을 탐색하여 접속 가능한 적어도 하나의 AP를 감지함에 따라, 감지된 적어도 하나의 AP의 정보를 사용자의 전자 기기로부터 수신한다는 것을 의미한다. 또한, 도 9를 참조하면, 수집부(310)는 수집된 적어도 하나의 AP의 정보 중 적어도 하나의 AP의 식별 정보(910)를 사용자의 전자 기기의 서비스 화면(900) 상 일측에 제공함으로써, 사용자가 특정 장소에서 수집된 AP 현황을 파악하도록 지원할 수 있다.
또한, 수집부(310)는 수집된 적어도 하나의 AP의 정보 중 AP 별 수신 신호 세기와 AP 별 물리적 좌표를 토대로 WPS를 이용하여 사용자의 전자 기기가 위치하는 좌표를 확인함으로써, 서비스 화면(900)의 일측에 제공되는 지도(920) 상에 확인된 좌표에 해당하는 장소를 마크할 수 있다. 이에, 사용자는 현재 본인이 위치하는 특정 장소를 시각적으로 확인할 수 있다.
이와 같은 수집부(310)의 동작은, 사용자의 전자 기기 또는 보호자의 전자 기기 중 어느 하나로부터 장소 지정 요청이 발생되는 경우에 수행될 수 있으며, 이에 제한되거나 한정되지 않고, 기 설정된 주기에 따라 반복 수행될 수 있다. 따라서, 특정 장소에 위치하는 사용자의 전자 기기가 적어도 하나의 AP에 접속하는 횟수가 기 설정된 횟수 이상이거나, 수집된 적어도 하나의 AP의 정보에 기초하여 확인되는 사용자의 전자 기기가 위치하는 좌표가 기 설정된 횟수 이상 반복되어 일치하는 경우, 수집부(310)는 특정 장소에 장소 ID를 지정할 것을 사용자의 전자 기기에 추천할 수 있고, 추천을 수락하는 응답이 사용자의 전자 기기로부터 발생되는 경우에 후술되는 단계들(S820 내지 S840)이 수행될 수 있다.
단계(S820)에서 수집부(310)는 사용자의 전자 기기 또는 보호자의 전자 기기에서 발생되는 장소 지정 입력에 응답하여, 특정 장소에 대한 장소 ID를 생성할 수 있다. 예를 들어, 서비스 화면(900)의 일측에 제공되는 입력칸(930)에서 발생되는 장소 지정 입력에 응답하여, 수집부(310)는 특정 장소에 대한 장소 ID를 생성할 수 있다. 이 때, 수집부(310)는 특정 장소의 좌표에 기초하여 장소 ID를 추천할 수도 있다. 예컨대, 수집부(310)는 사용자의 전자 기기가 위치하는 좌표를 확인한 뒤, 검색 서비스와 연동하여 확인된 좌표와 기 설정된 거리 내에 근접하는 좌표를 갖는 장소명들(931, 932)을 검색하여, 서비스 화면(900)의 일측에 검색된 장소명들(931, 932)을 장소 ID로서 추천할 수 있다. 도면에서는 확인된 좌표가 "대원 외국어 고등학교"의 좌표 및 "대원 국제 중학교"의 좌표와 근접한 좌표이기 때문에, 장소 ID로서 "대원 외국어 고등학교"와 "대원 국제 중학교" 모두가 추천될 수 있다.
단계(S830)에서 획득부(320)는 수집된 적어도 하나의 AP의 정보에 기초하여 특정 장소에 대한 핑거프린트를 획득할 수 있다. 예를 들어, 획득부(320)는 수집된 적어도 하나의 AP의 식별 정보의 군집을 특정 장소에 대한 핑거프린트로 획득할 수 있다.
여기서, 획득부(320)는 적어도 하나의 AP 중 RSSI가 기 설정된 레벨 이상이거나, 사용자의 전자 기기가 접속하는 횟수가 기 설정된 횟수 이상인 적어도 하나의 AP의 정보에 기초하여 특정 장소에 대한 핑거프린트를 획득할 수 있다. 따라서, 특정 장소에 대한 핑거프린트에서는, RSSI가 기 설정된 레벨 미만인 AP의 식별 정보 또는 비활성화되는 경우가 흔한 AP의 식별 정보가 배제되기 때문에, 도 4를 참조하여 상술된 접속 핑거프린트와의 유사도가 판단되는 단계(S440)에서의 오류를 최소화할 수 있다.
단계(S840)에서 추출부(330)는 생성된 장소 ID를 획득된 핑거프린트에 매핑하여 저장 및 유지할 수 있다.
핑거프린트 데이터베이스(530)는 이러한 단계들(S810 내지 S840)을 통하여 도 5와 같이 미리 구축되어 도 3 내지 4를 참조하여 상술된 사용자 위치 정보 제공 방법에서 활용될 수 있다. 또한, 이처럼 구축된 핑거프린트 데이터베이스(530)는 사용자 별로 구축될 뿐만 아니라, 복수의 사용자들이 통합적으로 사용되도록 구축되어, 사용자들 사이에서 공유될 수도 있다. 또한, 핑거프린트 데이터베이스(530)는 설명된 사용자 위치 정보 제공 방법뿐만 아니라, 장소의 좌표와 AP 사이의 관계가 요구되는 다양한 위치 기반 서비스에서 AP 지도로 사용될 수도 있다.
도 10은 다른 일 실시예에 따른 핑거프린트 데이터베이스를 미리 구축하는 과정을 도시한 흐름도이고, 도 11은 다른 일 실시예에 따른 핑거프린트 데이터베이스를 미리 구축하는 과정에서의 보호자의 전자 기기 상 서비스 화면을 나타낸 도면이다.
도 10의 핑거프린트 데이터베이스 구축 과정이 포함하는 단계들(S1010 내지 S1050)은 도 8을 참조하여 상술된 핑거프린트 데이터베이스 구축 과정과 유사하나, 장소 지정할 특정 장소를 지도 상에서 보호자 또는 사용자로부터 직접 선택 받는다는 차이점을 갖는다.
이에, 단계들(S1010 내지 S1050) 역시 도 3을 참조하여 상술된 프로세서(222)의 구성요소들에 의해 각각 수행될 수 있다. 예를 들어, 단계들(S1010 내지 S1030)은 수집부(310)에 의해 수행되고, 단계(S1040)는 획득부(320)에 의해 수행되며, 단계(S1050)는 추출부(340)에 의해 수행될 수 있다. 이에, 단계들(S1010 내지 S1050)은 후술되는 예시만으로 한정되지 않고, 도 3 내지 4를 참조하여 상술된 구성요소들 각각의 동작들의 예시와 같이 수행될 수도 있다. 또한, 단계들(S1010 내지 S1050)은 도 3을 참조하여 상술된 프로세서(222)의 구성요소들에 의해 각각 수행되는 것에 제한되거나 한정되지 않고, 프로세서(222)에 포함되는 별도의 구성요소들(핑거프린트 데이터베이스(530)를 미리 구축하기 위해 구비되는 구성요소들)에 의해 각각 수행될 수 있다.
단계(S1010)에서 수집부(310)는 사용자의 전자 기기 또는 보호자의 전자 기기가 제공하는 지도 상에서 발생되는 장소 선택 입력에 응답하여, 지도 상에서 특정 장소를 선택할 수 있다. 예를 들어, 도 11을 참조하면, 수집부(310)는 보호자의 전자 기기의 서비스 화면(1100) 상 일측에 지도(1110)를 제공하고, 제공된 지도(1110) 상 특정 장소(1111)에서 장소 선택 입력이 발생되면, 특정 장소(1111)를 선택할 수 있다.
단계(S1020)에서 수집부(310)는 특정 장소(1111)에서 탐색되는 적어도 하나의 AP의 정보를 수집할 수 있다. 이 때, 수집부(310)가 특정 장소에서 탐색되는 적어도 하나의 AP의 정보를 수집한다는 것은, 특정 장소에서 전자 기기가 탐색 가능하고 접속 가능한 적어도 하나의 AP가 정리된 데이터를 외부 서버로부터 수신한다는 것을 의미한다. 즉, 수집부(310)는 사용자의 전자 기기가 아닌, 외부 서버로부터 미리 정리된 데이터를 수신하여, 특정 장소에서 탐색되는 적어도 하나의 AP의 정보를 수집할 수 있다. 또한, 수집부(310)는 수집된 적어도 하나의 AP의 정보 중 적어도 하나의 AP의 식별 정보(1120)를 사용자의 전자 기기의 서비스 화면(1100) 상 일측에 제공함으로써, 사용자가 특정 장소에서 탐색되는 AP 현황을 파악하도록 지원할 수 있다. 이와 같은 수집부(310)의 동작은, 사용자의 전자 기기 또는 보호자의 전자 기기 중 어느 하나로부터 장소 지정 요청이 발생되는 경우에 수행될 수 있다.
단계(S1030)에서 수집부(310)는 사용자의 전자 기기 또는 보호자의 전자 기기에서 발생되는 장소 지정 입력에 응답하여, 특정 장소에 대한 장소 ID를 생성할 수 있다. 예를 들어, 서비스 화면(1100)의 일측에 제공되는 입력칸(1130)에서 발생되는 장소 지정 입력에 응답하여, 수집부(310)는 특정 장소에 대한 장소 ID를 생성할 수 있다. 이 때, 수집부(310)는 특정 장소의 좌표에 기초하여 장소 ID를 추천할 수도 있다. 예컨대, 수집부(310)는 사용자의 전자 기기가 위치하는 좌표를 확인한 뒤, 검색 서비스와 연동하여 확인된 좌표와 기 설정된 거리 내에 근접하는 좌표를 갖는 장소명(1131)을 검색하여, 서비스 화면(1100)의 일측에 검색된 장소명(1131)을 장소 ID로서 추천할 수 있다. 도면에서는 확인된 좌표가 "대원 외국어 고등학교"의 좌표와 근접한 좌표이기 때문에, 장소 ID로서 "대원 외국어 고등학교"가 추천될 수 있다.
단계(S1140)에서 획득부(320)는 수집된 적어도 하나의 AP의 정보에 기초하여 특정 장소에 대한 핑거프린트를 획득할 수 있다. 예를 들어, 획득부(320)는 수집된 적어도 하나의 AP의 식별 정보의 군집을 특정 장소에 대한 핑거프린트로 획득할 수 있다.
여기서, 획득부(320)는 적어도 하나의 AP 중 RSSI가 기 설정된 레벨 이상이거나, 사용자의 전자 기기가 접속하는 횟수가 기 설정된 횟수 이상인 적어도 하나의 AP의 정보에 기초하여 특정 장소에 대한 핑거프린트를 획득할 수 있다. 따라서, 특정 장소에 대한 핑거프린트에서는, RSSI가 기 설정된 레벨 미만인 AP의 식별 정보 또는 비활성화되는 경우가 흔한 AP의 식별 정보가 배제되기 때문에, 도 4를 참조하여 상술된 접속 핑거프린트와의 유사도가 판단되는 단계(S440)에서의 오류를 최소화할 수 있다.
단계(S1150)에서 추출부(330)는 생성된 장소 ID를 획득된 핑거프린트에 매핑하여 저장 및 유지할 수 있다.
핑거프린트 데이터베이스(530)는 이러한 단계들(S1110 내지 S1150)을 통하여 도 5와 같이 미리 구축되어 도 3 내지 4를 참조하여 상술된 사용자 위치 정보 제공 방법에서 활용될 수 있다. 또한, 이처럼 구축된 핑거프린트 데이터베이스(530)는 사용자 별로 구축될 뿐만 아니라, 복수의 사용자들이 통합적으로 사용되도록 구축되어, 사용자들 사이에서 공유될 수도 있다. 또한, 핑거프린트 데이터베이스(530)는 설명된 사용자 위치 정보 제공 방법뿐만 아니라, 장소의 좌표와 AP 사이의 관계가 요구되는 다양한 위치 기반 서비스에서 AP 지도로 사용될 수도 있다.
이와 같이 상술된 실시예들에 따르면, AP(Access Point) 기반의 핑거프린트(Fingerprint)를 이용하는 사용자 위치 정보 제공 방법 및 시스템, 그리고 컴퓨터 프로그램과 기록매체가 제안됨으로써, 사용자 위치 추적을 실외 및 실내 모두에서 가능하게 하며, 위치 추적 오차 범위를 최소화하는 효과가 도모될 수 있다. 더 나아가, 사용자 위치 정보를 실시간으로 추적하는 방법 및 시스템, 그리고 컴퓨터 프로그램과 기록매체가 제안됨으로써, 사용자가 특정 장소에서 이탈하는 것 또는 특정 장소로 이동할 것을 요청하는 알람 서비스가 보호자 또는 사용자에게 제공될 수 있다. 또한, 핑거프린트 데이터베이스를 구축 및 유지하는 방법 및 시스템, 그리고 컴퓨터 프로그램과 기록매체가 제안됨으로써, 사용자 위치 추적 시 핑거프린트가 이용 가능하게 되며, 핑거프린트 데이터베이스가 다양한 위치 기반 서비스 분야에서 활용되도록 할 수 있다. 또한, 시각 별 사용자 위치를 나타내는 이동 스케줄을 생성하는 방법 및 시스템, 그리고 컴퓨터 프로그램과 기록매체가 제안됨으로써, 위치 기반 서비스의 활용 폭이 넓어질 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (17)

  1. 컴퓨터로 구현되는 사용자 위치 정보 제공 방법에 있어서,
    사용자의 전자 기기가 접속하는 적어도 하나의 AP(Access Point)의 정보를 수집하는 단계;
    상기 수집된 적어도 하나의 AP의 정보에 기초하여 상기 사용자의 접속 핑거프린트(Fingerprint)를 획득하는 단계;
    핑거프린트 데이터베이스-상기 핑거프린트 데이터베이스에는 복수의 장소 ID들이 각각의 핑거프린트에 매핑되어 저장 및 유지됨-에 액세스하는 단계;
    상기 핑거프린트 데이터베이스로부터 상기 접속 핑거프린트에 대응하는 장소 ID를 추출하는 단계; 및
    상기 사용자의 전자 기기 또는 상기 사용자의 전자 기기와 페어링된 보호자의 전자 기기 중 적어도 하나에 상기 추출된 장소 ID를 제공하는 단계
    를 포함하는 사용자 위치 정보 제공 방법.
  2. 제1항에 있어서,
    상기 추출하는 단계는,
    상기 핑거프린트 데이터베이스로부터 상기 접속 핑거프린트와의 유사도가 기 설정된 레벨 이상인 핑거프린트에 매핑된 장소 ID를 추출하는 것
    을 특징으로 하는 사용자 위치 정보 제공 방법.
  3. 제1항에 있어서,
    상기 획득하는 단계는,
    상기 수집된 적어도 하나의 AP의 정보 중 식별 정보를 상기 접속 핑거프린트로 획득하는 단계
    를 포함하고,
    상기 핑거프린트 데이터베이스에 저장 및 유지되는 상기 복수의 장소 ID들 각각의 핑거프린트는,
    상기 복수의 장소 ID들 각각에서 탐색되는 적어도 하나의 AP의 식별 정보를 포함하는 것
    을 특징으로 하는 사용자 위치 정보 제공 방법.
  4. 제1항에 있어서,
    상기 획득하는 단계는,
    상기 적어도 하나의 AP 중 RSSI(Received Signal Strength Indication)가 기 설정된 레벨 이상이거나, 상기 사용자의 전자 기기가 접속하는 횟수가 기 설정된 횟수 이상인 적어도 하나의 AP의 정보에 기초하여 상기 사용자의 접속 핑거프린트를 획득하는 것
    을 특징으로 하는 사용자 위치 정보 제공 방법.
  5. 제1항에 있어서,
    상기 제공하는 단계는,
    상기 핑거프린트 데이터베이스로부터 상기 접속 핑거프린트에 대응하는 장소 ID가 추출되지 않거나, 상기 추출된 장소 ID가 시각 별 기 설정된 장소 ID와 일치하지 않는 경우, 상기 사용자의 전자 기기 또는 상기 보호자의 전자 기기 중 적어도 하나에 상기 사용자가 이탈했음을 알리는 알람을 통지하는 단계
    를 더 포함하는 사용자 위치 정보 제공 방법.
  6. 제1항에 있어서,
    상기 사용자 위치 정보 제공 방법은,
    기 설정된 주기에 따라 반복 수행되어 시각 별 사용자 위치에 대응하는 장소 ID를 제공하는 것
    을 특징으로 하는 사용자 위치 정보 제공 방법.
  7. 제6항에 있어서,
    상기 사용자 위치 정보 제공 방법은,
    상기 시각 별 사용자 위치에 대응하는 장소 ID에 기초하여 상기 사용자에 대한 이동 스케줄을 생성하는 단계; 및
    상기 보호자의 전자 기기 또는 상기 사용자의 전자 기기 중 적어도 하나에 상기 이동 스케줄을 제공하는 단계
    를 더 포함하는 사용자 위치 정보 제공 방법.
  8. 제7항에 있어서,
    상기 사용자 위치 정보 제공 방법은,
    상기 이동 스케줄에 기초하여 상기 사용자의 전자 기기에 특정 장소로 이동할 것을 알리는 알람을 통지하는 단계
    를 더 포함하는 사용자 위치 정보 제공 방법.
  9. 제1항에 있어서,
    상기 수집하는 단계는,
    상기 수집된 적어도 하나의 AP의 정보에 기초하여 상기 사용자의 전자 기기가 위치하는 좌표를 확인하는 단계
    를 더 포함하고,
    상기 핑거프린트 데이터베이스에는,
    상기 복수의 장소 ID들이 각각의 좌표와 매핑되어 저장 및 유지되며,
    상기 추출하는 단계는,
    상기 핑거프린트 데이터베이스로부터 상기 확인된 좌표와 기 설정된 거리 내에 근접한 좌표에 매핑된 장소 ID를 추출하는 것
    을 특징으로 하는 사용자 위치 정보 제공 방법.
  10. 제1항에 있어서,
    상기 사용자 위치 정보 제공 방법은,
    상기 핑거프린트 데이터베이스를 미리 구축하는 단계
    를 더 포함하는 것을 특징으로 하는 사용자 위치 정보 제공 방법.
  11. 제10항에 있어서,
    상기 미리 구축하는 단계는,
    특정 장소에 위치하는 상기 사용자의 전자 기기가 접속하는 적어도 하나의 AP의 정보를 수집하는 단계;
    상기 사용자의 전자 기기 또는 상기 보호자의 전자 기기에서 발생되는 장소 지정 입력에 응답하여, 상기 특정 장소에 대한 장소 ID를 생성하는 단계;
    상기 수집된 적어도 하나의 AP의 정보에 기초하여 상기 특정 장소에 대한 핑거프린트를 획득하는 단계; 및
    상기 생성된 장소 ID를 상기 획득된 핑거프린트에 매핑하여 저장 및 유지하는 단계
    를 포함하는 사용자 위치 정보 제공 방법.
  12. 제11항에 있어서,
    상기 미리 구축하는 단계는,
    상기 특정 장소에 위치하는 상기 사용자의 전자 기기가 적어도 하나의 AP에 접속하는 횟수가 기 설정된 횟수 이상이거나, 상기 수집된 적어도 하나의 AP의 정보에 기초하여 확인되는 상기 사용자의 전자 기기가 위치하는 좌표가 기 설정된 횟수 이상 반복되어 일치하는 경우, 상기 특정 장소에 장소 ID를 지정할 것을 추천하는 단계
    를 더 포함하는 사용자 위치 정보 제공 방법.
  13. 제10항에 있어서,
    상기 미리 구축하는 단계는,
    상기 사용자의 전자 기기 또는 상기 보호자의 전자 기기가 제공하는 지도 상에서 발생되는 장소 선택 입력에 응답하여, 상기 지도 상에서 특정 장소를 선택하는 단계;
    상기 특정 장소에서 탐색되는 적어도 하나의 AP의 정보를 수집하는 단계;
    상기 사용자의 전자 기기 또는 상기 보호자의 전자 기기에서 발생되는 장소 지정 입력에 응답하여, 상기 특정 장소에 대한 장소 ID를 생성하는 단계;
    상기 수집된 적어도 하나의 AP의 정보에 기초하여 상기 특정 장소에 대한 핑거프린트를 획득하는 단계; 및
    상기 생성된 장소 ID를 상기 획득된 핑거프린트에 매핑하여 저장 및 유지하는 단계
    를 포함하는 사용자 위치 정보 제공 방법.
  14. 제11항 또는 제13항 중 어느 한 항에 있어서,
    상기 획득하는 단계는,
    상기 적어도 하나의 AP 중 RSSI(Received Signal Strength Indication)가 기 설정된 레벨 이상이거나, 상기 사용자의 전자 기기가 접속하는 횟수가 기 설정된 횟수 이상인 적어도 하나의 AP의 정보에 기초하여 상기 특정 장소에 대한 핑거프린트를 획득하는 것
    을 특징으로 하는 사용자 위치 정보 제공 방법.
  15. 상기 생성하는 단계는,
    상기 특정 장소의 좌표에 기초하여 상기 장소 ID를 추천하는 단계
    를 더 포함하는 사용자 위치 정보 제공 방법.
  16. 컴퓨터 시스템과 결합되어 사용자 위치 정보 제공 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서,
    상기 사용자 위치 정보 제공 방법은,
    사용자의 전자 기기가 접속하는 적어도 하나의 AP(Access Point)의 정보를 수집하는 단계;
    상기 수집된 적어도 하나의 AP의 정보에 기초하여 상기 사용자의 접속 핑거프린트(Fingerprint)를 획득하는 단계;
    핑거프린트 데이터베이스-상기 핑거프린트 데이터베이스에는 복수의 장소 ID들이 각각의 핑거프린트에 매핑되어 저장 및 유지됨-에 액세스하는 단계;
    상기 핑거프린트 데이터베이스로부터 상기 접속 핑거프린트에 대응하는 장소 ID를 추출하는 단계; 및
    상기 사용자의 전자 기기 또는 상기 사용자의 전자 기기와 페어링된 보호자의 전자 기기 중 적어도 하나에 상기 추출된 장소 ID를 제공하는 단계
    를 포함하는 컴퓨터 프로그램.
  17. 컴퓨터로 구현되는 사용자 위치 정보 제공 시스템에 있어서,
    컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    사용자의 전자 기기가 접속하는 적어도 하나의 AP(Access Point)의 정보를 수집하는 수집부;
    상기 수집된 적어도 하나의 AP의 정보에 기초하여 상기 사용자의 접속 핑거프린트(Fingerprint)를 획득하는 획득부;
    핑거프린트 데이터베이스-상기 핑거프린트 데이터베이스에는 복수의 장소 ID들이 각각의 핑거프린트에 매핑되어 저장 및 유지됨-에 액세스하고, 상기 핑거프린트 데이터베이스로부터 상기 접속 핑거프린트에 대응하는 장소 ID를 추출하는 추출부; 및
    상기 사용자의 전자 기기 또는 상기 사용자의 전자 기기와 페어링된 보호자의 전자 기기 중 적어도 하나에 상기 추출된 장소 ID를 제공하는 제공부
    를 포함하는 사용자 위치 정보 제공 시스템.
KR1020170133411A 2017-10-13 2017-10-13 핑거프린트를 이용하는 사용자 위치 정보를 제공하는 방법 및 시스템 KR20190041767A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170133411A KR20190041767A (ko) 2017-10-13 2017-10-13 핑거프린트를 이용하는 사용자 위치 정보를 제공하는 방법 및 시스템
PCT/KR2018/012019 WO2019074315A1 (ko) 2017-10-13 2018-10-12 사용자 위치 정보를 제공하는 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170133411A KR20190041767A (ko) 2017-10-13 2017-10-13 핑거프린트를 이용하는 사용자 위치 정보를 제공하는 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20190041767A true KR20190041767A (ko) 2019-04-23

Family

ID=66285212

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170133411A KR20190041767A (ko) 2017-10-13 2017-10-13 핑거프린트를 이용하는 사용자 위치 정보를 제공하는 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR20190041767A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511972A (zh) * 2020-11-27 2021-03-16 国网天津市电力公司 基于5g的变电站巡检机器人定位方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511972A (zh) * 2020-11-27 2021-03-16 国网天津市电力公司 基于5g的变电站巡检机器人定位方法及装置

Similar Documents

Publication Publication Date Title
TWI555999B (zh) 用於決定行動設備在室內環境中的位置的方法、設備與電腦可讀取媒體
JP6208654B2 (ja) 関心地点情報をプッシュするための方法及びシステム
CN102036163B (zh) 行为模式分析系统、移动终端、行为模式分析方法和程序
KR102128320B1 (ko) 주변 검색 결과 제공 시스템 및 방법
CN106201448B (zh) 信息处理方法及用户终端
KR101762507B1 (ko) 실내 및 실외 통합 측위 제공 방법 및 시스템
RU2680093C2 (ru) Определение радиуса погрешности местоположения
JP2021532441A (ja) 方法、記録媒体および電子機器
KR102029450B1 (ko) 격자화된 지도를 이용하는 사용자 위치 정보를 제공하는 방법 및 시스템
US20170064512A1 (en) System and method for facilitating user connections in travel locations
KR20190041767A (ko) 핑거프린트를 이용하는 사용자 위치 정보를 제공하는 방법 및 시스템
JP2010028806A (ja) 位置管理サーバおよび通信システムならびに通信端末装置、情報提供装置および通信システム
KR102109612B1 (ko) 위치 기반의 지리 관계 서비스를 위한 장치
KR100671164B1 (ko) 이동 통신 단말기를 이용한 위치 정보 제공 시스템 및 방법
JP6271386B2 (ja) 情報提供システム及び情報提供方法
KR101618446B1 (ko) 실내 장소 결정 방법 및 시스템, 그리고 파일 배포 시스템
JP2013171482A (ja) 情報管理装置、情報管理プログラム、および情報管理方法
JP2022110300A (ja) 通知システム、通知方法及びプログラム
JP6431494B2 (ja) ユーザ端末、及びプログラム
JP6110594B2 (ja) ナビゲーション装置、サーバ装置、情報処理方法、およびプログラム
US20230153333A1 (en) Point of Interest Data Creation for Use with Location-Aware Mobile Devices
JP6262683B2 (ja) 情報処理装置、その制御方法、及びプログラム
US20210199447A1 (en) Information processing apparatus and information processing method
JP6289402B2 (ja) ナビゲーション装置及びプログラム
Wasinger et al. RoughMaps A generic platform to support symbolic map use in indoor environments

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment