KR101659975B1 - 관련 장소의 발견 및 자동적인 사이징 - Google Patents

관련 장소의 발견 및 자동적인 사이징 Download PDF

Info

Publication number
KR101659975B1
KR101659975B1 KR1020147011496A KR20147011496A KR101659975B1 KR 101659975 B1 KR101659975 B1 KR 101659975B1 KR 1020147011496 A KR1020147011496 A KR 1020147011496A KR 20147011496 A KR20147011496 A KR 20147011496A KR 101659975 B1 KR101659975 B1 KR 101659975B1
Authority
KR
South Korea
Prior art keywords
locations
measurements
user
location
labels
Prior art date
Application number
KR1020147011496A
Other languages
English (en)
Other versions
KR20140071465A (ko
Inventor
비드야 나라야난
파웰 루코비치
루카스 디. 쿠흔
진원 이
산지브 난다
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20140071465A publication Critical patent/KR20140071465A/ko
Application granted granted Critical
Publication of KR101659975B1 publication Critical patent/KR101659975B1/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
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • 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
    • 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/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/33Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • 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
    • H04W4/21Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/918Location
    • Y10S707/921Spatial

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Remote Sensing (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Navigation (AREA)

Abstract

하나 또는 그 초과의 이동 디바이스들은 경로를 따라 이동하는 동안 측정들을 행한다. 각 측정은 대응하는 무선 신호들의 강도들 및 무선 전송기들의 식별자들의 특정 그룹을 포함할 수 있다. 측정들의 세트는 경로를 따른 시퀀스에서 이루어지며, 측정들의 서브세트들은 서브세트에 포함되는 측정들의 유사성의 측정의 값에 관한 테스트를 충족시키기 위해 식별된다. 새로운 관련 장소는 측정들의 막-설명된 서브세트들을 (예를 들어, 클러스터링에 의해) 추가적인 측정들의 유사한 서브세트들과 비교함으로써 식별된다. 대안적으로, (예를 들어, 라벨을 갖는) 알려진 관련 장소는 측정들의 막-설명된 서브세트들을 측정들의 사전-컴퓨팅된 모델과 비교함으로써 식별된다. 또한, 측정들의 막-설명된 서브세트들은 예를 들어, 그 내부의 공통 부분들을 식별하기 위해 다른 경로의 측정들의 대응하는 서브세트들과 비교될 수 있다.

Description

관련 장소의 발견 및 자동적인 사이징{DISCOVERING AND AUTOMATICALLY SIZING A PLACE OF RELEVANCE}
[0001] 본 출원은 그 전체가 본원에 인용에 의해 포함되는, "Discovering and Automatically Sizing Places of Relevance"란 명칭의 2011년 9월 28일에 출원된 미국 가 출원번호 제 61/540,426 호로부터의 우선권 및 그 이익을 주장한다. 본 출원은 또한 그 전체가 본원에 인용에 의해 포함되는, "Discovering and Automatically Sizing A Place of Relevance"란 명칭의 2012년 9월 26일에 출원된 미국 출원번호 제 13/627,823 호로부터의 우선권 및 그 이익을 주장한다.
[0002] 본 개시물의 양상들은 통신 기술들, 컴퓨팅 기술들 및/또는 위치-기반된 기술들에 관한 것이다. 특히, 본 개시물의 양상들은 관련 장소들을 발견하고 및/또는 자동으로 사이징하기 위한 방법들, 장치들, 시스템들 및 컴퓨터-판독가능한 매체에 관한 것이다. 여러 실시예들은 하나 또는 그 초과의 이동 디바이스들에 의해 행해지는 측정들에 기초하여, 사용자에 관련성이 있는 장소를 발견하는 한편 이동 디바이스(들)는 그 장소에 관련되는 경로들(예를 들어, 그 장소에서 시작하는, 종료하는 또는 통과하는 경로들)을 따라 이동한다.
[0003] 관련 장소(POR)는 예를 들어, 이동 컴퓨팅 디바이스(예를 들어, 무선 핸드셋, 셀룰러 전화, 스마트 폰, 개인 휴대 정보 단말(PDA) 등)의 사용자일 수 있는 사람에게 중요한 임의의 물리적 위치 및/또는 영역일 수 있다. 특정 장소가 사용자에게 중요한지 여부는 사용자가 특정 장소에 대응하는 영역 및/또는 물리적 위치에서 소요하는 시간의 기간에 의존할 수 있고 및/또는 그에 의해 측정될 수 있다. 따라서, 컴퓨팅 디바이스는 컴퓨팅 디바이스의 사용자(및 대응적으로, 컴퓨팅 디바이스 자체)가 정지상태로 남아있고 및/또는 특정 장소에서 충분히 긴 시간의 기간을 소요하는 경우에 특정 장소가 POR인 것으로 결정할 수 있다.
[0004] 또한 사용자에게 관련성을 갖는 장소들을 식별하기 위해, 사용자가 라벨들을 공급하는 것이 기술분야에 알려진다. 예를 들어, 이동 디바이스가 정지상태일 때, 측정들의 제 1 세트는 이동 디바이스에 의해 행해질 수 있다. 사용자는 그 후에 이들 측정들이 행해지는 장소를 "오피스"로서 라벨링할 수 있다. 유사하게, 측정들의 제 2 세트는 이동 디바이스가 다른 위치에 정지상태일 때 행해질 수 있으며, 이는 그 후에 사용자에 의해 "홈"으로 라벨링될 수 있다. 따라서, 측정들의 제 1 및 제 2 세트들이 행해지는 영역들은 사용자에 대한 2개의 관련 장소들을 구성한다.
[0005] 따라서, 이동 디바이스가 정지상태일 때 행해지는 측정들뿐 아니라 이동 디바이스가 정지상태가 아닐 때 행해지는 측정들, 즉 이동 디바이스가 이동할 때 행해지는 측정들에 기초하여 상술한 타입의 관련 장소들을 식별할 필요성이 있다. 본 발명자들에 의해 식별되는 하나의 문제점은 사용자가 일 장소에서 정지상태로 수 분을 소요하지 않지만 대신에 사용자가 일반적으로 스토어의 범위들 주변을 걷는 경우의, (예를 들어, J.C. Penny 또는 Macy's인 백화점과 같은) 스토어에서의 경로를 따라 사용자에 의해 이동 디바이스가 이동될 때 발생한다. 그러므로, 이하에 설명된 바와 같은 관련 장소를 식별하기 위해, 이동 디바이스가 이동할 때 행해지는 측정들을 이용할 필요성이 존재한다.
[0006] 본 개시물의 양상들은 하나 또는 그 초과의 관련 장소들(POR: places of relevance)을 발견하고 및/또는 자동으로 사이징하는 것에 관한 것이다. 예를 들어, 일부 POR들은 단일의, 특정 포인트(또는 무선 신호들의 측정이 행해지는 포지션)를 나타내도록 정의되는 것이 아니라, 대신에 다수의 포인트들을 포함하는 실제 세상에서의 경로를 나타내도록 정의될 수 있다. 또 다른 POR들은 실제 세상에서의 근처의 및/또는 인접한 포인트들의 세트를 나타내도록 정의될 수 있다. 본 개시물의 하나 또는 그 초과의 양상들을 구현함으로써, 컴퓨팅 디바이스(및/또는 그 위에 실행되는 소프트웨어)는 위치-특정 오퍼들(예를 들어, 근처 스토어들, 레스토랑들 등을 위한 쿠폰들), 위치-특정 광고, 다른 위치-기반된 특징들 및/또는 위치-관련된 정보 및/또는 등과 같은 강화된 기능을 사용자에게 제공할 수 있다.
[0007] 하나 또는 그 초과의 양상들에 따르면, 하나 또는 그 초과의 확장된 관련 장소들을 발견하는데 있어서, 복수의 관련 장소들이 식별될 수 있다. 복수의 관련 장소들 중 하나 또는 그 초과의 관련 장소들과 관련되는 하나 또는 그 초과의 라벨들을 특정하는 사용자 입력이 수신될 수 있다. 후속적으로, 복수의 관련 장소들 중 적어도 2개의 관련 장소들이 하나 또는 그 초과의 라벨들 중 제 1 라벨과 관련되는지 여부가, 수신되는 사용자 입력에 기초하여 결정될 수 있다. 그 후에, 적어도 2개의 관련 장소들이 근처에 있는지 여부가, (중심들 사이의 비유사성을 표시하는) 하나 또는 그 초과의 거리 메트릭들에 기초하여 결정될 수 있다. 그 후에, 적어도 2개의 관련 장소들이 제 1 라벨과 관련되는 것으로 결정하는 것에 응답하여, 그리고 적어도 2개의 관련 장소들이 인접한 것으로 결정하는 것에 응답하여, 적어도 2개의 관련 장소들이 확장된 관련 장소를 정의하는 것으로 결정될 수 있다.
[0008] 적어도 하나의 배치에서, 하나 또는 그 초과의 라벨들은 적어도 2개의 서로 다른 사용자들로부터 획득될 수 있다. 하나 또는 그 초과의 추가적인 배치들에서, 하나 또는 그 초과의 라벨들의 제 1 세트는 공개적인 것으로 지정될 수 있으며, 하나 또는 그 초과의 라벨들의 제 2 세트는 적어도 2명의 서로 다른 사용자들 중 적어도 하나의 사용자에게 전용인 것으로 지정될 수 있다. 또 다른 하나 또는 그 초과의 추가적인 배치들에서, 제 1 라벨은 제 1 세트에 포함될 수 있다.
[0009] 하나 또는 그 초과의 추가적인 및/또는 대안적인 양상들에 따르면, 하나 또는 그 초과의 경로-기반된 관련 장소들을 발견하는데 있어서, 복수의 포지션 값들이 수신될 수 있다. 후속적으로, 하나 또는 그 초과의 인접한 도보 세그먼트들이 복수의 포지션 값들에 기초하여 식별될 수 있다. 그 후에, 적어도 2개의 식별된 연속하는 도보 세그먼트들에 대해, 적어도 2개의 식별된 연속하는 도보 세그먼트들의 각각에 대응하는 중심들의 트리(tree)가 발생될 수 있다. 그 후에, 적어도 2개의 식별된 연속하는 도보 세그먼트들이 제 1 경로를 매칭하는지 여부는, 중심들의 발생된 트리들에 기초하여 결정될 수 있다.
[0010] 적어도 하나의 배치에서, 중심들의 발생된 트리들의 각각은 복수의 레벨들을 포함할 수 있다. 하나 또는 그 초과의 추가적인 배치들에서, 적어도 2개의 식별된 연속하는 도보 세그먼트들이 제 1 경로에 매칭하는지 여부를 결정하는 것은 반복적으로 중심들의 발생된 트리들의 대응하는 레벨들을 비교하는 것을 포함할 수 있다. 또 다른 하나 또는 그 초과의 추가적인 배치들에서, 적어도 2개의 식별된 연속하는 도보 세그먼트들이 제 1 경로에 매칭하는지 여부를 결정하는 것은 중심들의 발생된 트리들의 대응하는 레벨들을 별개로 클러스터링하는 것을 포함할 수 있다.
[0011] 여러 실시예들에서, 이동 디바이스는 경로를 따라 도보하는 사용자에 의해 운반되는 동안 무선 신호들의 측정들을 행한다. 각 측정은 대응하는 무선 신호들의 강도들 및 무선 전송기들의 식별자들의 특정 그룹을 포함할 수 있다. 측정들의 세트는 사용자의 경로를 따라 시간적 시퀀스에서 이루어지며, 이들 측정들의 서브세트들은 예를 들어, 서브세트에 포함되는 측정들의 유사성의 측정에 관하여, 하나 또는 그 초과의 미리 결정된 테스트(들)를 충족시키기 위해 식별된다. 예를 들어, 측정들의 막-설명된 서브세트들의 중심들(및/또는 라벨들과 같은 다른 속성들)을 (예를 들어, 클러스터링에 의해) 추가적인 측정들의 유사한 서브세트들의 중심들(및/또는 라벨들과 같은 다른 속성들)과 비교함으로써, 새로운 관련 장소가 식별된다. 대안적으로, 측정들의 막-설명된 서브세트들을 측정들의 사전-컴퓨팅된 모델과 비교함으로써, 알려진 관련 장소(예를 들어, 라벨을 가짐)가 식별된다. 또한, 측정들의 막-설명된 서브세트들은 예를 들어, 그 내부의 공통 부분들을 식별하기 위해, 다른 경로의 측정들의 대응하는 서브세트들과 비교될 수 있다.
[0012] 도 1a는 본 개시물에서의 일부 실시예들의 하나 또는 그 초과의 예시적인 양상들에 따른 하나 또는 그 초과의 확장된 관련 장소들을 발견하고 및/또는 자동으로 사이징하는 예시적인 방법을 예시한다.
[0013] 도 1b는 본 개시물에서의 일부 실시예들의 하나 또는 그 초과의 예시적인 양상들에 따른, 개념적으로 도시되는 예시적인 확장된 관련 장소를 실내 맵 상에 예시한다.
[0014] 도 2a는 본 개시물에서의 일부 실시예들의 하나 또는 그 초과의 예시적인 양상들에 따른 하나 또는 그 초과의 경로-기반된 관련 장소들을 발견하고 및/또는 자동으로 사이징하는 예시적인 방법을 예시한다.
[0015] 도 2b는 본 개시물에서의 일부 실시예들의 하나 또는 그 초과의 예시적인 양상들에 따라, 개념적으로 도시되는, 경로-기반된 관련 장소를 실내 맵 상에 예시한다.
[0016] 도 3a는 본원에 설명되는 일부 실시예들에서, 경로를 따라 이동하는 동안 무선 신호들의 측정들을 행하기 위해 이동 디바이스(120)에 의해 수행되는 동작들을 하이-레벨 흐름도로 예시한다.
[0017] 도 3b는 (예를 들어, 0 내지 10 분들의 범위에서) X 축을 따른 측정의 시간 함수로서, 시간에 걸쳐 행해지는 측정들 사이의, (예를 들어, 0 내지 1의 범위에 있는) Y 축 상의 유사성의 플롯을, 2차원 그래프로 예시한다.
[0018] 도 3c는 설명된 실시예들의 일부에서, 도 5a의 이동 디바이스(120)의 프로세서(들)(100)에 의해 수행되는 동작들을, 하이-레벨 흐름도로 예시한다.
[0019] 도 4a는 여러 실시예들의 이동 디바이스(120)를 하이-레벨 블록도로 예시한다.
[0020] 도 4b는 도 4a의 발견 시스템(130)에 이용되는 하나 또는 그 초과의 파라미터들을 표에 예시한다.
[0021] 도 4c는 초기에 (예를 들어, 타임 스탬프에 의해 표시되는 바와 같은) 측정의 시간에 기초하여 WiFi 측정들을 클러스터링하고, 그 후에 이상치들(outliers)을 배제하기 위해 클러스터들의 병합이 후속되며, 그 후에 도보 이외의 이동(travel) 동안 행해지는 측정들을 배제하기 위해 지속 시간 필터링이 후속되며, 그 후에 설명된 실시예들의 일부에서, 관련 장소들(PORs)을 식별하기 위해 유사성 클러스터링이 후속되는, 일 예의 도 4a의 발견 시스템(130)의 동작을 예시한다.
[0022] 도 5a는 시간 정렬된 데이터의 클러스터링을 수행하는 일부 실시예들의 시간적 클러스터링 모듈을 의사-코드로 예시한다.
[0023] 도 5b는 클러스터들을 병합하고, 그에 의해 이상치들을 배제하는 일부 실시예들의 클러스터 병합 모듈을 의사-코드로 예시한다.
[0024] 도 5c는 도보 이외의 이동 동안 이루어진 측정, 예를 들어, 자전거 또는 자동차와 같은 이동중인 차량에 있는 동안 이루어진 측정을 제외한 일부 실시예의 지속 시간 필터링 모듈을 의사-코드로 예시한다.
[0025] 도 5d는 방문들의 스트림 및 알려진 관련 장소들의 세트에 기초하여, 새로운 관련 장소를 식별하는 일부 실시예들의 POR 추출 모듈을 의사-코드로 예시한다.
[0026] 도 5e는 방문들의 스트림 및 알려진 관련 장소들의 세트에 기초하여, 알려진 관련 장소에서의 사용자의 존재를 식별하는 일부 실시예들의 POR 인식 모듈을 의사-코드로 예시한다.
[0027] 도 6a는 설명된 실시예들의 일부에서, 도 4a의 컴퓨터 시스템(120)의 프로세서(100)에 의해 수행되는 추가적인 동작들을, 하이-레벨 흐름도로 예시한다.
[0028] 도 6b는 큐비클(cubicle)(601)로부터 시작하며 브레이크 룸(break room)(602)에서 종료하는, 오피스(600)를 통해 경로 "A"를 따라 사용자가 도보하는 동안 컴퓨터 시스템(120)에 의한 측정들을 예시한다.
[0029] 도 6c는 측정들 A1 ... AI ... AN뿐 아니라, 이들 측정들에 걸친 중심
Figure 112015068661434-pct00001
뿐 아니라, AI의 유사성 속성(또는 유사성 측정)을, 도 4a의 컴퓨터 시스템(120)의 메모리(110)에 예시한다.
[0030] 도 6d는 도 6b에서의 경로 A에 대한 메모리(110)에서의 루트 노드(621)를 예시한다.
[0031] 도 6e는 측정들의 2개의 서브세트들 즉, 측정들 A1-AI 및 측정들 AJ-AN 각각을 형성하기 위해 유사성 측정의 이용에 의해 형성되는 서브-경로들 AL 및 AR로서, 도 6b에서의 경로 A의 2개 부분들을 메모리(110)에 예시한다.
[0032] 도 6f는 도 6e에 예시되는 2개의 서브세트들 A1-AI 및 AJ-AN에 기초하여 루트 노드(621) 및 그의 차일드(child) 노드들(622 및 623)에 의해 형성되는 트리(620)를 예시한다.
[0033] 도 6g는 도 6e에 예시되는 2개의 서브세트들 A1-AI 및 AJ-AN의 각각 내의 측정들의 3개의 서브세트들을 형성하기 위해 유사성 측정의 이용에 의해 형성되는 서브-서브-경로들 ALL, ALM, ALR, ARL, ARM 및 ARR로서, 도 6b에서의 경로 A의 6개 부분들을 메모리(110)에 예시한다.
[0034] 도 6h는 도 6g에 예시되는 6개 부분들(및 결과적으로 6개의 서브세트들)에 대한 노드들을 포함하기 위해 현재 증대되는 도 6f의 트리(620)를 예시한다.
[0035] 도 7은 일부 실시예들에서 새로운 관련 장소를 식별하기 위해 도 6e 및 6g에 예시되는 타입의 측정들의 서브세트들을 추가적인 측정들의 서브세트들과 비교하기 위해 일부 실시예들에서 수행되는 동작들을, 흐름도에 예시한다.
[0036] 도 8a는 경로의 측정들의 서브세트들을 다른 경로와 비교하기 위해, 도 5a의 이동 디바이스(120)의 프로세서(100)에 의해 수행되는 추가적인 동작들을, 하이-레벨 흐름도에 예시한다.
[0037] 도 8b는 2개의 큐비클들로부터 시작하며 둘 다 브레이크 룸에서 종료하는, 오피스(600)를 통해 2개의 경로들 "A" 및 "B"를 따른 측정들을 예시한다.
[0038] 도 8c는 나중에 비교되는 다수의 서브세트들로 부분분할되는 도 8b의 2개의 경로들을 따른 측정들을, 도 5a의 이동 디바이스(120)의 메모리(110)에 예시한다.
[0039] 도 8d는 도 8b의 2개의 경로들 상의 측정들의 서브세트들의 매칭을 예시한다.
[0040] 도 9a는 본 개시물에서의 일부 실시예들의 하나 또는 그 초과의 예시적인 양상들에 따른 관련 장소(POR)를 자동으로 사이징하는 예를, 실내 맵 상에 예시한다.
[0041] 도 9b는 (선영을 갖는 원들로 도시되는) 방문들(911-914) 사이에서, 본 개시물에서의 일부 실시예들의 하나 또는 그 초과의 예시적인 양상들에서 확장된 POR(910)을 자동으로 사이징하기 위해 이용되는 (양방향 화살표들(921-926)로 도시되는) 측정들 사이의 비유사성을 표시하는 쌍으로 이루어진(pair-wise) 거리들을 도 9a의 확장된 POR(910)로 예시한다.
[0042] 도 9c는 (예를 들어, 실시예에 따라, a는 2, 2.99, 4 등과 같은 임의의 상수 값일 수 있더라도, a = 3)
Figure 112015068661434-pct00002
로서, 사이징하는데 이용하기 위해 확장된 POR에서의 방문들 사이의 (x-축을 따른) 쌍으로 이루어진 거리들의 (y-축을 따른) 발생들의 빈도를 그래프로 예시한다.
[0043] 도 9d는 본 개시물에서의 일부 실시예들의 하나 또는 그 초과의 예시적인 양상들에서 새로운 확장된 POR(930)을 획득하기 위해, 확장된 POR(910)의 방문들(911-914)에 대한 새로운 방문(931)의 추가를 예시한다.
[0044] 도 9e는 본 개시물에서의 일부 실시예들의 하나 또는 그 초과의 예시적인 양상들에서, 관련 장소를 자동으로 사이징하기 위해 일부 실시예들에서 수행되는 동작들을, 흐름도로 예시한다.
[0045] 도 9f는 방문
Figure 112015068661434-pct00003
이 확장된 POR의 중심으로부터 거리
Figure 112015068661434-pct00004
내에 있는지 또는 방문
Figure 112015068661434-pct00005
가 확장된 POR의 중심으로부터
Figure 112015068661434-pct00006
Figure 112015068661434-pct00007
사이에 있는지 여부에 따라 (예를 들어, 실시예에 따라, b는 1, 1.99, 3 등과 같은 임의의 상수 값일 수 있더라도, b = 2) 각각 팽창되거나 수축되는 확장된 POR을 예시한다.
[0046] 도 9g는 설명된 실시예들의 일부 양상들에서 프로세서(100)에 의해 수행되는 동작들을, 하이-레벨 흐름도로 예시한다.
[0047] 후속하는 설명에서의 여러 실시예들은 다음의 2개의 강화들: (A) 경로 기반된 관련 장소들 및 (B) 확장된 관련 장소들 중 적어도 하나를 갖기 위해, (예를 들어, 10 초로 미리 결정되는) 충분히 긴 시간의 기간 동안 사용자가 정지 상태로 남아있는 장소들, 즉 사용자에게 의미론적 관련성을 갖는 정지상태 장소들인 관련 장소들만을 고려하는 시스템들을 확장한다.
[0048] 제 1 타입의 관련 장소(경로 기반된 관련 장소라 칭함)는 확장된 시간 기간들 동안(예를 들어, 10분) 사용자가 종종 걷거나, 사용자가 종종 그 주변을 걷는 경향이 있는 영역이다. 그와 같은 관련 장소들("POR"s)은 또한 경로들로서 이하에 지칭될 수 있다. 전통적인 궤적들이기보다는 오히려, 경로 기반된 POR들은 사용자의 도보가 발생하는 실제 세상에서의 구역들을 나타내도록 더 느슨하게 정의될 수 있다. 예들은 사용자가 일 장소에서 반드시 수분을 소요하는 것이 아니라, 일반적으로 스토어(store)의 범위들 내에서 주변을 도보할 수 있는 수퍼마켓들 또는 몰들(malls)일 수 있다.
[0049] 제 2 타입의 관련 장소(확장된 관련 장소라 칭함)는 대다수의 근처의 또는 인접한 정지 발견된 관련 장소들이 동일한 관련 장소인 것으로 사용자에 의해 의미론적으로 고려될 수 있는 영역이다. 예들은 사용자의 관점으로부터, 서로 다른 시트들(seats)이 의미론적으로 동일한 장소로 고려될 수 있지만, 기존의 알고리즘들은 다수의 정지형 관련 장소들을 식별할 수 있는, 카페테리아 또는 강연 홀 또는 극장을 포함할 수 있다. 이러한 제 2 타입의 관련 장소에 대한 모든 방문은 동일한 장소의 일 부분에 대한 것일 수 있지만, 본원에 설명되는 여러 실시예들은 동일한 의미의 관련 장소인 것으로서, 그 장소의 서로 다른 부분들에 대응하는 다수의 방문들을 식별한다.
[0050] 일부 실시예들에서, 확장된 관련 장소들의 방법은 사용자가 미리 결정된 시간 주기 동안(예를 들어, 10초) 머무르는 방문들 동안 신호 측정들을 발생시키며, (도 4a를 참조하여 이하에 설명되는) 장소들을 형성하기 위해 그들 측정들을 클러스터하는 정지형 POR 방법의 출력을 소모한다. 정지상태 POR 방법에 의해 출력되는 장소들은 예를 들어, 하나 또는 그 초과의 사용자들로부터 수신되는 (문자들의 스트링들과 같은) 라벨들의 입력에 기초하여, 일부 실시예들에서 (라벨들과의 관련에 의해) 라벨링되거나 주석이 달린다. 여러 실시예들에서 확장된 관련 장소들의 방법은 (중심들을 비교하는데 더하여) 라벨들을 수신 및 자동으로 비교하며, (미리 결정된 임계값 당으로) 라벨들이 동일하거나 충분히 유사할 때, 각각의 장소들을 확장된 장소에 포함되는 것으로 자동으로 마킹한다. 라벨들의 비교는 실시예에 따라, 임의의 방식으로 컴퓨팅 디바이스에 의해 수행될 수 있으며, 예를 들어, 해밍(Hamming) 거리 ≤ 2를 갖는 라벨들은 유사한 것으로 생각될 수 있다.
[0051] 일부 실시예들에서, 지금-설명되는 확장된 관련 장소들의 방법은, 임의의 수의 장소들이 확장된 POR에 포함될 수 있도록, 회귀적으로 수행된다. 지금-설명되는 확장된 관련 장소들의 방법은 측정이 행해진 시간을 이용하지 않는(그리고 무관한) 것을(예를 들어, 측정들의 타임 스탬프들이 이용되지 않음) 주목한다. 반대로, 경로 기반된 관련 장소들의 방법은 장소들의 중심들 및/또는 클러스터되는 측정들을 식별하기 위해 측정들(측정의 시간에 따라 서로에 관하여 정렬되는 측정들)의 시간적 시퀀스를 이용한다. 예를 들어, 장소에 대한 사용자의 방문들의 특정 시퀀스가 수회 반복될 때, 이것은 경로 기반된 관련 장소들의 방법을 수행하는데 있어서 컴퓨터 시스템(120)에 의해 학습된다. 그러므로, 일부 실시예들에서, 경로 기반된 관련 장소들의 방법은 전체적으로 POR 방법을 이용하지 않으며, 대신에 도 4a-4c를 참조하여 본원에 설명된 바와 같은, 실시예에 따른 다른 방식으로 실행되는, 일부 단계들을 이용한다.
[0052] 확장된 관련 장소들은 다음과 같이 컴퓨팅 디바이스의 특정 실시예들에서 형성될 수 있다: (1) 동일한(또는 충분히 유사한) 라벨을 서로 다른 정지 관련 장소들에 적용하기 위한 사용자 입력; (2) 정지형 관련 장소들을 발견하기 위해 이용되는 (측정들 사이에 비유사성을 표시하는) 거리 메트릭은 다수의 정지형 관련 장소들이 근처에 있거나 인접한 것으로 자동으로 결정하기 위해 이용될 수 있다. 조건들 1 및 2(예를 들어, 상기의 2개의 조건들)를 충족시키는 정지형의 관련 장소들의 전부는 그 후에 더 큰 확장된 관련 장소와 관련될 수 있다. 이 방법은 확장된 관련 장소들로서, 실제 세상에서, 예를 들어 카페테리아 및 극장일 수 있는 장소들의 올바른 발견(예를 들어, 자동 식별)을 발생시킬 수 있다. 추가로, 컴퓨팅 디바이스는 정지형 관련 장소들이 조건 2(예를 들어, 상기의 제 2 조건)를 충족시키지 않는 경우에 확장된 관련 장소를 형성하기 위해 사용자가 직장으로서 선택할 수 있는 다수의 장소들을 병합하지 않도록 구성될 수 있다.
[0053] 라벨들이 다수의 사용자들로부터 획득될 때 확장된 관련 장소들을 자동으로 발견하도록 이 방법을 적용하기 위해, 라벨들은 주의깊게 선택되어야 할 필요가 있을 수 있다. 예를 들어, 2명의 직원들이 정지형 관련 장소를 오피스 또는 마이 오피스(My Office)로서 라벨링하며, 인접한 오피스들을 갖는 경우에, 단일의 확장된 관련 장소로 (예를 들어, 서버 컴퓨터에 의해) 병합되지 않는다. 일부 배치들에서, 라벨을 "공개" 또는 "비밀"로 정의하는 각 라벨에 대한 서버 컴퓨터 내의 범위가 존재할 수 있다. 정지형 관련 장소들을 병합하는 이러한 문제점을 회피하기 위해, 확장된 관련 장소들의 발견은 단지 공개 라벨들을 이용하여 컴퓨팅 디바이스에 의해서 이루어질 수 있으며, 개인적/비밀의 라벨들에 의해서는 이루어지지 않는다. 라벨의 범위는 사용자에 의해 사전-공지되거나 설정될 수 있다. 후자의 경우에, 다수의 사용자들이 동일한 라벨에 대해 다른 범위를 선택할 때 충돌 해결의 수단(예를 들어, 충돌 해결 방법)이 필요할 수 있다.
[0054] 도 1a는 본 개시물의 하나 또는 그 초과의 예시적인 양상들에 따른 하나 또는 그 초과의 확장된 관련 장소들을 발견하고 및/또는 자동으로 사이징하는 예시적인 방법을 예시한다. 하나 또는 그 초과의 양상들에 따르면, 도 1a에 예시되는 예시적인 방법의 임의의 및/또는 모든 단계들은 실시예에 따라 이동형 및/또는 정지형일 수 있는 하나 또는 그 초과의 컴퓨팅 디바이스들(예를 들어, 컴퓨터 시스템(120))로 구현될 수 있으며 및/또는 그에 의해 수행될 수 있다. 추가로 또는 대안적으로, 도 1a에 예시되는 예시적인 방법의 임의의 및/또는 모든 단계들은, 실행될 때, 하나 또는 그 초과의 컴퓨팅 디바이스들이 예시적인 방법을 수행하게 야기할 수 있는 컴퓨터-실행가능한 명령들로서 컴퓨터-판독가능한 매체에 저장될 수 있다.
[0055] 단계(101)(도 1a)에서, 복수의 관련 장소들은 식별될 수 있다. 예를 들어, 단계(101)에서, 컴퓨팅 디바이스(예를 들어, 컴퓨터 시스템(120))는 컴퓨팅 디바이스에 의해 획득되는 포지션 데이터에 기초하여 복수의 관련 장소들을 식별할 수 있다. 그와 같은 포지션 데이터는 WiFi 신호들(WiFi 트레이스들이라 칭함), 움직임 분류들, 스텝 카운트들, 방향 정보, 음성 지문들, 및/또는 다른 포지션 데이터 및/또는 등의 하나 또는 그 초과의 측정들을 포함할 수 있다. 그와 같은 포지션 데이터를 이용하여, 컴퓨팅 디바이스는 예를 들어, 사용자(및/또는 컴퓨팅 디바이스)가 충분히 긴 시간의 기간 동안 특정 영역 또는 위치에 정지상태로 남아있고 및/또는 남아있었던 경우에(예를 들어, 특정 영역 또는 위치에서 사용자에 의해 소요된 시간이 10초와 같은 임계값을 초과하는 경우에) (포지션 데이터의 하나 또는 그 초과의 항목들에 대응할 수 있는) 특정 영역 또는 위치가 관련 장소인 것으로 결정할 수 있다. 일부 배치들에서, 복수의 관련 장소들을 식별하기 위해 다른 방법들 및/또는 단계들이 이에 더하여 또는 그 대신에 이용될 수 있다.
[0056] 단계(102)에서, 하나 또는 그 초과의 라벨들을 특정하는 사용자 입력이 수신될 수 있다. 예를 들어, 단계(102)에서, 컴퓨팅 디바이스는 하나 또는 그 초과의 관련 장소들에 대한 하나 또는 그 초과의 라벨들(예를 들어, 시맨틱 태그들(semantic tags))의 사용자 할당에 대응하는 사용자 입력을 (예를 들어, 하나 또는 그 초과의 사용자 인터페이스들을 통해) 수신할 수 있다. 예를 들어, 사용자는 "마이 오피스"로서 하나의 관련 장소를 라벨링할 수 있으며, 사용자가 "쇼핑 몰"로서 다른 관련 장소를 라벨링할 수 있다. 하나 또는 그 초과의 다른 라벨들은 사용자에 의해 유사하게 할당될 수 있으며 및/또는 컴퓨팅 디바이스에 의해 수신될 수 있다.
[0057] 단계(103)에서, 동일한 라벨이 적어도 2개의 관련 장소들에 할당되었는지 여부가 결정될 수 있다. 예를 들어, 단계(103)에서, 컴퓨팅 디바이스는 단계(102)에서 수신된 사용자 입력에 기초하여, 예를 들어, 복수의 관련 장소들 중 적어도 2개의 관련 장소들이 동일한 라벨을 할당받았는지 여부를 결정할 수 있다. 예를 들어, 컴퓨팅 디바이스의 사용자는 "모어하우스 마켓(Morehouse Market)"으로서 하나의 관련 장소를, 그리고 다른, 아마도 근처의 관련 장소를 또한 "모어하우스 마켓"으로서 라벨링할 수 있다. 다른 방법들 및/또는 단계들은 동일한 라벨이 적어도 2개의 관련 장소들에 할당되었는지 여부를 결정하기 위해 이에 더하여 또는 대신하여 이용될 수 있다.
[0058] 예를 들어, 일부 배치들에서, 라벨들은 서로 다른 사용자들에 의해 할당될 수 있다. 상기의 예에서, 예를 들어, 제 1 사용자는 "모어하우스 마켓"으로서 제 1 관련 장소를 라벨링할 수 있으며, (제 1 사용자와 다른) 제 2 사용자는 또한 "모어하우스 마켓"으로서 제 2의, 아마도 근처의 관련 장소를 라벨링할 수 있다. 추가로 또는 대안적으로, 사용자들은 관련 장소에 적용되는 라벨이 공개적인지 비밀인지 여부를 지정할 수 있다. 공개 라벨들은 예를 들어, 다른 사용자들에 의해 조망될 수 있으며, 및/또는 본원에 설명된 바와 같이, 확장된 관련 장소들을 발견하는데 있어서 시스템에 의해 이용될 수 있다. 다른 한편, 비밀의 라벨들은 예를 들어, 다른 사용자들에 의해 조망가능하지 않을 수 있으며, 및/또는 확장된 관련 장소들을 발견하는데 있어서 시스템에 의해 이용되지 않을 수 있다.
[0059] 단계(103)에서, 적어도 2개의 관련 장소들에 동일한 라벨이 할당되지 않은 것으로 결정되는 경우에, 방법은 종료할 수 있다. 다른 한편, 단계(103)에서, 적어도 2개의 관련 장소들에 동일한 라벨이 할당된 것으로 (또는 유사한 라벨들이 할당된 것으로) 결정되는 경우에, 단계(104)에서, 예를 들어, 적어도 2개의 관련 장소들이 근처에 있고 및/또는 인접한지 여부가, (측정들 사이의 비유사성을 표시하는) 하나 또는 그 초과의 거리 메트릭들에 기초하여 결정될 수 있다. 하나 또는 그 초과의 양상들에 따르면, 장소들이 (예를 들어, 비유사성을 표시하는 거리가 0과 1 사이의 범위에 있을 때, 거리가 0.1보다 작은) 서로의 특정 거리 내에 있는 것으로 표시하는 테스트가 충족되는 경우에 2개의 장소들이 근처에 있는 및/또는 인접한 것으로 고려될 수 있다. 다른 방법들 및/또는 단계들은 적어도 2개의 관련 장소들이 근처에 있고 및/또는 인접한지 여부를 결정하기 위해 이에 더하여 또는 이 대신에 이용될 수 있다.
[0060] 따라서, 상기 논의된 예에 계속하여, 컴퓨팅 디바이스는 단계(104)에서, 하나 또는 그 초과의 거리 메트릭들에 기초하여, 적어도 2개의 관련 장소들, 예를 들어, 라벨("모어하우스 마켓")을 갖는 적어도 2개의 관련 장소들이 (예를 들어, 비유사성으로, 서로의 특정 거리 내에서) 근처에 있는지 여부를 결정할 수 있다. 예를 들어, 컴퓨팅 디바이스는 상술한 포지션 데이터를 이용하여, 예를 들어, 적어도 2개의 관련 장소들에서의 측정들 사이의 (비유사성을 표시하는) 거리를 계산할 수 있다. 예를 들어, 일부 실시예들의 컴퓨팅 디바이스는 단계(104)에서, 적어도 2개의 중심들을 비교하는 것에 기초하여, 대응하는 2개의 장소들이 서로 유사한지 여부를 결정할 수 있다.
[0061] 후속적으로, 단계(104)에서, 적어도 2개의 관련 장소들이 근처에 있지 않고 및/또는 인접하지 않은 것으로 결정되는 경우에, 방법은 종료할 수 있다. 다른 한편, 단계(104)에서, 적어도 2개의 관련 장소들이 근처에 있고 및/또는 인접하는 것으로 결정되는 경우에, 단계(105)에서, 적어도 2개의 관련 장소들이 확장된 관련 장소를 정의하는 것으로 결정될 수 있다. 예를 들어, 컴퓨팅 디바이스가, 상기에 논의된 예들에서의 적어도 2개의 관련 장소들(예를 들어, "모어하우스 마켓"으로 라벨링되는 관련 장소들)이 근처에 있고 및/또는 인접한 것으로 결정하는 경우에, 그러면 단계(105)에서, 컴퓨팅 디바이스는 적어도 2개의 관련 장소들이 확장된 관련 장소를 정의하는 것으로 결정할 수 있다. 그러므로, 그와 같은 실시예들에서, 컴퓨팅 디바이스는 (예를 들어, 실시예에 따라 목록 또는 데이터베이스에) 적어도 이들 2개의 장소들을 포함하는 확장된 관련 장소를 메모리(110)(예를 들어, 도 4a의 POR 장소 모델들(135)의 세트의)에 저장한다.
[0062] 도 1b는 본 개시물의 하나 또는 그 초과의 예시적인 양상들에 따라 개념적으로 도시되는, 확장된 관련 장소의 일 예를 실내 맵 상에 예시한다. 도 1b에 도시된 바와 같이, 회사의 오피스 빌딩(201)은 리셉션 영역(202), 복도(203), 제 1 오피스(204), 제 2 오피스(205), 카페테리아(206) 및 계단통(stairwell)(207)과 같은 다양한 룸들, 오피스들, 공간들 및/또는 다른 영역들을 포함할 수 있다. 하나 또는 그 초과의 양상들에 따르면, 이들 룸들, 오피스들, 공간들 및/또는 다른 영역들의 각각이 함께 관련 장소로 고려될 수 있는 한편, 이들 룸들, 오피스들, 공간들 및/또는 다른 영역들은 확장된 관련 장소로서, 본원에 설명된 바와 같이 컴퓨팅 디바이스에 의해 정의될 수 있다. 여러 실시예들에서, 컴퓨팅 디바이스는 측정들에 주로 기초하여, 그리고 도 1b에 도시된 타입의 하나 또는 그 초과의 빌딩들의 레이아웃을 이용하지 않고서, 확장된 POR을 정의한다. 그러나, 다른 실시예들은 측정들과 조합하여, 상호접속되는 하나 또는 그 초과의 빌딩들의 레이아웃, 실내 맵, 플로어 계획 및/또는 다른 지리적 정보를 이용한다.
[0063] 일부 실시예들에서, 관련 장소(POR)는 중심 포인트 주변의 특정 거리 내에 속하는(그리고 추가적인 기준들의 세트를 충족시키는) 충분히 대다수의 WiFi 측정들에 의해 정의될 수 있다. 새로운 타입의 관련 장소, "경로"는 이제 연속적인 도보 세그먼트에 의해 정해지는 것으로 정의될 수 있다. "도보"는: (a) 움직임 분류기의 출력; 및/또는 (b) WiFi 신호들의 측정들에서의 연속적인 변경을 통해 정의될 수 있다. "연속적인"은: (a)
Figure 112015068661434-pct00008
보다 큰 전체 지속 시간, (b)
Figure 112015068661434-pct00009
보다 긴 인터럽션이 없는 것으로 정의될 수 있다. 상기의 정의로부터, 신호 레벨에 관하여, 경로는 시간의 기간을 걸쳐 수집되는 (신호 식별자들 및 신호 강도들의 값들인) WiFi 측정들의 시퀀스인 것이 도출될 수 있다. 움직임과 함께 작동하는 경우에, 컴퓨터 시스템(120)은 또한 스텝 카운트(step count) 및 방향(예를 들어, 직접 변경들의 시퀀스)에 관한 정보를 가질 수 있다.
[0064] 따라서, 본원에 설명되는 타입의 많은 방법들은 궤적들을 인식하고 세그먼팅한다. 이하의 논의는 경로들을 설명하며: (a) 도 1a 및 1b를 참조하여 상술한 장소들 방법의 확장일 수 있으며; (b) WiFi 트레이스들만으로 시작할 수 있지만, 움직임 분류, 스텝 카운팅, 방향 정보, 음성 지문들 등을 용이하게 통합할 수 있으며, (c) 정확한 궤적 설명들보다는 오히려 (예를 들어, 수퍼마켓, 몰의 특정 파트, 또는 카페테리아로 인도하는 홀과 같은 특정 영역 내에서 도보하는) 광범위하게 정의되는 경로들의 재발생의 인식 문제점에 포커싱할 수 있으며; (d) 낮은 계산 복잡도로 구현될 수 있으며; (e) 서로 다른 공간 스케일들에 관하여 고려되도록 경로 중복을 허용할 수 있는 방법을 주시한다. 따라서, 일부 애플리케이션들에 대해, 한 사람이 특정 빌딩 또는 대형 수퍼마켓 내에서 도보하는 것을 아는데 관심이 있을 수 있다. 따라서, 동일한 비교적 큰 영역 내에 있는 2개의 경로들은 매칭하는 것으로 고려될 수 있다. 다른 것들에서, (예를 들어, 카페테리아 또는 컨퍼런스 룸에 대한 액세스 라우트로서) 특정 복도를 주시할 수 있다.
[0065] 도 2a는 본 개시물의 하나 또는 그 초과의 예시적인 양상들에 따른 하나 또는 그 초과의 경로-기반된 관련 장소들을 발견하며 및/또는 자동으로 사이징하는 예시적인 방법을 예시한다. 하나 또는 그 초과의 양상들에 따르면, 도 2a에 예시되는 예시적인 방법의 임의의 및/또는 모든 단계들은 하나 또는 그 초과의 컴퓨팅 디바이스들(예를 들어, 컴퓨터 시스템(120))로 구현될 수 있으며 및/또는 그에 의해 수행될 수 있다. 추가로 또는 대안적으로, 도 2a에 도시되는 예시적인 방법의 임의의 및/또는 모든 단계들은 실행될 때, 하나 또는 그 초과의 컴퓨팅 디바이스들로 하여금 예시적인 방법을 수행하게 할 수 있는 컴퓨터-실행가능한 명령들로서 컴퓨터-판독가능한 매체에 저장될 수 있다.
[0066] 단계(221)에서, 복수의 포지션 값들이 수신될 수 있다. 예를 들어, 단계(221)에서, 컴퓨팅 디바이스(예를 들어, 컴퓨터 시스템(120))는 복수의 포지션 값들을 수신할 수 있다. 그와 같은 포지션 값들은 상술한 포지션 데이터와 유사한 포지션 데이터를 포함할 수 있고 및/또는 그 포지션 데이터로 구성될 수 있다. 예를 들어, 포지션 데이터는 하나 또는 그 초과의 WiFi 트레이스들, 움직임 분류들, 스텝 카운트들, 방향 정보, 음성 지문들, 및/또는 다른 포지션 데이터 및/또는 등을 포함할 수 있다.
[0067] 단계(222)에서, 하나 또는 그 초과의 연속하는 도보 세그먼트들이 식별될 수 있다. 하나 또는 그 초과의 양상들에 따라, "도보"는 이하에 더 논의되는 바와 같이, 움직임 분류기의 출력 및/또는 WiFi 측정들에서의 연속적인 변경에 의해 측정된 바와 같은 움직임을 지칭할 수 있으며, "연속적인"은 제 1 임계값(예를 들어,
Figure 112014065486558-pct00010
)보다 크고, 제 2 임계값(예를 들어,
Figure 112014065486558-pct00011
)보다 긴 임의의 인터럽션(들)이 없는 전체 지속 시간을 갖는 움직임을 지칭할 수 있다. 따라서, 상기에 논의된 예에 계속하여, 컴퓨팅 디바이스는 예를 들어, 수신된 복수의 포지션 값들에 기초하여 하나 또는 그 초과의 연속적인 도보 세그먼트들을 식별할 수 있다.
[0068] 단계(223)에서, 측정들의 중심들 중 하나 또는 그 초과의 트리들이 발생될 수 있다. 예를 들어, 단계(223)에서, 컴퓨팅 디바이스는 제 1 식별된 연속하는 도보 세그먼트에 관하여 행해지는 측정들에 대한 중심들의 제 1 트리 및 제 2 식별된 연속하는 도보 세그먼트에 관하여 행해진 측정들에 대한 중심들의 제 2 트리를 발생시킬 수 있다. 하나 또는 그 초과의 배치들에서, 중심들의 각 트리는 복수의 레벨들을 포함할 수 있다. 중심들 중 하나 또는 그 초과의 트리들을 발생시키는 방법들 및/또는 단계들은 이하에 더 논의된다. 다른 방법들 및/또는 단계들은 중심들 중 하나 또는 그 초과의 트리들을 발생시키는데 이들에 더하여 또는 그 대신에 이용될 수 있다.
[0069] 단계(224)에서, 중심들의 발생된 트리들은 하나 또는 그 초과의 식별된 연속하는 도보 세그먼트들이 동일한 경로를 매칭하는지를 결정하기 위해 비교될 수 있다. 예를 들어, 단계(224)에서, 이하 더 설명되는 바와 같이, 컴퓨팅 디바이스는 (예를 들어, 측정들의 중심들의 발생된 트리들의 대응하는 레벨들을 회귀적으로 비교하는 것과 관련할 수 있는) 경로 매칭을 수행할 수 있다. 추가로 또는 대안적으로, 컴퓨팅 디바이스는 예를 들어, 이하에 더 설명되는 바와 같이, (예를 들어, 중심들의 발생된 트리들의 대응하는 레벨들을 별도로 클러스터링하는 것과 관련할 수 있는) 유사성 클러스터링을 수행할 수 있다.
[0070] 도 2b는 본 개시물의 하나 또는 그 초과의 예시적인 양상들에 따라, 개념적으로 도시되는 경로-기반된 관련 장소를 실내 맵 상에 예시한다. 도 2b에 도시된 바와 같이, 쇼핑 몰(241)은 제 1 스토어(242), 보도(243), 제 2 스토어(244), 제 3 스토어(245), 레스토랑(246) 및 제 4 스토어(247)와 같은 다양한 스토어들, 레스토랑들, 보도들 및/또는 다른 영역들을 포함할 수 있다. 서로 다른 사람들은 쇼핑 몰(241) 주변을 도보할 때 서로 다른 경로들을 취할 수 있다. 예를 들어, 제 1 사람은 경로(250)를 따라 도보할 수 있는 한편(도 2b), 제 2 사람은 경로(251)를 따라 도보할 수 있다(도 2b). 제 1 사람 및 제 2 사람의 궤적들이 일부 방식들에서 서로 다를 수 있더라도, 제 1 사람 및 제 2 사람 둘 다는 쇼핑 몰(241) 주변을 도보한다. 따라서, 쇼핑 몰(241)은 도보가 발생하는 느슨하게 정의되는 구역으로 고려될 수 있으며, 따라서 경로(250) 및 경로(251)는 경로-기반된 관련 장소를 정의할 수 있다.
[0071] 여러 설명된 실시예들에서, 사용자가 도보하는 동안, (스마트폰과 같은) 이동 디바이스의 형태 팩터에서의 컴퓨터 시스템(120)은 사용자에 의해 운반된다. 그러므로 컴퓨터 시스템(120)은 사용자가 영역을 통해 도보하는 경로를 따라 이동한다. 그와 같은 이동 동안, 컴퓨터 시스템(120)은 무선 액세스 포인트(WAP)에 의해 전송되는 무선 신호와 같은, 하나 또는 그 초과의 신호들을 동작(301)에서 측정하며(도 3a), 동작(302)으로 진행한다. 동작(302)에서, 컴퓨터 시스템(120)은 현재 WiFi 측정(예를 들어, 소스의 어드레스와 같이 측정되는 신호의 식별자)에 대한 투플(tuple), 특정 WAP에 대한 WiFi 신호의 강도를 저장하며, 그 후에 동작(303)으로 진행한다. 동작(303)에서, 컴퓨터 시스템(120)은 현재 측정을 형성하기 위해, 측정을 위해 알려지며 식별되는 모든 WiFi 신호들이 측정되었는지를 검사한다. 이러한 스테이지에서, 컴퓨터 시스템(120)은 모든 신호들이 현재 측정을 위해 측정되지 않은 경우에, 동작(301)으로 리턴함으로써, 추가적인 WAP들에 대한 투플들을 형성하기 위해 추가적인 측정들을 행할 수 있다.
[0072] 현재 측정을 위한 모든 신호들이 측정되었을 때, 컴퓨터 시스템(120)은 동작(304)으로 진행하며, 현재 측정의 모든 투플들 및 추가로 예를 들어, 컴퓨터 시스템(120) 내의 (앱, 운영 체제, 구동기, 또는 운영 시스템 하의 전용 소프트웨어와 같은) 소프트웨에 의한 이용을 위해 또는 대안적으로 컴퓨터 시스템(120)이 커플링되는 서버 컴퓨터 내의 소프트웨어에 의한 이용을 위해 하루의 현재 시간의 타임 스탬프를 출력한다. 도 6c에 예시된 바와 같이, 동작(304)에서 출력되는 측정들의 예들은 매 분에서, 예를 들어 시간 9.00 am, 시간 9.01 am 및 시간 9.02 am에서 각각 (예를 들어, 사용자가 큐비클(601)로부터 시작하여 브레이크 룸(602)에서 종료하는, 도 6b에서의 오피스(600)를 통해 경로 "A"를 따라 도보하는 동안) 차례로 연속적으로 행해지는 측정들의 시간적 시퀀스 A1...AI...AN으로서 도 6b 및 6c에 도시된다.
[0073] 여러 실시예들에서, 컴퓨터 시스템(120)은 현재 측정(또는 WiFi 트레이스)에 기초하여, 벡터(또한 "특성 벡터"라 칭함)를 준비하기 위해 프로그램된다. 그와 같은 벡터의 차원은 측정되는 WiFi 신호들의 소스들의 수에 기초하여, 컴퓨터 시스템(120)에 의해 자동으로 선택될 수 있으며, 각 신호의 수신된 신호 강도 표시자(RSSI) 값은 벡터에서의 차원의 값으로서 이용된다. 그와 같은 실시예들에서, 측정될 WiFi 신호가 감지되지 않을 때, 컴퓨터 시스템(120)은 벡터에서의 대응하는 엘리먼트를 가능한 최저 RSSI 값(즉, RSSI 값들의 범위의 최소값)으로 설정하도록 프로그램될 수 있다.
[0074] 여러 실시예들에서, 동작(304)에서의 측정의 출력 후에(및/또는 벡터의 발생 후에), 컴퓨터 시스템(120)은 동작(305)으로 진행한다. 동작(305)에서, 일부 실시예들의 컴퓨터 시스템(120)은 그 후에 (A) 막 측정된 신호들에서의 변경 또는 (B) 미리 결정된 시간 기간(예를 들어, 1분에 한번), 또는 (C) 이들 2개의 조건들 (A) 및 (B)의 조합을 대기한다. 동작(305)에서의 조건 (A)의 일부 예들에서, 컴퓨터 시스템(120)은 변경이 있었는지 여부를 결정하기 위해, 측정들에 기초하여 (상술한 바와 같이) 형성된 벡터들을 비교하도록 유사성 측정 또는 비유사성의 거리를 획득하기 위해 유사성 함수를 실행할 수 있다.
[0075] 도 6c에 예시되는 예에서, 명백해지는 바와 같이, 무선 신호들의 측정들이 매 15초, 또는 매 5분과 같은 다른 시간 간격들로 이루어질 수 있으며, 그와 같은 시간 간격은 예를 들어, 측정을 행하는 시간에서 컴퓨터 시스템(120)에 이용가능한 배터리 전력에 기초하여, 일부 실시예들에서 변화할 수 있지만, 상기 측정들은 주기적으로, 예를 들어 매 1분에 한번 행해진다. 일부 실시예들에서, 다수의 측정들 사이에 변경이 검출되지 않을 때, 동작(305)은 (도 6c에 도시된 바와 같은) 중심을 획득하기 위해 다수의 측정들을 이용할 수 있으며, 중심은 본원에 설명된 바와 같은 장소를 식별하는데 이용될 수 있다.
[0076] 측정들 사이에 변경이 검출될 때, 컴퓨터 시스템(120)은 예를 들어, 유사성에 관한 임계값의 이용에 의해(예를 들어, 도 4b를 참조), 변경이 상당한지 여부를 평가하며, 그리고 그렇다면, 컴퓨터 시스템(120)은 (상술한) 동작(301)으로 리턴한다. 도 4b에 예시되는 타입의 임계값들은 일부 애플리케이션들에 대해 사전정의될 수 있다(예를 들어, 실험 데이터에 기초하여 설정될 수 있는 상수들). 다른 실시예들에서, 도 4b의 임계값들은 (예를 들어, 최적의 결과들을 획득하기 위한 최적화에 기초하여 도출되는) 동적일 수 있어서, 임계값들은 컴퓨터 시스템(120)에서의 서로 다른 애플리케이션들에 대해 서로 다를 수 있다. 예를 들어, 신호/측정의 잡음(예를 들어, 시간에 걸친 잡음)이 낮을 때(예를 들어, 다른 상수 미만), (예를 들어, 도 4b를 참조) 신호 변경을 검출하기 위해 이용되는 유사성에 관한 동적 임계값은 컴퓨터 시스템(120)의 특정 실시예들에서, 최적화 방법의 이용에 의해 릴랙스될 수 있다. 동적 임계값들의 이용은 계산 및/또는 측정들을 요구할 수 있으며, 이는 컴퓨터 시스템(120)의 배터리를 소모시키는 결함을 갖는다.
[0077] 일부 실시예들에서, 관련 장소는 포인트("중심 포인트") 주변에 유사한 충분히 많은 수의 측정들을 발견하는데 있어서 프로세서(100)에 의해 식별되며 유사한 라벨들 및/또는 시간적 시퀀스에서의 발생과 같은 추가적인 기준들의 세트를 더 충족시킨다. 일부 실시예들에서, 무선 액세스 포인트들(WAPS)의 수신된 신호 강도(RSSI)의 측정들은 다음의 의미에서 유사성 값을 결정하기 위해 이용된다: 측정들의 세트가 정해지면, 서로에 대해 이들 측정들이 얼마나 유사한지이다. 유사성이 실제 세상에서 비-선형 공간들에 걸쳐 (예를 들어, 빌딩에서의 하나 또는 그 초과의 벽들에 걸쳐) 정의될 수 있음에 따라, 막-설명된 유사성 값은 실제 세상에서의 물리적 거리보다 더 일반적임을 주목한다.
[0078] 상기에 주목된 바와 같이, 일부 실시예들은 n개의 엘리먼트들의 벡터들을 준비하기 위해 WiFi 신호들의 측정들을 이용하며, 각 엘리먼트(또한 "차원"으로 지칭됨)는 (예를 들어, 도 6c에 예시된 바와 같은) WiFi 신호의 RSSI를 나타내며, 이들 벡터들은 그 후에 예를 들어, 유사성 함수를 이용하여 비교된다. 일부 실시예들에서 그와 같은 벡터에 포함될 수 있는 추가적인 기준들의 일 예는 예를 들어, 모든 WAP들이 서로 유사한 응답 신뢰성에 응답하는지 여부를, WiFi 신호의 소스, 즉 무선 액세스 포인트(WAP)의 응답 레이트에 기초한다. 그러므로, 추가로 또는 대안적으로, 여러 실시예들은 이하에 설명된 바와 같은, 경로의 세그먼트("도보 세그먼트"라 칭해짐)에서 멈추지 않고서 사용자가 걸을 때 행해지는 측정들에 기초하여, "경로" POR이라 칭해지는, 새로운 타입의 관련 장소(POR)를 이용한다.
[0079] 도 3a를 참조하면, 설명된 동작(304)에서의 현재 측정의 출력은 프로세서(들)(100)에 의해 수행되는 동작(311)에서 수신된다. 그러므로, 프로세서(들)(100)의 여러 실시예들은 사용자의 경로에서의 연속하는 도보 세그먼트들에 대응하는 일련의 연속적으로 변화하는 신호들의 측정들, 관련 장소(POR)의 모델로서 이용하는 메커니즘을 구현한다. 일부 실시예들 중 하나 또는 그 초과의 프로세서(들)(100)는 컴퓨터 시스템(120)에 포함될 수 있으며, 실시예에 따라 일부 프로세서(들)(100)는 컴퓨터 시스템(120)이 커플링되는 서버 컴퓨터에 포함될 수 있다.
[0080] 도 3a에 예시되는 타입의 여러 실시예들에서, 다른 실시예들에서 상기에 주목된 바와 같이 그와 같은 소프트웨어의 피스들이 서로 다른 프로세서들(100)에 의해 실행될 수 있더라도, 동작(304)에서의 출력은 한 피스의 소프트웨어(또는 "앱")의 실행에 의해 이루어지며 동작(311)에서의 수신은 다른 피스의 소프트웨어의 실행에 의해 이루어진다 ― 그 둘 다가 단일 프로세서(100)에 의해 실행됨 ―. 동작(311)에서의 현재 측정을 수신할 때, 프로세서(들)(100)는 컴퓨터 시스템(120)을 운반하는 사용자가 실제로 경로를 따라 걷는 것을 표시하는, 특정의 사전정의된 조건들이 충족되는지 여부를 검사한다.
[0081] 도 3b에 도시된 바와 같이, 특정 실시예들이 차례로 시간적으로 연속적으로 행해지는 측정들의 유사성에 대해 검사하더라도, 검사되는 사전정의된 조건들은 실시예에 따라 달라질 수 있다. 구체적으로, 도 3b는 수직 Y-축이 연속하는 WiFi 측정들의 유사성을 나타내며 수평 X-축이 시간을 나타내는 그래프를 예시한다. 도 3b에서, 시간 간격(306A) 동안 시간적으로 연속적으로 행해지는 측정들의 그룹은 서로에 대하여, 시간 간격(307A)에서의 측정들과 같은 다른 측정들에 대하여 높은 유사성을 갖는다. 그러므로, 그와 같은 실시예들에서, 연속적인 측정들 사이의 높은 유사성에 기초하여, 시간 간격(306A) 동안 (그 내부 주변에서 이동하더라도) 사용자가 단일 장소에 위치된다는 결정이 컴퓨터 시스템(120)에 의해 이루어진다. 다른 시간 간격들(307A, 307B, 307C 및 307D)(도 3b를 참조)에서, 컴퓨터 시스템(120)은 너무 낮은 연속적인 측정들 사이의 유사성에 기초하여, 사용자가 장소들 사이에 이동하는 것으로 결정한다. 따라서, 일부 실시예들에서, 각 측정이 행해지는 시간은 본원에 설명된 바와 같은 관련 장소(POR)를 자동으로 발견하거나 인식하는데 있어서, 컴퓨터 시스템(120)에 의해 이용된다.
[0082] 도 3b에서, (공간적으로) 높은 유사성의 측정들을 갖는 4개의 시간 간격들(306A, 306B, 306C 및 306D)이 예시된다. 따라서, 이들 4개의 시간 간격들(306A-306D)이 사용자에 의한 4번의 방문들로서 컴퓨터 시스템(120)에 의해 표현된다. 예를 들어, 시간 간격(306A) 동안 제 1 방문에서 서로에 대하여 시간적으로 순차적으로 이루어지는 측정들의 제 1 서브세트는 사용자의 홈에 있을 수 있고, 시간 간격(306B) 동안 제 2 방문에서 서로에 대해 시간적으로 순차적으로 이루어지는 측정들의 제 2 서브세트는 홈으로부터 직장으로의 사용자의 경로 상 커피숍에 있을 수 있으며, 시간 간격(306C) 동안 제 3 방문에서 서로에 대하여 시간적으로 순차적으로 행해지는 측정들의 제 3 서브세트가 사용자의 오피스에 있을 수 있으며, 시간 간격(306D) 동안 제 4 방문에서 서로에 대하여 시간적으로 순차적으로 행해지는 측정들의 제 4 서브세트는 레스토랑에 있을 수 있다.
[0083] 이전의 단락에서 설명되는 타입의 각 방문은 방문 장소 모델(VPM)로서, 일부 실시예들의 컴퓨터 시스템(120)의 메모리(110)(도 4a)에서 모델링된다. 방문 장소 모델들의 구성은 일부 실시예들에서의 잡음을 감소시킨다. 그러므로, 컴퓨터 시스템(120)의 여러 실시예들에서, (다른 실시예들이 WiFi 측정들 자체를 클러스터할 수 있더라도) 잡음을 감소시키기 위해 클러스터되는 것은 이들 방문 장소 모델들(VPMs)이다. 방문 장소 모델들의 이용은 일부 실시예들에서 POR들의 추출 동안 레버리지되며 컴퓨터 시스템(120)이 예를 들어, 서로 근처에 있는 2개의 오피스들 사이에서 구별되게 할 수 있다. 따라서, 본원에 설명된 바와 같은 방문 장소 모델들의 이용은 2-단계 프로세스의 더 우수한 성능을 유도한다: VPM들의 구성의 제 1 단계, 및 VPM들 상에 유사성 클러스터링의 제 2 단계.
[0084] 도 3c를 참조하면, 프로세서(100)의 일부 실시예들은, 현재 측정과 이전 측정 사이의 시간 차이가
Figure 112014065486558-pct00012
보다 큰지 여부를 (동작(312)에 따라) 검사하도록 그리고 그렇지 않으면 현재 경로에서의 현재 측정을 저장하기 위해 동작(319)으로 진행하며 그 후에 동작(311)으로 리턴하도록 프로그램된다. 동작(312)에서의 응답이 예이면, 프로세서(100)는 현재 경로의 전체 지속 시간이
Figure 112014065486558-pct00013
보다 큰지 여부를 검사하도록 동작(313)으로 진행하고 그렇지 않으면 단순히 현재 경로를 널(null)로 재초기화하는 동작(318)으로 진행하며 동작(311)으로 리턴한다. 사용자의 도보가 매우 작아서 무시할 수 있으며 분석할 가치가 없을 때 (이하에 설명되는 동작(314)에서) 식별이 수행되지 않도록 동작(313)이 일부 실시예들에서 수행된다.
[0085] 따라서, 몇몇 실시예들은, 임의의 2개의 연속적으로 행해진 측정들 사이에
Figure 112014065486558-pct00014
보다 긴 인터럽션을 갖지 않고, 측정들의 서브세트의 시간적 시퀀스에서의 제 1 및 최종 측정 사이에 측정된 바와 같은
Figure 112014065486558-pct00015
보다 많이 지속하는 사용자의 도보 세그먼트의 전체 지속 시간에 기초하여, 사용자가 걷고 있는 것으로 결정한다. 상기에 주목된 바와 같이, 막-설명된 조건들은 도 3c에서의 동작들(312 및 313)에 의해 예시된 바와 같이, 현재 측정을 수신하는 프로세서(들)(100)에 의해, 일부 실시예들에서 검사된다.
[0086] 동작(313)에서의 응답이 예일 때, 프로세서(100)는 예를 들어, 사용자가 걸을 수 있는 경로의 세그먼트를 따라 측정되는, 서로에 대하여 시간적으로 순차적으로 발생하는 측정들의 서브세트(또는 그룹)를 식별하기 위해 동작(314)을 수행하며, 그에 의해 연속적인 도보 세그먼트를 식별한다. 서브세트에서의 측정들은 적어도 서브세트에 포함되는 모든 측정들의 유사성의 측정의 값에 관한 테스트를 충족시키기 위해, 동작(314)에서 식별된다. 프로세서(100)의 일부 실시예들은 서브세트를 형성하는 것과 같이 측정들 A1...AI...AN을 식별하기 위해, 유사성의 측정치(또는 유사성 속성)로서, 각 측정 AI 상의 유사성 함수(180)의 실행에 의해 획득되는 값(도 6c) 및 (경로 A 상의 측정들 A1...AI...AN의 시간적 시퀀스의) 중심(
Figure 112014065486558-pct00016
)을 이용할 수 있다.
[0087] 구체적으로, 일부 실시예들에서, 중심
Figure 112014065486558-pct00017
에 대한 각 측정 AI의 유사성의 측정의 값은 미리 결정된 임계값(최소 유사성)에 대해 테스트되며, 테스트가 충족될 때만 각 측정 AI가 서브세트에 포함된다. 유사성 함수(180)(도 4a)의 예들은 Tanimoto, Dice, Jaccard 등이다. 일부 실시예들은 비유사성을 표시하는 거리 메트릭을 이용하며, 이 거리는 다음과 같이 획득된다: 1-유사성. 따라서, 본원에 설명된 타입의 여러 방법들에서, 중심을 갖는 장소의 식별은 측정, 예를 들어 도 4c에 예시되며 이하에 설명된 바와 같이 서로에 대하여 시간적으로 순차적으로 행해지는 측정들이 측정의 시간에 기초하여 특정 측정들만을 서브세트에 포함시키는데 기초하여 수행된다.
[0088] 동작(314)에 관하여 식별되는 측정들의 서브세트는 그 후에 동작(315)에서 비-일시적 메모리(110)에 저장되고, 그 후에 모든 서브세트들이 식별되었는지 여부를 검사하는 동작(316)이 후속되며 그렇지 않으면 제어는 (상술한) 동작(312)으로 리턴한다. 유사성의 측정의 값에 관한 테스트를 충족시키는 모든 서브세트들이 식별될 때, 동작(316)에서의 응답은 예이며, 제어는 동작(317)으로 옮기며 여기서 서브세트들이 이용된다. 일부 실시예들에서, 새로운 관련 장소를 식별하기 위해, 동작(317)은 (예를 들어, 도 5a 및 5d에 예시된 바와 같은 클러스터링에 의해) 추가적인 측정들의 서브세트들과 동작(314)으로부터 기인하는 측정들의 각 서브세트를 비교한다. 특정 실시예들에서, 동작(317)은 알려진 관련 장소를 식별하기 위해, 동작(314)으로부터 기인하는 측정들의 각 서브세트를 (예를 들어, 도 5e에 예시된 바와 같은) 측정들의 사전-컴퓨팅된 모델과 비교한다. 여러 실시예들에서, 동작(317)은 예를 들어, 2개의 경로들이 서로 교차하는 장소를 식별하기 위해, 동작(314)으로부터 기인하는 측정들의 각 서브세트를 추가적인 경로에서 행해지는 추가적인 측정들과 비교한다. 따라서, (예를 들어, 경로 기반된 관련 장소를 식별하기 위해) 동작(317)에서의 측정들의 서브세트들의 특정 이용은 실시예에 따르며, 그와 같은 이용 후에 제어는 (상술한) 동작(318)으로 이동한다.
[0089] 동작(314)에서의 측정들의 서브세트들을 식별하는데 있어서, 프로세서(100)의 일부 실시예들은 경로의 모델이 빌트되는 최소 스케일로서 최소 반경
Figure 112014065486558-pct00018
을 이용한다. 일부 실시예들에서, 동작(314)은 경로를 따라 측정되며 서로 유사한 측정들의 세트로 시작하며, 스테이지 부분분할이 중단하는
Figure 112014065486558-pct00019
보다 적게 인접한 서브세트들에서의 측정들이 분리되는 스테이지에 도달될 때까지, 반복적으로 (및 일부 실시예들에서 회귀적으로) 세트를 서브세트들로 부분분할한다. 다른 실시예들에서, 동작(314)은 각 새로운 측정이 수신됨에 따라 반복적으로 인보크되며(invoked), (상술한) 동작(314)에 관하여 유사성 테스트를 충족시키기 위해 식별되는, 메모리(110)에 현재 저장되는 측정들의 서브세트에 새로운 측정이 추가되는지 아닌지를 결정한다.
[0090] 동작(314)에서 식별되는 측정들의 서브세트는 시간에 걸쳐 수집되는 WiFi 트레이스들의 시퀀스를 구성한다. 프로세서(100)의 일부 실시예들에서의 서브세트의 수집의 시간 기간은 미리 결정된 임계값
Figure 112014065486558-pct00020
보다 크도록 설계된다. 실시예에 따르면, WiFi 트레이스들 대신에 또는 그에 더하여, 컴퓨터 시스템(120)은 스텝 카운트 및 방향(방향 변경들의 시퀀스)에 관한 정보를 획득하기 위해 인-빌트(in-built) 움직임 센서들을 이용할 수 있다. 따라서, 다른 실시예들이 움직임 분류, 스텝 카운팅, 방향 정보, 음성 지문들 등과 같은 다른 측정들을 통합하더라도, 여러 실시예들은 사용자의 경로를 따라 행해지는 (WiFi 트레이스들과 같은) 특정의 측정들을 인식하고 세그먼트한다.
[0091] 일부 실시예들에서, (상기에 설명된) 동작(312)을 수행하기 위해 소프트웨어를 실행하는 하나 또는 그 초과의 프로세서들(100)은 경로에서 이동하면서 이동 디바이스에 의해 행해지는 측정들의 세트 중에서, 경로를 따라 서로에 대하여 순차적으로 발생하는 측정들의 서브세트를 반복적으로 식별하기 위한 수단을 구성하며, 서브세트에서의 측정들은 적어도 서브세트에 포함되는 모든 측정들의 유사성의 측정 값에 관한 테스트를 충족시키기 위해 식별된다. 더욱이, 그와 같은 실시예들에서, (상기에 설명된) 동작(315)을 수행하기 위해 소프트웨어를 실행하는 하나 또는 그 초과의 프로세서들(100)은 비-일시적 메모리에 저장하기 위한 수단을 구성하며, 적어도 각 서브세트는 반복적으로 식별하기 위한 수단에 의해 식별된다.
[0092] 본원에 설명되는 타입의 여러 실시예들에서, 동작(314)에서 식별되는 측정들의 서브세트는 관련 장소(POR)로의 사용자의 방문을 식별하기 위해 컴퓨터 시스템(120)에 의해 이용된다. 장소는 예를 들어, 오피스에서의 오피스 룸(204)(도 1b), 또는 홈에서의 거실, 또는 스토어(244)의 섹션(도 2b)인, 빌딩에서의 룸의 치수들을 갖는 실제 세상에서의 (예를 들어, 원 또는 정사각형으로서) 공간의 확장을 갖는 물리적 위치를 나타낸다. 그와 같은 장소는 사용자가 동일한 장소에 있는지 여부를 판단하기 위해, (예를 들어, WiFi 트레이스들의) 하나 또는 그 초과의 측정들의 이용에 의해 컴퓨터 시스템(120)에 의해 식별될 수 있다.
[0093] 일부 실시예들의 컴퓨터 시스템(120)은 측정들이 서로 충분히 유사할 때, 예를 들어, (Tanimoto와 같은 유사성 함수(180)를 실행함으로써 획득되는) 거리 메트릭이 예를 들어, 0.1보다 작은 거리(또는 0.9보다 큰 유사성)인, 충족되는 측정들 사이의 비유사성에 관한 테스트를 표시할 때, 임의의 타입의 맵 또는 레이아웃 또는 다른 지리적 정보의 이용없이, 사용자가 동일한 장소에 있는 것으로 판단한다. 컴퓨터 시스템(120)은 그 후에 중심(예를 들어, 중심
Figure 112014065486558-pct00021
)을 계산함으로써 유사한 측정들(예를 들어, 도 6c에서의 측정들 A1...AI...AN)을 어그리게이트할 수 있다. 도 6a에 도시되는 예시적인 예에서, 단일 장소는 각 WAP에 대해, 다수의 측정들의 신호 강도들을 (산술 평균을 행함으로써) 평균화함으로써 획득되는 중심
Figure 112014065486558-pct00022
를 갖는 것으로 식별된다.
[0094] 상기에 주목된 바와 같이, 본원에 설명되는 타입의 여러 실시예들은 (단지 측정들만이 정의되며, 또한 측정 공간이라 칭해지는 공간에서의 비유사성 메트릭으로서) 측정들 사이의 거리를 획득하기 위해 유사성 함수를 이용하여 무선 신호들(및/또는 그들의 중심들)의 측정들의 비교에 의해서만 이들 실시예들에서 식별되는, 특정 장소를 컴퓨터 메모리에서 식별하기 위해, 맵이나 레이아웃 또는 플로어 플랜(floor plan), 또는 임의의 다른 그와 같은 지리적 정보를 이용하지 않는다. 예시적인 예에서, 측정되는 무선 신호들은 기차역에서 흔하게 들리는 사운드들(예를 들어, 기차에 의해 불어지는 호른)과 같은 사운드들이다. 막-설명된 예에서, 기차역에 관한 (맵, 레이아웃 또는 플로어 플랜과 같은) 지리적 정보는 기차역과 같은 측정 공간에서(사운드들의 공간에서) 장소를 자동으로 식별하며 및/또는 (사운드 공간에서) 2개의 장소들을 유사한 것으로 결정하는 여러 실시예들에 이용되지 않는다. 막-설명된 예의 여러 실시예들은 (서로 다른 주파수들에서 오디오 신호들의 강도들의 벡터들인) 사운드 측정들을 비교하기 위해 유사성 함수를 이용함으로써, 기차역으로서 확장된 장소를 정의하도록, 목록에 (사운드 공간에서 식별되는) 그와 같은 장소들을 저장한다. 대안적인 실시예들은 예를 들어, 복도 또는 욕실로부터 사용자의 오피스를 분리하는 벽의 반대 측면들 상에, 실제 세상에서 서로 다른 물리적 위치들에서 발생하는 장소들을 식별하기 위해 그와 같은 무선 신호 측정들과 조합하여 (예를 들어, 도시의 스트리트들의 레벨에서의) 실외 맵 및/또는 실내 맵(또는 레이아웃) 및/또는 임의의 다른 지리적 정보 및/또는 포지션(예를 들어, GPS로부터의 위도 및 경도)을 이용한다.
[0095] 일부 실시예들에서의 방문은 사용자가 정지상태에 있지 않을 수 있으며 대신에 동일한 장소로서 식별되는 공간 내에서 주변을 도보할 수 있더라도, 사용자가 계속해서 동일한 장소에 남아있는(즉, 중심으로부터 (측정들의 비유사성을 표시하는) 미리 결정된 거리 내에 있는) 시간의 간격으로서 정의된다. 그러므로, 여러 실시예들에서, 관련 장소(POR)는 사용자가 적어도
Figure 112015068661434-pct00023
번(예를 들어, 2번) 방문하며 그들
Figure 112015068661434-pct00024
방문들의 각각은 시간
Figure 112015068661434-pct00025
(예를 들어, 5분)의 최소 지속 시간을 초과하는 장소(예를 들어, 측정들의 중심 및 측정들 사이의 비유사성의 거리)인 것으로 정의된다.
[0096] 실시예에 따르면, 사용자는 장소가 POR로서 컴퓨터 시스템(120)에 의해 분류되기 전에
Figure 112014065486558-pct00026
번보다 많이 장소를 방문해야 할 수 있다. 이것은 방문들 중 하나 또는 그 초과가 시간
Figure 112014065486558-pct00027
의 최소 지속 시간을 초과하지 않은 경우이다. 양쪽 임계값들은 사용자 경우에 따라 조정가능하다. 특정 실시예들에서, 재방문은 알려진 POR(예를 들어, 이전에 방문된 장소)에 대한 사용자에 의한 임의의 방문인 것으로 컴퓨터 시스템(120)에 의해 결정된다. 일부 실시예들에서 재방문의 정의는 (초기에, 자동으로 사용자의 방문을 발견하기 위해, 최소 지속 시간이 그와 같은 실시예들에서 요구되더라도) 재방문을 구성하기 위해, 임의의 시간의 최소 지속 시간에 대해 사용자의 방문이 발생할 것을 요구하지 않음을 주목한다.
[0097] 본원에 설명된 타입의 여러 실시예들에서, 메모리(110)(도 4a)에서의 컴퓨터 시스템(120)에 의해 준비되는 장소 모델은 장소의 특정의 미리 결정된 특성을 캡처한다. 구체적으로, 장소를 식별하기 위해 이용되는 WiFi 측정들로부터 컴퓨터 시스템(120)의 일부 실시예들에 의해 하나 또는 그 초과의 특성들(예를 들어, 중심)이 추출되며, 이들 특성들은 그 후에 사용자에 의한 재방문 동안 동일한 장소를 인식하기 위해 이용된다. 컴퓨터 시스템(120)의 특정 실시예들은 다음과 같이 3개 타입들의 장소들을 모델링한다: 관련 장소(POR 장소 모델), 이전에 방문된 장소(방문 장소 모델), 및 다수의 측정들의 이용에 의해 식별되는 장소(순간 장소 모델). 구체적으로, 여러 그와 같은 실시예들에서, POR 장소 모델(PPM)은 POR을 특성화하기 위해 컴퓨터 시스템(120)에 의해 이용된다. 특정 실시예들에서, 방문 장소 모델(VPM)은 사용자의 방문을 특성화하기 위해 컴퓨터 시스템(120)에 의해 이용된다. 순간 장소 모델(IPM)은 순시적으로 수집된 WiFi 측정들로부터, 컴퓨터 시스템(120)의 일부 실시예들에서 도출되며 사용자의 현재 위치의 특성들을 캡처한다. 그러나, 기술적 관점으로부터, 이들 3개의 장소 모델들은 장소가 컴퓨터 시스템(120)에 의해 모델링되는 이유 및 방법에서 유사하다.
[0098] 특정 실시예들에서, 컴퓨터 시스템(120)에서의 프로세서(100)는 오로지 WiFi 측정들과 같은, 생(raw) 센서 데이터의 스트림을 분석함으로써 비감독된 방식으로 새로운 장소들을 식별하기 위해, 컴퓨터 시스템(120)에서 발견 시스템(130)(도 4a)을 구현하도록 미리 결정된 소프트웨어를 실행한다. 많은 실시예들의 발견 시스템(130)은 실내 맵, 또는 레이아웃, 또는 플로어 플랜 상에서 장소의 공간 확장의 크기 또는 장소의 지리적 위치에 관한 임의의 사전 지식을 이용하지 않는다. 더욱이, 일부 실시예들에서, 그와 같은 생 센서 데이터는 발견 시스템(130)에 대한 입력을 위해 세그먼트되거나 주석이 달려있지 않으며, 장소들 및 방문들에 관한 지상 실측정보(예를 들어, 맵 데이터)는 발견 시스템(130)에 이용가능하지 않다. 그와 같은 실시예들의 발견 시스템(130)은 대부분 필터(139)(도 4a)에 의해, 부정확성들을 제거하기 위해 필터링될 수 있는 생 센서 데이터에 대해 동작한다. 일부 실시예들의 발견 시스템(130)의 출력은 그들의 관련된 POR 장소 모델들을 갖는 관련 장소들의 세트이다. 이들 POR 장소 모델들은 그 후에 인식 시스템(150)(도 4a를 참조)에 의한 입력으로서 이용된다.
[0099] 여러 실시예들에서, 발견 시스템(130)(도 4a)은 다음과 같은 2 단계 프로세스를 수행하는 모듈들(131 및 132)을 포함한다. 프로세스의 제 1 단계에서, 발견 시스템(130)의 모듈(131)은 그들의 방문 장소 모델들을 포함하는 시간
Figure 112014065486558-pct00028
의 최소 지속 시간을 갖는 모든 방문들을 추출한다. 프로세스의 제 2 단계에서, 발견 시스템(130)(도 4a)의 모듈(132)은 이전에 추출된 방문 장소 모델들을 클러스터링함으로써 POR들을 추출한다. 클러스터들은 다른 모듈(133)에 의해 분석되며
Figure 112014065486558-pct00029
방문 장소 모델들(각각 방문들)보다 많이 포함하는 각 클러스터는 POR, 예를 들어, 상술한 경로-기반된 POR 또는 확장된 POR로서 라벨링된다. 이러한 방식으로, 발견 시스템(130)은 POR 장소 모델들(135)(도 4a)의 세트를 발생시킨다. 일부 실시예들에서, 발견 시스템(130)은 본원에 설명된 바와 같은 POR의 정의에 기초하여, 클러스터에서의 방문 장소 모델들의 수 및 방문들의 지속 시간에 관한 제약들을 구현한다. 더 많은 측정들이 발견 시스템(130)에 의해 수신됨에 따라, POR 장소 모델들(135)의 세트는 전형적으로 시간에 걸쳐 성장하며, 이는 더 많은 장소들이 POR들인 것으로 발견되게 한다.
[00100] 방금 설명된 바와 같이 2 단계들로의, 발견 시스템(130)(도 4a)에 의한 클러스터링의 구현에서의 분리는 여러 장점들을 제공한다. 2 단계 클러스터링 프로세스의 제 1 단계는 시간적 클러스터링에 기초하며 방문들 뿐 아니라 대응하는 방문 장소 모델들(VPMs)을 추출한다. 2 단계 프로세스의 제 2 단계는 관련 장소들(PORs)을 결정하기 위해 유사성에 기초하여, 제 1 단계로부터 수신되는 방문 장소 모델들(VPMs)을 클러스터링한다. 2-단계 클러스터링 프로세스는 에러를 발생시킬 수 있는, 생 WiFi 측정들 상에 직접 유사성 클러스터링이 행해질 수 있는 단일 단계 프로세스보다 개선되는 것으로 생각된다. 2개의 이웃하는 오피스들이 방문되는 예에서, 생 측정들(예를 들어, WiFi 트레이스들)은 양쪽 오피스들의 전체 구역에 걸쳐 동일하게 분배된다. 본 예에서, 단일 단계 클러스터링 프로세스는 2개의 오피스들로부터의 측정들을 하나의 클러스터로 병합할 수 있으며, (양쪽 오피스들을 함께) 하나의 장소를 식별할 수 있다. 이러한 에러는 오로지 공간 특징들, 예를 들어 위치 특징들(위도 및 경도)에 기초하여, 단일 단계로 클러스터링을 수행하는 것으로부터 발생한다.
[00101] 그러나 제 1 단계에서 VPM들을 식별하기 위해 일시적 클러스터링후에, 제 2 단계에서 POR들을 식별하기 위해 유사성 클러스터링이 후속하는 발견 시스템(130)(도 4a)에 의한 상술한 2 단계 클러스터링 프로세스는 WiFi 측정들로부터 추출되는 특정의 추가적인 정보를 이용한다. 구체적으로, 발견 시스템(130)(도 4a)은 시간적 클러스터링의 제 1 단계에서의 추가적인 정보로서, 각 WiFi 측정의 수집 시간을 이용한다. 그러므로, 일부 실시예들의 발견 시스템(130)은 단일 방문 동안 수집된 것으로서 제 1 단계에서, 공간 및 시간 둘 다에서 유사한 2개의 WiFi 측정들을 프로세싱하며, 단일 VPM을 발생시키기 위해, 단지 이들 2개의 WiFi 측정들을 함께 클러스터링한다. 다수의 VPM들은 그 후에 클러스터링의 제 2 단계에서 서로 비교되며, 비유사한 경우에 병합되지 않는다(예를 들어, 2개의 이웃하는 오피스들이 별개의 POR들인 것으로 발견된다).
[00102] 일부 실시예들의 발견 시스템(130)은 후속하는 3개의 특징들 중 하나 또는 그 초과를 구현한다. 먼저, 장소
Figure 112014065486558-pct00030
는 장소
Figure 112014065486558-pct00031
에 의해 표현되는 실제 세상에서 획득되는 데이터 포인트들(또는 WiFi 측정들)에서 포함되는 특성 정보를 캡처하는 장소 모델 에 의해 컴퓨터 시스템(120)의 일부 실시예들에서 식별된다. 둘째로, 장소 모델
Figure 112014065486558-pct00033
는 컴퓨터 시스템(120)에 구축되며 특정 실시예들에서 생 데이터 포인트들(또는 WiFi 측정들)에 기초하여 업데이트된다. 세째로, 2개의 장소 모델들의 유사성을 평가하기 위해 여러 실시예들의 컴퓨터 시스템(120)에 유사성 함수
Figure 112014065486558-pct00034
가 이용된다. 이들 3개의 특징들의 이용에 의해, 일부 실시예들의 발견 시스템(130)은 이하에 설명된 바와 같이, 확장된 POR들, 경로-기반된 POR들을 발견하며, 또한 재방문들을 인식한다.
[00103] 일부 실시예들에서, 발견 시스템(130)(도 4a)은 도 4b에 예시되는 타입의 하나 또는 그 초과의 임계값들을 이용한다. 구체적으로, 발견 시스템(130)은 2개 부분들로 파라미터들을 카테고리화한다: 장소 발견 파라미터들 및 장소 인식 파라미터들. 이들 파라미터들 중 여럿은 관련 장소들(PORs)을 모델링하기 위해 발견 시스템(130)에 의해 이용된다. 더 구체적으로, 관련 장소들의 발견은 발견 시스템(130)에 의해 2 단계들로 분해된다: 제 1 단계는 방문들 및 그들의 대응하는 방문 장소 모델들(VPMs)을 추출하며, 제 2 단계는 방문 장소 모델들(VPMs)을 클러스터링하고, POR들 및 그들의 대응하는 POR 장소 모델들을 추출한다. 이들 2개의 단계들은 도 4c에 예시되는 예를 참조하여, 이하에 설명된다.
[00104] 도 4c의 예에서, 사용자는 다음과 같은 지상 실측 정보 라벨들에 의해 표시되는 시퀀스를 따른다: 홈(410), 커뮤팅(commuting)(420), 직장(430), 커뮤팅(440) 및 그 후에 다시 홈(450). 이상적으로, 발견 시스템(130)은 방문 추출의 제 1 단계의 일부로서 3개의 방문들(예를 들어, 홈(410), 직장(430) 및 홈(450)) 및 POR 추출의 제 2 단계의 일부로서 2개의 POR들(예를 들어, 홈(410, 450) 및 직장(430))을 추출한다. 본 예에서, 그 내부의 측정 타임 스탬프에 의해 식별된 바와 같이, 다수의 WiFi 측정들(411, 412, 413, 414, 415, 416, 417, 418, 421, 422, 423, 424, 431, 432, 433, 434, 441, 442, 451, 452, 453, 454, 455, 456)이 통신 서브시스템(122)(도 4a)으로부터의 시간적 순서로 발견 시스템(130)에 의해 수신된다.
[00105] 발견 시스템(130)은 여러 레벨들(460, 470, 480 및 490)(도 4c)에서 이들 측정들을 프로세싱한다. 구체적으로, 측정들(411-414)은 시간 클러스터링의 하나의 레벨(460)로 전파되고, 이들 노드들이 시간적으로 순차적으로 발생하며 (그들의 측정들이 서로 유사함에 따라) 모두 동일한 장소에 속하기 때문에 노드(461)에 병합된다. 노드(461)는 그 후에 노드(471A)로서, 병합하는 클러스터들의 더 높은 레벨(470)로 전파된다. 유사하게, 레벨(470)에서 노드들(471A 및 471)은 (그들의 중심들이 서로 유사함에 따라) 병합되며, 노드(481)로서 지속 시간-기반된 필터링의 여전히 더 높은 레벨(480)에 전파된다. 레벨(480)에서의 노드들(481, 486 및 489)은 (예를 들어, 5초보다 많은) 충분한 지속 시간을 가지며, 그러므로 각각 노드들(491, 496 및 499)로서, 유사성 클러스터링의 더 높은 레벨(490)로 전파된다. 노드들(491 및 499)은 (도시의 스트리트들의 실척에서 맵들을 사용하는 특정 실시예들에서) 실외 맵 상에 식별될 수 있는 노드(401)를 형성하기 위해, (예를 들어, 동일한 라벨 "홈"을 갖는 것에 기초하여) 병합되는 한편, 노드(496)는 (예를 들어, 다른 라벨 "직장"을 갖는 것에 기초하여) 병합되지 않으며 그 실외 맵 상의 노드(402)로 된다. 따라서, 이 스테이지에서, 2개의 노드들(401 및 402)은 관련 장소들로서 식별되었다(그리고 일부 실시예들에서, 실외 맵, 예를 들어 스트리트-레벨 맵으로 맵핑된다). 노드들이 전파되고 병합되는 방식은 실시예에 의존하며, 여러 그와 같은 실시예들은 이하에 설명된다. 도 4c에서, 노드들의 크기는 노드에 의해 표현되는 데이터 포인트들(또는 WiFi 측정들)의 수를 표시한다. 도 4c에서의 노드들 사이의 화살표들은 데이터의 흐름을 표시한다.
[00106] 일부 실시예들의 발견 시스템(130)은 클러스터 병합 모듈(132) 및 지속 시간 필터링 모듈(133)(도 4a)과 조합하여 시간적 클러스터링 모듈(131)을 이용하여, 순간 장소 모델들로부터 방문 장소 모델들을 추출한다. 구체적으로, 시간적 클러스터링 모듈(131)은 도 5a에서의 의사 코드에 의해 예시된 바와 같이, 데이터 포인트들(또는 WiFi 측정들)로부터의 방문들을 추출한다. 시간적 클러스터링 모듈(131)은 시간의 일-차원 공간에서의 모든 데이터 포인트들을 나타낸다. 이러한 클러스터링 기술은 다-차원 데이터가 일-차원 공간(표)에서 표현되는 데이터베이스 인덱스 이론에서 이용되는 클러스터링 기술인 선형 클러스터링에 기초한다. 이러한 일반적인 사상은 시간 차원을 따른 클러스터링을 수행하기 위해 발견 시스템(130)에 의해 적용된다.
[00107] 일부 실시예들의 발견 시스템(130)은 다음의 제약들이 유지되도록 모듈(131)에서의 시간적 클러스터링을 수행한다: (유사성 함수 및 유사성 임계값
Figure 112014065486558-pct00035
에 관하여) 충분한 유사성을 공유하는 경우에만 그리고 (시간에 관하여) 그들 사이의 데이터 포인트들 모두가 또한 이러한 동일한 노드에 할당되는 경우에 두 개의 데이터 포인트들(또는 WiFi 측정들)은 동일한 노드로 클러스터링된다. 결과적으로, 일부 실시예들에서, 노드는 간격의 지속시간에 걸쳐 적어도 대다수의 데이터 포인트들(즉, > 50%)이 (비유사한 데이터 포인트들이 필터링 아웃되거나, 그렇지 않으면 배제되는) 적어도 특정 유사성을 공유하는 시간의 간격을 나타낸다. 따라서 이 도메인에서 각 시간 간격은 방문을 구성한다.
[00108] 도 4c에서의 레벨(460)은 시간적 클러스터링 모듈(131)의 동작을 예시한다. 구체적으로, 데이터 포인트들(또는 WiFi 측정들)은 그들이 레벨(460)에서의 현재 노드와 유사한지 아닌지에 관하여, 시간적 순서로 평가된다. 예를 들어, 도 4c에서, 새로운 노드(461A)를 형성하기 위해 초기의 측정(411)의 데이터가 레벨(460)로 전파되며, 그 후에 다음의 데이터 포인트(412)는 노드(461A)에 대한 유사성을 위해 검사된다. (임계값
Figure 112014065486558-pct00036
에 관하여) 데이터 포인트가 충분히 유사한 것으로 발견되면, 노드 및 데이터 포인트는 도 4c를 참조하여 이하에 설명된 바와 같이 클러스터되며, 그렇지 않으면 새로운 노드가 시작된다.
[00109] 구체적으로, 도 4c에 표시된 바와 같이, 레벨(460)에서의 제 1 노드(461A)는 제 2 데이터 포인트(412)와 유사한 것으로 발견되며 따라서 이제 2개의 측정들을 나타내는 것을 예시하기 위해 더 크게 도시되는 노드(461B)를 형성하도록 클러스터된다. 노드(461B)의 중심(예를 들어, 2개의 측정들의 WiFi 트레이스들의 벡터 평균)은 그 후에 제 3 데이터 포인트(413)와 비교되며 (예를 들어, 서로로부터 비유사성의 미리 결정된 거리 내에서) 유사한 것으로 발견되어 노드(461C)를 형성하기 위해 클러스터된다. 노드(461C)의 중심은 그 후에 제 4 데이터 포인트(414)와 비교되며, 유사한 것으로 발견되며 따라서 노드(461)를 형성하기 위해 클러스터된다. 다음으로, 노드(461)의 중심은 유사하게 제 5 데이터 포인트(415)와 비교되며 서로 다른 것으로 발견되어 클러스터링되지 않는다. 대신에, 제 2 노드(462)는 제 5 데이터 포인트(415)에 기초하여 레벨(460)에서 시작된다.
[00110] 노드들(461A-461C)은 (시간적으로 3개의 조기의 포인트들에서) 동일한 노드(461)의 3개의 버전들이며, 따라서 이 스테이지에서 레벨(460)에서의 2개의 노드들(461 및 462)이 존재한다. 노드(462)는 다음에 제 6 데이터 포인트(416)와 비교되며 서로 다른 것으로 발견되어 클러스터링되지 않는다. 대신에, 제 3 노드(463A)는 제 6 데이터 포인트(416)에 기초하여 레벨(460)에서 시작된다. 다음에, 노드(463A)는 제 7 데이터 포인트(417)와 비교되며 유사한 것으로 발견되며 따라서 노드(463B)를 형성하도록 클러스터링된다. 그 후에 노드(463B)의 중심은 제 8 데이터 포인트(418)와 비교되며 유사한 것으로 발견되며 따라서 노드(463)를 형성하기 위해 클러스터링된다. 다음으로, 노드(463)의 중심은 제 9 데이터 포인트(421)와 비교되며 서로 다른 것으로 발견되며 따라서 클러스터링되지 않는다. 대신에, 제 4 노드(464)는 제 9 데이터 포인트(421)에 기초하여 레벨(460)에서 시작된다.
[00111] 그러므로, 시간적 클러스터링 모듈(131)(도 4a)은 상술된 방식으로 WiFi 측정들(411-418, 421-424, 431-434, 441-442, 451-456)을 프로세싱하였을 때, 레벨(460)은 메모리(110)에 총 11개의 노드들을 갖는다. 따라서, 시간적 클러스터링으로 인해, 레벨(460)에서의 11개의 노드들은 11개의 방문들을 표시한다(그 일부는 통근 동안 행해지는 측정을 표현하는 노드(464)와 같은, 매우 짧은 방문들일 수 있다). 도 4c의 예에서, 이들 11개의 노드들은 연속적인 데이터 포인트들에 대한 그들의 비유사성으로 인해, 잠재적으로 방문들을 분리할 수 있는 이상치들을 배제하는 클러스터 병합 모듈(132)에 의해 프로세싱된다. 구체적으로, WiFi 측정들에서의 이상치들에 의해 제시되는 도전과제는 시간적 클러스터링 모듈(131)로 하여금 방문들에 인공적인 분리들을 도입하게 하는 것이다. 이것은 이상치들이 그들의 직접 이웃들(시간의 차원에서의 이웃들)과 충분한 유사성을 공유하지 않기 때문에 야기된다.
[00112] 예를 들어, 도 4c는 사용자가 단지 하나의 장소에 위치되더라도(홈(410)), 홈(410)에서 행해지는 모든 WiFi 측정들(411-418)이 3개의 방문들을 나타내는 레벨(460)에서의 3개의 노드들(461, 462 및 463)로 클러스터되었음을 도시한다. 이것은 노드(471)의 중심과 제 5 데이터 포인트(415) 사이의 비유사성에 의해 야기된다. 제 5 데이터 포인트(415)는 (지상 실측정보에 따라) 홈(410)에서 수집되었기 때문에, 제 5 데이터 포인트(415)는 이상치로서 적절하게 식별되었어야 한다. 그러나, 이러한 이상치(415)는 도 5b에서의 의사 코드에 의해 예시된 바와 같이, 클러스터 병합 모듈(132)에 의해 구현되는, 지상 실측 정보를 알지 않고서 발견 시스템(130)에 의해 제거될 필요가 있다.
[00113] 일부 실시예들에서, 클러스터 병합 모듈(132)은 그들의 유사성이 임계값
Figure 112014065486558-pct00037
보다 작은 경우에만 그리고 그들 사이의 시간 갭이 임계값
Figure 112014065486558-pct00038
보다 작은 경우에만 (방문들들 나타내는) 레벨(460)에서의 임의의 2개 노드들을 조합한다. 결과적으로 이상치들로 인해 이전에 분리된 방문들은 단일 방문으로 융합된다. 도 4c에 예시된 예에서, 클러스터 병합 모듈(132)은 노드(471A)를 형성하기 위해 레벨(470)로 초기에 노드(461)를 전파시키며, 이러한 노드(471)의 중심은 그 후에 레벨(460)에서의 노드(462)의 중심과 비교된다. 노드들(461 및 462)은 노드(462)가 초기에 시간적 클러스터링 모듈(131)에 의해 시작되는 이유인 너무 비유사 하였고, 그와 같이 행하여 홈(410)에서 방문을 분리한다는 것을 상기하라.
[00114] 매치가 없음을 발견하면, 이 스테이지에서 클러스터 병합 모듈(132)은 노드(471A)의 중심을 레벨(460)에서의 제 3 노드(463)의 중심과 비교한다. 본 예에서, 레벨(460)에서의 노드들(461 및 463)이 (하부의 측정들(411-414, 416-418)이 동일한 장소인, 홈에서 행해지기 때문에, 유사할 것인) 공간에서 유사한 것으로 발견되기 때문에, 클러스터 병합 모듈(132)은 매치를 발견하며, 또한 (이들 측정들(411-414, 416-418)이 모두 동일한 장소에 대한 단일 방문으로 행해짐에 따라) 시간적으로 서로에 대해 근접한 것으로 발견된다. 따라서, 매치를 발견하는데 응답하여, 클러스터 병합 모듈(132)은 레벨(470)에서 노드(471)를 획득하기 위해 노드(471A)와 레벨(460)에서의 제 3 노드(463)를 병합한다. 노드(471)는 측정(415)으로부터의 어떠한 기여도 포함하지 않으며, 따라서 이상치로서, 발견 시스템(130)에 의해 효율적으로 필터링 아웃됨을 주목한다.
[00115] 다음으로, 노드(471)의 중심은 노드(464)와 비교되며 서로 다르도록 발견되며 따라서 그들이 클러스터되지 않는다. 대신에, 클러스터 병합 모듈(132)은 레벨(470)에서의 노드(472)를 형성하기 위해 노드(464)의 데이터를 전파한다. 그 후에, 노드(472)는 레벨(460)에서의 노드(464)를 후속하는 노드(라벨링되지 않음)와 비교되며 매치가 발견되지 않으며, 그래서 클러스터 병합 모듈(132)은 레벨(470)에서 노드(473)를 형성하기 위해 데이터를 전파한다. 이러한 방식으로, 추가적인 노드들(474, 475, 476, 477, 478, 479)이 레벨(470)에서 형성된다. 따라서, 클러스터 병합 모듈(132)(도 4a)은 레벨(460)의 11개의 노드들을 프로세싱하는 것을 완료할 때, 도 4c에 예시된 바와 같이, 총 9개의 노드들(471-479)은 레벨(470)에 존재하며 이들 9개의 노드들은 그 후에 레벨(480)에 전파된다.
[00116] 여러 실시예들의 발견 시스템(130)은 너무 짧거나 그렇지 않으면 관련 장소로서 식별되도록 검증되지 않은 방문들을 배제하기 위해, 지속 시간들로서 특정된 임계값들을 적용하는 지속 시간 필터링 모듈(133)을 포함한다. 지속 시간 필터링 모듈(133)의 일부 실시예들은 시간
Figure 112015068661434-pct00039
의 최소 지속 시간을 초과하는 방문들에 기초하여 POR들의 정의를 구현한다. 구체적으로, 지속 시간 필터링 모듈(133)은 모든 나머지 방문들이 시간
Figure 112015068661434-pct00040
의 최소 지속 시간을 초과하도록 도 5c에서의 의사 코드에 의해 예시된 바와 같이, 그들의 지속 시간에 기초하여 레벨(480)에서 (방문들을 나타내는) 노드들을 필터링한다. 도 4c의 예에서, 통근 동안 행해지는 측정으로부터 발생함에 따라, 방문(482)이 매우 짧다. 그러므로, 모듈(133)이 그 프로세싱을 완료할 때, 노드들(481, 486 및 489)만이 레벨(480)에서의 노드들의 나머지가 필터링 아웃된 상태로 남아있다. 따라서, 이들 3개의 노드들(481, 486 및 489)의 데이터는 노드들(491, 496 및 499)을 형성하기 위해 다음 레벨(490)로 전파된다.
[00117] 여러 실시예들의 발견 시스템(130)은 관련 장소들을 식별하기 위해, 이제 측정의 시간에 무관하게, 서로에 대해 레벨(490)에서 노드들을 비교하도록 유사성 함수(180)를 이용하는 POR 추출 모듈(134)(도 4a)을 또한 포함한다. 상술한 바와 같은 모듈들(131, 132 및 133)의 이용 후에 POR 추출 모듈(134)의 이용은 다른 설계들에서 여러 결함들을 극복한다. 예를 들어, 생 데이터 포인트들에 대해 직접적 유사성 클러스터링은 방문의 지속 시간에 관한 정보를 노출하지 않는다. 생 데이터에 관한 유사성 클러스터링은 각 장소에 대한 클러스터 및 각 클러스터에서의 데이터 포인트들의 수를 식별한다. 균일한 샘플링을 가정하면, 데이터 포인트들의 수는 각 클러스터 또는 각각의 장소에서 소모되는 누적된 시간에 비례한다. 그러나, 시간이 각 장소에서 누적되는 방법은 알려지지 않으며 따라서 이용되지 않는다. 데이터 포인트들을 통한 유사성 클러스터링은 사용자가 시간을 소모하지만, 사용자가 시간을 (예를 들어, 직장에서) 계속적으로 소모하는지 또는 다수의 매우 짧은 방문들(예를 들어, 직장에 가는 길의 트래픽 라이트(traffic light))를 통해 많은 시간을 누적시키는지 여부에 관한 정보를 노출하지 않고서 장소들(클러스터들)을 노출시킨다.
[00118] 이전의 단락에서 설명되는 타입의 도전과제들은 시간적 클러스터링 모듈(131) 후에, POR 추출 모듈(134)의 이용에 의해 처리된다. 더욱이, 상기에 주목된 바와 같이, 레벨(490)에서의 모든 노드들은 지속 시간 필터링 모듈(133)에 의해 이미 프로세싱되었으며 따라서 이들 노드들은 POR들의 정의에 의해 요구되는 최소 시간 지속 시간을 초과하는 방문들을 나타낸다. 따라서, POR 추출 모듈(134)에 의해 레벨(490)에서의 노드들로부터의 POR들의 추출은 도 5d에서의 의사 코드에 의해 예시된 바와 같이, 지속 시간 필터링 모듈(133)에 의해 식별되는 모든 방문 장소 모델들을 통한 유사성 클러스터링에 기초한다.
[00119] 여러 실시예들의 발견 시스템(130)은 유사성 클러스터링을 회귀적으로 수행하기 위해 임계값
Figure 112014065486558-pct00041
를 이용한다. 이러한 클러스터링 방식은 다수의 클러스터들 또는 노드들이 제공되지 않지만, 임계값이 제공됨을 가정한다. 구체적으로, 발견 시스템(130)에 의해 식별되는 클러스터들 또는 노드들의 수는 데이터 포인트들 또는 WiFi 측정들에 의해 구동된다. 이러한 방식의 장점은 클러스터들이 전체 클러스터링 프로세스를 재실행하지 않고서 발견 시스템(130)에 의해 동적으로 추가될 수 있다는 것이다. 개념적으로, 어느 노드(또는 클러스터)가 가장 유사하든, 임계값
Figure 112014065486558-pct00042
가 (유사성 함수(180)의 이용에 의해 발생되는) 유사성 측정에 의해 초과되지 않을 때만 사용자에 의한 방문을 나타내는 노드가 상기 노드(또는 클러스터)와 클러스터(또는 조합)된다. 임계값
Figure 112014065486558-pct00043
가 초과되는 경우에, 새로운 노드 또는 클러스터는 POR 추출 모듈(134)에 의해 시작된다. 상술한 바와 같은 유사성 클러스터링의 완료 후에, 모든 최종 노드들(또는 클러스터들)이 POR로서 검증되는지 아닌지 여부에 관하여 분석된다. (
Figure 112014065486558-pct00044
가 POR들의 정의에서 파라미터에 의해 결정되는 경우에) 적어도
Figure 112014065486558-pct00045
방문들을 포함하는 클러스터들은 POR을 나타낸다. 도 4c에 예시되는 예에서, 임계값
Figure 112014065486558-pct00046
이며 따라서 POR 추출 모듈(134)은 3개의 방문 장소 모델들(홈(491), 직장(496), 홈(499))을 클러스터링하며 2개의 POR들(401 및 402)을 출력한다.
[00120] 여러 실시예들의 컴퓨터 시스템(120)은 또한 발견 시스템(130)과 상호동작하는 인식 시스템(150)(도 4a)을 포함한다. 인식 시스템(150)은 재방문이 발생하는지 아닌지를 결정한다. 도 5e에서의 의사 코드에 도시된 바와 같이, 인식 시스템(150)에 대한 시동 시간에서의 입력은 그들의 POR 장소 모델들에 의해 표현되는 POR들의 세트이다. 이러한 세트는 임의의 시간에 업데이트될 수 있으며 업데이트는 업데이트가 수행된 후에 다음의 인식 단계로부터 시작하여 유효하게 된다. 인식 시스템(150)의 각 인식 단계에서의 입력은 WiFi 측정들로부터 방문들을 추출하는 클러스터 병합 모듈(132)로부터 출력되는 현재 방문이다. 현재 방문에 기초하여 인식 시스템(150)은 POR들 중 하나에 대한 재방문이 존재하는지 아닌지를 결정한다. 재방문의 경우에, 인식 시스템(150)은 POR의 식별자를 출력하며 그렇지 않으면 어떠한 재방문도 인식되지 않음을 표시한다. 일부 실시예들에서, 인식 시스템(150)은 인식 결정의 신뢰도를 나타내는 신뢰도 값을 계산한다.
[00121] 일부 실시예들의 인식 시스템(150)은 2개의 상태("진입(enter)" 또는 "빠져나옴(exit)")들 중 하나에 있을 수 있는 내부 상태 변수를 유지함으로써 (완전한 방문이 식별되도록 대기하는 대신에) 각 시간 단계에서의 현재의 방문에 관하여 클러스터 병합 모듈(132)로부터 증가하는 정보를 이용한다. 내부 상태 "진입"은 진행중인 재방문을 표시하며 "빠져나옴"은 재방문이 인식되지 않음을 표시한다(또는 이전의 재방문이 종료하며 새로운 재방문이 시작하지 않는다). 인식 시스템(150)은 2개의 조건들이 참(true)을 유지하는 경우에 상태 "빠져나옴"으로부터 "진입"으로 천이한다: 진행중인 방문은 시간 임계값
Figure 112014065486558-pct00047
를 초과해야 하며 유사성에 의해 방문은 알려진 POR에 대한 방문으로서 식별되어야 한다.
[00122] 그러므로, 일부 실시예들의 인식 시스템(150)은 발견 시스템(130)의 중간 결과들을 모니터하며 2개의 조건들이 참이 될 때, 재방문은 검출된 것으로서 메모리(110)에 마크된다. 인식 시스템(150)이 상태 "진입"으로 천이한 후, 각 인식 단계에서, POR의 식별자를 리턴함으로써 재방문을 보고한다. 천이가 발생하고 인식 시스템(150)이 상태 "진입"에 있은 후에, 천이를 야기한 방문을 모니터한다. 이상치들이 존재하지 않으며 사용자가 동일한 위치에 머무는 경우에, 모니터링된 방문은 각 인식 단계와 함께 시간이 증가된다. 종료 조건이 충족될 때, 재방문은 일부 실시예들에서 종료한다: 모니터링된 방문과 현재 시간 사이의 시간 지속 시간은 미리 결정된 시간 임계값
Figure 112014065486558-pct00048
을 초과한다. 이러한 종료 조건은 인식 시스템(150)이 이상치들에 기초하여 드롭 인하고 아웃하는 것을 방지한다. 예를 들어, 현재 데이터 포인트 또는 측정이 이상치인 경우에, 인식 시스템(150)은 재방문이 없음을 표시하는 -1을 출력하지 않는다.
[00123] 따라서, 일부 실시예들의 인식 시스템(150)은 이상치를 용인하며, 모니터링된 방문에 대한 시간 지속 시간이 시간 임계값
Figure 112014065486558-pct00049
을 초과하지 않는 한 POR 표시자를 보고한다. 일부 실시예들에서, 인식 시스템(150)은 진입되고 빠져나오는 재방문을 보고하기 위해 양쪽 시간 임계값들인,
Figure 112014065486558-pct00050
Figure 112014065486558-pct00051
을 이용한다. 그와 같은 임계값들의 이용은 지연시간과 정확도 사이의 고유한 협정을 도입한다. 시간 임계값들이 클수록 이상치로 인한 오분류의 가능성이 더 낮아지지만, 재방문의 진입 및 빠져나옴은 증가된 지연시간으로 검출된다.
[00124] 일부 실시예들의 인식 시스템(150)은 인식 판단을 표현하기 위해 신뢰도 값을 제공한다. 신뢰도 값 계산은 다음과 같이 2개의 가장 유사한 장소들 사이의 차이에 기초한다:
Figure 112014040665763-pct00052
여기서
Figure 112014040665763-pct00053
Figure 112014040665763-pct00054
는 2개의 가장 유사한 POR들의 POR 장소 모델들이며
Figure 112014040665763-pct00055
는 모니터링된 방문의 방문 장소 모델이다.
[00125] 여러 실시예들의 컴퓨터 시스템(120)은 인식 시스템(150) 및 발견 시스템(130) 중 어느 한 쪽 또는 둘 다에 의해 이용되는 유사성 함수(180)를 포함한다. 유사성 함수(180)는 실시예에 따라, 많은 서로 다른 방식들로 구현될 수 있다. 일부 실시예들 유사성 함수(180)는 실험들에서의 자신의 우수한 성능으로 인해 Tanimoto 유사성을 구현한다. Tanimoto 유사성은 다음과 같이 2개의 특징 벡터들(
Figure 112014065486558-pct00056
Figure 112014065486558-pct00057
) 사이의 유사성을 측정한다:
Figure 112014040665763-pct00058
특징 벡터들은 장소 모델의 RSSI 값들로부터 컴퓨터 시스템(120)에 의해 계산된다. 장소
Figure 112014040665763-pct00059
의 장소 모델
Figure 112014040665763-pct00060
가 주어지면,
Figure 112014040665763-pct00061
는 무선 액세스 포인트
Figure 112014040665763-pct00062
의 평균 RSSI 값을 표시한다. 그 후에, Tanimoto 유사성은 다음과 같이 계산된다:
Figure 112014040665763-pct00063
여기서
Figure 112014040665763-pct00064
. RSSI 값이 -101일 때 각 특징 제로의 길이를 만들기 위해 RSSI 값은 [-101,0]의 공간으로부터 [0,101]의 공간으로 변환됨을 주목한다. 무선 액세스 포인트
Figure 112014040665763-pct00065
가 2개의 장소 모델들 중 하나에만 포함되는 경우에, 다른 장소 모델들
Figure 112014040665763-pct00066
에 추가될 수 있으며 그 후에
Figure 112014040665763-pct00067
을 설정한다.
[00126] 프로세서(100)의 다양한 실시예들은 WiFi 측정들에서, 수퍼마켓과 같은 특정 영역, 카페테리아로 유도하는 홀 또는 몰의 특정 부분 내에서 걷는 사용자로부터 발생하는 경로들 또는 도보 세그먼트들의 재발생을 인식하도록 프로그램된다. 프로세서(100)의 다수의 실시예들은 서로 다른 공간 스케일들 상에서, 경로들의 중복을 식별하기 위해 프로그램된다. 일부 애플리케이션들에 대해, 본원에 설명되는 타입의 실시예들은 사용자가 특정 빌딩 또는 큰 수퍼마켓 내를 걷는 것으로 결정한다. 일부 그와 같은 실시예들에서, 공통의 비교적 큰 영역(예를 들어, 카페테리아) 내에 있는 2개의 경로들은 프로세서(100)에 의해 매칭으로 식별된다. 다른 애플리케이션들에서, 프로세서(100)의 특정 실시예들은 경로를 따라 WiFi 측정들로부터 (예를 들어, 카페테리아 또는 컨퍼런스 룸에 대한 액세스 라우트로서) 특정 복도를 식별한다.
[00127] 따라서, 여러 그와 같은 실시예들에서, 도 6a에 예시되며 단계들 1, 2 및 3을 참조하여 이하에 설명되는 바와 같이, 각 중심이 이전의 레벨의 반경을 두 배로 하는(다른 실시예들은 2배와 다른 어떤 것을 이용함) 반경을 할당받는, 중심들의 트리에 의해 표현되는 레벨들의 계층을 발생시키기 위해 프로세서(100)가 프로그램된다. 단계 1(도 6a에서의 동작(611)을 참조)에서, 프로세서(100)는 경로를 따른 측정들을 포함하기 위해(이는 레벨 1 중심 C1으로 칭해질 수 있음), WiFi 트레이스들의 벡터 평균을 구하도록, 그리고 얼마나 큰 반경이 필요한지를 결정하도록 프로그램된다. 도 6a-6h를 참조하여 본원에 설명된 바와 같이 식별되는 반경은 도 9a-9f를 참조하여 본원에 설명된 바와 같이 이후에 변경(즉, 리-사이징)될 수 있다.
[00128] 일부 실시예들에서, 각 측정은 (상기에 주목된 바와 같이) 벡터에 의해 표현되며, 따라서 벡터 평균은 (측정들의) 벡터들에 걸친 각 차원에서의 값들을 평균함으로써 획득된다. 더 구체적으로, 상기에 주목된 바와 같이, 각 측정은 특정 그룹에서 식별되는 전송기들로부터 수신되는 무선 신호들의 강도들 및 무선 신호들의 전송기들의 식별자들의 특정 그룹을 포함한다. 특정 실시예들에서, 중심
Figure 112014065486558-pct00068
는 도 6c에 예시된 바와 같은, 오렌지, 블루, 그린 및 레드 명칭의 전송기들과 같은, 특정 그룹에서 식별되는 무선 전송기들에 대응하는 평균들의 그룹을 포함하도록 프로세서(100)에 의해 형성된다.
[00129] 이전의 단락에 설명되는 각 평균은 측정들을 행하는데 있어서 측정되는 각 무선 전송기로부터 대응하는 무선 신호의 강도들에 걸쳐, 특정 그룹에서 식별되는 각 무선 전송기에 대해 프로세서(100)에 의해 계산된다. 예를 들어, 오렌지란 명칭의 전송기에 대해, 그들의 산술 평균, 즉 중심
Figure 112014065486558-pct00069
의 벡터의 제 1 멤버로서 이용되는 54를 준비하기 위해 값들(52, 54 및 56)이 이용된다. 유사하게, 레드란 명칭의 전송기에 대해, 그들의 산술 평균, 즉 중심
Figure 112014065486558-pct00070
의 벡터의 최종 멤버로서 이용되는 67.3을 준비하기 위해 값들(68, 66 및 68)이 이용된다. 중심
Figure 112014065486558-pct00071
에 의해 표현되는 방문의 시작 시간 9.00am 및 종료 시간 9.02am은 이 서브세트에 포함되는 측정들의 가장 이른 시간 및 가장 늦은 시간으로부터 프로세서(100)에 의해 자동으로 어셈블링된다는 것이 주의된다.
[00130] 이 스테이지에서, 프로세서(100)는 실제 반경을 저장할 수 있으며 동시에 또한 비교 메트릭으로서의 이용을 위해 다음의 더 큰 중심에 C1을 설정할 수 있다. 일부 실시예들에서 유사성 측정이 예를 들어, 각 측정과 중심(도 6b를 참조) 사이의 차이의 역으로서 결정되며 모든 측정들 중에서 최소 유사성 측정은 경로 A의 루트 노드(621)에 대한 최소 유사성(도 6d를 참조하면, 경로 A에 대한 0.18의 유사성 측정)으로서 저장된다. 일부 실시예들에서, 그와 같은 유사성 측정은 장소를 정의하기 위해 이용되는 확장을 나타내도록 이용될 수 있다.
[00131] 단계 2(도 6a에서의 동작(612)을 참조)에서, 여러 그와 같은 실시예들은 새로운 반경으로서 (예를 들어, 현재 반경의 절반과 동일한) 다음의 더 작은 중심의 반경을 이용하고, 현재 레벨 숫차를 1로 증가시키며, 시작 포인트를 도보 세그먼트의 제 1 포인트로 설정하며 레벨 1 상의 중심들의 수를 n=1로 설정한다. 유사성 측정을 이용하는 실시예들에서, 루트 노드에 대해 저장되는 값이 2배로 된다(도 6f를 참조하면, 도 6e에 예시되는 서브 경로들 AL 및 AR에 대한 값 0.36). 이러한 단계 2 주변을 루핑하면, 특정 실시예들은 그 후에 다음과 같은 단계들(2a, 2b 및 2c)(도 6a를 참조)을 수행한다.
[00132] 단계 2a(도 6a에서의 동작(613)을 참조)에서, 이들 실시예들은 (다음 포인트를 포함하는) 모든 포인트들을 커버하는데 필요한 반경이 새로운 반경을 초과하는 경우에(그리고 다음 포인트가 포함되지 않고 이것이 발생할 때) 스테이지가 도달될 때까지 평균을 포인트 단위로 업데이팅을 진행한다. 도 6d 및 6e의 예를 참조하면, 포인트들 A1-AI의 서브세트를 형성하고 그에 의해 경로 A에서의 모든 포인트들 A1-AN 중에서, 서브 경로 AR를 식별하기 위해 0.36의 최소 유사성이 이용된다.
[00133] 다음으로, 단계 2b에서(도 6a에서의 동작(614)을 참조), 그와 같은 실시예들은 그 후에 중심을
Figure 112014040665763-pct00072
으로서 저장한다(예를 들어, 반경이 이 레벨에 대응하는 중심에 의해 주어지기 때문에, 평균을 저장한다). 다음으로, 단계 2c에서(도 6a에서의 동작(615)을 참조), 그와 같은 실시예들은 여전히 경로에 남아있는 포인트들이 존재하는지 여부를 검사하고 그렇다면 경로에서의 다음 포인트에서의 새로운 시작 포인트를 n으로 증가시키며 단계 2a로 리턴한다(도 6a에서의 동작(613)을 참조). 단계 3(도 6a에서의 동작(616)을 참조)에서, 여러 그와 같은 실시예들은 반경이
Figure 112014040665763-pct00073
에 도달하였는지 여부를 검사하며 그렇지 않으면, 단계 2를 반복한다.
[00134] 단계들 1-3의 상술한 절차는 도 6h에 예시되는 타입의 경로 모델로서 중심들의 트리를 생성하며, 이는 도 6b의 경로 A를 도 6g의 6개의 서브-서브 경로들 ALL, ALM, ALR, ARL, ARM 및 ARR로 분할한다. 실시예에 따르면, 당업자에게 용이하게 명백한 상술한 절차에서의 많은 개선들이 존재한다. 예를 들어 하나의 그와 같은 개선에서, 도 6h에 예시되는 타입의 트리(620)에서의 중심을 위한 각 노드가 스텝 카운트, 방향 또는 심지어 음성 지문들과 같은 추가적인 정보를 포함한다.
[00135] 도 6g에 예시되는 타입의 중심들의 트리(620)에 의해 각각 표현되는, 경로들의 세트가 정해지면, 일부 실시예들의 컴퓨터 시스템(120)은 단지 일부 파라미터 조정을 갖는, 일부 경우들에서의 정지상태 관련 장소들에 대한 유사성 클러스터링과 같이, 별개로 각 트리 레벨을 클러스터링함으로써 시작할 수 있다. 결과적으로, 일부 실시예들의 시스템은 3개 타입들의 클러스터들을 획득할 수 있다: (A) 최상위 레벨 중심의 클러스터들(예를 들어, 도 5d를 참조); (B) 최소 중심의 레벨 상의 클러스터들(예를 들어, 도 5a 및 5b를 참조); 및 (C) 중간 레벨 중심 상의 클러스터들(예를 들어, 도 5c를 참조).
[00136] 도 7에서의 동작(701)에 의해 예시된 바와 같은, 컴퓨터 시스템(120)의 여러 실시예들은 트리(620)의 최상위 레벨 중심들의 클러스터들을 형성한다. 최상위 레벨 중심의 클러스터들은 2개의 경로들이 관심의 동일한 영역 내에 있는 것을 의미할 수 있다. 대부분의 경우들에서, 이러한 영역은 이동 디바이스의 사용자가 정지상태에 있지 않고서(서있거나 앉아있지 않음) 특정 범위 내에 머무르는 특정 빌딩, 수퍼마켓, 몰 등일 수 있다. 시스템(120)의 여러 실시예들은 초기에 그와 같은 경로들의 데이터베이스를 빌드업한다. 본질적으로, 일단 컴퓨터 시스템(120)이 특정 최상부 레벨 중심에 의해 모델링되는 장소에 사람에 의한 충분한 수의 방문들을 검출하면, 시스템은 현재 경로가 (데이터베이스에서의 존재에 기초하여) 이전에 관찰되는 경로와 동일하다는 인식에 기초하여, 관심 영역으로서 정의할 수 있다. 요약하면, 시스템(120)이 특정 최상부 레벨 중심에 대한 충분한 수의 방문들을 검출한 후에, 시스템(120)은 이 노드가 (도 7에서의 동작(702)에 관하여) 관련성의 영역에 있음을 메모리(110)에 마크한다.
[00137] 도 7에서 동작(703)에 의해 예시된 바와 같은, 프로세서(100)의 여러 실시예들은 트리(620)의 바닥 레벨 노드들(도 6h)에 의해 나타나는 최소 중심들의 레벨에서 클러스터들을 형성한다. 특정 실시예들에서, 프로세서(100)는 2개의 경로들이 공통 소형 영역을 나타내는 단일 바닥 레벨 노드를 통과하는 것을(즉, 경로들이 서로 교차함) 결정하고, 상기 영역의 크기는 모델이 빌트되는 최소 스케일로서 최소 반경
Figure 112014065486558-pct00157
에 의해 결정된다.
[00138] (최상부 레벨 중심에 의해 식별되는) 빌딩 내의 다수의 경로들이 (도 7에서의 동작(704)에 따라) 하나의 그와 같은 최소 중심 내에 매치를 갖는 경우에, 프로세서(100)는 빌딩의 입구 또는 중심 포인트(예를 들어, 엘리베이터)와 같은 빌딩에서의 많은 사용자들에 의해 공통으로 이용되는 영역에 대응하는 것으로서 (도 7에서의 동작(705)에 관하여) 이러한 중심을 마크한다.
[00139] (도 7에서의 동작(706)에 따라) 연속하는 최소 반경 중심들의 시퀀스에서, 2개 또는 그 초과의 경로들이 서로 부분적으로 매칭하는 것을 프로세서(100)가 발견할 때, 프로세서(100)는 (도 7에서의 동작(707)에 따라) 이들 경로들을 서브경로를 공유하는 것으로서 마크한다. 하나의 그와 같은 예에서, 일 경로는 복도인 한편 다른 경로는 복도 상의 일 오피스로부터 다른 오피스로의 통로이다. 다른 예는 카페테리아이며, 여기서 서로 다른 위치들에서 시작하며 카페테리아에서의 서로 다른 테이블들에서 종료하는 경로들은 (동작(707)에 따라) 공통 서브경로를 갖기 위해 프로세서(100)에 의해 마크된다. 더욱이, 프로세서(100)는 모든 최소 레벨 중심들에 관하여, 완전히 매칭하는 경우에 2개 또는 그 초과의 경로들이 서로 동일한 것으로 결정한다. 일부 실시예들에서, 프로세서(100)는 동일한 경로들을 식별하기 위해, 최소 레벨에서의 중심들 상에 확률적 모델을 이용하도록 프로그램된다. 측정이 POR 내에 있는지(최소 중심)를 결정하기 위해 하드(hard) 임계값을 이용하는 대신에, 다른 실시예들은 잡음을 모델링하기 위해 가우시안 모델을 이용하며 가우시안 모델에 기초하여 행하는 판단을 구동시킨다.
[00140] 도 7에서의 동작(708)에 의해 예시된 바와 같이, 프로세서(100)의 여러 실시예들은 중간 레벨 중심 상에 클러스터들을 형성한다. 그와 같은 매치는 상술한 레벨들 중 하나 상에 매칭하기 위해 이미 발견된 경로들에 대해 발생할 수 있지만, 일부 상황들에서 경로들은 단지 중간 레벨 상의 단일 중심 내에서만 매칭한다. 따라서, 일부 실시예들에서, 프로세서(100)는 최상부 레벨 중심 상에 매칭하는 경로들이 또한 (동작들(708 및 709)에 따라) 중간 레벨 중심 상에 매칭하는지 여부를 검사하기 위해 프로그램되며, 그렇다면 프로세서(100)는 (동작(710)에 관하여) 2개의 경로들이 특히 가까와지는 특정 구역이 존재하는 것을 메모리에 마크한다. 프로세서(100)는 이들 경로들을 공통 서브경로를 갖는 것으로서 마크하지 않으며, 대신에 프로세서(100)는 사용자가 중간 레벨 노드들에 의해 식별되는 특정 제약된 영역을 종종 통과하는 경향이 있음을 메모리에 마크한다는 것에 유의한다.
[00141] 하나의 예시적인 예에서, 프로세서(100)는 추가적인 정보(예를 들어, 사용자 입력)로부터 최상위 레벨 중심이 수퍼마켓에 대응하는 것으로 결정한다. 이 예에서, 프로세서(100)는 항상 동일한 경로를 통해 걷지는 않고 사용자가 항상 방문하는 특정 디파트먼트(department)에 대응하는 바와 같은 그런 중간 레벨 중심을 마크하기 위해 동작(710)에서의 이러한 추가적인 정보를 이용한다. 다른 그와 같은 예에서, 프로세서(100)는 사용자가 구매할 푸드 항목들을 선택하며, 및/또는 사용자들이 푸드 항목들에 대해 지불하는 카페테리아의 영역을 나타내는 것으로서 중간 노드(동작(710)에서)를 마크한다. 따라서 일부 실시예들의 동작(710)에서 마크되는 그와 같은 중간 중심들은 수퍼마켓 또는 카페테리아 등의 장소들을 검출하기 위해 프로세서(100)에 의해 이용되며, 사용자의 "홈"과 같은, 복잡한 관련 장소들을 식별하는데 도움을 준다.
[00142] 동작들(708 및 709)을 수행할 때, 프로세서(100)가, 경로들이 임의의 다른 레벨의 매치 없이 중간 레벨 중삼 상에 매칭하는 것을 발견하는 경우에, 프로세서(100)는 2개의 관련성의 영역들 사이의 공통 구역을 나타내는 바와 같이 (도 7에서의 동작(711)에 따라) 중간 레벨 노드를 마크한다. 하나의 그와 같은 예에서, 동작(711)에서 식별되는 중간 레벨 노드는 쇼핑 센터에서의 2개의 숍들 사이의 주차장이다.
[00143] 트리(620)(도 6h)의 모든 레벨에 대해, 일부 실시예들의 프로세서(100)에 의해 수행되는 유사성 클러스터링(예를 들어, 도 5d를 참조)은 중심들의 목록을 발생시킨다. 이들 중심들은 그와 같은 실시예들의 프로세서(100)의 인식 모듈(예를 들어, 도 5e를 참조)에서의 매칭을 위해 이용된다. 따라서, 프로세서(100)의 일부 실시예들은 동일한 또는 상이한 방문에서 근처의 또는 인접한 장소들에 대한 사용자의 방문들에 기초하고 공통 라벨(예를 들어, 정지형 POR을 위해 이전에 사용되는 라벨)을 갖는 동일한 의미론적 장소이도록 대응하는 POR들을 레코딩하는 관련 장소(POR)를 위한 발견 시스템(130)(도 4a)을 구현한다.
[00144] 프로세서(100)의 여러 실시예들은 도 8a에 예시되는 하나 또는 그 초과의 동작들을 수행함으로써, 도 8b에 도시되는 2개의 경로들 A 및 B에 대해 상술한 타입의 트리들을 매칭한다. 일부 실시예들의 프로세서(100)는 (도 8d에 도시되는) 그들의 트리들을 횡단함으로써 2개의 경로들 A 및 B에 관한 (도 8c에 도시되는) 측정들의 서브세트들을 회귀적으로 비교하기 위해 프로그램되며, 비교는 레벨 단위, 중심 단위 기반으로 이루어진다. 먼저, 프로세서(100)는 경로들 A 및 B의 최상위 레벨(또한 "루트 노드"로 칭해짐) 중심들
Figure 112014065486558-pct00075
Figure 112014065486558-pct00076
이 (예를 들어, 오피스 빌딩에 관한 것과 같은, 동일한 크기 중심 내에 포함되는) 동일한 레벨 상에 있는지 여부를 검사함으로써 시작한다. 일 경로가 크며 다른 경로는 더 작은 경우에, 프로세서(100)는 맞추기 위해 훨씬 더 큰 중심을 요구할 수 있다. 일 경로(경로 A라 칭함)가 더 큰 중심에 대응하는 경우에, 프로세서(100)는 경로 B의 최상위 레벨 중심과 동일한 레벨 상에 있는 경로 A의 모든 중심들을 단순하게 수집하며 그들 각각에 대해 이하에 설명되는 절차를 반복한다.
[00145] 경로 매칭의 제 1 단계에서, 프로세서(100)는 2개의 중심들이 동작(811)에 관하여 중복을 갖는지 여부를 검사한다. 3가지 가능성들이 존재한다: (a) 중심들은 중복하지 않는다. 이 경우에 프로세서(100)는 동작(812)에 관하여, 이들 중심들 내에서 연관성 없는 것으로서 2개의 경로들을 마크한다. (b) 동작(811)에서 응답이 예인 경우에, 프로세서(100)는 중심들의 평균들(means)(평균들(averages))이 동일한 것으로 고려되도록 (예를 들어, 미리 결정된 임계값 내에서) 서로 충분히 가까운지 여부를 검사하기 위해 동작(813)으로 진행한다. 이 경우 (b)에서, 프로세서(100)는 동작(813)에서의 응답이 예인 것을 발견하는 경우에, 즉 경로가 대응하는 레벨 상에서 이들 중심들 내에 매칭하는 경우에, 중심들은 동작(814)에 따라서 매칭으로서 마크된다. 이 경우 (b)에서 클러스터링이 행해지면 중심들은 프로세서(100)에 의해 조합될 수 있으며, 특정 경로가 방문된 횟수에 대한 카운터가 증가될 수 있다. 응답이 아니오인 경우의 동작(813)에서, 프로세서(100)는 (c) 중심들이 관련된 중복양을 갖는 것으로 결정한다. 일부 실시예들에서, 프로세서(100)는
Figure 112014065486558-pct00077
에 의해 정의된 바와 같은 최소 중심의 규모 정도의 중복으로서 "관련 중복"을 결정하며 이러한 관찰은 동작(817)을 수행함으로써 일부 실시예들에서 프로세서(100)에 의해 마크된다.
[00146] 경로 매칭의 다른 단계에서, 프로세서(100)는 동작(815)에 따라, 현재 중심들이 최소 중심들의 레벨에 있는지 여부를 검사하며, 그렇다면 중단한다. 동작(815)은 도 8a에 도시된 바와 같은 동작들(814 및 817)로부터 도달된다. 경로 매칭 절차에 대해 상술한 가능성 (a) (중복 가능성이 없음)에서 동일한 것이 참이며, 여기서 동작(812) 후에, 프로세서(100)는 중단한다. 그렇지 않으면, 동작(815)에서의 응답이 아니오라면, 경우들 (b) 및 (c)에서 상기 경로 매칭 절차(동작(811)에서 단계 1로 진행)는 동작(816)에 따라 중복 구역 내의 다음 레벨 중심들의 각 쌍(각 경로로부터 하나)에 대해 반복된다. 일부 실시예들에서, 폭의 제 1 탐색이 프로세서(100)에 의한 경로 매칭에서 수행된다.
[00147] 상술한 경로 매칭 절차가 종료할 때, 그 결과는 경로들이 도 8d에 예시된 바와 같이 매칭하는 것으로 발견되는 중심들의 목록이다. 목록에서의 중심들은 서로 다른 레벨들 상에 있을 수 있음을 주목한다(이것은 서로 다른 반경을 갖는 중심들에 대응하는 것을 의미한다). 따라서, 예를 들어, 목록 상의 하나의 중심은 전체적으로 오피스 빌딩(201)(도 1b)에 대응할 수 있는 한편 (더 큰 하나에 포함되는) 다른 것은 이러한 동일한 오피스 빌딩(201)의 영역(203)일 수 있다. 2개의 경로들 A 및 B(도 8d)가 정해진 레벨(루트 노드 레벨 또는 루트 노드 레벨 아래의 제 1 레벨이라 칭함) 상의 중심 내에 매칭한다는 사실은 이들이 후속하는 레벨들(예를 들어, 도 6h에 도시되는 바닥 레벨) 상의 중심들 중 임의의 중심 내에 매칭하는 것을 의미하지 않는다. 예를 들어, 동일한 오피스 빌딩 내에 모두 있지만, 각각 그 빌딩의 다른 영역에 있는 경로들의 번치(bunch)가 존재할 수 있다. 그러나, 한 쌍의 중심들은 최저 레벨(예를 들어, 도 8d에서의 중심들 ALL 및 BLL)에서 매칭할 때, 이들은 경로-기반된 관련 장소(POR)를 메모리(110)에 마크하기 위해 이용된다.
[00148] 일부 실시예들은 장소 재방문들의 분포에 기초하여, 시간에 걸쳐 적응적으로 관련 장소(POR)의 크기를 결정한다. 예를 들어, 빌딩 내의 사람의 오피스와 같은, 작은 장소에 대한 다수의 재방문들 동안, 사람은 대개 그 장소 내의 동일한 위치에서 그들의 시간 대부분을 소모한다(예를 들어, 사람은 대개 그들의 책상에서, 동일한 의자에 앉아있다). 따라서, 일부 실시예들은, 관련 장소의 크기를 (다수의 장소 재방문들을 통해) 점진적으로 더 작게, 즉 예를 들어, 도 9a-9d를 참조하여 이하에 설명된 바와 같은, 비유사성을 표시하는 쌍으로 이루어진 거리들의 이용에 의해 POR의 크기를 축소시키도록 결정하기 위해, 다수의 장소 재방문들에 걸친 신호 측정들에서, 충분히 높은(예를 들어, 미리 결정된 임계값 미만인 분산) 유사성(예를 들어, Tanimoto 함수를 실행)을 이용한다.
[00149] 유사하게, 빌딩에서의 카페테리아와 같은, 큰 장소에 대한 다수의 재방문들 동안, 사람은 대개 큰 장소 내의 서로 다른 위치들에서 그들의 시간을 소모한다(예를 들어, 사람은 서로 다른 날들에서 서로 다른 테이블들에 앉을 수 있다). 따라서, 여러 실시예들은 예를 들어, 도 9e 및 9f를 참조하여 이하에 설명된 바와 같이, 미리 결정된 최대 크기에 도달될 때까지 (다수의 장소 재방문들을 통해) 점진적으로 더 크게 만들기 위해, POR의 크기를 확대하도록, 거리를 두고 있지만 여전히 동일한 관련 장소 내에 있는 다수의 장소 재방문들에 걸친 신호 측정들을 이용한다.
[00150] 도 9a는 리셉션 영역(901), 2개의 오피스들(902 및 903), 컨퍼런스 룸(904)을 포함하는 빌딩 내의 사무실(900)을 예시한다. 도 9a는 또한 예를 들어, 도 1a를 참조하여 상술한 동작(105)을 수행함으로써, 4개의 관련 장소들(911-914)을 조합하여 형성된 확장된 관련 장소(910)를, 오피스(903) 내에 예시한다. 관련 장소(910)를 형성하는데 있어서(도 9b), 컴퓨터 시스템(120)은 (예를 들어, Tanimoto 함수를 실행함으로써 획득되는) 4개의 장소들(911, 912, 913 및 914)의 중심들 사이의 쌍으로 이루어진 거리들(921-926)(도 9b)을 계산한다. 그 후에, 컴퓨터 시스템(120)은 예를 들어 도 9c에 예시되는 쌍으로 이루어진 거리들(921, 922, 923, 924, 925 및 926)의 평균 μ 및 표준 편차 σ를 계산하며, 그 후에 확장된 POR(910)의 크기가 다음과 같이 계산되어 진다:
Figure 112015068661434-pct00078
Figure 112015068661434-pct00079
.
[00151] 이러한 상태에서, 새로운 관련 장소(931)가 확장된 POR(910)에 충분히 가까운 것으로 발견되면, 확장된 POR(910)은 추가적인 쌍으로 이루어진 거리들(932, 933, 934 및 935)을 계산하며 그들을 이용하여 쌍으로 이루어진 거리들(921-926 및 932-935)의 새로운 평균
Figure 112015068661434-pct00080
및 새로운 표준 편차
Figure 112015068661434-pct00081
을 계산하는 컴퓨터 시스템(120)에 의해, 도 9d에 예시된 바와 같은 새로운 확장된 POR(930)로 변경될 수 있으며, 그 후에 확장된 POR(930)의 크기를 다음과 같이 계산한다:
Figure 112015068661434-pct00082
.
[00152] 새로운 장소 방문
Figure 112015068661434-pct00083
가 결정된 때에, 일부 실시예들의 컴퓨터 시스템(120)은 다음과 같이 도 9e에 예시된 타입의 방법을 수행한다. 구체적으로, 동작(941)에서, 컴퓨터 시스템(120)은 알려진 장소 모델들(135)(도 4a) 중에서 발견하기 위한 장소 방문
Figure 112015068661434-pct00084
, 장소 방문
Figure 112015068661434-pct00085
에 가장 가까운 관련 장소
Figure 112015068661434-pct00086
를 이용하며 그 후에 동작(942)으로 진행한다. 동작(942)에서, 컴퓨터 시스템(120)은 (
Figure 112015068661434-pct00087
로 표시되는) 2개의 장소들
Figure 112015068661434-pct00088
Figure 112015068661434-pct00089
사이의 거리가 관련 장소
Figure 112015068661434-pct00090
의 현재 크기
Figure 112015068661434-pct00091
보다 작은지 여부를 검사한다.
[00153] 동작(942)에서의 응답이 아니오일 때, 컴퓨터 시스템(120)은 새로운 관련 장소
Figure 112015068661434-pct00092
를 생성하기 위해 동작(943)을 수행하며 그 크기
Figure 112015068661434-pct00093
를 미리 결정된 거리, 예를 들어
Figure 112015068661434-pct00094
로 설정한다. 동작(942)에서의 응답이 예일 때, 컴퓨터 시스템(120)은 동작(944)에서 그 내부에 장소
Figure 112015068661434-pct00095
를 포함함으로써 기존의 관련 장소
Figure 112015068661434-pct00096
를 업데이트하고 그 다음 동작(945)으로 진행한다. 동작(945)에서, 컴퓨터 시스템(120)은 동작(945)이 구현되는 특정 방식이 이하에 논의된 바와 같은, 실시예에 따라 다르더라도 기존의 관련 장소
Figure 112015068661434-pct00097
의 크기를
Figure 112015068661434-pct00098
로 재계산한다. 동작(945)의 완료시에,
Figure 112015068661434-pct00099
가 미리 결정된 최소
Figure 112015068661434-pct00100
보다 작거나 동일한 경우에(동작 (946)을 참조), 현재 크기
Figure 112015068661434-pct00101
는 최소
Figure 112015068661434-pct00102
로 변경된다(동작(947)을 참조). 그리고
Figure 112015068661434-pct00103
가 미리 결정된 최대
Figure 112015068661434-pct00104
보다 크거나 동일한 경우에(동작(948)을 참조), 현재 크기
Figure 112015068661434-pct00105
는 최대
Figure 112015068661434-pct00106
로 변경된다(동작(949)을 참조). 마지막으로, 양쪽 동작들(946 및 948)에 대한 응답이 아니오일 때, 동작(950)에서 현재 크기
Figure 112015068661434-pct00107
Figure 112015068661434-pct00108
로 변경된다.
[00154] 도 9a-9d를 참조하여 상술된 제 1 예에서, 도 9e의 동작(945)은 상술한 바와 같이
Figure 112015068661434-pct00109
를 계산하며, 구체적으로
Figure 112015068661434-pct00110
이다. 제 2 예에서, 기존의 관련 장소
Figure 112015068661434-pct00111
는 본원에 설명된 바와 같은 동작(945)에서 확대될 것이고, 일부 실시예들은, 비록 μ 및 σ가 방문들과 기존의 관련 장소
Figure 112015068661434-pct00112
사이의 거리들임을 주목하더라도(그리고 상술한 제 1 예에서 μ 및 σ를 계산하기 위해 쌍으로 이루어진 거리들이 이용되지 않더라도),
Figure 112015068661434-pct00113
이도록 스케일 업하기 위해 미리 결정된 팩터
Figure 112015068661434-pct00114
을 갖는 유사한 공식을 이용한다. 제 3 예에서,
Figure 112015068661434-pct00115
이며, 여기서
Figure 112015068661434-pct00116
Figure 112015068661434-pct00117
는 미리 결정된 상수이다. dist = 1 - 유사성임을 주목하며, 여기서 유사성은 Tanimoto와 같은 유사성 함수의 실행에 의해 획득된다.
[00155] POR(960)에 포함될 새로운 장소(961)가 충분히 작은 거리(
Figure 112014065486558-pct00118
)에 있도록, 예를 들어 POR(960)의 반경의 절반, 즉
Figure 112014065486558-pct00119
보다 작은 것으로 동작(951)(도 9e)에서 발견될 때, 확장된 POR(960)(도 9f)은 (예를 들어, 상술한 임의의 공식을 이용하여) 일부 실시예들에서의 동작(952)에서 수축된다. POR(960)에 포함될 다른 새로운 장소(962)가 충분히 큰 거리(
Figure 112014065486558-pct00120
)에 있도록, 예를 들어 POR(960)의 반경의 절반, 즉
Figure 112014065486558-pct00121
보다 크지만 POR(960)의 반경
Figure 112014065486558-pct00158
보다 작은 것으로 동작(953)에서 발견될 때, 동일한 확장된 POR(960)(도 9f)은 (예를 들어, 상술한 임의의 공식을 이용하여) 일부 실시예들에서 동작(954)에서 확대된다.
[00156] 따라서, 관련 장소들(PORs)을 발견하고 및/또는 자동으로 사이징하기 위한 방법들, 장치들, 시스템들 및 비-일시적 컴퓨터-판독가능한 매체는 본 상세한 설명에 제시된다. 일부 양상들에서, 하나 또는 그 초과의 관련 장소들을 발견하는데 있어서, 무선 신호들의 측정들의 세트가 수신될 수 있거나 그렇지 않으면 도 9g에서의 동작(971)에 의해 예시된 바와 같은 이동 디바이스에 의해 또는 서버에 의해 또는 그의 조합에 의해 획득될 수 있다. 그 후에, 하나 또는 그 초과의 장소들은 도 9g에서의 동작(972)에 의해 예시된 바와 같이 (하드웨어에 의해 또는 프로세서(들) 실행 소프트웨어 또는 다른 수단에 의해) 식별될 수 있다.
[00157] 식별되는 각 장소는 측정들의 세트 중에서 서브세트에서의 하나 또는 그 초과의 측정들을 이용함으로써 획득되는 중심을 가질 수 있다. 일부 양상들에서, 장소의 식별은 972A(도 9g)에 관하여 시간적으로 순차적으로 행해지는 측정들에 기초할 수 있다. 그와 같은 식별은 질문 "내가 동일한 장소에 있는가?"에 응답하는 하드웨어에 의한 또는 프로세서(들) 실행 소프트웨어 또는 다른 수단에 의한 측정들의 유사성에 기초할 수 있으며 그렇다면 현재 식별되는 장소의 중심을 계산하는데 있어서 측정을 포함하기 위해 972로 리턴한다.
[00158] 특정 양상들에서, 두 개의 그런 장소들은 이들 장소들이 경로를 따라 순차적으로 발생하는지 여부(예를 들어, 그들의 측정들이 시간적으로 순차적인지 여부)를 결정하기 위해, 그리고 그들이 서로에 대해 충분히 유사한 중심들(예를 들어 0.1보다 작은 Tanimoto 거리)을 갖는지 여부를 결정하기 위해 동작(972A)에서 사용되고 양쪽 조건들이 충족될 때 동작(973)(도 9g)이 수행된다. 여러 양상들에서, 2개의 장소들은 유사하거나 동일한 것으로 결정되는 라벨들의 비교에 기초하여, 그리고 서로에 대해 충분히 유사한 것으로 결정되는 중심들에 기초하여, 측정들이 행해지는 임의의 시간에 무관하게 동작(972B)에서 식별되며 양쪽 조건들이 충족될 때 (이하에 설명되는) 동작(973)이 다시 수행된다.
[00159] 동작(973)에서, 2개의 중심들을 비교하는데 기초하여, 2개의 중심들을 갖는 대응하는 2개의 장소들이 유사한지 여부가 (하드웨어에 의해 또는 프로세서(들) 실행 소프트웨어, 또는 다른 수단에 의해) 결정될 수 있다. 그 후에, 동작(974)에서, (하드웨어에 의해 또는 프로세서(들) 실행 소프트웨어, 또는 다른 수단에 의해) 유사한 것으로 결정되는 대응하는 2개의 장소들에 기초하여, 예를 들어, 동작(973)에서 이용되는 대응하는 2개의 장소들을 포함하는 목록으로서, 관련 장소가 저장될 수 있다.
[00160] 일부 양상들에서, 복수의 관련 장소들의 하나 또는 그 초과의 관련 장소들과 관련되도록 하나 또는 그 초과의 라벨들을 특정하는 사용자 입력은 (하드웨어에 의해 또는 프로세서(들) 실행 소프트웨어, 또는 다른 수단에 의해) 수신될 수 있다. 후속적으로, 수신된 사용자 입력에 기초하여, 복수의 관련 장소들 중 적어도 2개의 관련 장소들이 하나 또는 그 초과의 라벨들에서의 공통 라벨과 또는 유사한 것으로 결정되는 라벨들과 관련되는지 여부가, (하드웨어에 의해 또는 프로세서(들) 실행 소프트웨어, 또는 다른 수단에 의해) 결정될 수 있다. 추가로, 상기에 주목된 바와 같이 적어도 2개의 관련 장소들이 유사한지 여부가 (비유사성을 표시하는) 하나 또는 그 초과의 거리 메트릭들에 기초하여, (하드웨어에 의해 또는 프로세서(들) 실행 소프트웨어, 또는 다른 수단에 의해) 결정될 수 있다. 그 후에, 적어도 2개의 관련 장소들이 유사한 라벨들(또는 동일한 라벨)과 관련되는 것으로 결정하는데 응답하여, 그리고 적어도 2개의 장소들이 유사한 것으로 결정하는데 응답하여, 적어도 2개의 장소들이 확장된 관련 장소를 정의하는 것으로 (하드웨어에 의해 또는 프로세서(들) 실행 소프트웨어, 또는 다른 수단에 의해) 결정될 수 있다.
[00161] 특정 양상들에서, 측정들은 서로에 관하여 시간적으로 순차적으로 측정되기 위해 각 서브세트에 포함될 수 있으며, 각 장소의 식별은 그와 같은 서브세트들에 기초할 수 있다. 각 측정은 예를 들어, 유사성의 측정에 관한 테스트가 (예를 들어, 서브세트의 중심에 대한) 측정에 의해 충족되는지 여부를 (하드웨어에 의해 또는 프로세서(들) 실행 소프트웨어, 또는 다른 수단에 의해) 검사하는데 기초하여 측정들의 서브세트에 포함될 수 있다. 유사성의 측정은 예를 들어, 서브세트에서의 측정들의 중심과 각 측정을 비교하기 위해 하드웨어에 의해 또는 프로세서(들) 실행 소프트웨어에 의해, 또는 유사성 함수를 실행하는 다른 수단에 의해 획득될 수 있다. 각 측정은 그룹에서 식별된 전송기들로부터 수신되는 무선 신호들의 강도들 및 무선 신호들의 전송기들의 식별자들의 그룹을 포함할 수 있다. 각 중심은 특정 그룹에서 식별되는 무선 전송기들에 대응하는 평균들의 그룹을 포함할 수 있다. 각 평균은 측정들을 행하는데 있어서 측정되는 각 무선 전송기로부터 대응하는 무선 신호의 강도들에 걸쳐, 특정 그룹에서 식별되는 각 무선 전송기에 대해 (하드웨어에 의해 또는 프로세서(들) 실행 소프트웨어, 또는 다른 수단에 의해) 계산될 수 있다.
[00162] 여러 양상들에서, 트리의 루트 노드는 측정들의 세트에 기초하여 (하드웨어에 의해 또는 프로세서(들) 실행 소프트웨어, 또는 다른 수단에 의해) 생성될 수 있으며 트리에서의 다수의 차일드 노드들은 루트 노드에 접속될 수 있으며, 여기서 적어도 하나의 차일드 노드는 그 세트에서의 측정들의 서브세트에 기초하여 생성된다. 상기에 주목된 바와 같이, 측정들은 서로에 대해 시간적으로 순차적으로 측정되기 위해, 그리고 유사성의 측정에 관한 테스트를 충족시키기 위해 각 서브세트에 포함될 수 있다. 측정들의 세트에서의 다수의 서브세트들은 새로운 관련 장소를 식별하기 위해, 추가적인 측정들의 서브세트들과 (하드웨어에 의해 또는 프로세서(들) 실행 소프트웨어, 또는 다른 수단에 의해) 비교될 수 있다. 추가로 또는 대안적으로, 측정들의 세트에서의 다수의 서브세트들은 알려진 관련 장소를 식별하기 위해, 측정들의 다른 세트에서의 서브세트들과 (하드웨어에 의해 또는 프로세서(들) 실행 소프트웨어, 또는 다른 수단에 의해) 비교될 수 있다.
[00163] 일부 실시예들의 컴퓨터 시스템(120)은 스크린 상에 디스플레이되는 실제 세상 객체의 비디오의 프레임들을 발생시키기 위해 카메라(1019)(도 4a)를 포함하는 스마트폰과 같은, 이동 디바이스이다. 상기에 주목된 바와 같이, 컴퓨터 시스템(120)은 가속도계, 자이로스코프(gyroscope), 컴파스 등과 같은 실제 이동을 표시하는 측정들을 제공하는 다양한 센서들(1003)을 더 포함할 수 있다. 컴퓨터 시스템(120)은 그라운드에 대해 그 자신의 배향 및 포지션을 결정하는데 있어서 프로세서(100)를 보조하기 위해, 통상적인 방식으로 틸팅(tilting) 및/또는 터닝(turning)을 감지하기 위해 가속도계 및 컴파스 및/또는 다른 센서들을 이용할 수 있다. 센서들(1003) 대신에 또는 그에 더하여, 컴퓨터 시스템(120)은 그 자신의 배향 및 포지션을 결정하는데 있어서 프로세서(100)를 보조하기 위해 카메라(1019)로부터의 이미지들을 이용할 수 있다. 또한, 컴퓨터 시스템(120)은 통상적 방식으로 이용되는 그래픽들 엔진(1004) 및 이미지 프로세서(1005)를 추가로 포함할 수 있다. 컴퓨터 시스템(120)은 임의선택적으로 증강 현실(Augmented Reality: AR) 기능을 지원하기 위해 다양한 모듈들을 포함할 수 있다.
[00164] 메모리(110)에 더하여, 컴퓨터 시스템(120)은 메모리(110)(또한 "메인 메모리"라 칭함)로 로딩하기 위한 및/또는 프로세서(들)(100)에 의한 이용을 위한 소프트웨어 및/또는 데이터를 저장하기 위해 플래시 메모리(또는 SD 카드) 및/또는 하드 디스크 및/또는 광학 디스크(또한 "2차 메모리")(1008)와 같은 하나 또는 그 초과의 다른 타입들의 메모리를 포함할 수 있다. 컴퓨터 시스템(120)은 트랜시버(1010)에서의 무선 전송기 및 수신기 및/또는 다른 통신 인터페이스들을 더 포함할 수 있다. 컴퓨터 시스템(120)은 셀룰러 또는 다른 무선 통신 디바이스, 개인 통신 시스템(PCS) 디바이스, 개인 네비게이션 디바이스(PND), 개인 정보 관리자(PIM), 개인 휴대 정보 단말(PDA), 랩톱, 카메라, 스마트폰, (애플사로부터 이용가능한 iPad와 같은) 태블릿 또는 증강 현실(AR) 환경을 생성할 수 있는 다른 적합한 이동 플랫폼과 같은 임의의 휴대용 전자 디바이스일 수 있다는 것이 이해되어야 한다.
[00165] 상술한 타입의 컴퓨터 시스템(120)은 "컴퓨터 비전" 기술들을 이용하는 객체 인식과 같은 다른 포지션 결정 방법들을 포함할 수 있다. 컴퓨터 시스템(120)은 사용자 인터페이스에서, 마이크로폰 및 스피커를 더 포함할 수 있다. 물론, 컴퓨터 시스템(120)은 프로세서(100)에 의한 이용을 위해 펌웨어를 저장하기 위해 이용될 수 있는 판독-전용-메모리(1007)와 같은, 본 개시물에 관련되지 않는 다른 엘리먼트들을 포함할 수 있다.
[00166] 컴퓨터 시스템(120)의 일부 실시예들에서, 다른 실시예들에서 임의의 하나 또는 그 초과의 모듈들이 컴퓨터 시스템(120)에서의 하드웨어 회로 및/또는 펌웨어 및/또는 소프트웨어의 임의의 조합으로 구현되더라도 상술한 모듈들은 컴퓨터 시스템(120)의 메모리(110)에서 소프트웨어의 명령들을 실행하는 하나 또는 그 초과의 프로세서(들)(100)에 의해 구현된다. 그러므로, 실시예에 따라, 본원에 설명된 타입의 다양한 기능들은 (하나 또는 그 초과의 프로세싱 유닛들 또는 프로세서 코어들에 의해 실행되는) 소프트웨어로 또는 전용된 하드웨어 회로로 또는 펌웨어로, 또는 그의 임의의 조합으로 구현될 수 있다.
[00167] 프로세서(들)(100)는 컴퓨터 시스템(120)에서의 하나 또는 그 초과의 프로세싱 유닛들에 의해 구현되는 기능들을 수행한다. 하드웨어 구현을 위해, 프로세서(들)(100)의 하나 또는 그 초과의 프로세싱 유닛들은 하나 또는 그 초과의 마이크로프로세서들, 임베디드 프로세서들, 제어기들, 주문형 집적 회로들(ASICs), 디지털 신호 프로세서들(DSPs), 디지털 신호 프로세싱 디바이스들(DSPDs), 프로그램가능한 논리 디바이스들(PLDs), 필드 프로그램가능한 게이트 어레이들(FPGAs), 프로세서들, 제어기들, 마이크로-제어기들, 마이크로프로세서들, 전자 디바이스들, 본원에 설명되는 기능들을 수행하기 위해 설계되는 다른 전자 유닛들 또는 그의 조합 내에 구현될 수 있다. 펌웨어 및/또는 소프트웨어 구현을 위해, 방법론들은 본원에 설명되는 기능들을 수행하는 모듈들(예를 들어, 절차들, 기능들 등)로 구현될 수 있다.
[00168] 더욱이, 본원에 이용된 바와 같이 용어 "메모리"는 장기, 단기 또는 이동 플랫폼과 관련되는 다른 메모리를 포함하는 비-일시적인 임의의 타입의 컴퓨터 스토리지 매체를 지칭하며, 임의의 특정 타입의 메모리 또는 메모리들의 수, 또는 메모리가 저장되는 매체의 타입에 제한되지 않는다. 그러므로, 본원에 설명되는 방법론들은 애플리케이션에 따라 다양한 수단에 의해 구현될 수 있다. 예를 들어, 이들 방법론들은 펌웨어(도 4a) 또는 소프트웨어, 또는 하드웨어 또는 그의 임의의 조합으로 구현될 수 있다.
[00169] 컴퓨터 명령들을 유형적으로 구체화하는 임의의 기계-판독가능한 매체는 본원에 설명되는 방법론들을 구현하는데 이용될 수 있다. 예를 들어, 소프트웨어(도 4a)는 메모리(110)에 저장되며 프로세서(100)에 의해 실행되는 프로그램 코드들을 포함할 수 있다. 메모리는 프로세서(100) 내에 또는 그 외부에 구현될 수 있다. 펌웨어 및/또는 소프트웨어로 구현되는 경우에, 기능들은 컴퓨터-판독가능한 매체 상의 코드 또는 하나 또는 그 초과의 컴퓨터 명령들로서 저장될 수 있다. 예들은 (미리 결정된 이동들의 시퀀스와 같은) 데이터 구조로 인코딩되는 비-일시적 컴퓨터-판독가능한 매체 및 (상술한 방법을 수행하기 위해 실행될 수 있는 소프트웨어와 같은) 컴퓨터 프로그램으로 인코딩되는 비-일시적 컴퓨터-판독가능한 매체를 포함한다.
[00170] 여러 예시적인 실시예들이 본원의 일부를 형성하는 첨부된 도면들에 관하여 설명된다. 본 개시물의 하나 또는 그 초과의 양상들이 구현될 수 있는 특정 실시예들이 설명되는 한편, 다른 실시예들이 이용될 수 있으며 첨부된 청구범위의 정신 또는 본 개시물의 범위로부터 이탈하지 않고서 다양한 수정들이 이루어질 수 있다.
[00171] 본 개시물은 특정 실시예들과 관련하여 예시되더라도, 실시예들은 그에 제한되지 않는다. 그러므로, 일부 실시예들에서의 항목(120)이 이동 디바이스이더라도, 다른 실시예들에서 항목(120)은 서로 다른 형성 팩터들의 이용에 의해 구현되는데, 예를 들어 특정의 다른 실시예들에서 항목(120)은 (태블릿, 예를 들어, 애플사로부터 이용가능한 iPad와 같은) 이동 플랫폼인 한편 또 다른 실시예들에서 항목(120)은 임의의 전자 디바이스 또는 컴퓨터 시스템이다. 그와 같은 전자 디바이스 또는 시스템(120)의 예시적인 실시예들은 손에 들기에 충분히 작은 하우징에 인클로징되는 사용자 입력 회로 및 센서들을 갖는 하나 또는 그 초과의 무선 링크(들)를 통해 통신하는 서버 컴퓨터, 데스크-톱 컴퓨터, 랩톱 컴퓨터와 같은 정지형 컴퓨터의 일부분들인 메모리 및 프로세서와 같은, 무선으로 상호통신하는 다수의 물리적 부분들을 포함할 수 있다.
[00172] 도 4a는 본 개시물의 하나 또는 그 초과의 양상들이 구현될 수 있는 예시적인 컴퓨팅 시스템을 예시한다. 예를 들어, 도 4a에 예시된 바와 같은 컴퓨터 시스템은 본원에 설명되는 특징들, 방법들 및/또는 방법 단계들 중 임의의 것 및/또는 전부를 구현, 수행 및/또는 실행할 수 있는 컴퓨팅 디바이스의 일부로서 통합될 수 있다. 예를 들어, 컴퓨터 시스템(120)은 핸드-헬드 디바이스의 컴포넌트들 중 일부를 나타낼 수 있다. 핸드-헬드 디바이스는 카메라 및/또는 디스플레이 유닛과 같은 입력 센서 유닛을 갖는 임의의 컴퓨팅 디바이스일 수 있다. 핸드헬드 디바이스의 예들은 비디오 게임 콘솔들, 태블릿들, 스마트폰들 및 이동 디바이스들을 포함하지만 이들로 제한되지 않는다.
[00173] 도 4a는 본원에 설명된 바와 같이, 다양한 다른 실시예들에 의해 제공되는 방법들을 수행할 수 있으며, 및/또는 호스트 컴퓨터 시스템, 원격 키오스크/단말, 포인트-오브-세일(point-of-sale) 디바이스, 이동 디바이스, 셋톱 박스, 및/또는 컴퓨터 시스템으로서 기능할 수 있는 컴퓨터 시스템(120)의 일 실시예의 개략적 예시를 제공한다. 도 4a는 단지 다양한 컴포넌트들의 일반화된 예시를 제공하는 것을 의미하며, 그 중 임의의 것 및/또는 전부가 적절하게 활용될 수 있다. 도 4a는 따라서, 개별적인 시스템 엘리먼트들이 비교적 분리되거나 비교적 더 집적된 방식으로 구현될 수 있는 방법을 널리 예시한다.
[00174] 버스(1015)를 통해 전기적으로 커플링될 수 있는(또는 그렇지 않으면 적절하게 통신할 수 있는) 하드웨어 엘리먼트들을 포함하는 컴퓨터 시스템(120)이 도시된다. 하드웨어 엘리먼트들은 제한없이 하나 또는 그 초과의 일반-목적 프로세서들 및/또는 하나 또는 그 초과의 특별-목적 프로세서들(디지털 신호 프로세싱 칩들, 그래픽들 가속 프로세서들 및/또는 등과 같음)을 포함하는, 하나 또는 그 초과의 프로세서들(100); 제한없이 카메라, 마우스, 키보드 및/또는 등을 포함할 수 있는 하나 또는 그 초과의 입력 디바이스들(115); 및 디스플레이 유닛, 프린터 및/또는 등을 포함할 수 있는 하나 또는 그 초과의 출력 디바이스들(121)을 포함할 수 있다.
[00175] 컴퓨터 시스템(120)은 제한없이, 로컬 및/또는 네트워크 액세스가능한 스토리지를 포함할 수 있고, 및/또는 제한없이, 프로그램가능한, 플래시-업데이트가능한 및/또는 등일 수 있는, 랜덤 액세스 메모리("RAM") 및/또는 판독-전용 메모리("ROM")와 같은 고체-상태 스토리지 디바이스, 광학 스토리지 디바이스, 드라이브 어레이, 디스크 드라이브를 포함할 수 있는 하나 또는 그 초과의 비-일시적 스토리지 디바이스들(125)을 더 포함(및/또는 통신)할 수 있다. 그와 같은 스토리지 디바이스들은 제한없이, 다양한 파일 시스템들, 데이터베이스 구조들 및/또는 등을 포함하는, 임의의 적절한 데이터 스토리지를 구현하도록 구성될 수 있다.
[00176] 컴퓨터 시스템(120)은 또한 제한없이 모뎀, 네트워크 카드(무선 또는 유선), 적외선 통신 디바이스, 무선 통신 디바이스 및/또는 (블루투스® 디바이스, 802.11 디바이스, WiFi 디바이스, WiMax 디바이스, 셀룰러 통신 설비들 등과 같은) 칩셋 및/또는 등을 포함할 수 있는 통신들 서브시스템(122)을 포함할 수 있다. 통신들 서브시스템(122)은 데이터가 일 예를 명칭화하기 위해, 이하에 설명되는 네트워크와 같은) 네트워크, 다른 컴퓨터 시스템들 및/또는 본원에 설명되는 임의의 다른 디바이스들과 교환되게 허용할 수 있다. 컴퓨터 시스템(120)은 상술한 바와 같은 RAM 또는 ROM 디바이스를 포함할 수 있는, 비-일시적 메모리(110)를 더 포함할 수 있다.
[00177] 본원에 설명된 바와 같이, 컴퓨터 시스템(120)은 또한 다양한 실시예들에 의해 제공되는 컴퓨터 프로그램들을 포함할 수 있으며, 및/또는 다른 실시예들에 의해 제공되는 방법들을 구현하도록, 및/또는 시스템들을 구성하도록 설계될 수 있는, 운영 시스템(140), 디바이스 구동기들(drivers), 실행가능한 라이브러리들 및/또는 하나 또는 그 초과의 애플리케이션 프로그램들(145)과 같은 다른 코드를 포함하는, 메모리(110) 내에 현재 위치되는 것으로 도시되는 소프트웨어 엘리먼트들을 포함할 수 있다. 단지 예시로서, 상기 논의된 방법(들)에 관하여 설명되는 하나 또는 그 초과의 절차들은 컴퓨터(및/또는 컴퓨터 내의 프로세서)에 의해 실행가능한 명령들 및/또는 코드로서 구현될 수 있다; 일 양상에서, 그 후에, 그와 같은 코드 및/또는 명령들은 설명된 방법들에 따라 하나 또는 그 초과의 동작들을 수행하기 위해 일반 목적 컴퓨터(또는 다른 디바이스)를 구성하고 및/또는 적응시키기 위해 이용될 수 있다.
[00178] 이들 명령들 및/또는 코드의 세트는 상술한 스토리지 디바이스(들)(125)와 같은 컴퓨터-판독가능한 스토리지 매체 상에 저장될 수 있다. 일부 경우들에서, 스토리지 매체는 컴퓨터 시스템(120)과 같은 컴퓨터 시스템 내에 통합될 수 있다. 다른 실시예들에서, 스토리지 매체가 그 위에 저장되는 명령들/코드로 일반 목적 컴퓨터를 프로그램, 구성 및/또는 적응시키기 위해 이용될 수 있도록, 스토리지 매체는 컴퓨터 시스템(예를 들어, 컴팩트 디스크와 같은 분리형 매체)으로부터 분리할 수 있으며, 및/또는 설치 패키지에 제공될 수 있다. 이들 명령들은 컴퓨터 시스템(120)에 의해 실행가능한 실행가능 코드의 형태를 취할 수 있으며 및/또는 (예를 들어, 다양한 일반적으로 이용가능한 컴파일러들, 설치 프로그램들, 압축/압축해제 유틸리티들 등 중 임의의 것을 이용하여) 컴퓨터 시스템(120) 상의 컴필레이션(compilation) 및/또는 설치시에, 실행가능한 코드의 형태를 취하는 소스 및/또는 설치가능한 코드의 형태를 취할 수 있다.
[00179] 실질적인 변형들은 특정 요건들에 따라 이루어질 수 있다. 예를 들어, 커스토마이징된 하드웨어가 또한 이용될 수 있으며, 및/또는 특정 엘리먼트들은 하드웨어, (애플릿들(applets) 등과 같은 휴대용 소프트웨어를 포함하는) 소프트웨어 또는 둘 다로 구현될 수 있다. 또한, 네트워크 입력/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들에 대한 접속이 사용될 수 있다.
[00180] 일부 실시예들은 본 개시물에 따른 방법들을 수행하기 위해 (컴퓨터 시스템(120)과 같은) 컴퓨터 시스템을 사용할 수 있다. 예를 들어, 설명된 방법들의 절차들 중 일부 또는 전부는 프로세서(100)가 메모리(110)에 포함되는 (애플리케이션 프로그램(145)과 같은 다른 코드 및/또는 운영 시스템(140)에 통합될 수 있는) 하나 또는 그 초과의 명령들의 하나 또는 그 초과의 시퀀스들을 실행하는데 응답하여 컴퓨터 시스템(120)에 의해 수행될 수 있다. 그와 같은 명령들은 스토리지 디바이스(들)(125) 중 하나 또는 그 초과과 같은, 다른 컴퓨터-판독가능한 매체로부터 메모리(110)로 판독될 수 있다. 단지 예시로서, 작동 메모리(110)에 포함되는 명령들의 시퀀스들의 실행은 프로세서(들)(100)로 하여금 본원에 설명되는 방법들 중 하나 또는 그 초과의 절차들을 수행하게 야기할 수 있다.
[00181] 일부 실시예들의 애플리케이션 프로그램(145)은 정보를 사용자에게 디스플레이하기 위해 인식 시스템(150)에 의한 POR의 인식을 이용할 수 있으며, 그 정보는 인식된 POR에 기초하여 선택된다. 디스플레이되는 정보는 실시예에 의존하며, 예를 들어 사용자가 레스토랑 옆을 걸을 때, 광고 또는 쿠폰이 (이동 디바이스일 수 있는) 컴퓨터 시스템(120)의 스크린과 같은 출력 디바이스(121) 상에 디스플레이될 수 있다.
[00182] 일부 실시예들의 컴퓨터 시스템(120)은 인식 시스템(150)으로부터의 장소 방문 정보에 기초하여 사용자 프로파일들을 구축하며, 그 후에 여러 질문들에 응답하기 위해 사용자 프로파일들을 이용한다. 제 1 예로서, 얼마나 많이 방문되는 장소이며 일 주간을 통해 평균적으로 얼마나 많은 시간이 소모되는가?(예를 들어, 홈, 직장), 제 2 예로서, 잊혀진 장소들에 대한 나의 최종 방문이 언제인가?(예를 들어, 타이어 교환). 추가로 컴퓨터 시스템(120)의 일부 실시예들은 사용자의 행동 패턴을 추출하며 그것을 사용자 프로파일에 저장한다(예를 들어, GYM 또는 SHOP 중 어느 타입의 장소가 내가 빈번하게 갔던 곳인가?, 최근에 내가 언제 GROCERY에 갔는가?). 그와 같은 사용자의 오프라인 프로파일은 그 후에 사용자의 행동의 더 깊은 이해를 획득하기 위해 그리고 적절한 마케팅 타겟들 및 전략들에 관하여 판단하기 위해 일부 실시예들의 애플리케이션 프로그램(145)에 의해 이용된다.
[00183] 일부 실시예들의 컴퓨터 시스템(120)은 사용자 행동을 예측하기 위해 그와 같은 사용자 프로파일들을 이용한다. 장소 방문들의 시간적 패턴에 기초하여, 일부 실시예들의 애플리케이션 프로그램(145)은 사용자의 다음 방문을 예측하며, 다양한 동작들을 수행하기 위해 이 예측을 이용한다. 예를 들어, 사용자가 영화관을 방문한 후에 레스토랑으로 가는 것이 일 패턴인 것을 발견 시스템(130)이 식별할 때, 애플리케이션 프로그램(145)은 그 영역에 있으며 사용자에게 매력적일 수 있는 레스토랑을 위한 쿠폰들을 획득하고 디스플레이하기 위해 이 패턴을 이용한다. 컴퓨터 시스템(120)에 의한 그와 같은 예측-기반된 광고는 실제 구매가 일어나기 직전에 사용자에게 도달하며 사용자의 행동에 영향을 미치는데, 예를 들어 사용자를 다른 레스토랑으로 안내한다.
[00184] 본원에 이용된 바와 같은 용어들 "기계-판독가능한 매체" 및 "컴퓨터-판독가능한 매체"는 기계로 하여금 특정 방식으로 동작하게 하는 데이터를 제공하는데 참여하는 임의의 비-일시적 매체를 지칭한다. 컴퓨터 시스템(120)을 이용하여 구현되는 실시예에서, 다양한 컴퓨터-판독가능한 매체는 실행을 위해 프로세서(들)(100)에 명령들/코드를 제공하는데 관련될 수 있으며 및/또는 (예를 들어, 신호들로서) 그와 같은 명령들/코드를 저장하고 및/또는 운반하기 위해 이용될 수 있다. 많은 구현들에서, 컴퓨터-판독가능한 매체는 물리적 및/또는 유형의 스토리지 매체이다. 그와 같은 비-일시적 매체는 비-휘발성 매체 및 휘발성 매체를 포함하는(그러나 이들로 제한되지 않음) 많은 형태들을 취할 수 있다. 비-휘발성 매체는 예를 들어, 스토리지 디바이스(들)(125)와 같은 광학 및/또는 자기 디스크들을 포함한다. 휘발성 매체는 제한없이, 메모리(110)와 같은 동적 메모리를 포함한다.
[00185] 비-일시적 컴퓨터-판독가능한 매체는 물리적 및/또는 유형의 컴퓨터-판독가능한 스토리지 매체를 포함한다. 스토리지 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 비-일시적 매체일 수 있다. 제한이 아닌 예로써, 그와 같은 컴퓨터-판독가능한 매체는 펀치카드들, 페이퍼테이프, RAM, ROM, PROM, EPROM, EEPROM, 플래시 메모리, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 명령들(또한 "프로세서 명령들" 또는 "컴퓨터 명령들"로 지칭됨) 또는 데이터 구조들의 형태의 프로그램 코드를 저장하는데 이용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 임의의 다른 비-일시적 매체를 포함할 수 있다; 여기서 사용되는 디스크(disk) 및 디스크(disc)는 플렉서블 디스크(disk), 하드 디스크(disk), 컴팩트 디스크(disc)(CD), 레이저 디스크(disc), 광학 디스크(disc), 디지털 만능 디스크(digital versatile disc: DVD), 플로피 디스크(disk), 및 블루-레이 디스크(disc)를 포함하며, 여기서 디스크(disk)들은 대개 데이터를 자기적으로 재생하는 한편, 디스크(disc)들은 레이저들로 광학적으로 데이터를 재생한다. 상기의 조합들은 또한 컴퓨터-판독가능한 매체의 범위 내에 포함되어야 한다.
[00186] 비-일시적 컴퓨터-판독가능한 매체의 다양한 형태들은 실행을 위해 프로세서(들)(100)에 하나 또는 그 초과의 명령들의 하나 또는 그 초과의 시퀀스들을 운반하는데 관련될 수 있다. 단지 예시로서, 명령들은 초기에 원격 컴퓨터의 광학 디스크(disc) 및/또는 자기 디스크(disk) 상에서 운반될 수 있다. 원격 컴퓨터는 명령들을 동적 메모리로 로딩할 수 있으며 컴퓨터 시스템(120)에 의해 수신되고 및/또는 실행되도록 전송 매체를 통해 신호들로서 명령들을 송신할 수 있다. 전자기 신호들, 음향 신호들, 광학 신호들 및/또는 등의 형태일 수 있는 이들 신호들은 본원에 설명되는 타입의 일부 실시예들에 따라, 명령들이 인코딩될 수 있는 캐리어 파들의 모든 예들이다.
[00187] 통신들 서브시스템(122)(및/또는 그의 컴포넌트들)은 일반적으로 신호들을 수신할 것이며, 버스(105)는 그 후에 프로세서(들)(100)가 명령들을 리트리브하며 실행하는 메모리(110)에 신호들(및/또는 신호들에 의해 운반되는 데이터, 명령들 등)을 운반할 수 있다. 메모리(110)에 의해 수신되는 명령들은 프로세서(들)(100)의 실행 전에 또는 후에 비-일시적 스토리지 디바이스(125) 상에 임의선택적으로 저장될 수 있다.
[00188] 상기에 논의된 방법들, 시스템들 및 디바이스들은 예들이다. 다양한 실시예들은 적절하게 다양한 절차들 또는 컴포넌트들을 생략, 치환 또는 추가할 수 있다. 예를 들어, 대안적인 구성들에서, 설명된 방법들은 설명된 것과 다른 순서로 수행될 수 있으며, 및/또는 다양한 스테이지들이 추가될 수 있고, 생략될 수 있으며 및/또는 조합될 수 있다. 또한, 특정 실시예들에 관하여 설명되는 특징들은 다양한 다른 실시예들에서 조합될 수 있다. 실시예들의 서로 다른 양상들 및 엘리먼트들은 유사한 방식으로 조합될 수 있다. 또한, 기술은 진화하며 따라서, 엘리먼트들 중 다수는 그들 특정 예들로 개시물의 범위를 제한하지 않는 예들이다.
[00189] 특정 상세들은 실시예들의 완전한 이해를 제공하기 위해 설명에 제공된다. 그러나, 실시예들은 이들 특정 상세들 없이 실시될 수 있다. 예를 들어, 잘-알려진 회로들, 프로세스들, 알고리즘들, 구조들 및 기술들은 실시예들을 모호하지 않게 회피하기 위해 불필요한 상세 없이 도시되었다. 이 설명은 예시적인 실시예들만을 제공하며, 본원에 설명되는 타입의 실시예들의 범위, 적용가능성 또는 구성을 제한하도록 의도되지 않는다. 오히려, 실시예들의 이전 설명은 당업자들에게 실시예들을 구현하기 위한 가능한 설명을 제공할 것이다. 다양한 변경들이 본 개시물의 정신 및 범위를 이탈하지 않고서 엘리먼트들의 기능 및 배치에서 이루어질 수 있다.
[00190] 또한, 일부 실시예들은 흐름도들 또는 블록도들로서 도시되는 프로세스들로서 설명되었다. 각각이 동작들을 순차적 프로세스로서 설명할 수 있더라도, 동작들 중 다수는 병렬로 또는 동시적으로 수행될 수 있다. 추가로, 동작들의 순서는 재배열될 수 있다. 프로세스는 도면에 포함되지 않는 추가적인 단계들을 가질 수 있다. 더욱이, 방법들의 실시예들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 설명 언어들 또는 그의 임의의 조합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어, 또는 마이크로코드로 구현될 때, 관련된 태스크들을 수행하기 위해 프로그램 코드 또는 코드 세그먼트들이 스토리지 매체와 같은 컴퓨터-판독가능한 매체에 저장될 수 있다. 프로세서들은 관련된 태스크들을 수행할 수 있다.
[00191] 여러 실시예들이 설명되었지만, 다양한 수정들, 대안적인 구성들 및 등가물들은 본 개시물의 정신으로부터 이탈하지 않고서 이용될 수 있다. 예를 들어, 상기 엘리먼트들은 단지 더 큰 시스템의 컴포넌트일 수 있으며, 다른 규칙들이 본원에 설명되는 타입의 실시예들의 애플리케이션보다 우선순위를 취할 수 있거나 그렇지 않으면 수정할 수 있다. 또한, 상기 엘리먼트들이 고려되기 전에, 고려되는 동안, 또는 고려된 후에 다수의 단계들이 착수될 수 있다. 따라서, 상기 설명은 실시예들의 범위를 제한하지 않는다.
[00192] 다양한 적응들 및 수정들은 본 개시물의 범위로부터 이탈하지 않고서 이루어질 수 있다. 따라서, 첨부된 청구범위의 정신 및 범위는 전술한 설명에 제한되지 않아야 한다. 실시예들의 여러 다른 양상들은 본원의 설명으로부터 당업자들에게 용이하게 명백해질 것임이 이해되며, 여기서 예시에 의해 다양한 양상들이 도시되고 설명된다. 도면들 및 상세한 설명은 본래 예시적이며 제한적이 아닌 것으로 고려될 것이다.

Claims (39)

  1. 컴퓨팅 디바이스의 사용자에 대한 관련 장소들을 발견하는 방법으로서,
    상기 컴퓨팅 디바이스에 의해, 무선 신호들의 측정들의 세트를 수신하는 단계;
    상기 컴퓨팅 디바이스에 의해, 하나 또는 그 초과의 장소들을 식별하는 단계 ― 각 장소는 상기 무선 신호들의 측정들의 세트의 서브세트의 중심 및 공간 확장의 크기를 가지고, 상기 중심은 상기 무선 신호들의 측정들의 세트 내의 다수의 전송기들로부터의 측정들의 적어도 하나의 서브세트를 이용하여 계산되고, 상기 중심은 신호 강도들의 값들의 벡터를 포함하고, 상기 벡터의 각 값은 전송기의 대응하는 무선 신호의 복수의 강도들에 기초하여 계산됨 ―;
    상기 컴퓨팅 디바이스에 의해, 2개의 중심들의 신호 강도들의 값들의 2개의 벡터들을 서로 비교하는 것에 적어도 기초하여, 상기 2개의 중심들을 갖는 대응하는 2개의 장소들이 유사한지 결정하는 단계; 및
    상기 컴퓨팅 디바이스에 의해, 적어도 상기 신호 강도들의 값들의 2개의 벡터들을 비교함으로써 상기 대응하는 2개의 장소들이 유사하다고 결정되는 것에 기초하여, 상기 대응하는 2개의 장소들을 포함하는 새로운 장소를 메모리에 저장하는 단계를 포함하고,
    상기 새로운 장소는 새로운 중심 및 새로운 공간 확장의 크기를 갖는,
    컴퓨팅 디바이스의 사용자에 대한 관련 장소들을 발견하는 방법.
  2. 제 1 항에 있어서,
    상기 식별하는 단계는 각 측정이 행해지는 시간에 무관하게 수행되는,
    컴퓨팅 디바이스의 사용자에 대한 관련 장소들을 발견하는 방법.
  3. 제 2 항에 있어서,
    하나 또는 그 초과의 장소들 각각을 식별하도록 하나 또는 그 초과의 라벨(label)들에 대한 사용자 입력을 수신하는 단계; 및
    상기 컴퓨팅 디바이스에 의해, 대응하는 2개의 장소들을 식별하는 2개의 라벨들을 비교하여 상기 2개의 라벨들이 유사한지 체크하는 단계를 포함하고,
    상기 저장하는 단계는 상기 2개의 라벨들이 유사한 것으로 결정되는데 더 기초하여 수행되는,
    컴퓨팅 디바이스의 사용자에 대한 관련 장소들을 발견하는 방법.
  4. 제 3 항에 있어서,
    상기 하나 또는 그 초과의 라벨들은 적어도 2개의 서로 다른 사용자들로부터 획득되는,
    컴퓨팅 디바이스의 사용자에 대한 관련 장소들을 발견하는 방법.
  5. 제 4 항에 있어서,
    상기 하나 또는 그 초과의 라벨들의 제 1 세트는 공개적인 것으로 지정되며; 및
    상기 하나 또는 그 초과의 라벨들의 제 2 세트는 상기 적어도 2개의 서로 다른 사용자들 중 적어도 하나의 사용자에 전용되는 것으로 지정되는,
    컴퓨팅 디바이스의 사용자에 대한 관련 장소들을 발견하는 방법.
  6. 제 1 항에 있어서,
    상기 식별하는 단계는, 상기 각 장소에서 시작하거나 종료하거나 상기 각 장소를 통과하는 실제 세상 경로를 따라 시간상 순차적으로 측정되는 각 장소의 서브세트에서의 측정들에 기초하는,
    컴퓨팅 디바이스의 사용자에 대한 관련 장소들을 발견하는 방법.
  7. 제 1 항에 있어서,
    상기 하나 또는 그 초과의 장소들을 식별하는 단계는,
    상기 서브세트의 각 측정의 유사성의 측정의 값을 유사성 임계값에 비교하는 것에 기초하는,
    컴퓨팅 디바이스의 사용자에 대한 관련 장소들을 발견하는 방법.
  8. 제 1 항에 있어서,
    상기 비교는 상기 2개의 벡터들을 비교하기 위해 유사성 함수를 실행하는 것을 적어도 포함하는,
    컴퓨팅 디바이스의 사용자에 대한 관련 장소들을 발견하는 방법.
  9. 제 1 항에 있어서,
    각각의 측정은 전송기들의 대응하는 그룹의 식별자들의 그룹, 및 상기 그룹으로부터의 무선 신호들의 강도들을 포함하며;
    각각의 중심의 각각의 벡터의 각각의 값은 상기 복수의 강도들의 평균인,
    컴퓨팅 디바이스의 사용자에 대한 관련 장소들을 발견하는 방법.
  10. 제 6 항에 있어서,
    무선 신호들의 측정들의 세트에 기초하여 트리의 루트 노드 및 상기 루트 노드에 접속되는 트리에서의 다수의 차일드(child) 노드들을 생성하는 단계를 더 포함하며, 적어도 하나의 차일드 노드는 상기 서브세트에 기초하여 생성되는,
    컴퓨팅 디바이스의 사용자에 대한 관련 장소들을 발견하는 방법.
  11. 제 10 항에 있어서,
    상기 새로운 장소를 식별하기 위해, 상기 무선 신호들의 측정들의 세트에서의 다수의 서브세트들을, 추가적인 측정들의 서브세트들과 비교하는 단계를 더 포함하는,
    컴퓨팅 디바이스의 사용자에 대한 관련 장소들을 발견하는 방법.
  12. 제 6 항에 있어서,
    알려진 관련 장소를 식별하기 위해, 무선 신호들의 측정들의 세트에서의 다수의 서브세트들을 측정들의 다른 세트에서의 서브세트들과 비교하는 단계를 더 포함하는,
    컴퓨팅 디바이스의 사용자에 대한 관련 장소들을 발견하는 방법.
  13. 제 1 항에 있어서,
    상기 결정하는 단계는 지리적 정보에 무관하게 수행되는,
    컴퓨팅 디바이스의 사용자에 대한 관련 장소들을 발견하는 방법.
  14. 사용자에 대한 관련 장소들을 발견하기 위한 디바이스로서,
    무선 트랜시버;
    상기 무선 트랜시버에 커플링되는 하나 또는 그 초과의 프로세서들;
    상기 하나 또는 그 초과의 프로세서들에 커플링되는 메모리; 및
    상기 하나 또는 그 초과의 프로세서들에서 실행될 때, 상기 하나 또는 그 초과의 프로세서들로 하여금:
    무선 신호들의 측정들의 세트를 수신하게 하고;
    하나 또는 그 초과의 장소들을 식별하게 하고 ― 각 장소는 상기 무선 신호들의 측정들의 세트의 서브세트의 중심 및 공간 확장의 크기를 가지고, 상기 중심은 상기 무선 신호들의 측정들의 세트 내의 다수의 전송기들로부터의 측정들의 적어도 하나의 서브세트를 이용하여 계산되고, 상기 중심은 신호 강도들의 값들의 벡터를 포함하고, 상기 벡터의 각 값은 전송기의 대응하는 무선 신호의 복수의 강도들에 기초하여 계산됨 ―;
    2개의 중심들의 신호 강도들의 값들의 2개의 벡터들을 서로 비교하는 것에 적어도 기초하여, 상기 2개의 중심들을 갖는 대응하는 2개의 장소들이 유사한지 결정하게 하고; 그리고
    적어도 상기 신호 강도들의 값들의 2개의 벡터들을 비교함으로써 상기 대응하는 2개의 장소들이 유사하다고 결정되는 것에 기초하여, 상기 대응하는 2개의 장소들을 포함하는 새로운 장소를 메모리에 저장하게 하는 상기 메모리에 유지되는 소프트웨어를 포함하고,
    상기 새로운 장소는 새로운 중심 및 새로운 공간 확장의 크기를 갖는,
    사용자에 대한 관련 장소들을 발견하기 위한 디바이스.
  15. 제 14 항에 있어서,
    상기 하나 또는 그 초과의 장소들의 식별은 각 측정이 행해지는 시간과 무관한,
    사용자에 대한 관련 장소들을 발견하기 위한 디바이스.
  16. 제 15 항에 있어서,
    상기 소프트웨어는 상기 하나 또는 그 초과의 프로세서들로 하여금:
    하나 또는 그 초과의 장소들 각각을 식별하도록 하나 또는 그 초과의 라벨들에 대한 사용자 입력을 수신하게 하고; 그리고
    대응하는 2개의 장소들을 식별하는 2개의 라벨들을 비교하여 상기 2개의 라벨들이 유사한지 체크하게 하며,
    상기 메모리의 상기 관련 장소의 스토리지는 상기 2개의 라벨들이 유사한 것으로 결정되는 것에 추가로 기초하는,
    사용자에 대한 관련 장소들을 발견하기 위한 디바이스.
  17. 제 16 항에 있어서,
    상기 하나 또는 그 초과의 라벨들은 적어도 2개의 서로 다른 사용자들로부터 획득되는,
    사용자에 대한 관련 장소들을 발견하기 위한 디바이스.
  18. 제 14 항에 있어서,
    상기 하나 또는 그 초과의 장소들의 식별은, 상기 각 장소에서 시작하거나 종료하거나 상기 각 장소를 통과하는 실제 세상 경로를 따라 시간상 순차적으로 측정되는 각 장소의 서브세트에서의 측정들에 기초하는,
    사용자에 대한 관련 장소들을 발견하기 위한 디바이스.
  19. 제 14 항에 있어서,
    상기 소프트웨어는 상기 하나 또는 그 초과의 프로세서들로 하여금 추가로:
    상기 서브세트의 각 측정의 유사성의 측정의 값을 유사성 임계값에 비교함으로써 상기 하나 또는 그 초과의 장소들을 식별하게 하는,
    사용자에 대한 관련 장소들을 발견하기 위한 디바이스.
  20. 제 14 항에 있어서,
    유사성 함수가 상기 2개의 벡터들을 비교하기 위해 실행되는,
    사용자에 대한 관련 장소들을 발견하기 위한 디바이스.
  21. 제 18 항에 있어서,
    상기 소프트웨어는 추가로 상기 하나 또는 그 초과의 프로세서들로 하여금 루트 노드에 접속되는 트리에서의 다수의 차일드 노드들 및 무선 신호들의 측정들의 세트에 기초하여 트리의 루트 노드를 생성하게 하며, 적어도 하나의 차일드 노드는 상기 서브세트에 기초하여 생성되는,
    사용자에 대한 관련 장소들을 발견하기 위한 디바이스.
  22. 제 14 항에 있어서,
    상기 대응하는 2개의 장소들의 유사성의 결정은 지리적 정보에 무관한,
    사용자에 대한 관련 장소들을 발견하기 위한 디바이스.
  23. 사용자에 대한 관련 장소들을 발견하기 위한 소프트웨어를 포함하는 컴퓨터 판독가능한 저장 매체로서,
    상기 소프트웨어는 프로세서에 의해 실행될 때:
    무선 신호들의 측정들의 세트를 수신하는 단계;
    하나 또는 그 초과의 장소들을 식별하는 단계 ― 각 장소는 상기 무선 신호들의 측정들의 세트의 서브세트의 중심 및 공간 확장의 크기를 가지고, 상기 중심은 상기 무선 신호들의 측정들의 세트 내의 다수의 전송기들로부터의 측정들의 적어도 하나의 서브세트를 이용하여 계산되고, 상기 중심은 신호 강도들의 값들의 벡터를 포함하고, 상기 벡터의 각 값은 전송기의 대응하는 무선 신호의 복수의 강도들에 기초하여 계산됨 ―;
    2개의 중심들의 신호 강도들의 값들의 2개의 벡터들을 서로 비교하는 것에 적어도 기초하여, 상기 2개의 중심들을 갖는 대응하는 2개의 장소들이 유사한지 결정하는 단계; 및
    적어도 상기 신호 강도들의 값들의 2개의 벡터들을 비교함으로써 상기 대응하는 2개의 장소들이 유사하다고 결정되는 것에 기초하여, 상기 대응하는 2개의 장소들을 포함하는 새로운 장소를 메모리에 저장하는 단계를 포함하는 방법의 단계들을 수행하고,
    상기 새로운 장소는 새로운 중심 및 새로운 공간 확장의 크기를 갖는,
    컴퓨터 판독가능한 저장 매체.
  24. 제 23 항에 있어서,
    상기 하나 또는 그 초과의 장소들의 식별은, 각 측정이 행해지는 시간에 무관한,
    컴퓨터 판독가능한 저장 매체.
  25. 제 24 항에 있어서,
    상기 방법의 단계들은:
    하나 또는 그 초과의 장소들 각각을 식별하도록 하나 또는 그 초과의 라벨들에 대한 사용자 입력을 수신하는 단계; 및
    대응하는 2개의 장소들을 식별하는 2개의 라벨들을 비교하여 상기 2개의 라벨들이 유사한지 체크하는 단계를 포함하고,
    상기 메모리에서의 상기 관련 장소의 스토리지는 상기 2개의 라벨들이 유사한 것으로 결정되는 것에 추가로 기초하는,
    컴퓨터 판독가능한 저장 매체.
  26. 제 23 항에 있어서,
    상기 하나 또는 그 초과의 장소들의 식별은, 상기 각 장소에서 시작하거나 종료하거나 상기 각 장소를 통과하는 실제 세상 경로를 따라 시간상 순차적으로 측정되는 각 장소의 서브세트에서의 측정들에 기초하는,
    컴퓨터 판독가능한 저장 매체.
  27. 제 23 항에 있어서,
    상기 하나 또는 그 초과의 장소들의 식별은,
    상기 서브세트의 각 측정의 유사성의 측정의 값을 유사성 임계값에 비교하는 것을 포함하는,
    컴퓨터 판독가능한 저장 매체.
  28. 제 27 항에 있어서,
    유사성 함수는 상기 2개의 벡터들을 비교하기 위해 실행되는,
    컴퓨터 판독가능한 저장 매체.
  29. 제 26 항에 있어서,
    상기 방법의 단계들은:
    루트 노드에 접속되는 트리에서의 다수의 차일드 노드들 및 무선 신호들의 측정들의 세트에 기초하여 트리의 루트 노드를 생성하는 단계를 더 포함하고, 적어도 하나의 차일드 노드는 상기 서브세트에 기초하여 생성되는,
    컴퓨터 판독가능한 저장 매체.
  30. 제 23 항에 있어서,
    상기 대응하는 2개의 장소들의 유사성의 결정은 지리적 정보에 무관한,
    컴퓨터 판독가능한 저장 매체.
  31. 사용자에 대한 관련 장소들을 발견하기 위한 시스템으로서,
    무선 신호들의 측정들의 세트를 획득하기 위한 수단;
    하나 또는 그 초과의 장소들을 식별하기 위한 수단 ― 각 장소는 상기 무선 신호들의 측정들의 세트의 서브세트의 중심 및 공간 확장의 크기를 가지고, 상기 중심은 상기 무선 신호들의 측정들의 세트 내의 다수의 전송기들로부터의 측정들의 적어도 하나의 서브세트를 이용하여 계산되고, 상기 중심은 신호 강도들의 값들의 벡터를 포함하고, 상기 벡터의 각 값은 전송기의 대응하는 무선 신호의 복수의 강도들에 기초하여 계산됨 ―;
    2개의 중심들의 신호 강도들의 값들의 2개의 벡터들을 서로 비교하는 것에 적어도 기초하여, 상기 2개의 중심들을 갖는 대응하는 2개의 장소들이 유사한지 결정하기 위한 수단; 및
    적어도 상기 신호 강도들의 값들의 2개의 벡터들을 비교함으로써 상기 대응하는 2개의 장소들이 유사하다고 결정되는 것에 기초하여, 상기 대응하는 2개의 장소들을 포함하는 새로운 장소를 메모리에 저장하기 위한 수단을 포함하고,
    상기 새로운 장소는 새로운 중심 및 새로운 공간 확장의 크기를 갖는,
    사용자에 대한 관련 장소들을 발견하기 위한 시스템.
  32. 제 31 항에 있어서,
    상기 2개의 중심들을 갖는 대응하는 2개의 장소들이 유사한지 결정하는 것은 각 측정이 행해지는 시간에 무관하게 수행되는,
    사용자에 대한 관련 장소들을 발견하기 위한 시스템.
  33. 제 32 항에 있어서,
    하나 또는 그 초과의 장소들 각각을 식별하도록 하나 또는 그 초과의 라벨들에 대한 사용자 입력을 수신하기 위한 수단; 및
    대응하는 2개의 장소들을 식별하는 2개의 라벨들을 비교하여 상기 2개의 라벨들이 유사한지 체크하기 위한 수단을 포함하고,
    상기 저장하기 위한 수단은 상기 2개의 라벨들이 유사한 것으로 결정되는 것에 더 기초하는,
    사용자에 대한 관련 장소들을 발견하기 위한 시스템.
  34. 제 31 항에 있어서,
    상기 식별하기 위한 수단은, 상기 각 장소에서 시작하거나 종료하거나 상기 각 장소를 통과하는 실제 세상 경로를 따라 시간상 순차적으로 측정되는 각 장소의 서브세트에서의 측정들에 기초하는,
    사용자에 대한 관련 장소들을 발견하기 위한 시스템.
  35. 제 31 항에 있어서,
    상기 하나 또는 그 초과의 장소들을 식별하기 위한 수단은,
    상기 서브세트의 각 측정의 유사성의 측정의 값을 유사성 임계값에 비교하기 위한 수단을 포함하는,
    사용자에 대한 관련 장소들을 발견하기 위한 시스템.
  36. 제 34 항에 있어서,
    루트 노드에 접속되는 트리에서의 다수의 차일드 노드들 및 무선 신호들의 측정들의 세트에 기초하여 트리의 루트 노드를 생성하기 위한 수단을 더 포함하며, 적어도 하나의 차일드 노드가 상기 서브세트에 기초하여 생성되는,
    사용자에 대한 관련 장소들을 발견하기 위한 시스템.
  37. 사용자에 대한 확장된 관련 장소들을 발견하기 위한 장치로서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 장치로 하여금:
    무선 신호들의 측정들의 세트를 수신하게 하고;
    하나 또는 그 초과의 장소들을 식별하게 하고 ― 각 장소는 상기 무선 신호들의 측정들의 세트의 서브세트의 중심 및 공간 확장의 크기를 가지고, 상기 중심은 상기 무선 신호들의 측정들의 세트 내의 다수의 전송기들로부터의 측정들의 적어도 하나의 서브세트를 이용하여 계산되고, 상기 중심은 신호 강도들의 값들의 벡터를 포함하고, 상기 벡터의 각 값은 전송기의 대응하는 무선 신호의 복수의 강도들에 기초하여 계산됨 ―;
    2개의 중심들의 신호 강도들의 값들의 2개의 벡터들을 서로 비교하는 것에 적어도 기초하여, 상기 2개의 중심들을 갖는 대응하는 2개의 장소들이 유사한지 결정하게 하고; 그리고
    적어도 상기 신호 강도들의 값들의 2개의 벡터들을 비교함으로써 상기 대응하는 2개의 장소들이 유사하다고 결정되는 것에 기초하여, 상기 대응하는 2개의 장소들을 포함하는 새로운 장소를 메모리에 저장하게 하는 컴퓨터-판독가능한 명령들을 저장하는 메모리를 포함하고,
    상기 새로운 장소는 새로운 중심 및 새로운 공간 확장의 크기를 갖는,
    사용자에 대한 확장된 관련 장소들을 발견하기 위한 장치.
  38. 제 37 항에 있어서,
    상기 대응하는 2개의 장소들의 유사성의 결정은 지리적 정보에 무관한,
    사용자에 대한 확장된 관련 장소들을 발견하기 위한 장치.
  39. 제 1 항에 있어서,
    각각의 공간 확장은 빌딩의 룸의 차원들을 갖는,
    컴퓨팅 디바이스의 사용자에 대한 관련 장소들을 발견하는 방법.
KR1020147011496A 2011-09-28 2012-09-27 관련 장소의 발견 및 자동적인 사이징 KR101659975B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161540426P 2011-09-28 2011-09-28
US61/540,426 2011-09-28
US13/627,823 US9432805B2 (en) 2011-09-28 2012-09-26 Discovering and automatically sizing a place of relevance
US13/627,823 2012-09-26
PCT/US2012/057579 WO2013049360A1 (en) 2011-09-28 2012-09-27 Discovering and automatically sizing a place of relevance

Publications (2)

Publication Number Publication Date
KR20140071465A KR20140071465A (ko) 2014-06-11
KR101659975B1 true KR101659975B1 (ko) 2016-09-27

Family

ID=47912414

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147011496A KR101659975B1 (ko) 2011-09-28 2012-09-27 관련 장소의 발견 및 자동적인 사이징

Country Status (6)

Country Link
US (1) US9432805B2 (ko)
EP (1) EP2761893A1 (ko)
JP (1) JP2014532353A (ko)
KR (1) KR101659975B1 (ko)
CN (1) CN103947230A (ko)
WO (1) WO2013049360A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11194842B2 (en) 2018-01-18 2021-12-07 Samsung Electronics Company, Ltd. Methods and systems for interacting with mobile device

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103888493B (zh) * 2012-12-20 2018-03-23 腾讯科技(深圳)有限公司 信息推送方法及装置
EP2998879B1 (en) * 2013-05-14 2017-11-01 Fujitsu Limited Grouping apparatus, system, method, and program
WO2014189495A1 (en) * 2013-05-21 2014-11-27 Intel Corporation Systems and methods for simultaneously and automatically creating databases of wifi signal information
US9411632B2 (en) * 2013-05-30 2016-08-09 Qualcomm Incorporated Parallel method for agglomerative clustering of non-stationary data
US20150006279A1 (en) * 2013-06-27 2015-01-01 Google Inc. Systems and methods of generating a valid location cluster based on a location of a commercial entity
US9465816B2 (en) 2013-08-19 2016-10-11 Globalfoundries Inc. Generating an image of a floor plan
US10051110B2 (en) 2013-08-29 2018-08-14 Apple Inc. Management of movement states of an electronic device
US10034145B2 (en) * 2014-01-16 2018-07-24 Harman International Industries, Incorporated Localizing mobile device in vehicle
US9414100B2 (en) 2014-03-31 2016-08-09 Arris Enterprises, Inc. Adaptive streaming transcoder synchronization
KR102216049B1 (ko) 2014-04-21 2021-02-15 삼성전자주식회사 시맨틱 라벨링 시스템 및 방법
US9525899B2 (en) * 2014-04-28 2016-12-20 Rovi Guides, Inc. Methods and systems for preventing a user from terminating services based on a consumption rate of the user
US9275132B2 (en) * 2014-05-12 2016-03-01 Diffeo, Inc. Entity-centric knowledge discovery
US9807549B2 (en) * 2014-07-18 2017-10-31 Intel Corporation Systems and methods for adaptive multi-feature semantic location sensing
CN105590330B (zh) * 2014-10-30 2018-10-16 清华大学 基于群智感知的室内平面图生成方法、服务器及系统
US10028084B2 (en) 2015-02-10 2018-07-17 Qualcomm Incorporated Adaptive position indicator
US20170004406A1 (en) * 2015-06-30 2017-01-05 Qualcomm Incorporated Parallel belief space motion planner
US20200322868A1 (en) * 2015-07-17 2020-10-08 Origin Wireless, Inc. Method, apparatus, and system for improving topology of wireless sensing systems
US20170061297A1 (en) * 2015-08-31 2017-03-02 Sas Institute Inc. Automatically determining data sets for a three-stage predictor
US11106741B2 (en) 2017-06-06 2021-08-31 Salesforce.Com, Inc. Knowledge operating system
US10627242B2 (en) * 2017-12-04 2020-04-21 Mapbox, Inc. Identifying missing features in digital maps based on mobile telemetry data
FR3079309B1 (fr) * 2018-03-21 2020-07-17 Sigfox Procede et systeme de geolocalisation de terminaux evoluant en groupe
US11240752B2 (en) 2019-02-04 2022-02-01 Morgan State University Adaptive energy efficient cellular network
US11567996B2 (en) * 2020-12-28 2023-01-31 Atlassian Pty Ltd Collaborative document graph-based user interfaces
US12013823B2 (en) * 2022-09-08 2024-06-18 Tyco Fire & Security Gmbh Gateway system that maps points into a graph schema
US12061633B2 (en) 2022-09-08 2024-08-13 Tyco Fire & Security Gmbh Building system that maps points into a graph schema

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001128222A (ja) 1999-10-25 2001-05-11 Matsushita Electric Ind Co Ltd 無線移動局の位置検出方法及び装置
JP2006308361A (ja) 2005-04-27 2006-11-09 Nippon Telegr & Teleph Corp <Ntt> 位置検出システム及びその方法
US20100317371A1 (en) 2009-06-12 2010-12-16 Westerinen William J Context-based interaction model for mobile devices
US20110182238A1 (en) 2008-08-06 2011-07-28 Christopher Marshall Location estimation by observing wireless signals

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6938234B1 (en) 2002-01-22 2005-08-30 Cadence Design Systems, Inc. Method and apparatus for defining vias
US7715850B2 (en) 2002-10-22 2010-05-11 Qualcomm Incorporated Method and apparatus for identifying transmitters in a wireless communication system using power predictions
JP2006524819A (ja) * 2003-04-25 2006-11-02 クゥアルコム・インコーポレイテッド 信号捕捉補助データを取得するためのシステム及び方法
US7395073B2 (en) 2003-06-05 2008-07-01 Ntt Docomo Inc. Method and apparatus for location estimation using region of confidence filtering
EP2118810B1 (en) * 2007-02-05 2012-08-15 Andrew Corporation System and method for optimizing location estimate of mobile unit
US20080214202A1 (en) * 2007-03-02 2008-09-04 General Instrument Corporation Method and Apparatus for Bluetooth Discoverability Using Region Estimation
SG146461A1 (en) 2007-03-15 2008-10-30 Agis Pte Ltd Location determination using sequential pattern recognition
GB2462592A (en) * 2008-08-06 2010-02-17 Geotate Bv Supplementing GPS position information adaptively with WiFi location data
US8547224B2 (en) * 2009-07-27 2013-10-01 Electronics And Telecommunications Research Institute Device and method for collecting information related to infrastructure, and positioning method and system using the same
US8660577B2 (en) * 2009-12-04 2014-02-25 Nokia Corporation Method and apparatus for on-device positioning using compressed fingerprint archives
WO2011070551A1 (en) 2009-12-10 2011-06-16 Nokia Corporation Method and apparatus for constructing a user-generated geolocation system
US8682345B2 (en) * 2011-09-28 2014-03-25 Qualcomm Incorporated Utilizing relationships between places of relevance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001128222A (ja) 1999-10-25 2001-05-11 Matsushita Electric Ind Co Ltd 無線移動局の位置検出方法及び装置
JP2006308361A (ja) 2005-04-27 2006-11-09 Nippon Telegr & Teleph Corp <Ntt> 位置検出システム及びその方法
US20110182238A1 (en) 2008-08-06 2011-07-28 Christopher Marshall Location estimation by observing wireless signals
US20100317371A1 (en) 2009-06-12 2010-12-16 Westerinen William J Context-based interaction model for mobile devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11194842B2 (en) 2018-01-18 2021-12-07 Samsung Electronics Company, Ltd. Methods and systems for interacting with mobile device

Also Published As

Publication number Publication date
US20130080457A1 (en) 2013-03-28
US9432805B2 (en) 2016-08-30
WO2013049360A1 (en) 2013-04-04
CN103947230A (zh) 2014-07-23
EP2761893A1 (en) 2014-08-06
KR20140071465A (ko) 2014-06-11
JP2014532353A (ja) 2014-12-04

Similar Documents

Publication Publication Date Title
KR101659975B1 (ko) 관련 장소의 발견 및 자동적인 사이징
EP2671373B1 (en) Method and apparatus for mobile location determination
Sturari et al. Robust and affordable retail customer profiling by vision and radio beacon sensor fusion
Zhou et al. Understanding urban human mobility through crowdsensed data
Yaeli et al. Understanding customer behavior using indoor location analysis and visualization
KR101203232B1 (ko) 이동 장치의 로케이션 역학을 결정하는 시스템 및 방법, 이동 장치를 추적하는 것을 용이하게 하는 머신 구현 시스템, 무선 장치 로케이션 시스템, 및 컴퓨터 판독가능 기록 매체
KR101451883B1 (ko) 3단계 절차를 이용한 실내 층 및 위치의 예측
CN104781686A (zh) 路径匹配
US20160360380A1 (en) Correcting in-venue location estimation using structural information
CN110545558A (zh) 基于Wi-Fi数据的高速服务区人群密度估计系统
Petrenko et al. Exploring mobility indoors: an application of sensor‐based and GIS systems
WO2017155811A1 (en) Method and device for signal processing
GB2570853A (en) Identifying sites visited by a user device
Solmaz et al. Group-in: Group inference from wireless traces of mobile devices
Brouwers et al. Dwelling in the canyons: Dwelling detection in urban environments using gps, wi-fi, and geolocation
Marakkalage et al. WiFi fingerprint clustering for urban mobility analysis
Carboni et al. Infrastructure-free indoor navigation: a case study
Elhamshary et al. Towards ubiquitous indoor spatial awareness on a worldwide scale
Liang et al. Understanding customer behavior in shopping mall from indoor tracking data
Vidmar et al. An automatic Wi-Fi-based approach for extraction of user places and their context
KR102377486B1 (ko) WiFi 센싱 데이터를 이용한 보행자 특성 분석 시스템 및 이를 이용한 보행자 특성 분석 방법
CN111898322B (zh) 一种数据处理方法及相关设备
Luo et al. From mapping to indoor semantic queries: Enabling zero-effort indoor environmental sensing
Kwon et al. A novel location prediction scheme based on trajectory data
Al Qathrady Data-Driven Indoor Mobility Analyses, Modeling, and Encounter Classification for IoT Applications

Legal Events

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