KR102568022B1 - 사용자 위치정보 획득 방법, 수집된 사용자 위치정보 기반의 알고리즘 실행 방법, 및 이를 위한 시스템 - Google Patents

사용자 위치정보 획득 방법, 수집된 사용자 위치정보 기반의 알고리즘 실행 방법, 및 이를 위한 시스템 Download PDF

Info

Publication number
KR102568022B1
KR102568022B1 KR1020200178787A KR20200178787A KR102568022B1 KR 102568022 B1 KR102568022 B1 KR 102568022B1 KR 1020200178787 A KR1020200178787 A KR 1020200178787A KR 20200178787 A KR20200178787 A KR 20200178787A KR 102568022 B1 KR102568022 B1 KR 102568022B1
Authority
KR
South Korea
Prior art keywords
location information
user
information
algorithm
user location
Prior art date
Application number
KR1020200178787A
Other languages
English (en)
Other versions
KR20220088096A (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 씨제이올리브네트웍스 주식회사
Priority to KR1020200178787A priority Critical patent/KR102568022B1/ko
Publication of KR20220088096A publication Critical patent/KR20220088096A/ko
Application granted granted Critical
Publication of KR102568022B1 publication Critical patent/KR102568022B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/0009Transmission of position information to remote stations
    • G01S5/0018Transmission from mobile station to base station
    • G01S5/0027Transmission from mobile station to base station of actual mobile position, i.e. position determined on mobile
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Business, Economics & Management (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Educational Administration (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Economics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 임의의 사용자들에 대한 사용자 위치정보 획득 방법, 수집된 사용자 위치정보를 기반으로 한 알고리즘 실행 방법, 그리고 이들 방법을 위한 시스템에 관한 것이다.

Description

사용자 위치정보 획득 방법, 수집된 사용자 위치정보 기반의 알고리즘 실행 방법, 및 이를 위한 시스템{USER LOCATION INFORMATION ACQUISITION METHOD, COLLECTED USER LOCATION INFORMATION-BASED ALGORITHM EXECUTION METHOD, AND SYSTEM THEREFOR}
본 발명은 임의의 사용자들에 대한 사용자 위치정보 획득 방법, 수집된 사용자 위치정보를 기반으로 한 알고리즘 실행 방법, 그리고 이들 방법을 위한 시스템에 관한 것이다.
오늘 날 사용자들의 위치정보를 기반으로 하는 다양한 서비스들이 상용화 되어 있으며, 대표적으로 지도 서비스, 및 사용자 위치 기반으로 주변 상품/서비스를 추천해 주는 서비스 등을 들 수 있다. 또한, 사용자 위치정보 기반 서비스는 최근 코로나 바이러스에 의한 사회경제적 피해가 막심한 상황에서도 유용하게 활용될 수 있는데, 예를 들어 감염 확진을 받은 확진자의 동선에 대한 정보가 존재할 때 이를 기준으로 접근위험영역을 알려주는 등의 서비스가 고안될 수 있다.
한편, 현재에도 사용자 위치정보 기반의 서비스들이 다수 존재하지만, 현재에 비해 더 정확한, 신뢰도가 높고 정밀한 사용자 위치정보를 파악할 수 있다면 더 다양한 종류의 서비스 제공이 가능할 것으로 기대되고 있다. 현재 대표적으로 활용되고 있는 사용자 위치정보는 GPS 정보인데, GPS 정보의 경우 매우 적은 양의 데이터만으로도 쉽게 위치를 파악할 수 있다는 장점이 있으나 정확한 GPS 정보를 얻기 위해서는 야외에 서 있어야 하는 문제가 있으며, 또한 야외에서 GPS 정보를 획득한다 하더라도 그 GPS 정보는 실제 위치와 오차범위가 미터 단위로 발생하는 등 한계점도 있어 일반 사용자들에게 제공되는 서비스의 종류 및 품질이 제한되는 문제가 있다. 이에 따라 현재까지도 사용자들의 정확한 위치정보를 획득하기 위하여 많은 노력이 이루어지고 있다.
본 발명은 이러한 노력의 일환에서 제안된 것으로, 사용자 단말기를 소지하고 있는 사용자들의 정확한 위치를 판별할 수 있는 방법, 그리고 이렇게 정확히 판별된 사용자들의 위치정보를 기반으로 감염 예방 모델, 감염 확산 모델, 유동 인구 모델 등의 알고리즘들을 실행하는 방법, 그리고 이를 위한 시스템에 관한 것이다.
본 발명은 이와 같은 문제점에 착안하여 제안된 것으로, 본 발명은 위의 기술적 문제점을 해소시키는 것 외에도 본 기술분야에서 통상의 지식을 가진 자가 용이하게 발명할 수 없는 추가적인 기술요소들을 제공하기 위해 발명되었다.
한국공개특허공보 제10-2014-0142815호 (2014.12.15. 공개)
본 발명은 임의의 사용자가 소지하고 있는 사용자 단말기로부터 위치정보를 수신한 뒤, 이로부터 상기 사용자의 정확한 위치를 결정할 수 있게 하는 것을 목적으로 한다. 특히 이 과정에서 본 발명은 상기 사용자 단말기로부터 2가지 이상의 서로 다른 방식에 의해 획득된 위치정보를 수신하는 것을 특징으로 한다.
또한 본 발명은 상기 사용자 단말기로부터 수신한 위치정보들을 두 가지 서로 다른 방식으로 처리함으로써, 구체적으로는 수신된 위치정보들에 대해 가중치를 달리하여 수행되는 위치추정연산 단계, 그리고 인공지능 알고리즘을 이용한 위치정보 산출 단계를 거쳐 처리함으로써 최종적으로 더 정밀도를 높인 사용자 위치정보가 획득되도록 하는 것을 목적으로 한다.
또한 본 발명은 이렇게 획득된 정밀한 사용자 위치정보를 기반으로 다양한 종류의 알고리즘을 구현하는 것을 목적으로 하는데, 예를 들어 사용자 위치정보 및 감염자 이동경로를 비교함으로써 사용자가 위험영역으로부터 멀리 벗어날 수 있게 하기 위한 알고리즘, 감염자들의 이동경로가 포함된 정보를 기반으로 특정 지역 내에서 감염병의 확산 정도를 알 수 있게 한 알고리즘, 또는 특정 시간대 또는 특정 영역에 속하는 복수의 사용자 위치정보들이 포함된 인구유동정보를 알 수 있게 한 알고리즘 등을 구현하는 것을 목적으로 한다.
한편, 본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
위와 같은 문제점을 해결하기 위하여, 본 발명에 따른 사용자 위치정보 획득 방법은, (a) 사용자 단말기로부터 적어도 2개의 서로 다른 방식으로 생성된 위치정보들을 수신하는 단계; (b1) 상기 위치정보들을 기초로 사용자 위치를 추정하는 위치추정연산을 수행하는 단계; 및 (c) 상기 위치추정연산 결과 생성된 제1 사용자 위치정보를 데이터베이스화 하는 단계;를 포함할 수 있다.
또한, 상기 사용자 위치정보 획득 방법에 있어서 상기 (a) 단계에서 수신하는 위치정보들은, GPS 위치정보, 와이파이 접속정보 기반 위치정보, 또는 비콘 접속정보 기반 위치정보를 포함할 수 있다.
또한, 상기 사용자 위치정보 획득 방법에 있어서 상기 (b) 단계에서의 위치추정연산은, 적어도 2개의 위치정보들 각각에 대한 가중치를 달리하여 수행되는 것을 특징으로 할 수 있다.
또한, 상기 사용자 위치정보 획득 방법에 있어서 상기 (a) 단계 이후, 인공지능 알고리즘을 이용하여 상기 위치정보들로부터 제2 사용자 위치정보를 산출하는 (b2) 단계;를 더 포함할 수 있다.
또한, 상기 사용자 위치정보 획득 방법에 있어서 상기 (b1) 단계 및 (b2) 단계 이후, 상기 (b1) 단계로부터 산출된 제1 사용자 위치정보, 및 상기 (b2) 단계로부터 산출된 제2 사용자 위치정보를 기초로 최종 사용자 위치를 결정하는 단계;를 더 포함할 수 있으며, 상기 (c) 단계는, 상기 제1 사용자 위치정보 및 제2 사용자 위치정보를 기초로 결정된 최종 사용자 위치정보를 데이터베이스화 하는 단계인 것을 특징으로 할 수 있다.
또한, 상기 사용자 위치정보 획득 방법에 있어서 학습용 데이터 - 상기 학습용 데이터는 상기 (a) 단계에서 사용자 단말기로부터 수신한 위치정보들을 기반으로 한 것임 - 를 입력으로 하여 상기 인공지능 알고리즘을 학습시키는 단계;를 더 포함할 수 있다. 이 때, 상기 학습용 데이터는 레이블링 정보(labeling information)를 더 포함하되, 상기 레이블링 정보는 사용자의 결제행위에 의해 생성되는 결제위치정보를 기초로 하는 것을 특징으로 할 수 있다.
한편, 본 발명의 또 다른 실시예에 따른 수집된 사용자 위치정보 기반의 알고리즘 실행 방법은, 임의의 사용자 단말기들로부터 수집된 사용자 위치정보들을 기초로 임의의 알고리즘을 실행하는 단계;를 포함할 수 있다.
또한, 상기 수집된 사용자 위치정보 기반의 알고리즘 실행 방법에 있어서 상기 알고리즘은, 외부로부터 수신한 감염자 이동경로와 특정 사용자 위치정보를 비교하는 단계; 를 실행시키기 위한 명령어들을 포함할 수 있다.
또한, 상기 수집된 사용자 위치정보 기반의 알고리즘 실행 방법에 있어서 상기 알고리즘은, 특정 감염자의 사용자 위치정보를 데이터베이스로부터 탐색하는 단계; 상기 특정 감염자의 이동경로가 포함된 감염자 정보를 생성하는 단계;를 실행시키기 위한 명령어들을 포함하는 것을 특징으로 할 수 있다.
또한, 상기 수집된 사용자 위치정보 기반의 알고리즘 실행 방법에 있어서 상기 알고리즘은, 상기 수집된 사용자 위치정보들을 특정 시간대 별 또는 특정 영역 별로 소팅하는 단계; 특정 시간대 또는 특정 영역에 속하는 복수 개의 사용자 위치정보들이 포함된 인구유동정보를 생성하는 단계;를 실행시키기 위한 명령어들을 포함할 수 있다.
한편, 본 발명의 또 다른 실시예에 따른 사용자 위치정보 기반의 정보제공 서비스를 제공하기 위한 서비스 서버는, 사용자 단말기로부터 직어도 2개의 서로 다른 방식으로 생성된 위치정보들을 수신하는 위치정보 수집부; 상기 수신된 위치정보들을 기초로 위치추정연산을 수행하여 제1 사용자 위치정보를 산출하거나 또는 인공지능 알고리즘을 이용하여 상기 위치정보들로부터 제2 사용자 위치정보를 산출하는 위치정보 연산부; 상기 제1 사용자 위치정보 또는 제2 사용자 위치정보가 저장되는 데이터베이스;를 포함할 수 있다.
또한, 상기 서비스 서버는, 상기 제1 사용자 위치정보 또는 제2 사용자 위치정보 중 적어도 하나를 기초로 임의의 알고리즘을 실행하는 알고리즘 실행부;를 더 포함하되, 상기 알고리즘은, 사용자 위치정보 및 감염자 이동경로를 비교하는 단계를 실행시키기 위한 명령어를 포함하는 제1 알고리즘, 상기 제1 사용자 위치정보 또는 제2 사용자 위치정보에 대응되는 특정 감염자의 이동경로가 포함된 감염자 정보를 생성하는 단계를 실행시키기 위한 명령어를 포함하는 제2 알고리즘, 또는 특정 시간대 또는 특정 영역에 속하는 복수의 사용자 위치정보들이 포함된 인구유동정보를 생성하는 단계를 실행시키기 위한 명령어를 포함하는 제3 알고리즘을 포함할 수 있다.
본 발명에 따르면 종래에 비해 보다 정밀한 사용자 위치정보를 획득할 수 있게 되는 효과가 있다.
또한 본 발명에 따르면 정밀한 사용자 위치정보를 기초로 종래에 비해 다양한 종류의 서비스를 제공할 수 있게 되는 효과가 있다.
한편, 본 발명에 의한 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명에 따른 사용자 위치정보 획득 방법의 개요를 간략히 도시한 것이다.
도 2는 본 발명에 따른 사용자 위치정보 획득 방법을 순서에 따라 도시한 것이다.
도 3은 최종 사용자 위치정보 결정 단계에서 활용되는 정보들을 도시한 것이다.
도 4는 인공지능 알고리즘을 학습시키는 과정을 도시한 것이다.
도 5는 제1 알고리즘의 구현 예를 도시한 것이다.
도 6은 제2 알고리즘의 구현 예를 도시한 것이다.
도 7은 제3 알고리즘의 구현 예를 도시한 것이다.
도 8은 서비스 서버의 세부 구성들을 도시한 것이다.
본 발명의 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하의 상세한 설명에 의해 보다 명확하게 이해될 것이다. 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다.
본 명세서에서 개시되는 실시 예들은 본 발명의 범위를 한정하는 것으로 해석되거나 이용되지 않아야 할 것이다. 이 분야의 통상의 기술자에게 본 명세서의 실시예를 포함한 설명은 다양한 응용을 갖는다는 것이 당연하다. 따라서, 본 발명의 상세한 설명에 기재된 임의의 실시 예들은 본 발명을 보다 잘 설명하기 위한 예시적인 것이며 본 발명의 범위가 실시 예들로 한정되는 것을 의도하지 않는다.
도면에 표시되고 아래에 설명되는 기능 블록들은 가능한 구현의 예들일 뿐이다. 다른 구현들에서는 상세한 설명의 사상 및 범위를 벗어나지 않는 범위에서 다른 기능 블록들이 사용될 수 있다. 또한, 본 발명의 하나 이상의 기능 블록이 개별 블록들로 표시되지만, 본 발명의 기능 블록들 중 하나 이상은 동일 기능을 실행하는 다양한 하드웨어 및 소프트웨어 구성들의 조합일 수 있다.
또한, 어떤 구성요소들을 포함한다는 표현은 "개방형"의 표현으로서 해당 구성요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 된다.
나아가 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급될 때에는, 그 다른 구성요소에 직접적으로 연결 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 한다.
참고로 본 상세한 설명에서 자세히 논하게 될 기술적 사상은 크게 두 가지가 있는데, 그 중 하나는 도 1 내지 도 4를 통하여 설명하게 될 사용자 위치정보 획득 방법, 그리고 다른 하나는 도 5 내지 도 7을 통하여 설명하게 될 알고리즘 실행 방법에 관한 것이다.
이하에서는 사용자 위치정보 획득 방법, 그리고 알고리즘 실행 방법을 순차적으로 살펴보기로 한다.
먼저 도 1은 본 발명에 따른 실시예 중 하나인 사용자 위치정보 획득 방법을 보다 쉽게 이해하기 위하여 간략히 도시한 것이다. 도 1을 참고할 때, 본 발명에 따른 사용자 위치정보 획득 방법을 구현해 내기 위해서는 기본적으로 사용자 단말기(100) 및 서비스 서버(200)가 필요함을 알 수 있으며, 이 중 사용자 단말기(100)는 현 시점에서의 위치정보를 생성하여 이를 서비스 서버(200) 측에 제공하는 구성, 서비스 서버(200)는 위치정보를 수신한 후 일련의 연산 과정을 거쳐 최종적으로 사용자 위치정보를 결정하는 구성임을 알 수 있다.
본격적인 설명을 하기에 앞서, 사용자 단말기(100) 및 서비스 서버(200)에 대한 설명을 조금 더 부연하면, 먼저 사용자 단말기는 사용자가 보유하거나 소지하고 다니는 단말기를 일컫는 것으로, 여기에는 스마트폰, PDA, 스마트워치, 태블릿PC와 같은 휴대가 가능한 단말기, 스마트 장갑, 스마트 리스트와 같은 다른 종류의 웨어러블 단말기 등이 포함될 수 있다. 또한, 상기 사용자 단말기(100)는 중앙처리유닛(CPU)과 메모리를 구비하고 있는 것을 전제로 하는데, 이 때 중앙처리유닛은 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 불릴 수 있다. 또한 중앙처리유닛은 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어, 또는 이들의 결합에 의해 구현될 수 있는데, 하드웨어를 이용하여 구현하는 경우에는 ASIC(application specific integrated circuit) 또는 DSP(digital signal processor), DSPD(digital signal processing device), PLD(programmable logic device), FPGA(field programmable gate array) 등으로, 펌웨어나 소프트웨어를 이용하여 구현하는 경우에는 위와 같은 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등을 포함하도록 펌웨어나 소프트웨어가 구성될 수 있다. 또한, 메모리는 ROM(Read Only Memory), RAM(Random Access Memory), EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래쉬(flash) 메모리, SRAM(Static RAM), HDD(Hard Disk Drive), SSD(Solid State Drive) 등으로 구현될 수 있다.
다음으로 서비스 서버(200)는 본 발명에 따른 사용자 위치정보 획득 방법, 또는 알고리즘 실행 방법을 실제로 구현해 내기 위한 프로그램, 즉 명령어들의 집합을 저장 및 실행하는 구성이다. 서비스 서버의 형태는, 어느 특정 운영자가 관리하는 적어도 하나의 서버용 PC일 수 있으며, 또는 타 업체에서 제공하는 클라우드 서버의 형태, 즉 운영자가 회원가입하여 사용할 수 있는 클라우드 서버의 형태일 수도 있다. 서비스 서버가 서버용 PC로 구현된 경우, 해당 서비스 서버는 중앙처리유닛 및 메모리를 포함할 수 있으며, 이에 대해서는 앞선 사용자 단말기의 설명 과정에서 자세히 언급하였으므로 여기서는 설명을 생략하기로 한다.
다시 도 1을 참고하여 설명할 때, 사용자 단말기(100)는 위치정보를 적어도 2가지 이상의 방식으로 생성한 후 이렇게 생성한 위치정보들(제1 사용자 위치정보, 제2 사용자 위치정보, …)을 서비스 서버(200) 측으로 전달하는 역할을 한다. 예를 들어, 사용자 단말기(100)는 GPS(Global Positioning System) 위치정보, 와이파이 접속정보 기반의 위치정보, 또는 비콘 접속정보 기반의 위치정보를 생성할 수 있으며, 현재 위치에서 생성된 위치정보들 중 적어도 2개 이상을 서비스 서버(200) 측으로 전송할 수 있다. 사용자 단말기(100)가 생성하는 하나의 위치정보 만으로도 현재 사용자의 현재위치를 비교적 정확하게 알 수 있을 것이나 본 발명은 정밀도가 높은 사용자 위치정보를 확보하기 위한 것이기에 사용자 단말기(100)로 하여금 적어도 2 이상의 방식으로 생성된 위치정보들을 서비스 서버(200) 측에 전송하게 한 것이다.
한편, 사용자 단말기(100)로부터 위치정보들을 수신한 서비스 서버(200)는 위치추정연산, 또는 인공지능 알고리즘을 이용한 연산 중 적어도 하나의 연산을 수행하여 최종적으로 사용자 위치정보를 결정하는 기능을 수행한다. 바람직하게는 위치추정연산 및 인공지능 알고리즘 연산을 모두 실행시키고 이 연산들에 의한 결과값을 모두 활용하여 최종 사용자 위치정보를 결정하게 구현할 수 있다.
이처럼 도 1에 도시되어 있는 내용은 본 발명에 따른 사용자 위치정보 획득 방법에 관한 것으로, 앞서 설명한 것과 같은 과정을 거쳐 최종적으로 정밀도가 높은 사용자의 현재 위치정보를 결정하는 것을 목적으로 한다.
도 2는 본 발명에 따른 사용자 위치정보 획득 방법을 보다 체계적으로, 순서대로 나열한 것이다. 이에 대해 각 단계 별로 살펴보기로 한다.
사용자 위치정보 획득 방법은 가장 먼저 서비스 서버(200)가 사용자 단말기(100)로부터 위치정보들을 수신하는 단계(S100)로부터 시작될 수 있다. 앞서도 언급하였지만 위치정보들을 적어도 2가지 이상의 서로 다른 방식에 의해 생성된 것일 수 있으며, 여기에는 GPS, 와이파이 접속정보, 또는 비콘 접속정보에 기초한 위치정보들이 포함될 수 있다.
GPS는 GPS 위성에서 보내는 신호를 수신해 사용자의 현재 위치를 계산하는 시스템으로, 오늘날 항공기, 선박, 자동차 등의 내비게이션에는 물론 스마트폰, 태블릿 PC 등에서도 많이 활용되고 있다. 구체적으로, 항상 고정된 위치에 존재하는 3개 이상의 GPS 위성들로부터 사용자 단말기(100)가 신호를 수신하게 되면 삼각 측량을 이용해 현재 위치정보를 파악할 수 있게 되는데, 사용자 단말기(100)가 생성하는 GPS 위치정보는 바로 이 과정을 통해 생성된 것이다. 한편, GPS 위치정보는 일부 오차를 가질 수 있는데, 일반적으로 GPS 위치정보는 실제 사용자 단말기의 위치 대비 약 5미터 내외의 오차정보를 가지는 것으로 알려져 있다.
한편, 와이파이 접속정보란 사용자 단말기(100)가 특정 위치에서 엑세스 포인트(AP)에 접속되었을 때 상기 사용자 단말기(100)가 공유 받게 되는 상기 엑세스 포인트의 고유 식별자를 포함할 수 있으며, 그 밖에 상기 사용자 단말기(100)가 상기 엑세스 포인트에 접속함에 있어 필요한 정보들이 더 포함될 수 있다. 참고로, 상기 엑세스 포인트의 고유 식별자는 MAC 주소(Media Control Address)일 수 있다. MAC 주소는 인터넷이 가능한 이더넷 기반 기기에 하나씩 할당되어 있는 고유한 ID로 이해될 수 있으며, 스마트폰 내 와이파이 모듈, PC의 랜카드, 무선 공유기 등이 제조될 때에 MAC 주소가 부여되어 영구적으로 바뀌지 않는 식별자 기능을 한다. 엑세스 포인트의 고유 식별자를 참조하여 정확한 위치정보를 얻기 위해서는 상기 고유 식별자와 매칭되는 위치정보를 저장해 두고 있는 데이터베이스를 조회하는 과정이 더 필요한데, 이 과정은 사용자 단말기(100)에 의해 직접 이루어질 수 있거나 혹은 서비스 서버(200)에 이루어질 수 있다. 예를 들어, 사용자 단말기(100)가 제1 AP의 고유 식별자를 획득하였다고 가정할 때, 사용자 단말기(100)는 특정 데이터베이스(미도시)에 접속하여 상기 제1 AP의 고유 식별자와 매칭되는 위치정보, 다시 말해 상기 제1 AP가 어디에 설치되어 있는지를 미리 저장해 둔 위치정보를 조회함으로써 상기 위치정보를 획득할 수 있다. 또 다른 방식으로, 사용자 단말기(100)는 제1 AP의 고유 식별자를 그대로 서비스 서버(200) 측에 전달함으로써 서비스 서버(200)로 하여금 직접 특정 데이터베이스에 접속 및 위치정보를 조회하게 하여 서비스 서버(200)가 상기 제1 AP의 위치정보를 획득하게 구현할 수도 있다. 전자의 경우 사용자 단말기(100)는 서비스 서버(200)에 위치정보를 전송하게 될 것이나, 후자의 경우 사용자 단말기(100)가 서비스 서버(200)에 전송하게 되는 정보는 정확한 위치정보가 아닌 엑세스 포인트의 고유 식별자(예. MAC 주소)가 될 것이다.
다른 한편, 비콘 접속정보란 사용자 단말기(100)가 특정 위치에 설치되어 있는 비콘으로부터 브로드캐스팅 된 패킷을 수신하였을 때, 다시 말해 사용자 단말기(100)와 비콘 사이 접속이 존재하였을 때 사용자 단말기(100)가 공유 받게 된 정보를 의미할 수 있다. 바람직하게는, 상기 비콘 접속정보는 해당 비콘이 가지는 범용 고유 식별자(UUID; Universally Unique Identifier)일 수 있다. 비콘의 범용 고유 식별자 역시 엑세스 포인트의 고유 식별자와 마찬가지로 상기 비콘의 정확한 위치를 파악하기 위한 레퍼런스로 활용될 수 있으며, 이 역시 앞서 언급된 특정 데이터베이스(또는 상기 엑세스 포인트의 위치정보를 찾기 위한 데이터베이스와는 독립된 별개의 데이터베이스)에 비콘의 설치위치에 매핑되어 저장되어 있을 수 있다. 또한, 앞서와 마찬가지로 사용자 단말기(100)는 직접 상기 특정 데이터베이스를 조회하여 범용 고유 식별자를 공유한 비콘이 어느 위치에 설치된 것인지에 대한 위치정보를 획득할 수 있으며, 또는 사용자 단말기(100)는 서비스 서버(200) 측에 범용 고유 식별자만을 전달함으로써 서비스 서버(200)가 직접 비콘의 위치정보를 상기 데이터베이스 조회를 통해 획득하게 할 수 있다.
한편, S100 단계에서 사용자 단말기(100)는 반드시 서로 다른 방식으로 얻어진 위치정보를 서비스 서버(200) 측에 공유하는 것을 특징으로 한다. 즉, [GPS 위치정보 및 와이파이 접속정보 기반의 위치정보], [GPS 위치정보 및 비콘 접속정보 기반의 위치정보]. [와이파이 접속정보 기반의 위치정보, 비콘 접속정보 기반의 위치정보] 등의 조합으로 서비스 서버(200) 측에 위치정보 전송이 가능할 수 있다. 다른 한편, S100 단계에서 사용자 단말기(100)는 반드시 동일한 시점에 2 이상의 위치정보를 서비스 서버(200) 측에 전송하여야만 하는 것은 아니며, 소정의 시간 간격을 두고 하나씩 전송이 될 수도 있다. 예를 들어, 처음에는 GPS 위치정보가 먼저 서비스 서버(200)에 전송된 후, 2초 이내에 와이파이 접속정보에 기반한 위치정보가 서비스 서버(200)에 더 전송될 수 있다.
S100 단계 이후에는 위치추정 연산(S200) 또는 인공지능 알고리즘 연산(S250) 중 적어도 하나의 연산이 수행될 수 있다. 상기 두 종류의 연산 중 어느 하나의 연산만 있어도 무방하다 할 것이나, 본 발명이 정밀도가 높은 사용자 위치정보를 결정하는 것을 목적으로 한다는 점을 상기해 볼 때 바람직하게는 두 가지 연산 모두가 실행될 수 있다. 한편, 상기 두 가지 종류의 연산은 반드시 동시에 이루어져야만 하는 것은 아니며, 어느 연산이 다른 연산에 앞서 먼저 이루어질 수도 있다.
가장 먼저 위치추정 연산 단계(S200)는 서비스 서버(200)가 상기 사용자 단말기(100)로부터 수신한 복수 개의 위치정보들을 기초로 상기 사용자 단말기(100)의 정확한 위치를 연산해 내는 단계이다. 특기할 만한 점으로, 본 단계는 특정 파라미터에 가중치가 부여되어 연산이 된다는 점에서 하나의 특징을 가질 수 있다. 특정 파라미터에 가중치가 부여된다는 것의 의미는 상기 복수 개의 위치정보들 중 어느 하나의 것에 다른 것에 비해 더 많은 가중치를 둠으로써 중요도를 높인 채로 연산을 수행할 수 있다는 것을 의미한다. 예를 들어, 사용자 단말기(100)로부터 GPS 위치정보, 와이파이 접속정보 기반의 위치정보, 그리고 비콘 접속정보 기반의 위치정보가 모두 수신되었다고 가정할 때, 상대적으로 오차가 큰 정보인 GPS 위치정보에 대해서는 1보다 낮은 가중치를 부여함으로써 최종 사용자 위치정보 결정에 기여도가 낮아지도록, 와이파이 접속정보 기반의 위치정보에는 1의 가중치를 부여함으로써 중간 정도의 기여도가 인정되도록, 그리고 비콘 접속정보 기반의 위치정보에는 1보다 큰 값의 가중치를 부여함으로써 가장 정확도가 높은 비콘 접속정보 기반 위치정보가 최종 사용자 위치정보 결정에 가장 많은 기여를 하도록 구현할 수 있다. 또는, 상기 사용자 단말기(100)로부터 GPS 위치정보 및 와이파이 접속정보 기반의 위치정보를 수신하였으나 사용자 단말기(100)가 실외가 아닌 실내에 있는 것으로 판단되는 경우에는 GPS 위치정보의 가중치를 0에 가깝게 둠으로써 실질적으로 실내에서는 GPS 위치정보가 참조되지 않도록 조절(실내에서는 GPS 위치정보가 매우 부정확함)할 수도 있다.
이처럼 서비스 서버(200) 내부적으로 이루어지는 위치추정 연산 단계(S200) 에서는 사용자 단말기(100)로부터 수신한 2개 이상의 위치정보들을 기초로 상기 사용자의 위치를 추정하는 연산이 이루어지되, 각 수집된 위치정보에 대해서는 서로 다른 값의 가중치가 부여됨으로써 사용자 위치를 보다 정확하게 추정해 보고자 하는 노력이 이루어질 수 있다.
다음으로 인공지능 알고리즘 연산 단계(S250)는 사용자 단말기(100)로부터 수신한 위치정보들을 입력으로 하여 기 학습이 이루어진 상태의 인공지능 알고리즘으로 하여금 사용자 단말기(100)의 정확한 위치를 추정하게 하는 연산 단계로 이해될 수 있다. 본 상세한 설명에서 언급되는 인공지능 알고리즘이란 바람직하게는 복수의 층(layers)들을 포함하는 신경망(neural network) 기반의 알고리즘일 수 있다. 참고로, 신경망은 생물학적인 뉴런의 기능을 단순화시킨 인공 뉴런들이 이용되고, 인공 뉴런들은 연결 가중치 (connection weight)를 가지는 연결선을 통해 상호 연결될 수 있다. 신경망의 파라미터인 연결 가중치는 연결선이 갖는 특정한 값으로서 연결 강도라고도 나타낼 수 있다. 신경망은 인공 뉴런들을 통해 인간의 인지 작용이나 학습 과정을 수행할 수 있다. 인공 뉴런은 노드(node)라고도 지칭할 수 있다. 또한, 상기 신경망은 복수 개의 층들을 포함할 수 있는데, 예를 들어 입력층(input layer), 은닉층(hidden layer), 출력층(output layer)를 포함할 수 있다. 입력층은 학습을 수행하기 위한 입력을 수신하여 은닉층에 전달할 수 있고, 출력층은 은닉층의 노드들로부터 수신한 신호에 기초하여 신경망의 출력을 생성할 수 있다. 은닉층은 입력층과 출력층 사이에 위치하고, 입력층을 통해 전달된 학습 데이터를 예측하기 쉬운 값으로 변화시킬수 있다. 입력층과 은닉층에 포함된 노드들은 연결 가중치를 가지는 연결선을 통해 서로 연결되고, 은닉층과 출력층에 포함된 노드들에서도 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있다. 입력층, 은닉층 및 출력층은 복수의 노드들을 포함할 수 있다. 한편, 신경망은 지도 학습(supervised learning) 또는 비지도 학습(unsupervised learning) 방식을 통해 학습될 수 있다. 지도 학습이란 학습 데이터와 그에 대응하는 출력 데이터를 함께 신경망에 입력하고, 학습 데이터에 대응하는 출력 데이터가 출력되도록 연결선들의 연결 가중치를 업데이트하는 방법이고, 비지도 학습은 학습 데이터에 대응하는 출력 데이터 없이 학습 데이터만을 신경망에 입력하고, 학습 데이터의 특징 또는 구조를 알아내도록 연결선들의 연결 가중치를 업데이트하는 방법이다. 후술하겠지만, 본 발명에서의 인공지능 알고리즘은 특정 위치에서 이루어진 결제와 관련된 정보, 즉 결제정보를 레이블링 정보로 삼아 생성한 학습용 데이터를 활용하여 학습을 하도록 구현될 수 있으며, 따라서 본 발명에서의 인공지능 알고리즘은 지도 학습 방식으로 학습을 하도록 구현할 수 있다. 인공지능 알고리즘의 학습과 관련한 내용은 후에 도 4에 대한 설명에서 더 자세히 설명하기로 하며, 여기서는 도 2의 각 단계들에 집중하여 설명하기로 한다.
인공지능 알고리즘 연산 단계(S250)는 앞서 설명한 것처럼 사용자 단말기(100)로부터 수신한 복수 개의 위치정보들을 인공지능 알고리즘에 입력시키고 블랙박스화 되어 있는 인공지능 알고리즘을 통하여 임의의 결과값, 즉 인공지능 알고리즘에 의해 추정된 사용자 단말기(100)의 정확한 위치값을 획득하는 것을 특징으로 한다.
한편, S200 단계 및 S250 단계의 연산 과정이 모두 이루어진 후에는, 각 연산으로부터 산출된 결과값을 기초로 최종 사용자 위치정보가 결정(S300)될 수 있다. 본 단계는 상기 S200 단계 또는 S250 단계 중 어느 하나의 연산 단계만 실행이 이루어진 경우에는 생략이 가능할 수 있으며, 본 단계가 생략되었다면 당연히 S200 단계 또는 S250 단계에서 연산 결과 산출된 결과값이 최종 사용자 위치정보로 결정될 수 있다. S300 단계는 두 개의 기본적으로 2개의 결과값, 즉 위치추정 연산(S200)에 의해 얻은 결과값과 인공지능 알고리즘 연산(S250)에 의해 얻은 결과값을 기초로 최종적인 사용자 위치정보를 결정하는 단계인데, 예를 들어 본 단계에서는 위 2개 결과값의 중간값, 또는 평균값을 최종 사용자 위치정보로 결정할 수 있거나, 또는 위 2개 결과값 각각에 서로 다른 가중치를 부여한 뒤 평균값을 산출하여 이를 최종 사용자 위치정보로 결정할 수 있거나, 또는 위 2개 결과값 중 어느 하나의 값만 취함으로써 최종 사용자 위치정보를 결정하는 등 다양한 종류의 알고리즘이 설계자 의도에 따라 정의될 수 있다.
한편, 도 3에는 S300 단계 수행 시 참조가 되는 결과값들이 도시되어 있는데, 이를 참고할 때 상기 S300 단계 수행 시에는 위치추정 연산에 따른 결과값, 인공지능 알고리즘의 연산에 따른 결과값이 참조될 수 있으며, 경우에 따라 추가적으로 사용자의 결제위치정보가 더 포함될 수 있다. 결제위치정보란, 사용자가 임의의 결제행위를 하였을 때 그 결제에 따라 생성되는 결제정보 중 특히 어느 위치에서 결제를 하였는지에 관한 위치정보의 일종으로 이해될 수 있으며, 가령 사용자가 생필품 매장에서 임의의 물건을 구매하면서 결제를 할 때애 신용카드, 또는 포인트카드를 사용하였을 경우 해당 카드의 카드사와 연계하여 생성되는 정보일 수 있다. 결제위치정보는 서비스 서버(200)가 상기 사용자 단말기(100)로부터 직접 수신하거나 또는 상기 신용카드 또는 포인트카드를 관리하는 주체의 서버(카드사 서버라 칭함)로부터 수신할 수 있다. 예를 들어, 사용자가 결제행위를 한 경우 상기 사용자 단말기(100)에는 사용자 설정에 따라 결제정보가 메시지 형태로 수신될 수 있는데, 사용자 단말기(100)로 하여금 상기 결제정보를 포함한 메시지를 서비스 서버(200)에 다시 재전송하게 함으로써 서비스 서버(200) 측에 결제위치정보를 제공할 수 있다. 또는, 사용자가 결제행위를 한 경우 카드사 서버는 사용자 단말기(100)뿐만 아니라 사전 동의 절차 등을 통해 서비스 서버(200)에도 결제정보를 공유하게 함으로써 서비스 서버(200)로 하여금 해당 사용자의 결제위치정보를 수집하게 할 수 있다.
참고로 결제정보 내 포함된 결제위치정보는 앞서 언급된 GPS 위치정보, 와이파이 접속정보 기반의 위치정보, 비콘 접속정보 기반의 위치정보에 비하여 상당히 높은 정확성을 가지는 정보로 간주될 수 있다. 결제행위는 일반적으로 사용자가 그 매장 내의 계산대 앞에서 이루어질 것이므로 이로부터 얻을 수 있는 결제위치정보는 상대적으로 사용자가 그 위치에 머물렀다는 사실이 명확하게 구분되는 반면, 여타의 위치정보들은 그 사용자의 위치정보를 일정 시간 이상 추적하지 않는 한 그 장소에 머물렀는지 또는 단순히 지나기만 하였는지 쉽게 알 수 없기 때문이다. 이러한 점을 고려할 때, 상기 S300 단계에서 최종적으로 사용자 위치정보가 결정될 때에 결제위치정보가 더 수집된 경우에는 상기 결제위치정보가 더 높은 값의 가중치를 부여함으로써 상기 사용자의 현재 위치가 정확하게 결정되도록 할 수 있다.
도 4는 앞서 설명을 미뤄두었던 인공지능 알고리즘의 학습과정을 도시한 것이다. 앞서도 언급하였듯 본 발명에 따른 서비스 서버(200)는 인공지능 알고리즘을 이용하여서도 사용자의 위치를 추정하기 위한 연산을 할 수 있는데, 이 때 인공지능 알고리즘은 지속적인 학습 및 엔진 업데이트를 통해 그 정확도를 높일 수 있다.
도 4를 참고할 때, 학습과정은 가장 먼저 학습용 데이터를 생성하는 단게(S260)로부터 시작될 수 있다. 이 때, 학습용 데이터는 앞서 서비스 서버(200)가 사용자 단말기(100)로부터 수집한 위치정보들, 또는 인공지능 알고리즘 연산에 의해 산출된 결과값을 포함할 수 있으며, 상기 인공지능 알고리즘을 지도 학습 방식으로 학습시키고자 하는 경우에는 레이블링 정보로서 앞서 언급된 결제위치정보가 더 포함될 수 있다.
학습데이터가 생성된 후에는 인공지능 알고리즘의 학습(S270)이 이루어질 수 있는데, 이 때 학습은 비지도 학습 또는 지도 학습으로 이루어질 수 있다. 비지도 학습은 상기 위치정보들 또는 연산 결과 산출된 결과값들이 인공지능 알고리즘에 입력되고 인공지능 알고리즘이 일련의 연산을 수행하여 상기 학습용 데이터들의 특징 또는 경향성을 추출하는 방식으로 이루어질 수 있을 것이며, 지도 학습은 상기 결제위치정보가 레이블링 정보로서 더 입력되었을 때 상기 사용자 단말기들로부터 수집된 위치정보들과 상기 레이블링 정보와의 매핑, 상기 인공지능 알고리즘에 의해 산출된 결과값들과 상기 레이블링 정보와의 매핑 과정에서 특징 또는 경향성을 추출함으로써 이루어질 수 있을 것이다.
인공지능 알고리즘 학습이 이루어진 후에는 상기 인공지능 알고리즘 엔진을 업데이트하는 단계(S280)가 더 포함될 수 있다.
이상 도 1 내지 도 4를 참고하여 서비스 서버(200)가 사용자 단말기(100)로부터 위치정보들을 수집한 후 이로부터 최종적으로 사용자 현재 위치를 결정하는 과정에 대해 살펴 보았다.
도 5는 앞서 사용자 위치정보가 결정되어 데이터베이스화 되어 있음을 전제로, 위 사용자 위치정보 기반의 알고리즘을 실행하는 방법 중 첫 번째 실시예를 설명하기 위한 도면이다. 도 5에 도시되어 있는 제1 알고리즘은 쉽게 말해 일반 사용자들로 하여금 감염자의 이동경로(소위 위험영역)를 회피할 수 있도록 정보를 제공하는 것에 관한 것이다.
서비스 서버(200)는 외부로부터 감염자에 관한 정보(감염자 정보)를 크롤링 또는 푸시메시지 등의 방식을 통하여 수집할 수 있으며, 이 때 감염자 정보 내에는 해당 감염자가 어느 장소들(위치)을 다녀갔는지에 대한 이동경로도 포함될 수 있다.
한편 이렇게 감염자 정보가 수집되었을 때, 상기 제1 알고리즘은 상기 데이터베이스화 되어 있는 사용자 위치정보와 상기 감염자 이동경로를 비교할 수 있으며, 그 결과 사용자 위치정보가 감염자 이동경로와 중첩되었을 때 또는 감염자 이동경로 상의 특정 위치로부터 기 설정된 범위 내에 상기 사용자 위치정보가 포함되는 것으로 판단된 경우(도면에서 속이 채워지지 않은 역삼각형 표시) 후속조치를 취하도록 구현될 수 있다. 참고로, 상기 제1 알고리즘은 서비스 서버(200) 상에서 실행될 수도 있으며 또는 사용자 단말기(100)에 다운로드 되어 사용자 단말기(100) 상에서 직접 실행될 수도 있다. 전자의 경우 서비스 서버(200)는 제1 알고리즘을 실행하여 산출한 결과값들을 사용자 단말기(100)에 제공하도록 구현될 수 있으며, 후자의 경우 사용자 단말기(100)는 서비스 서버(200)로부터 제반 정보들을 수신받아 제1 알고리즘 실행 시 참고하도록 구현될 수 있다.
다시 도 5를 참고할 때, 도 5에는 제1 사용자의 사용자 위치정보들이 연속적으로 표시되어 있으며, 이렇게 표시된 사용자 이동경로가 감염자의 이동경로와 함께 표시되어 서로 비교가 가능함을 확인할 수 있다.
한편, 상기 제1 알고리즘은 기 저장되어 있는 과거의 사용자 위치정보들을 기초로 하여 미래 사용자의 이동경로를 예측할 수도 있게 구현될 수 있다. 예를 들어, 상기 데이터베이스화 되어 있는 사용자 위치정보들을 통해서는 해당 사용자의 루틴한 이동경로를 특정할 수도 있으며, 이러한 루틴 이동경로가 현 시점에서 확인된 감염자 이동경로와 중첩되는 경우 상기 사용자에게 알림 메시지를 전송하는 등의 조치를 취할 수 있게 구현될 수 있다. 또는, 상기 제1 알고리즘은 실시간으로 업데이트 되는 상기 사용자 위치정보들을 참고하여 현재 사용자가 나아가고 있는 방향성을 인지할 수 있으며, 해당 방향으로 계속 나아갈 경우 감염자 이동경로와 중첩될 위험이 있다는 취지의 메시지 등을 상기 사용자에게 발송하도록 구현될 수도 있다.
이와 같이 제1 알고리즘은 기본적으로 데이터베이스화 되어 있는 사용자 위치정보들 또는 실시간으로 업데이트 되고 있는 사용자 위치정보들과 감염자 정보를 비교함으로써 사용자에게 후속 조치를 취할 수 있도록 구현될 수 있다.
도 6은 제2 알고리즘을 설명하기 위한 도면으로, 제2 알고리즘은 쉽게 말해 감염자 이동경로를 정밀하게 추적하기 위한 알고리즘으로 이해될 수 있다. 서비스 서버(200)는 외부로부터 감염자 정보를 수집할 수 있으며, 이 때 수집된 감염자 정보는 데이터베이스에 저장되어 있는 사용자 위치정보들을 매핑시켜 감염자의 이동경로를 보다 정밀하게 획득할 수 있다. 즉, 감염자 역시 서비스 서버(200)에 의해 관리되는 사용자 중 한 명일 것이라는 사실을 전제로 서비스 서버(200)는 감염자 정보와 매칭되는 사용자 위치정보들을 데이터베이스로부터 탐색해 냄으로써 해당 감염자에 대한 보다 자세한 이동경로를 파악할 수 있게 한 것이다.
일반적으로 현재 기관에서 제공되고 있는 감염자 이동경로는 상호, 주소를 포함하고 있긴 하나 해당 감염자가 방문한 장소 간 이동경로, 그리고 방문장소가 실내일 경우 그 건물 내 몇 층에 머물렀는지 등 세부적인 이동경로에 대해서는 알려져 있지 않다. 본 발명에 따른 서비스 서버(200)는 이렇게 정보가 부족한 감염자 이동경로를 기 저장되어 있는 사용자 위치정보들로 대체하고자 한 것이다. 다만, 상기 기관 등에서 제공하고 있는 감염자 이동경로가 개인정보 노출 등을 우려하여 최소한도로만 공개되는 것임을 감안할 때, 상기 서비스 서버(200)에 의해 조회되는 사용자(감염자) 위치정보 역시 반드시 필요한 용도로만 그 활용이 제한되어야 할 것이다.
한편, 제2 알고리즘에 따라 확보된 감염자 이동경로는 도 6에 도시되어 있는 것과 같이 감염자가 방문하였던 장소에 관한 상세정보들을 포함하여 표시될 수 있으며, 예를 들어 건물명, 주소, 방문층, 방문층 내 어느 엑세스 포인트 또는 어느 비콘 장치와 가장 가까운 위치에 존재하였는지 등의 상세정보들이 표시될 수 있다.
도 7은 제3 알고리즘을 설명하기 위한 도면으로, 제3 알고리즘은 쉽게 말해 인구의 유동성을 모니터링 하기 위한 것으로 이해될 수 있다. 제3 알고리즘은 기 저장되어 있는 다수의 사용자들의 위치정보들을 로드하여 다수 사용자들의 유동성을 확인할 수 있게 출력하기 위한 것으로 이해될 수 있다. 도 7에 도시되어 있듯, 제3 알고리즘을 실행하는 경우 데이터베이스로부터 다수의 사용자들에 대한 위치정보들이 로드될 수 있으며, 이들 위치정보들은 특정 시간대 또는 특정 영역 별로 소팅되어 소위 인구유동정보를 생성하는 데에 활용될 수 있다. 도 7은 지도 상의 특정 지역을 중심으로 다수의 사용자 위치정보들이 마커들로 표시된 모습을 도시한 것이며, 이 중 어느 하나의 마커가 선택되었을 때 해당 사용자의 당시 정확한 위치정보가 표시되는 모습을 도시한 것이다.
이상 도 5 내지 도 7을 참고하여 기 수집된 사용자 위치정보 기반으로 알고리즘이 실행되는 방법에 대해 살펴 보았다.
마지막으로 도 8은 본 발명에 따른 사용자 위치정보 수집 방법, 그리고 알고리즘 실행 방법을 실행시키기 위해 필요한 서비스 서버(200)의 세부적인 구성들을 기능별로 구분한 도면이다.
도 8을 참고할 때, 서비스 서버(200)는 사용자 단말기(100)로부터 직어도 2개의 서로 다른 방식으로 생성된 위치정보들을 수신하는 위치정보 수집부(210), 상기 수신된 위치정보들을 기초로 위치추정연산을 수행하여 사용자 위치정보를 산출하거나 또는 인공지능 알고리즘을 이용하여 상기 위치정보들로부터 사용자 위치정보를 산출하는 위치정보 연산부(220), 앞서 위치정보 연산부(220)에 의해 산출된 결과값 저장되는 데이터베이스(230)를 포함할 수 있다. 이 때 상기 데이터베이스(230)는 경우에 따라 서비스 서버(200) 내에 구비된 것이거나 또는 서비스 서버(200)의 외부에 존재하는 것으로서 네트워크를 통한 접속이 가능한 것일 수 있다. 다른 한편, 상기 데이터베이스(230)는 서비스 서버(200)의 운영 주체와 다른 운영 주체에 의해 관리되는 것일 수도 있는데, 이 경우 데이터베이스(230)는 서비스 서버(200)의 필수구성에서 재외될 수 있다.
또한, 상기 서비스 서버(200)는 앞서 도 5 내지 도 7을 통해 설명하였던 알고리즘들을 실행시키기 위한 알고리즘 실행부(240)를 더 포함할 수 있다.
이상 사용자 위치정보를 획득하는 방법, 수집된 사용자 위치정보 기반의 알고리즘 실행 방법 및 이를 위한 시스템에 대해 살펴보았다. 한편, 본 발명은 상술한 특정의 실시예 및 응용예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 구별되어 이해되어서는 안 될 것이다.
100 사용자 단말기
200 서비스 서버
210 위치정보 수집부 220 위치정보 연산부 230 데이터베이스
240 알고리즘 실행부

Claims (13)

  1. 중앙처리유닛 및 메모리를 포함하는 컴퓨팅 장치가, 사용자 위치정보를 획득하는 방법에 있어서,
    (a) 사용자 단말기로부터 GPS 위치정보, 와이파이 접속정보 기반 위치정보, 또는 비콘 접속정보 기반 위치정보 중 적어도 2개의 서로 다른 방식으로 생성된 위치정보들을 수신하는 단계;
    (b1) 상기 위치정보들을 기초로 제1 사용자 위치정보를 산출하되, 상기 적어도 2개의 위치정보들 각각에 대한 가중치를 달리하여 위치추정연산을 수행함으로써 제1 사용자 위치정보를 산출하는 단계;
    (b2) 인공지능 알고리즘을 이용하여 상기 위치정보들로부터 제2 사용자 위치정보를 산출하는 단계;
    (b3) 상기 (b1) 단계로부터 산출된 제1 사용자 위치정보, 및 상기 (b2) 단계로부터 산출된 제2 사용자 위치정보를 기초로 최종 사용자 위치를 결정하는 단계; 및
    (c) 상기 최종 사용자 위치정보를 데이터베이스화 하는 단계;
    를 포함하는,
    사용자 위치정보 획득 방법.
  2. 제1항에 있어서,
    상기 (b3)단계는, 상기 사용자 단말기의 사용자가 임의의 결제행위를 하였을 때 생성되는 결제위치정보가 더 참조되어 상기 최종 사용자 위치를 결정하는 단계인 것을 특징으로 하는,
    사용자 위치정보 획득 방법.
  3. 제2항에 있어서,
    상기 컴퓨팅 장치는, 상기 사용자 단말기가 수신한 결제정보를 재전송 받음으로써 상기 결제위치정보를 수신하는 것을 특징으로 하는,
    사용자 위치정보 획득 방법.
  4. 삭제
  5. 삭제
  6. 제1항에 있어서,
    상기 인공지능 알고리즘은, 임의의 사용자 단말기들로부터 수집된 위치정보들과 레이블링 정보(labeling information)가 매핑된 학습용 데이터에 의해 학습된 것으로, 상기 레이블링 정보는 사용자의 결제행위에 의해 생성되는 결제위치정보를 기초로 하는 것을 특징으로 하는,
    사용자 위치정보 획득 방법.
  7. 삭제
  8. 중앙처리유닛 및 메모리를 포함하는 컴퓨팅 장치가, 수집된 사용자 위치정보 기반의 알고리즘을 실행하는 방법에 있어서,
    임의의 사용자 단말기들로부터 수집된 사용자 위치정보들을 기초로 임의의 알고리즘을 실행하는 단계;를 포함하되,
    상기 사용자 위치정보들은,
    (a) 임의의 사용자 단말기로부터 GPS 위치정보, 와이파이 접속정보 기반 위치정보, 또는 비콘 접속정보 기반 위치정보 중 적어도 2개의 서로 다른 방식으로 생성된 위치정보들을 수신하는 단계;
    (b1) 상기 위치정보들을 기초로 제1 사용자 위치정보를 산출하되, 상기 적어도 2개의 위치정보들 각각에 대한 가중치를 달리하여 위치추정연산을 수행함으로써 제1 사용자 위치정보를 산출하는 단계;
    (b2) 인공지능 알고리즘을 이용하여 상기 위치정보들로부터 제2 사용자 위치정보를 산출하는 단계;
    (b3) 상기 (b1) 단계로부터 산출된 제1 사용자 위치정보, 및 상기 (b2) 단계로부터 산출된 제2 사용자 위치정보를 기초로 최종 사용자 위치를 결정하는 단계; 및
    (c) 상기 최종 사용자 위치정보를 데이터베이스화 하는 단계;를 포함하는 사용자 위치정보 획득 방법에 의해 생성된 것을 특징으로 하는,
    수집된 사용자 위치정보 기반의 알고리즘 실행 방법.
  9. 제8항에 있어서,
    상기 알고리즘은,
    외부로부터 수신한 감염자 이동경로와 특정 사용자 위치정보를 비교하는 단계;
    를 실행시키기 위한 명령어들을 포함하는 것을 특징으로 하는,
    수집된 사용자 위치정보 기반의 알고리즘 실행 방법.
  10. 제8항에 있어서,
    상기 알고리즘은,
    특정 감염자의 사용자 위치정보를 데이터베이스로부터 탐색하는 단계;
    상기 특정 감염자의 이동경로가 포함된 감염자 정보를 생성하는 단계;
    를 실행시키기 위한 명령어들을 포함하는 것을 특징으로 하는,
    수집된 사용자 위치정보 기반의 알고리즘 실행 방법.
  11. 제8항에 있어서,
    상기 알고리즘은,
    상기 수집된 사용자 위치정보들을 특정 시간대 별 또는 특정 영역 별로 소팅하는 단계;
    특정 시간대 또는 특정 영역에 속하는 복수 개의 사용자 위치정보들이 포함된 인구유동정보를 생성하는 단계;
    를 실행시키기 위한 명령어들을 포함하는 것을 특징으로 하는,
    수집된 사용자 위치정보 기반의 알고리즘 실행 방법.
  12. 사용자 위치정보 기반의 정보제공 서비스를 제공하기 위한 서비스 서버에 있어서,
    사용자 단말기로부터 GPS 위치정보, 와이파이 접속정보 기반 위치정보, 또는 비콘 접속정보 기반 위치정보 중 직어도 2개의 서로 다른 방식으로 생성된 위치정보들을 수신하는 위치정보 수집부;
    상기 수신된 위치정보들을 기초로 제1 사용자위치정보를 산출하되, 상기 적어도 2개의 위치정보들 각각에 대한 가중치를 달리하여 위치추정연산을 수행함으로써 제1 사용자 위치정보를 산출하고, 인공지능 알고리즘을 이용하여 상기 위치정보들로부터 제2 사용자 위치정보를 산출하며, 상기 산출된 제1 사용자 위치정보, 및 상기 제2 사용자 위치정보를 기초로 최종 사용자 위치를 결정하는 위치정보 연산부;
    상기 최종 사용자 위치정보가 저장되는 데이터베이스;
    를 포함하는,
    서비스 서버.
  13. 제12항에 있어서,
    상기 제1 사용자 위치정보 또는 제2 사용자 위치정보 중 적어도 하나를 기초로 임의의 알고리즘을 실행하는 알고리즘 실행부;
    를 더 포함하되,
    상기 알고리즘은,
    사용자 위치정보 및 감염자 이동경로를 비교하는 단계를 실행시키기 위한 명령어를 포함하는 제1 알고리즘,
    상기 제1 사용자 위치정보 또는 제2 사용자 위치정보에 대응되는 특정 감염자의 이동경로가 포함된 감염자 정보를 생성하는 단계를 실행시키기 위한 명령어를 포함하는 제2 알고리즘, 또는
    특정 시간대 또는 특정 영역에 속하는 복수의 사용자 위치정보들이 포함된 인구유동정보를 생성하는 단계를 실행시키기 위한 명령어를 포함하는 제3 알고리즘을 포함하는,
    서비스 서버.
KR1020200178787A 2020-12-18 2020-12-18 사용자 위치정보 획득 방법, 수집된 사용자 위치정보 기반의 알고리즘 실행 방법, 및 이를 위한 시스템 KR102568022B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200178787A KR102568022B1 (ko) 2020-12-18 2020-12-18 사용자 위치정보 획득 방법, 수집된 사용자 위치정보 기반의 알고리즘 실행 방법, 및 이를 위한 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200178787A KR102568022B1 (ko) 2020-12-18 2020-12-18 사용자 위치정보 획득 방법, 수집된 사용자 위치정보 기반의 알고리즘 실행 방법, 및 이를 위한 시스템

Publications (2)

Publication Number Publication Date
KR20220088096A KR20220088096A (ko) 2022-06-27
KR102568022B1 true KR102568022B1 (ko) 2023-08-17

Family

ID=82247011

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200178787A KR102568022B1 (ko) 2020-12-18 2020-12-18 사용자 위치정보 획득 방법, 수집된 사용자 위치정보 기반의 알고리즘 실행 방법, 및 이를 위한 시스템

Country Status (1)

Country Link
KR (1) KR102568022B1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140142815A (ko) 2013-06-05 2014-12-15 권형석 Gps를 통한 위치정보기반 시스템 및 그 이용한 위치 알림서비스 방법
KR101744246B1 (ko) * 2015-06-17 2017-06-07 김충범 마스크를 이용한 위치추적방법 및 시스템
KR101942427B1 (ko) * 2017-01-25 2019-01-29 초록소프트 주식회사 사용자의 니즈가 반영된 유동인구정보 생성 방법 및 이를 위한 서버
KR20180130761A (ko) * 2017-05-30 2018-12-10 한국전자통신연구원 위치 정보 판단 시스템, 서버 및 방법
KR102139970B1 (ko) * 2018-04-25 2020-07-31 가천대학교 산학협력단 오차의 가중치 합의 최적화를 활용한 실내 무선 측위 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김재호 et al. "스마트시티 데이터허브를 활용한 코로나 19 역학조사지원시스템 사례 및 교훈." Appropriate Technology 6.2 (2020): 211-218.*

Also Published As

Publication number Publication date
KR20220088096A (ko) 2022-06-27

Similar Documents

Publication Publication Date Title
CN108292139B (zh) 由机器人同时进行地图绘制和规划
US9677890B2 (en) Positioning and mapping based on virtual landmarks
WO2016161117A1 (en) Venue identification from wireless scan data
JP2015531053A (ja) 無線マップを動的に作成するためのシステム、方法、及びコンピュータプログラム
CN108292138B (zh) 随机地图知悉式立体视觉传感器模型
Kamrani et al. Using on-line simulation for adaptive path planning of UAVs
Wen et al. Accuracy estimation for sensor systems
Radoi et al. Localization systems repository: A platform for open-source localization systems and datasets
Vargas-Rosales et al. Performance evaluation of localization algorithms for WSNs
CN110704754B (zh) 一种由用户终端执行的推送模型优化方法和装置
Zhao et al. An efficient radio map updating algorithm based on K-means and Gaussian process regression
Mohanta et al. Improved wireless sensor network localization algorithm based on selective opposition class topper optimization (SOCTO)
KR102568022B1 (ko) 사용자 위치정보 획득 방법, 수집된 사용자 위치정보 기반의 알고리즘 실행 방법, 및 이를 위한 시스템
Nagireddy et al. Comparative analysis of PSO-SGO algorithms for localization in wireless sensor networks
US20220019793A1 (en) Systems and methods for identifying a service qualification of a multi-unit building based on exterior access
CN109668565B (zh) 目标对象的定位方法和装置
Barnwal et al. Crowdsensing-based WiFi indoor localization using feed-forward multilayer perceptron regressor
US10006985B2 (en) Mobile device and method for determining a place according to geolocation information
Bhargava et al. Leveraging fog analytics for context-aware sensing in cooperative wireless sensor networks
Villarubia et al. Applying classifiers in indoor location system
Jiang et al. Real‐Time and Accurate Indoor Localization with Fusion Model of Wi‐Fi Fingerprint and Motion Particle Filter
Villarrubia et al. Real time positioning system using different sensors
Qiu et al. Self-improving indoor localization by profiling outdoor movement on smartphones
JP2021086175A (ja) マッチング装置、マッチング方法及びコンピュータプログラム
Zhao et al. Machine learning-based real-time indoor landmark localization

Legal Events

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