KR101638622B1 - 사용자 단말의 이웃 단말들을 찾는 방법, 이를 이용한 콘텐츠 공유 장치 및 방법, 그리고 콘텐츠 공유 어플리케이션 - Google Patents

사용자 단말의 이웃 단말들을 찾는 방법, 이를 이용한 콘텐츠 공유 장치 및 방법, 그리고 콘텐츠 공유 어플리케이션 Download PDF

Info

Publication number
KR101638622B1
KR101638622B1 KR1020150056806A KR20150056806A KR101638622B1 KR 101638622 B1 KR101638622 B1 KR 101638622B1 KR 1020150056806 A KR1020150056806 A KR 1020150056806A KR 20150056806 A KR20150056806 A KR 20150056806A KR 101638622 B1 KR101638622 B1 KR 101638622B1
Authority
KR
South Korea
Prior art keywords
terminals
block
content
sharing
blocks
Prior art date
Application number
KR1020150056806A
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 KR1020150056806A priority Critical patent/KR101638622B1/ko
Application granted granted Critical
Publication of KR101638622B1 publication Critical patent/KR101638622B1/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/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • H04W4/022Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences with dynamic range variability
    • 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • H04W4/003
    • 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/12Messaging; Mailboxes; Announcements

Abstract

장치가 제1단말의 이웃 단말들을 찾는 방법으로서, 복수 단말의 위치 정보를 기초로 각 블록이 설정된 값 이하의 단말 수를 포함하도록 지역을 복수의 블록으로 분할하는 단계, 상기 복수 단말에 포함된 제1단말의 위치 정보를 기초로 상기 복수의 블록에서 상기 제1단말이 포함된 제1블록을 추출하는 단계, 상기 제1블록과 인접한 적어도 하나의 이웃 블록을 추출하는 단계, 그리고 상기 제1블록과 상기 적어도 하나의 이웃 블록에서 상기 제1단말의 이웃 단말들을 추출하는 단계를 포함하고, 상기 설정된 값은 블록당 최대 단말 수이다.

Description

사용자 단말의 이웃 단말들을 찾는 방법, 이를 이용한 콘텐츠 공유 장치 및 방법, 그리고 콘텐츠 공유 어플리케이션{METHOD FOR FINDING NEIGHBORING DEVICES OF USER DEVICE, APPARATUS AND METHOD FOR CONTENTS SHARING USING THE SAME METHOD, AND CONTENTS SHARING APPLICATION}
본 발명은 콘텐츠 공유 방법에 관한 것이다.
위치기반서비스(Location Based Service, LBS)는 이동통신망이나 GPS와 같은 위성항법장치 등을 통해 얻은 사용자 단말의 위치 정보를 기초로 사용자 단말에게 서비스를 제공한다. 서비스 제공자는 사용자 단말의 위치 정보를 기초로 광고, 지역 정보, 교통 정보 등을 제공할 수 있다.
지금까지의 위치기반서비스는 서비스 제공자가 타겟 지역에 위치한 사용자 단말들에게 콘텐츠를 푸쉬하는 방법이 대부분이다. 이를 위해, 서비스 제공자는 타겟 지역을 결정하고, 타겟 지역에 설치된 기지국이나 AP(Access Point) 등의 통신네트워크를 이용하여 정보를 전송할 수 있다. 이와 같이, 지금까지의 위치기반서비스는 서비스 사업자의 목적에 맞게 생성된 콘텐츠를 제공하는 사업자 주도형이 대부분이고, 또한 "서울역 주변"과 같이 고정된 지역에 위치하는 모든 단말 또는 사용자 정보를 기초로 필터링된 단말을 타겟으로 간주하는 지역 기반형이 대부분이다.
한편, 사용자 단말들 사이에서 콘텐츠가 공유되는 서비스가 존재한다. 예를 들면, 사용자 단말들이 메신저 서비스나, 다양한 소셜네트워크 서비스를 이용하여 사진/영상/메시지 등을 교환할 수 있다. 하지만, 지금까지의 콘텐츠 공유 서비스는 친구 관계나 팔로우 관계와 같은 지인 기반 서비스이다. 따라서, 사용자 단말은 지인들에게 콘텐츠를 전송하거나, 지인들로부터 콘텐츠를 수신할 수 있을 뿐, 통신네트워크를 통해 주변에 위치한 누군가의 단말로 콘텐츠를 전송하는데 한계가 있다. 이와 같이 지금까지의 콘텐츠 공유 서비스는 지인 기반 콘텐츠 공유 모델에 한정되므로, 현재 같은 공간을 공유하는 사람들과 자신의 경험을 공유하지 못하고, 소셜네트워크를 확장하지 못하는 한계가 있다.
본 발명이 해결하고자 하는 과제는 사용자 단말의 이웃 단말들을 찾는 방법, 이를 이용한 콘텐츠 공유 장치 및 방법, 그리고 콘텐츠 공유 어플리케이션을 제공하는 것이다.
본 발명의 한 실시예에 따른 장치가 제1단말의 이웃 단말들을 찾는 방법으로서, 복수 단말의 위치 정보를 기초로 각 블록이 설정된 값 이하의 단말 수를 포함하도록 지역을 복수의 블록으로 분할하는 단계, 상기 복수 단말에 포함된 제1단말의 위치 정보를 기초로 상기 복수의 블록에서 상기 제1단말이 포함된 제1블록을 추출하는 단계, 상기 제1블록과 인접한 적어도 하나의 이웃 블록을 추출하는 단계, 그리고 상기 제1블록과 상기 적어도 하나의 이웃 블록에서 상기 제1단말의 이웃 단말들을 추출하는 단계를 포함하고, 상기 설정된 값은 블록당 최대 단말 수이다.
상기 복수의 블록으로 분할하는 단계는 상기 복수 단말의 위치 변동 정보를 기초로 상기 복수의 블록 중에서 상기 블록당 최대 단말 수를 초과하는 블록이 있는지 판단하고, 상기 복수의 블록 중 제2블록이 상기 블록당 최대 단말 수를 초과하는 경우, 상기 제2블록을 분할하여 제3블록과 제4블록을 생성할 수 있다.
상기 복수의 블록으로 분할하는 단계는 상기 제2블록에 포함된 단말 수를 모니터링하고, 상기 제2블록이 상기 블록당 최대 단말 수 이하의 단말을 포함하는 경우, 상기 제3블록과 상기 제4블록을 병합할 수 있다.
상기 복수의 블록으로 분할하는 단계는 상기 제2블록, 상기 제3블록 그리고 제4블록의 계층 정보를 기록할 수 있다.
상기 방법은 상기 복수 단말의 위치 분포를 기초로 상기 블록당 최대 단말 수를 가변하는 단계를 더 포함할 수 있다.
상기 제1단말의 이웃 단말들을 추출하는 단계는 상기 제1블록과 상기 적어도 하나의 이웃 블록 중에서 타겟 수 이상의 단말들을 포함하는 복수의 타겟 블록을 추출하는 단계, 그리고 상기 복수의 타겟 블록에 포함된 단말들 중에서, 상기 타겟 수에 해당하는 단말들을 추출하여 상기 제1단말의 이웃 단말들로 결정하는 단계를 포함할 수 있다.
상기 제1단말의 이웃 단말들로 결정하는 단계는 상기 복수의 타겟 블록에 포함된 단말들 각각과 상기 제1단말의 거리를 계산하고, 거리를 기초로 상기 타겟 수에 해당하는 단말들을 추출할 수 있다.
본 발명의 다른 실시예에 따른 장치가 콘텐츠를 공유하는 방법으로서, 복수 단말의 위치 정보와 블록당 최대 단말 수를 기초로 지역을 복수의 블록으로 분할한 블록 맵을 관리하는 단계, 공유 요청 단말로부터 콘텐츠의 공유 요청을 수신하는 단계, 상기 블록 맵과 상기 공유 요청 단말의 위치 정보를 기초로 상기 콘텐츠를 공유할 복수의 공유 대상 단말을 추출하는 단계, 그리고 상기 복수의 공유 대상 단말로 상기 콘텐츠를 전송하는 단계를 포함한다.
상기 복수의 공유 대상 단말을 추출하는 단계는 상기 콘텐츠의 공유자 수를 기초로 상기 복수 단말 중에서 상기 공유자 수에 해당하는 단말을 추출할 수 있다.
상기 복수의 공유 대상 단말을 추출하는 단계는 상기 공유 요청 단말의 위치 정보를 기초로 상기 복수의 블록에서 상기 공유 요청 단말이 포함된 제1블록을 추출하는 단계, 상기 제1블록의 주변 블록을 탐색하면서 공유자 수 이상의 단말들을 포함하는 복수의 타겟 블록을 추출하는 단계, 그리고 상기 복수의 타겟 블록에 포함된 단말들 중에서, 상기 공유자 수에 해당하는 단말들을 추출하는 단계를 포함할 수 있다.
상기 공유자 수에 해당하는 단말들을 추출하는 단계는 상기 복수의 타겟 블록에 포함된 단말들 각각과 상기 공유 요청 단말의 거리를 계산하고, 거리를 기초로 상기 공유자 수에 해당하는 단말들을 추출할 수 있다.
상기 공유자 수에 해당하는 단말들을 추출하는 단계는 상기 공유 요청 단말과의 거리가 가까운 순서로 단말들을 정렬하고, 정렬된 순서를 기초로 상기 공유자 수에 해당하는 단말들을 추출할 수 있다.
상기 콘텐츠를 전송하는 단계는 상기 콘텐츠의 공유 요청을 수신한 위치 정보를 전송할 수 있다.
상기 콘텐츠 공유 방법은 상기 콘텐츠의 총 공유자 수 그리고 상기 콘텐츠의 확산 거리를 관리하고, 상기 총 공유자 수와 상기 확산 거리 중 적어도 하나를 상기 공유 요청 단말로 전송하는 단계를 더 포함할 수 있다.
상기 공유 요청은 공유 대상 조건을 포함하고, 상기 복수의 공유 대상 단말을 추출하는 단계는 상기 공유 대상 조건을 만족하는 단말을 상기 공유 대상 단말로 추출할 수 있다.
본 발명의 또 다른 실시예에 따라 복수 단말과 통신하는 콘텐츠 공유 장치로서, 상기 복수 단말의 위치 정보와 블록당 최대 단말 수를 기초로 지역을 복수의 블록으로 분할한 블록 맵을 관리하고, 상기 블록 맵을 기초로 상기 복수 단말에 포함된 임의 단말의 이웃 단말들을 추출하는 블록 맵 관리부, 그리고 상기 복수 단말에 포함된 공유 요청 단말로부터 콘텐츠의 공유 요청을 수신하고, 상기 블록 맵 관리부로 상기 공유 요청 단말과 가까운 일정 수의 공유 대상 단말들을 요청하며, 상기 블록 맵 관리부로부터 수신한 복수의 공유 대상 단말로 상기 콘텐츠를 전송하는 공유 처리부를 포함한다.
상기 블록 맵 관리부는 각 블록이 상기 블록당 최대 단말 수 이하의 단말을 포함하도록 상기 지역을 복수의 블록으로 분할하고, 각 블록에 포함된 단말 수의 변동에 따라 상기 복수의 블록 중 임의 블록을 두 블록으로 분할하거나, 임의 두 블록을 하나의 블록으로 병합할 수 있다.
상기 블록 맵 관리부는 상기 공유 요청 단말의 위치 정보를 기초로 상기 복수의 블록에서 상기 공유 요청 단말이 포함된 제1블록을 추출하고, 상기 제1블록의 주변 블록을 탐색하면서 상기 일정 수 이상의 단말들을 포함하는 복수의 타겟 블록을 추출하며, 상기 복수의 타겟 블록에 포함된 단말들 중에서 상기 공유 요청 단말과 가까운 순서대로 상기 일정 수에 해당하는 단말들을 추출할 수 있다.
본 발명의 한 실시예에 따라 사용자 단말에 탑재되고, 상기 사용자 단말의 프로세서, 메모리 그리고 디스플레이를 포함하는 하드웨어와 결합하여 프로그램된 동작을 실행하는 콘텐츠 공유 어플리케이션으로서, 콘텐츠 공유 장치로부터 공유 요청된 제1콘텐츠를 수신하고, 상기 제1콘텐츠를 인터페이스 화면에 표시하는 단계, 그리고 상기 인터페이스 화면에서 입력된 정보에 따라 상기 제1콘텐츠를 저장하거나 상기 제2콘텐츠를 삭제하는 단계를 수행하고, 상기 제1콘텐츠는 공유 요청 단말이 공유 요청한 콘텐츠이며, 상기 사용자 단말은 제1블록에 위치하고, 상기 공유 요청 단말은 제2블록에 위치하며, 상기 제1블록은 상기 제2블록과 같은 블록이거나 상기 제2블록의 이웃 블록이고, 상기 제1블록과 상기 제2블록 각각은 상기 콘텐츠 공유 장치가 단말들의 위치 정보를 기초로 지역을 분할한 복수의 블록 중 어느 하나에 해당한다.
상기 어플리케이션은 상기 인터페이스 화면에서 제2콘텐츠를 입력받는 단계, 상기 콘텐츠 공유 장치로 상기 제2콘텐츠의 공유 요청을 전송하는 단계, 그리고 상기 콘텐츠 공유 장치로부터 상기 제2콘텐츠의 공유 상태 정보를 수신하고, 상기 공유 상태 정보를 상기 인터페이스 화면에 표시하는 단계를 더 수행할 수 있다.
상기 제1콘텐츠를 인터페이스 화면에 표시하는 단계는 상기 제1콘텐츠가 공유 요청된 위치 정보, 상기 제1콘텐츠가 공유 요청된 시간 정보, 상기 사용자 단말의 위치에서 상기 제1콘텐츠가 공유 요청된 위치를 가리키는 방향 정보 중 적어도 하나를 표시할 수 있다.
상기 인터페이스 화면은 상기 제1콘텐츠를 공유 요청한 공유자에게 대화 요청하는 영역을 포함하고, 상기 영역에 입력된 대화 요청 메시지를 전송하는 단계, 그리고 상기 공유자의 대화 요청 수락을 대기하는 단계를 더 수행할 수 있다.
상기 대화 요청 수락을 대기하는 단계는 상기 대화 요청 수락을 수신하기 전까지, 지정된 개수를 초과한 대화 요청 메시지 전송을 제한할 수 있다.
상기 어플리케이션은 상기 대화 요청 수락을 수신하는 단계, 그리고 상기 인터페이스 화면에 상기 공유자와 인스턴트 메시지를 교환하는 대화방을 표시하는 단계를 더 수행할 수 있다.
본 발명의 실시예에 따르면 콘텐츠 공유 장치는 사용자 단말 주변에 위치한 특정 수의 이웃 단말들을 간단히 찾을 수 있다. 본 발명의 실시예에 따르면 사용자 단말은 특정 수의 이웃 단말들에게 콘텐츠를 전송할 수 있다. 본 발명의 실시예에 따르면 사용자는 자신 주변의 알지 못하는 이웃들과 콘텐츠를 공유할 수 있다. 결과적으로, 본 발명의 실시예에 따르면 사용자는 같은 공간을 공유하는 사람들과 자신의 경험을 공유할 수 있고, 주변에 위치한 누군가와 연결됨으로써 소셜네트워크를 확장할 수 있다.
도 1은 본 발명의 한 실시예에 따른 콘텐츠 공유 시스템의 개략적인 구성도이다.
도 2는 본 발명의 한 실시예에 따라 블록으로 분할된 블록 맵의 예시이다.
도 3은 본 발명의 한 실시예에 따라 지역을 복수의 블록으로 분할하는 방법의 흐름도이다.
도 4는 본 발명의 한 실시예에 따라 블록으로 분할된 지역을 예시하는 도면이다.
도 5는 본 발명의 한 실시예에 따라 블록을 세부블록으로 분할하는 방법을 예시하는 도면이다.
도 6은 본 발명의 한 실시예에 따라 사용자 단말의 이웃 단말들을 찾는 방법의 흐름도이다.
도 7부터 도 9는 본 발명의 한 실시예에 따라 사용자 단말의 이웃 단말들을 찾는 방법을 순차적으로 예시하는 도면이다.
도 10은 본 발명의 한 실시예에 따른 콘텐츠 공유 장치의 블록도이다.
도 11은 본 발명의 한 실시예에 따른 콘텐츠 공유 방법의 흐름도이다.
도 12는 본 발명의 한 실시예에 따른 콘텐츠 공유 어플리케이션의 인터페이스 화면의 예시이다.
도 13은 본 발명의 다른 실시예에 따른 콘텐츠 공유 어플리케이션의 인터페이스 화면의 예시이다.
도 14는 본 발명의 한 실시예에 따른 사용자 단말의 하드웨어 구조를 개략적으로 나타내는 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 한 실시예에 따른 콘텐츠 공유 시스템의 개략적인 구성도이고, 도 2는 본 발명의 한 실시예에 따라 블록으로 분할된 블록 맵의 예시이다.
도 1을 참고하면, 콘텐츠 공유 시스템(10)은 콘텐츠 공유 장치(100) 그리고 복수의 사용자 단말(200, 300-1, 300-2, … , 300-n)을 포함한다. 여기서, 사용자 단말(200)을 콘텐츠 공유를 요청하는 공유 요청 단말이라고 가정한다. 나머지 단말들(300-1 ~ 300-n)은 사용자 단말(200)의 이웃 단말들로서, 단말들(300-1 ~ 300-n) 중 적어도 하나의 단말이 사용자 단말(200)에 의해 공유된 콘텐츠를 수신할 수 있는 공유 대상 단말이 될 수 있다.
콘텐츠 공유 장치(100)는 사용자 단말(200)로부터 콘텐츠 공유 요청을 수신한다. 콘텐츠 공유 장치(100)는 사용자 단말(200)의 위치 정보를 기초로 공유 요청된 콘텐츠를 전송할 공유 대상 단말들을 찾는다. 콘텐츠 공유 장치(100)는 공유 대상 단말들에게 공유 요청된 콘텐츠를 전송한다. 이때, 콘텐츠 공유 장치(100)는 n개의 이웃 단말들 중에서 특정 수(예를 들면, k)의 이웃 단말들을 공유 대상 단말로 추출할 수 있다. 이때, 콘텐츠 공유 장치(100)는 사용자 단말(200)의 위치 정보를 기초로 사용자 단말(200)에서 가까운 k개의 이웃 단말들을 추출할 수 있다.
콘텐츠 공유 장치(100)는 도 2와 같이, 단말 수를 기초로 특정 지역을 복수의 블록으로 분할한 지도(앞으로, "블록 맵"이라고 한다)를 생성 및 관리한다. 콘텐츠 공유 장치(100)는 블록당 최대 단말 수를 설정하고, 각 블록에 존재하는 단말 정보를 관리한다. 콘텐츠 공유 장치(100)는 블록을 서브블록으로 분할하거나, 서브블록들을 병합하면서 각 블록이 블록당 최대 단말 수 이하의 단말을 포함하도록 블록 맵을 관리한다.
콘텐츠 공유 장치(100)는 블록 맵을 기초로 사용자 단말(200)의 주변 블록을 블록 단위로 탐색하면서 사용자 단말(200)과 가까운 k개의 이웃 단말들을 빠르게 추출한다.
복수의 사용자 단말(200, 300-1~300-n)은 통신네트워크를 통하여 원격의 콘텐츠 공유 장치(100)에 접속할 수 있는 통신 모듈을 포함하고, 이동형 단말과 고정형 단말 등 다양한 형태일 수 있다. 이동형 단말은 예를 들면, 모바일 단말, 태블릿 단말, 웨어러블 단말 등을 포함할 수 있다. 고정형 단말은 데스크톱(desktop) 컴퓨터, IPTV, 옥외 설치 단말 등을 포함할 수 있다. 앞으로, 사용자 단말은 이동성이 있는 이동형 단말을 예로 들어 설명하나 이에 한정되는 것은 아니다.
복수의 사용자 단말(200, 300-1~300-n)은 본 발명을 구현한 콘텐츠 공유 어플리케이션을 탑재하고, 콘텐츠 공유 어플리케이션을 실행하고 처리한다. 복수의 사용자 단말(200, 300-1~300-n)은 콘텐츠 공유 어플리케이션을 통해 콘텐츠 공유 장치(100)와 통신한다. 콘텐츠 공유 어플리케이션은 프로그램 언어로 구현된 소프트웨어/프로그램으로서, 어플리케이션 종류는 다양할 수 있고, 사용자 단말의 하드웨어 및 소프트웨어와 결합되어 본 발명을 실행한다. 다음에서, 콘텐츠 공유 장치(100)가 사용자 단말(200)의 이웃 단말들을 찾는 방법에 대해 설명한다.
도 3은 본 발명의 한 실시예에 따라 지역을 복수의 블록으로 분할하는 방법의 흐름도이고, 도 4는 본 발명의 한 실시예에 따라 블록으로 분할된 지역을 예시하는 도면이며, 도 5는 본 발명의 한 실시예에 따라 블록을 세부블록으로 분할하는 방법을 예시하는 도면이다.
도 3을 참고하면, 콘텐츠 공유 장치(100)는 복수 단말의 위치 정보를 관리한다(S110). 단말의 위치 정보를 획득하는 방법은 다양할 수 있고, 예를 들면, 각 단말로부터 위치 정보를 수신하거나, 별도의 통신네트워크/서버로부터 단말들의 위치 정보를 가져올 수 있다. 단말은 주기적으로 또는 이벤트 발생 시 자신의 위치 정보를 보고할 수 있고, 예를 들면 특정 어플리케이션이 실행되면 자신의 위치 정보를 보고할 수 있다.
콘텐츠 공유 장치(100)는 복수 단말의 위치 정보와 블록당 최대 단말 수(i)를 기초로, 지역을 복수의 블록으로 분할한다(S120). 콘텐츠 공유 장치(100)는 도 4와 같이, 지역(20)을 복수의 블록(31, 32, …, 45)으로 분할한 블록 맵(400)을 관리한다. 블록 맵은 단말들의 위치 정보를 포함할 수 있고, 지도상에 단말들의 위치를 표시할 수 있다. 각 블록에 위치하는 단말 수는 블록당 최대 단말 수(i) 이하이다. 블록 맵을 생성하는 방법은 다양할 수 있다. 예를 들면, 콘텐츠 공유 장치(100)는 지역을 하나의 블록으로 간주하고, 단말의 등록 및 이동에 따른 단말 분포를 기초로 하나의 블록을 세부블록으로 분할하면서 블록 수를 늘릴 수 있다. 또는 콘텐츠 공유 장치(100)는 지역을 복수의 기본 블록으로 미리 분할한 후, 단말의 등록 및 이동에 따른 단말 분포를 기초로 기본 블록을 세부블록으로 분할하면서 블록 수를 늘릴 수 있다. 여기서, 지역은 특정 서비스 지역으로 한정될 수 있고, 또는 전 세계일 수 있다. 블록 맵은 자연 지형, 도로 등과 같은 인공 지형을 반영하여 다양한 모양의 블록 모양으로 분할될 수 있고, 직사각형을 예로 들어 설명한다.
블록당 최대 단말 수는 지역이나 상황에 따라 다르게 설정될 수 있다. 예를 들어, 도심 지역과 도심 외곽 지역의 블록당 최대 단말 수는 다를 수 있다. 또는 이벤트 지역의 블록당 최대 단말 수는 평상시와 다를 수 있다. 콘텐츠 공유 장치(100)는 단말들의 위치 분포를 기초로 블록당 최대 단말 수를 능동적으로 조절할 수 있다.
콘텐츠 공유 장치(100)는 복수 단말의 위치 변동 정보를 기초로 블록 맵을 갱신한다(S130). 예를 들어, 블록당 최대 단말 수를 3으로 가정하고, 도 4의 블록(31)에 존재하는 단말이 3개(p1, p2, p3)라고 가정한다. 도 5를 참고하면, 어느 시점에 새로운 단말(p4)이 블록(31)에 나타날 수 있다. 그러면, 블록(31)은 블록당 최대 단말 수를 초과하므로, 콘텐츠 공유 장치(100)는 블록(31)을 서브블록(31a, 31b)으로 분할한다. 이때, 콘텐츠 공유 장치(100)는 미리 설정한 블록 분할 및 병합 방법을 기초로 블록(31)을 분할할 수 있다. 블록 분할 및 병합 방법은 다양하게 설정될 수 있다. 분할 방향은 예를 들면, 세로보다 가로가 긴 블록은 좌우분할하고, 가로보다 세로가 긴 블록은 상하분할하도록 설정되거나, 블록 내 단말들의 위치 분포를 기초로 분할 방향이 결정될 수 있다. 분할은 예를 들면 도 5와 같이, 두 서브블록 내 단말의 수를 동일하게 나누고, 각 서브블록 내에서 분할선과 가장 가까운 두 단말이 분할선과 같은 거리에 있도록 설정할 수 있다.
한편, 콘텐츠 공유 장치(100)는 복수 단말의 위치 변동 정보를 기초로 복수의 블록을 하나의 블록으로 병합하여 블록 맵을 갱신한 수 있다. 블록(31)이 서브블록(31a, 31b)으로 분할된 이후, 블록(31) 내 단말 수가 변동될 수 있다. 따라서, 콘텐츠 공유 장치(100)는 서브블록(31a, 31b) 각각의 단말 수뿐만 아니라, 이들의 상위 블록(31)의 단말 수도 관리한다. 블록(31)의 단말 수가 블록당 최대 단말 수 이하가 되면, 콘텐츠 공유 장치(100)는 서브블록(31a, 31b)을 병합한다. 이를 위해, 콘텐츠 공유 장치(100)는 블록을 분할할 때, 해당 블록들의 계층 정보를 기록할 수 있다. 계층 정보는 예를 들면, 블록(31)은 블록(31a, 31b)의 상위 레벨 블록(부모 블록)임을 나타내는 정보, 블록(31a, 31b)은 블록(31)의 하위 레벨 블록(자녀 블록)임을 나타내는 정보, 또는 블록(31a)과 블록(31b)은 동일 레벨 블록(형제 블록)일 수 있다. 도 4를 참고하면, 블록(32)과 블록(33)은 동일 레벨 블록일 수 있고, 블록(32, 33)의 상위 블록과 블록(31)은 동일 레벨 블록일 수 있다. 즉, 콘텐츠 공유 장치(100)는 계층 정보를 기초로 부모 블록이 동일한 형제 블록끼리 병합할 수 있다.
도 6은 본 발명의 한 실시예에 따라 사용자 단말의 이웃 단말들을 찾는 방법의 흐름도이고, 도 7부터 도 9는 본 발명의 한 실시예에 따라 사용자 단말의 이웃 단말들을 찾는 방법을 순차적으로 예시하는 도면이다.
도 6을 참고하면, 콘텐츠 공유 장치(100)는 복수 단말의 위치 정보와 블록당 최대 단말 수(i)를 기초로, 지역을 복수의 블록으로 분할한 블록 맵을 관리한다(S210). 도 4의 블록 맵(400)을 예로 들어 설명한다.
콘텐츠 공유 장치(100)는 사용자 단말(200)의 주변에 존재하는 일정 수(k)의 이웃 단말 정보를 요청받는다(S220). 콘텐츠 공유 장치(100)는 사용자 단말(200)과의 거리가 가까운 순서대로 추출된 k개의 이웃 단말 정보를 요청받을 수 있다. 여기서, k는 블록 맵(400)의 블록당 단말수(i)보다 큰 수라고 가정한다.
콘텐츠 공유 장치(100)는 사용자 단말(200)의 위치 정보를 기초로 사용자 단말(200)이 포함된 블록(41)을 추출한다(S230).
콘텐츠 공유 장치(100)는 k개 이상의 이웃 단말들이 획득될 때까지 블록(41)의 주변 블록을 순차적으로 탐색하면서 타겟 블록들을 추출한다(S240). 타겟 블록은 k개 이상의 이웃 단말들이 존재하는 블록이다. 블록당 최대 단말 수가 정해져 있으므로, 콘텐츠 공유 장치(100)는 k개 이상의 이웃 단말을 찾기 위해서 추출되어야 하는 타겟 블록의 수를 대략 계산할 수 있다. 블록 단위로 사용자 단말(200)의 이웃 단말들을 찾는 방법은 다양할 수 있다. 예를 들어, 콘텐츠 공유 장치(100)는 사용자 단말(200)의 주변 블록을 탐색하는 순서를 결정하고, 순서에 따라 순차적으로 주변 블록들을 타겟 블록으로 결정할 수 있다.
콘텐츠 공유 장치(100)는 사용자 단말(200)로부터 타겟 블록들에 포함된 각 이웃 단말까지의 거리를 계산한다(S250).
콘텐츠 공유 장치(100)는 사용자 단말(200)과의 거리가 가까운 순서대로 k개의 이웃 단말을 추출한다(S260).
이와 같이, 콘텐츠 공유 장치(100)는 단말들의 위치 분포를 기초로 지역을 일정 개수(i)이하의 단말들로 묶은 블록으로 미리 분할해 두고, 블록 단위로 사용자 단말(200) 주변의 이웃 단말들을 찾는다. 따라서, 콘텐츠 공유 장치(100)는 단말 들의 묶음인 블록 단위로 사용자 단말(200)과의 거리가 가까운 k개의 이웃 단말을 찾기 때문에, 개별적 거리계산을 통해 이웃 단말들을 찾는 것보다, 원하는 숫자의 이웃 단말을 빨리 찾을 수 있다. 참고로, 콘텐츠 공유 장치(100)는 사용자 단말(200)로부터 거리 반경을 순차적으로 늘려가면서, 가까운 k개의 이웃 단말을 찾을 수도 있다. 그러나, 단말들의 위치가 밀집되지 않은 경우, 거리 반경을 계속 늘려서 탐색해야 하므로 블록 맵에 비해 시간이 오래 걸리고, 부하가 증가할 수 있다.
도 7부터 도 9를 참고하여, 콘텐츠 공유 장치(100)가 k개 이상의 이웃 단말들이 획득될 때까지 블록(41)의 주변 블록을 탐색하면서 타겟 블록들을 추출하는 방법에 대해 예시적으로 설명한다.
도 7을 참고하면, 콘텐츠 공유 장치(100)는 사용자 단말(200)의 위치(p)를 포함하는 블록(41)을 1차 타겟 블록으로 추출한다. 콘텐츠 공유 장치(100)는 타겟 블록(41)에 인접한 블록들(35, 38, 40, 42, 44)을 예비 블록으로 추출한다. 즉, 콘텐츠 공유 장치(100)는 타겟 블록(41)의 경계면에 있는 모든 블록들을 예비 블록으로 가져온다. 여기서, 타겟 블록 목록(41)은 타겟 블록 저장소(미도시)에 기록될 수 있고, 예비 블록 목록(35, 38, 40, 42, 44)은 예비 블록 저장소(미도시)에 기록될 수 있다.
콘텐츠 공유 장치(100)는 사용자 단말(200)의 위치(p)와 예비 블록들(35, 38, 40, 42, 44) 각각의 거리를 계산한다. 거리를 계산하는 방법은 다양할 수 있다. 예를 들면, 콘텐츠 공유 장치(100)는 도 7과 같이, 사용자 단말(200)의 위치(p)에서 각 예비 블록들(35, 38, 40, 42, 44)까지 가장 가까운 거리(d1, d2, d3, d4, d5)를 구할 수 있다. 콘텐츠 공유 장치(100)는 예비 블록들(35, 38, 40, 42, 44) 각각의 중심을 구하고, 사용자 단말(200)의 위치(p)에서 각 예비 블록들(35, 38, 40, 42, 44)의 중심까지의 거리를 계산할 수 있다. 또는 콘텐츠 공유 장치(100)는 블록의 중심간 거리를 구할 수 있다. 즉, 콘텐츠 공유 장치(100)는 사용자 단말(200)의 블록(41)의 중심에서 각 예비 블록들(35, 38, 40, 42, 44)의 중심까지의 거리를 계산할 수 있다.
도 8을 참고하면, 콘텐츠 공유 장치(100)는 사용자 단말(200)의 위치(p)와 가까운 적어도 하나의 예비 블록을 타겟 블록으로 추출한다. 예를 들면, 콘텐츠 공유 장치(100)는 블록(42)을 타겟 블록에 추가한 수 있다. 콘텐츠 공유 장치(100)는 타겟 블록(41, 42)에 포함된 단말의 수가 k보다 많은지 판단한다. 타겟 블록(41, 42)에 포함된 단말의 수가 k보다 많으면, 콘텐츠 공유 장치(100)는 타겟 블록 탐색을 종료한다. 타겟 블록(41, 42)에 포함된 단말의 수가 k보다 적으면, 콘텐츠 공유 장치(100)는 타겟 블록 탐색을 진행한다.
도 9를 참고하면, 타겟 블록(41, 42)에 포함된 단말의 수가 k보다 적으면, 콘텐츠 공유 장치(100)는 도 7을 참고로 설명한 바와 같이, 타겟 블록(41, 42)에 인접한 예비 블록을 찾는다. 예비 블록 저장소에 블록(33, 43)이 추가될 수 있다.
콘텐츠 공유 장치(100)는 도 7을 참고로 설명한 바와 같이, 사용자 단말(200)의 위치(p)와 예비 블록들(33, 35, 38, 40, 43, 44) 각각의 거리를 계산한다. 콘텐츠 공유 장치(100)는 사용자 단말(200)의 위치(p)와 가까운 적어도 하나의 예비 블록, 예를 들면, 블록(44)을 타겟 블록에 추가할 수 있다. 이때, 타겟 블록(41, 42, 44)에 포함된 단말의 수가 k보다 많다면, 콘텐츠 공유 장치(100)는 타겟 블록 탐색을 종료한다. 그렇지 않은 경우, 콘텐츠 공유 장치(100)는 타겟 블록 추가 작업을 반복한다.
콘텐츠 공유 장치(100)는 타겟 블록 탐색을 종료하고, 타겟 블록(41, 42, 44)에 포함된 단말들과 사용자 단말(200)과의 거리를 계산한다. 콘텐츠 공유 장치(100)는 거리를 기초로 k개의 이웃 단말을 추출한다. 예를 들어, 타겟 블록(41, 42, 44)에 포함된 이웃 단말이 m개인 경우, 콘텐츠 공유 장치(100)는 각 이웃 단말까지의 거리를 계산하고, 거리를 기초로 정렬된 m개의 이웃 단말 중에서 k개의 이웃 단말을 추출한다.
도 7부터 도 9에서, 콘텐츠 공유 장치(100)가 예비 블록들 중 거리가 가까운 블록을 하나씩 타겟 블록에 추가하는 것으로 설명하였으나, 콘텐츠 공유 장치(100)는 블록당 최대 단말 수(i), 예비 블록의 수, 그리고 요청 단말 수(k)를 기초로, 복수의 예비 블록을 타겟 블록에 추가할 수 있다. 예를 들어, 블록당 최대 단말 수(i)가 20이고, 요청 단말 수(k)가 150인 경우, 블록(41)과 6개의 예비 블록들(33, 35, 38, 40, 43, 44)에 위치하는 단말 수의 합은 요청 단말 수(k=150)보다 적다. 따라서, 콘텐츠 공유 장치(100)는 6개의 예비 블록들(33, 35, 38, 40, 43, 44) 모두를 타겟 블록으로 결정할 수 있다. 다른 실시예에 따르면, 콘텐츠 공유 장치(100)는 요청 단말 수(k)를 정확히 추출하는 대신, 요청 단말 수(k)에서 일정 마진(margin) 범위[예를 들면, (k-i)개부터 (k+i)개 또는 k개부터 (k+i)개]의 이웃 단말을 포함하는 일정 개수 이상의 타겟 블록을 추출할 수 있다. 그리고 콘텐츠 공유 장치(100)는 타겟 블록에 위치하는 모든 단말을 이웃 단말로 추출할 수 있다.
한편, 콘텐츠 공유 장치(100)가 k개의 단말을 타겟 블록에 포함된 단말들 에서 추출하는 것으로 설명하였으나, 반드시 타겟 블록에서만 k개의 단말을 추출하는 것으로 한정되는 것은 아니다. 예를 들면, 콘텐츠 공유 장치(100)는 타겟 블록과 타겟 블록의 인접 블록에서 k개의 단말을 추출할 수 있다.
또 다른 실시예에 따르면, 콘텐츠 공유 장치(100)는 사용자 단말(200)로부터 정확히 가까운 순서에 따라 이웃 단말을 추출할 수 있다. 이 경우, 콘텐츠 공유 장치(100)는 일정 개수 이상의 타겟 블록을 추출하고, 타겟 블록을 포함하는 최대 반경을 결정한 후, 최대 반경 안에 포함된 모든 단말들과 사용자 단말(200)과의 거리를 계산할 수 있다.
지금까지 설명한 사용자 단말의 이웃 단말들을 찾는 방법을 이용하여 콘텐츠를 공유하는 방법에 대해 설명한다.
도 10은 본 발명의 한 실시예에 따른 콘텐츠 공유 장치의 블록도이다.
도 10을 참고하면, 콘텐츠 공유 장치(100)는 블록 맵 관리부(110) 그리고 공유 처리부(130)를 포함한다. 블록 맵 관리부(110)는 콘텐츠 공유 장치(100)와 별도로 구축될 수 있으나, 여기서는 콘텐츠 공유 장치(100)에 포함된 것으로 설명한다.
블록 맵 관리부(110)는 도 2부터 도 9를 참고로 설명한 바와 같이, 복수 단말의 위치 정보와 블록당 최대 단말 수(i)를 기초로 블록 맵을 생성하고 관리한다. 블록 맵 관리부(110)는 복수 단말의 위치 변동 정보를 기초로 블록을 동적으로 분할하거나 병합하면서 블록 맵을 갱신한다. 블록 맵 관리부(110)는 블록 맵을 기초로 공유 요청 단말(200)의 주변에 존재하는 일정 수(k)의 이웃 단말들을 추출할 수 있다. 여기서, 일정 수(k)는 공유자 수일 수 있다. 블록 맵 관리부(110)는 공유 처리부(130)로부터 수신한 공유 대상 조건의 이웃 단말들을 선별할 수 있다.
공유 처리부(130)는 공유 요청 단말(200)로부터 콘텐츠 공유 요청 메시지를 수신한다. 콘텐츠 공유 요청 메시지는 단말/사용자의 식별 정보, 공유 콘텐츠 등을 포함할 수 있다. 콘텐츠 공유 요청 메시지는 공유 요청 단말(200)의 위치 정보를 더 포함할 수 있다. 콘텐츠 공유 요청 메시지는 공유 대상 조건(예를 들면, 공유자 수, 성별, 나이, 특정 장소, 지인 관계 여부, 선호 조건 등)을 더 포함할 수 있다. 이때, 공유 콘텐츠는 이미지, 동영상, 텍스트 등 다양한 종류일 수 있으나, 여기서는 사진 이미지를 예로 들어 설명한다. 사진 이미지는 사진이 촬영된 장소의 위치 정보를 포함할 수 있다.
공유 처리부(150)는 콘텐츠 공유 요청 메시지를 기초로 블록 맵 관리부(110)에게 공유 요청 단말(200) 주변에 위치하는 일정 수(k)의 이웃 단말들을 요청한다. 공유 처리부(150)는 블록 맵 관리부(110)로부터 수신한 이웃 단말들을 공유 단말로 결정한다. 공유자 수(k)는 공유 요청 단말(200)에 따라 달라질 수 있다. 예를 들면, 공유 요청 단말(200)이 디폴트 공유자 수(예를 들면, 150명)보다 더 많은 공유자 수를 요청할 수 있다. 공유 처리부(130)는 공유 요청 단말(200)의 속성 정보(예를 들면, 사용자 등급) 또는 공유 요청 단말(200)에서 업로드한 콘텐츠에 대한 반응 정보(예를 들면, 긍정 반응 수) 등을 기초로 공유자 수 정책을 설정하고, 정책을 기초로 공유 콘텐츠에 대한 공유자 수(k)를 가변할 수 있다. 다른 실시예에 따르면, 공유 처리부(150)는 콘텐츠 공유 요청 메시지를 기초로 블록 맵 관리부(110)에게 이웃 단말들의 추출 조건을 전달할 수 있다. 예를 들면, 공유 처리부(150)는 블록 맵 관리부(110)에게 공유 요청 단말(200)과 동일한 성별의 사용자 단말을 요청할 수 있다.
공유 처리부(150)는 공유 단말로 공유 콘텐츠를 전송한다. 이때, 공유 처리부(130)는 공유 단말들에게 공유 콘텐츠를 푸쉬 전송할 수 있다. 공유 콘텐츠는 공유 관련 통계를 확인하기 위한 추적 코드를 포함할 수 있다.
공유 처리부(150)는 사용자 단말들 사이에서 교환되는 다양한 정보를 통합 관리한다. 다양한 정보는 공유 콘텐츠뿐만 아니라, 공유 콘텐츠에 대한 반응 정보, 공유 콘텐츠의 확산 정보(예를 들면, 공유 콘텐츠를 수신한 단말 수, 공유 콘텐츠가 확산된 거리 등)를 관리할 수 있다. 공유 처리부(150)는 공유 콘텐츠에 관련된 다양한 정보를 공유 요청 단말 또는 공유 대상 단말로 전송할 수 있다.
공유 처리부(150)는 어플리케이션 제공 서버에서 일반적으로 수행하는 가입자 정보 관리 등을 한다.
이와 같이, 콘텐츠 공유 장치(100)는 누군가에 의해 공유된 콘텐츠를 콘텐츠 공유 서비스에 가입한 누군가에게 전송할 수 있다. 특히, 콘텐츠 공유 장치(100)는 콘텐츠를 업로드한 사용자와 가까운 일정 수의 이웃들에게만 공유 콘텐츠를 전송할 수 있다. 이를 통해, 콘텐츠 공유 서비스 가입자는 지인 관계가 아닌 주변 사람들과 자신의 콘텐츠를 공유할 수 있다.
도 11은 본 발명의 한 실시예에 따른 콘텐츠 공유 방법의 흐름도이다.
도 11을 참고하면, 공유 요청 단말(200)이 콘텐츠 공유 어플리케이션을 실행한다(S310).
공유 요청 단말(200)은 콘텐츠 공유 어플리케이션에서 사용자에 의해 선택된 콘텐츠를 입력받는다(S320).
공유 요청 단말(200)은 콘텐츠 공유 장치(100)로 콘텐츠 공유를 요청한다(S330). 콘텐츠 공유 장치(100)는 콘텐츠 공유 요청 메시지를 수신할 수 있다.
콘텐츠 공유 장치(100)는 공유 요청 단말(200)의 위치 정보를 기초로 공유 요청 단말(200) 근처의 일정 수(k)의 이웃 단말들을 공유 대상 단말들로 결정한다(S340). 콘텐츠 공유 장치(100)는 지역을 복수의 블록으로 분할한 블록 맵을 기초로 사용자 단말의 주변에 존재하는 일정 수(k)의 공유 단말들을 추출할 수 있다. 콘텐츠 공유 장치(100)는 공유 요청 단말(200)로부터 가까운 순서대로 정렬된 이웃 단말들 중에서 일정 수(k)의 단말을 추출할 수 있다.
콘텐츠 공유 장치(100)는 공유 대상 단말들(예를 들면, 300-1~300-k)로 공유 콘텐츠를 전송한다(S350).
도 12는 본 발명의 한 실시예에 따른 콘텐츠 공유 어플리케이션의 인터페이스 화면의 예시이다. 도 12의 (a), (b), (c) 각각은 공유 요청 단말(200)에서 표시되는 인터페이스 화면의 예시이다.
도 12를 참고하면, 공유 요청 단말(200)은 콘텐츠 공유 어플리케이션을 구동한다. 콘텐츠 공유 어플리케이션의 인터페이스 화면은 공유 요청 단말(200)의 디스플레이에 출력된다.
도 12의 (a)를 참고하면, 콘텐츠 공유 어플리케이션은 콘텐츠 업로드 화면(500)을 제공한다. 사용자는 콘텐츠 업로드 화면(500)에서 공유 콘텐츠(510)를 선택할 수 있다. 공유 콘텐츠(510)는 카메라를 이용하여 찍은 사진 또는 앨범에 저장된 사진일 수 있다. 이 외에도 공유 콘텐츠는 동영상, 텍스트 등 다양할 수 있다. 사용자가 공유 버튼(530)을 누르면, 콘텐츠 공유 어플리케이션은 콘텐츠 공유 장치(100)로 콘텐츠 공유 요청 메시지를 전송한다.
콘텐츠 업로드 화면(500)은 다양하게 구성될 수 있고, 예를 들면, 다른 어플리케이션(예를 들면, 페이스북, 인스타그램 등)에 공유할 수 있는 기능을 표시할 수 있다. 콘텐츠 업로드 화면(500)은 콘텐츠에 대한 메시지를 입력할 수 있는 기능을 표시할 수 있다. 콘텐츠 업로드 화면(500)은 특정 지역을 선택할 수 있는 기능을 표시할 수 있다.
사용자가 공유 버튼(530)을 누르면, 도 12의 (b)와 같이, 콘텐츠 업로드 화면(500)은 공유 콘텐츠(510)가 150명에게 전송되는 모습을 시각적으로 표시하고, 공유 콘텐츠(510)가 전송되는 거리를 시각적으로 표시할 수 있다. 콘텐츠 업로드 화면(500)은 콘텐츠(510)가 전송되는 대략 위치를 표시한 지도를 보여줄 수 있다.
도 12의 (c)를 참고하면, 콘텐츠 공유 어플리케이션은 콘텐츠 공유 화면(600)을 제공한다. 콘텐츠 공유 화면(600)은 자신이 업로드하여 공유한 콘텐츠(510)를 확인할 수 있는 인터페이스이다. 콘텐츠 공유 화면(600) 구성은 다양할 수 있고, 예를 들면, 콘텐츠 표시 영역(610), 공유 상태 표시 영역(630), 반응 정보 표시 영역(650) 등을 포함할 수 있다. 공유 상태 표시 영역(630)은 콘텐츠의 확산 정보를 표시할 수 있다. 확산 정보는 예를 들면, 콘텐츠를 수신한 단말 수와 콘텐츠가 확산된 거리 등을 포함할 수 있다. 반응 정보 표시 영역(650)은 콘텐츠에 대한 긍정 반응이나 댓글을 표시할 수 있고, 댓글을 입력할 수 있는 창을 포함할 수 있다.
도 13은 본 발명의 다른 실시예에 따른 콘텐츠 공유 어플리케이션의 인터페이스 화면의 예시이다. 도 13의 (a)와 (b) 각각은 공유 콘텐츠를 수신한 공유 대상 단말(예를 들면, 300-1)에서 표시되는 인터페이스 화면의 예시이다.
도 13을 참고하면, 공유 대상 단말(300-1)은 콘텐츠 공유 어플리케이션을 구동한다. 콘텐츠 공유 어플리케이션의 인터페이스 화면은 공유 요청 단말(300-1)의 디스플레이에 출력된다. 콘텐츠 공유 어플리케이션은 콘텐츠를 수신하면 알림 메시지를 표시할 수 있다.
도 13의 (a)를 참고하면, 콘텐츠 공유 어플리케이션은 콘텐츠 수신 화면(700)을 제공한다. 콘텐츠 수신 화면(700)은 수신한 콘텐츠(510)를 확인할 수 있는 인터페이스이다. 콘텐츠 수신 화면(700)의 구성은 다양할 수 있고, 예를 들면, 콘텐츠 표시 영역(710), 반응 선택 영역(730), 수신함(inbox) 버튼(750) 등을 포함할 수 있다. 콘텐츠 수신 화면(700)은 비활성화된 저장함 버튼(770)을 보여줄 수 있다.
수신함 버튼(750)이 선택되면 콘텐츠 수신 화면(700)으로 이동할 수 있다. 수신함 버튼(750)은 최신 수신한 콘텐츠 수를 배지 형태로 표시할 수 있다.
콘텐츠 표시 영역(710)은 콘텐츠뿐만 아니라, 콘텐츠를 전송한 사용자 정보, 콘텐츠를 전송한 시간 정보, 콘텐츠가 전송된 방향, 콘텐츠가 전송된 거리 및 지역을 표시할 수 있다. 공유 대상 단말(300-1)은 콘텐츠가 전송된 위치의 정보를 수신하고, 자신의 위치와 콘텐츠가 전송된 위치를 기초로 콘텐츠가 전송된 방향을 계산할 수 있다. 콘텐츠가 전송된 방향은 나침반 모양으로 표시될 수 있고, 공유 대상 단말(300-1)이 움직이면 나침반이 움직일 수 있다.
콘텐츠 표시 영역(710)에 표시되는 콘텐츠는 내가 받은 콘텐츠뿐만 아니라, 내 주면의 인기 콘텐츠, 이벤트 콘텐츠 등을 더 포함할 수 있다.
반응 선택 영역(730)은 수신 콘텐츠에 대한 반응을 선택할 수 있는 버튼을 표시할 수 있다. 사용자는 긍정 반응 버튼을 선택해 수신 콘텐츠를 저장함에 저장하거나, 부정 반응 버튼을 선택해 수신 콘텐츠를 삭제할 수 있다. 긍정 반응 버튼/부정 반응 버튼이 선택되면 콘텐츠 공유 어플리케이션은 콘텐츠 공유 장치로 해당 정보를 전송할 수 있다.
저장함 버튼(770)이 선택되면, 도 13의 (b)와 같이 콘텐츠 저장함 화면(800)이 표시된다.
콘텐츠 저장함 화면(800)은 자신이 수신하여 저장한 콘텐츠를 확인할 수 있는 인터페이스이다. 콘텐츠 저장함 화면(800) 구성은 다양할 수 있고, 예를 들면, 콘텐츠 표시 영역(810), 대화 요청 영역(830) 등을 포함할 수 있다.
대화 요청 영역(830)은 콘텐츠를 공유한 사용자와 인스턴트 메시지를 주고 받을 수 있는 기능을 제공한다.
콘텐츠 수신자는 콘텐츠 공유자와 지인 관계가 아닌 경우, 대화 요청 영역(830)을 통해 콘텐츠 공유자에게 대화 요청을 할 수 있다. 콘텐츠 수신자는 콘텐츠 공유자가 대화 요청을 수락하기 전까지 지정된 개수의 메시지(예를 들면, 1개)를 발송할 수 있다. 즉, 콘텐츠 공유 어플리케이션은 상대방의 대화 요청 수락 전까지 지정된 개수의 메시지만을 발송하고, 추가 메시지 전송을 제한한다.
콘텐츠 공유자가 대화 요청을 수락하면, 콘텐츠 공유 어플리케이션은 인스턴트 메시지를 교환할 수 있는 대화방을 생성한다. 콘텐츠 수신자와 콘텐츠 공유자는 생성된 대화방에서 인스턴트 메시지를 주고받을 수 있고, 상대방을 지인으로 등록할 수 있다.
이와 같이, 콘텐츠 수신자는 비지인 관계인 콘텐츠 공유자에게 대화를 요청할 수 있고, 콘텐츠 공유자가 대화 요청을 수락하면 인스턴트 메시지를 교환할 수 있다.
만약, 콘텐츠 수신자가 이미 콘텐츠 공유자와 지인 관계이거나, 활성화된 대화방을 가지고 있다면, 콘텐츠 공유자와 인스턴트 메시지를 교환할 수 있다.
도 14는 본 발명의 한 실시예에 따른 사용자 단말의 하드웨어 구조를 개략적으로 나타내는 도면이다.
도 14를 참고하면, 사용자 단말은 메모리(1100), 프로세서(1200), 디스플레이(1300) 그리고 통신모듈(1400)을 포함하는 하드웨어로 구성된다. 사용자 단말은 적어도 하나의 저장 장치(1500)를 더 포함할 수 있다. 콘텐츠 공유 어플리케이션은 본 발명에서 도면을 참고로 설명한 동작을 실행하기 위한 프로그램이다. 콘텐츠 공유 어플리케이션은 사용자 단말에 탑재되고, 사용자 단말의 메모리(1100) 프로세서(1200) 그리고 디스플레이(1300)를 포함하는 하드웨어와 결합하여 프로그램된 동작을 실행한다.
메모리(1100)는 본 발명의 콘텐츠 공유 어플리케이션을 수행하기 위한 명령어(instructions)를 저장하고 있거나, 저장 장치로부터 명령어를 로드하여 일시 저장한다. 프로세서(1200)는 메모리(1100)에 저장되어 있거나 로드된 명령어를 실행하여 본 발명의 콘텐츠 공유 어플리케이션을 구동한다. 디스플레이(1300)는 사용자 입력을 수신할 수 있고, 예를 들면 터치 입력을 수신할 수 있다.
이와 같이, 본 발명의 실시예에 따르면 콘텐츠 공유 장치는 사용자 단말 주변에 위치한 특정 수의 이웃 단말들을 간단히 찾을 수 있다. 본 발명의 실시예에 따르면 사용자 단말은 특정 수의 이웃 단말들에게 콘텐츠를 전송할 수 있다. 본 발명의 실시예에 따르면 사용자는 자신 주변의 알지 못하는 이웃들과 콘텐츠를 공유할 수 있다. 결과적으로, 본 발명의 실시예에 따르면 사용자는 같은 공간을 공유하는 사람들과 자신의 경험을 공유할 수 있고, 주변에 위치한 누군가와 연결됨으로써 소셜네트워크를 확장할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (24)

  1. 장치가 제1단말의 이웃 단말들을 찾는 방법으로서,
    복수 단말의 위치 정보와 분할 기준을 기초로 일정 크기의 지역을 복수의 블록으로 분할하는 단계,
    상기 복수 단말에 포함된 제1단말의 위치 정보를 기초로 상기 복수의 블록에서 상기 제1단말이 포함된 제1블록을 추출하는 단계,
    상기 제1블록과 인접한 적어도 하나의 이웃 블록을 추출하는 단계, 그리고
    상기 제1블록과 상기 적어도 하나의 이웃 블록에서 상기 제1단말의 이웃 단말들을 추출하는 단계를 포함하고,
    상기 분할 기준은 각 블록이 설정된 값 이하의 단말 수를 포함하도록 상기 지역을 분할하는 기준이며, 상기 설정된 값은 블록당 최대 단말 수인, 방법.
  2. 제1항에서,
    상기 복수의 블록으로 분할하는 단계는
    상기 복수 단말의 위치 변동 정보를 기초로 상기 복수의 블록 중에서 상기 블록당 최대 단말 수를 초과하는 블록이 있는지 판단하고,
    상기 복수의 블록 중 제2블록이 상기 블록당 최대 단말 수를 초과하는 경우, 상기 제2블록을 분할하여 제3블록과 제4블록을 생성하는, 방법.
  3. 제2항에서,
    상기 복수의 블록으로 분할하는 단계는
    상기 제2블록에 포함된 단말 수를 모니터링하고, 상기 제2블록이 상기 블록당 최대 단말 수 이하의 단말을 포함하는 경우, 상기 제3블록과 상기 제4블록을 병합하는, 방법.
  4. 제2항에서,
    상기 복수의 블록으로 분할하는 단계는
    상기 제2블록, 상기 제3블록 그리고 제4블록의 계층 정보를 기록하는, 방법.
  5. 제1항에서,
    상기 복수 단말의 위치 분포를 기초로 상기 블록당 최대 단말 수를 가변하는 단계
    를 더 포함하는, 방법.
  6. 제1항에서,
    상기 제1단말의 이웃 단말들을 추출하는 단계는
    상기 제1블록과 상기 적어도 하나의 이웃 블록 중에서 타겟 수 이상의 단말들을 포함하는 복수의 타겟 블록을 추출하는 단계, 그리고
    상기 복수의 타겟 블록에 포함된 단말들 중에서, 상기 타겟 수에 해당하는 단말들을 추출하여 상기 제1단말의 이웃 단말들로 결정하는 단계
    를 포함하는 방법.
  7. 제6항에서,
    상기 제1단말의 이웃 단말들로 결정하는 단계는
    상기 복수의 타겟 블록에 포함된 단말들 각각과 상기 제1단말의 거리를 계산하고, 거리를 기초로 상기 타겟 수에 해당하는 단말들을 추출하는, 방법.
  8. 장치가 콘텐츠를 공유하는 방법으로서,
    복수 단말의 위치 정보와 블록당 최대 단말 수를 기초로 일정 크기의 지역을 복수의 블록으로 분할한 블록 맵을 관리하는 단계,
    공유 요청 단말로부터 콘텐츠의 공유 요청을 수신하는 단계,
    상기 블록 맵과 상기 공유 요청 단말의 위치 정보를 기초로 상기 콘텐츠를 공유할 복수의 공유 대상 단말을 추출하는 단계, 그리고
    상기 복수의 공유 대상 단말로 상기 콘텐츠를 전송하는 단계
    를 포함하며,
    상기 블록 맵에 포함된 각 블록은 상기 블록당 최대 단말 수 이하의 단말 수를 포함하는 콘텐츠 공유 방법.
  9. 제8항에서,
    상기 복수의 공유 대상 단말을 추출하는 단계는
    상기 콘텐츠의 공유자 수를 기초로 상기 복수 단말 중에서 상기 공유자 수에 해당하는 단말을 추출하는 콘텐츠 공유 방법.
  10. 제8항에서,
    상기 복수의 공유 대상 단말을 추출하는 단계는
    상기 공유 요청 단말의 위치 정보를 기초로 상기 복수의 블록에서 상기 공유 요청 단말이 포함된 제1블록을 추출하는 단계,
    상기 제1블록의 주변 블록을 탐색하면서 공유자 수 이상의 단말들을 포함하는 복수의 타겟 블록을 추출하는 단계, 그리고
    상기 복수의 타겟 블록에 포함된 단말들 중에서, 상기 공유자 수에 해당하는 단말들을 추출하는 단계
    를 포함하는 콘텐츠 공유 방법.
  11. 제10항에서,
    상기 공유자 수에 해당하는 단말들을 추출하는 단계는
    상기 복수의 타겟 블록에 포함된 단말들 각각과 상기 공유 요청 단말의 거리를 계산하고, 거리를 기초로 상기 공유자 수에 해당하는 단말들을 추출하는 콘텐츠 공유 방법.
  12. 제11항에서,
    상기 공유자 수에 해당하는 단말들을 추출하는 단계는
    상기 공유 요청 단말과의 거리가 가까운 순서로 단말들을 정렬하고, 정렬된 순서를 기초로 상기 공유자 수에 해당하는 단말들을 추출하는 콘텐츠 공유 방법.
  13. 제8항에서,
    상기 콘텐츠를 전송하는 단계는
    상기 콘텐츠의 공유 요청을 수신한 위치 정보를 전송하는 콘텐츠 공유 방법.
  14. 제8항에서,
    상기 콘텐츠의 총 공유자 수 그리고 상기 콘텐츠의 확산 거리를 관리하고, 상기 총 공유자 수와 상기 확산 거리 중 적어도 하나를 상기 공유 요청 단말로 전송하는 단계
    를 더 포함하는 콘텐츠 공유 방법.
  15. 제8항에서,
    상기 공유 요청은 공유 대상 조건을 포함하고,
    상기 복수의 공유 대상 단말을 추출하는 단계는
    상기 공유 대상 조건을 만족하는 단말을 상기 공유 대상 단말로 추출하는 콘텐츠 공유 방법.
  16. 복수 단말과 통신하는 콘텐츠 공유 장치로서,
    상기 복수 단말의 위치 정보와 블록당 최대 단말 수를 기초로 일정 크기의 지역을 복수의 블록으로 분할한 블록 맵을 관리하고, 상기 블록 맵을 기초로 상기 복수 단말에 포함된 임의 단말의 이웃 단말들을 추출하는 블록 맵 관리부, 그리고
    상기 복수 단말에 포함된 공유 요청 단말로부터 콘텐츠의 공유 요청을 수신하고, 상기 블록 맵 관리부로 상기 공유 요청 단말과 가까운 일정 수의 공유 대상 단말들을 요청하며, 상기 블록 맵 관리부로부터 수신한 복수의 공유 대상 단말로 상기 콘텐츠를 전송하는 공유 처리부
    를 포함하며,
    상기 블록 맵에 포함된 각 블록은 상기 블록당 최대 단말 수 이하의 단말 수를 포함하는 콘텐츠 공유 장치.
  17. 제16항에서,
    상기 블록 맵 관리부는
    각 블록이 상기 블록당 최대 단말 수 이하의 단말을 포함하도록 상기 지역을 복수의 블록으로 분할하고, 각 블록에 포함된 단말 수의 변동에 따라 상기 복수의 블록 중 임의 블록을 두 블록으로 분할하거나, 임의 두 블록을 하나의 블록으로 병합하는 콘텐츠 공유 장치.
  18. 제16항에서,
    상기 블록 맵 관리부는
    상기 공유 요청 단말의 위치 정보를 기초로 상기 복수의 블록에서 상기 공유 요청 단말이 포함된 제1블록을 추출하고, 상기 제1블록의 주변 블록을 탐색하면서 상기 일정 수 이상의 단말들을 포함하는 복수의 타겟 블록을 추출하며, 상기 복수의 타겟 블록에 포함된 단말들 중에서 상기 공유 요청 단말과 가까운 순서대로 상기 일정 수에 해당하는 단말들을 추출하는 콘텐츠 공유 장치.
  19. 사용자 단말에 탑재되고, 상기 사용자 단말의 프로세서, 메모리 그리고 디스플레이를 포함하는 하드웨어와 결합하여 프로그램된 동작을 실행하는 콘텐츠 공유 어플리케이션으로서,
    콘텐츠 공유 장치로부터 공유 요청된 제1콘텐츠를 수신하고, 상기 제1콘텐츠를 인터페이스 화면에 표시하는 단계, 그리고
    상기 인터페이스 화면에서 입력된 정보에 따라 상기 제1콘텐츠를 저장하거나 상기 제1콘텐츠를 삭제하는 단계를 수행하고,
    상기 제1콘텐츠는 공유 요청 단말이 공유 요청한 콘텐츠이며,
    상기 사용자 단말은 제1블록에 위치하고, 상기 공유 요청 단말은 제2블록에 위치하며, 상기 제1블록은 상기 제2블록과 같은 블록이거나 상기 제2블록의 이웃 블록이고, 상기 제1블록과 상기 제2블록 각각은 상기 콘텐츠 공유 장치가 단말들의 위치 정보를 기초로 지역을 분할한 복수의 블록 중 어느 하나에 해당하고,
    상기 복수의 블록 각각은 설정된 값 이하의 단말 수를 포함하는, 어플리케이션.
  20. 제19항에서,
    상기 인터페이스 화면에서 제2콘텐츠를 입력받는 단계,
    상기 콘텐츠 공유 장치로 상기 제2콘텐츠의 공유 요청을 전송하는 단계, 그리고
    상기 콘텐츠 공유 장치로부터 상기 제2콘텐츠의 공유 상태 정보를 수신하고, 상기 공유 상태 정보를 상기 인터페이스 화면에 표시하는 단계
    를 더 수행하는 어플리케이션.
  21. 제19항에서,
    상기 제1콘텐츠를 인터페이스 화면에 표시하는 단계는
    상기 제1콘텐츠가 공유 요청된 위치 정보, 상기 제1콘텐츠가 공유 요청된 시간 정보, 상기 사용자 단말의 위치에서 상기 제1콘텐츠가 공유 요청된 위치를 가리키는 방향 정보 중 적어도 하나를 표시하는 어플리케이션.
  22. 제19항에서,
    상기 인터페이스 화면은 상기 제1콘텐츠를 공유 요청한 공유자에게 대화 요청하는 영역을 포함하고,
    상기 영역에 입력된 대화 요청 메시지를 전송하는 단계, 그리고
    상기 공유자의 대화 요청 수락을 대기하는 단계
    를 더 수행하는 어플리케이션.
  23. 제22항에서,
    상기 대화 요청 수락을 대기하는 단계는
    상기 대화 요청 수락을 수신하기 전까지, 지정된 개수를 초과한 대화 요청 메시지 전송을 제한하는 어플리케이션.
  24. 제22항에서,
    상기 대화 요청 수락을 수신하는 단계, 그리고
    상기 인터페이스 화면에 상기 공유자와 인스턴트 메시지를 교환하는 대화방을 표시하는 단계
    를 더 수행하는 어플리케이션.
KR1020150056806A 2015-04-22 2015-04-22 사용자 단말의 이웃 단말들을 찾는 방법, 이를 이용한 콘텐츠 공유 장치 및 방법, 그리고 콘텐츠 공유 어플리케이션 KR101638622B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150056806A KR101638622B1 (ko) 2015-04-22 2015-04-22 사용자 단말의 이웃 단말들을 찾는 방법, 이를 이용한 콘텐츠 공유 장치 및 방법, 그리고 콘텐츠 공유 어플리케이션

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150056806A KR101638622B1 (ko) 2015-04-22 2015-04-22 사용자 단말의 이웃 단말들을 찾는 방법, 이를 이용한 콘텐츠 공유 장치 및 방법, 그리고 콘텐츠 공유 어플리케이션

Publications (1)

Publication Number Publication Date
KR101638622B1 true KR101638622B1 (ko) 2016-07-11

Family

ID=56499714

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150056806A KR101638622B1 (ko) 2015-04-22 2015-04-22 사용자 단말의 이웃 단말들을 찾는 방법, 이를 이용한 콘텐츠 공유 장치 및 방법, 그리고 콘텐츠 공유 어플리케이션

Country Status (1)

Country Link
KR (1) KR101638622B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019190038A1 (ko) * 2018-03-30 2019-10-03 정원빈 가상 영역 기반 콘텐츠 관리 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080009069A (ko) * 2005-03-09 2008-01-24 텔코디아 테크놀로지스, 인코포레이티드 위치-인식 콘텐츠 푸시 서비스 및 위치-기반 동적 연결을위한 방법, 시스템 및 장치
KR20140002338A (ko) * 2012-06-29 2014-01-08 인텔렉추얼디스커버리 주식회사 토폴로지를 이용하여 데이터를 공유하는 장치 및 방법
JP2014106457A (ja) * 2012-11-29 2014-06-09 Mitsubishi Electric Information Systems Corp 表示制御装置、表示制御システム及び表示制御プログラム
KR20140136155A (ko) * 2013-05-20 2014-11-28 에스케이플래닛 주식회사 클라우드 서비스 시스템에서의 위치 기반의 정보 공유 방법, 이를 위한 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080009069A (ko) * 2005-03-09 2008-01-24 텔코디아 테크놀로지스, 인코포레이티드 위치-인식 콘텐츠 푸시 서비스 및 위치-기반 동적 연결을위한 방법, 시스템 및 장치
KR20140002338A (ko) * 2012-06-29 2014-01-08 인텔렉추얼디스커버리 주식회사 토폴로지를 이용하여 데이터를 공유하는 장치 및 방법
JP2014106457A (ja) * 2012-11-29 2014-06-09 Mitsubishi Electric Information Systems Corp 表示制御装置、表示制御システム及び表示制御プログラム
KR20140136155A (ko) * 2013-05-20 2014-11-28 에스케이플래닛 주식회사 클라우드 서비스 시스템에서의 위치 기반의 정보 공유 방법, 이를 위한 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019190038A1 (ko) * 2018-03-30 2019-10-03 정원빈 가상 영역 기반 콘텐츠 관리 시스템

Similar Documents

Publication Publication Date Title
US9918319B2 (en) System and process for location-based information retrieval
US9646026B2 (en) Determining points of interest using intelligent agents and semantic data
JP6208654B2 (ja) 関心地点情報をプッシュするための方法及びシステム
US7474959B2 (en) Method for providing recommendations using image, location data, and annotations
JP5823499B2 (ja) コンテンツ処理装置、コンテンツ処理方法、コンテンツ処理プログラム、及び集積回路
US9736636B1 (en) Geofence prioritization
US20120124508A1 (en) Method And System For A Personal Network
US11425525B2 (en) Privacy preservation platform
JP2014508359A (ja) 通信システムにおけるソーシャルネットワークベースのメディア共有方法及び装置
KR101692500B1 (ko) 컨텐츠 공유 서버, 컨텐츠 공유 서버의 컨텐츠 리스트 제공 방법 및 컴퓨터 프로그램
US20130044137A1 (en) Selective map marker aggregation
JP2015505384A (ja) 画像アノテーション方法およびシステム
CN106464947A (zh) 提供适时媒体推荐
CN102958114B (zh) 访问增强现实用户上下文的方法
KR20120087287A (ko) 증강현실 히스토리 정보를 이용하여 소셜 네트워킹 서비스를 제공하는 단말기, 서버 및 이를 이용한 증강현실 제공 시스템
AU2013321782A1 (en) Device management apparatus and device search method
US20130019185A1 (en) Method, Devices and a System for Communication
KR101206577B1 (ko) Sns에 기반한 전문가 시스템
KR102075054B1 (ko) 여행 정보 서비스 장치 및 방법
KR101638622B1 (ko) 사용자 단말의 이웃 단말들을 찾는 방법, 이를 이용한 콘텐츠 공유 장치 및 방법, 그리고 콘텐츠 공유 어플리케이션
JP2007110341A (ja) 携帯端末装置、移動先情報提供サーバ装置、滞在場所情報収集プログラム、移動先情報表示プログラム、移動先情報提供プログラム及び移動先情報提供システム
US20140172974A1 (en) System and method for requesting and sending audio, video, still pictures, and text from a specified location
US20110093192A1 (en) Application apparatus, server, system and method of travel service
KR101461590B1 (ko) 위치 기반 콘텐츠 제공 방법
KR101308607B1 (ko) 소셜 네트워크 서비스를 이용한 명함 관리 시스템 및 그 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 6