KR102655627B1 - 구조의 수직 층 메커니즘을 가진 컴퓨팅 시스템 및 그 동작 방법 - Google Patents

구조의 수직 층 메커니즘을 가진 컴퓨팅 시스템 및 그 동작 방법 Download PDF

Info

Publication number
KR102655627B1
KR102655627B1 KR1020187017640A KR20187017640A KR102655627B1 KR 102655627 B1 KR102655627 B1 KR 102655627B1 KR 1020187017640 A KR1020187017640 A KR 1020187017640A KR 20187017640 A KR20187017640 A KR 20187017640A KR 102655627 B1 KR102655627 B1 KR 102655627B1
Authority
KR
South Korea
Prior art keywords
computing system
combination
location
measurements
altitude
Prior art date
Application number
KR1020187017640A
Other languages
English (en)
Other versions
KR20180089441A (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 KR20180089441A publication Critical patent/KR20180089441A/ko
Application granted granted Critical
Publication of KR102655627B1 publication Critical patent/KR102655627B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/383Indoor data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3844Data obtained from position sensors only, e.g. from inertial navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/03Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/01Determining conditions which influence positioning, e.g. radio environment, state of motion or energy consumption
    • G01S5/014Identifying transitions between environments
    • G01S5/015Identifying transitions between environments between indoor and outdoor environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Toxicology (AREA)
  • Health & Medical Sciences (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Navigation (AREA)

Abstract

컴퓨팅 시스템은, 어떤 지리적 위치에 위치하는 빌딩 구조에 대해 측정된 상태들을 나타내는 환경 측정치들을 판단하고, 수직 방향을 따라 빌딩 구조의 층을 매핑하기 위해 환경 측정치들에 기반하여 맵을 생성하도록 구성된 제어 회로; 및 제어 회로와 연결되어, 빌딩 구조를 나타내기 위한 맵을 저장하도록 구성된 저장 회로를 포함한다.

Description

구조의 수직 층 메커니즘을 가진 컴퓨팅 시스템 및 그 동작 방법
본 발명의 일 실시예는 일반적으로 컴퓨팅 시스템에 관한 것으로, 보다 상세하게는 구조의 수직 층 메커니즘을 가진 시스템에 관한 것이다.
현대의 소비자 가전 및 산업 전자기기들, 특히 컴퓨팅 시스템, 휴대폰, 헬스 모니터나 스마트 와치와 같은 착용형 장치, 및 그 결합 장치들과 같은 장치들은 온라인 소셜 네트워크를 포함하는 현대적 생활을 뒷받침하기 위해 점점 높아지는 수준의 기능을 제공하고 있다. 기존 기술들 안에서의 연구개발은 수많은 상이한 방향을 취할 수 있다.
사용자들이 더 많은 컴퓨팅 발전의 혜택을 보게 됨에 따라, 다양한 사용자들은 이러한 새 장치 공간을 적극 활용하기 시작하였다. 늘어나는 기능들을 사용자에게 제공하기 위해 이러한 새로운 장치 능력을 활용하도록 하는 많은 기술적 방법들이 존재한다. 그러나 구조물들 안에서의 수직 위치확인이나 매핑에 관해 사용자들은 보통 충분치 못한 기능들에 직면한다.
그에 따라, 구조의 수직 층 메커니즘을 가진 컴퓨팅 시스템에 대해 필요성이 여전히 존재한다. 시장에서의 의미 있는 제품 차별화에 대해 늘어나는 소비자의 기대와 감소하는 기회들과 더불어, 계속 증가 중에 있는 상업적 경쟁의 압박이라는 관점에 비추어, 그러한 문제들의 해답을 찾는 일은 더욱더 중요해지고 있다. 또한, 비용을 줄이고, 효율성 및 성능을 개선하며 경쟁의 압박에 부응해야 한다는 필요성이, 그러한 문제들에 해답을 찾아야 한다는 절박한 필요성에 더욱 큰 급박함을 더한다.
이러한 문제들에 대한 해법이 오랫동안 모색되어 왔지만, 이전의 기술들은 어떠한 해법도 알려주거나 제안하지 못하였기 때문에, 당업자들은 이 문제에 대한 해법을 오랫동안 얻지 못하였다.
본 발명의 실시예는 컴퓨팅 시스템을 제공한다. 상기 컴퓨팅 시스템은, 어떤 지리적 위치에 자리하는 빌딩 구조에 대해 측정된 상태들을 나타내는 환경 측정치들을 판단하고, 수직 방향을 따라 상기 빌딩 구조의 층을 매핑하기 위해 상기 환경 측정치들에 기반하여 맵을 생성하도록 구성된 제어 회로; 및 상기 제어 회로와 연결되어, 상기 빌딩 구조를 나타내기 위한 맵을 저장하도록 구성된 저장 회로를 포함한다.
일 실시예에 따라 제공되는 컴퓨팅 시스템은 어떤 지리적 위치에 위치하는 빌딩 구조 안에서 측정된 상태들을 나타내는 환경 측정치들을 판단하고, 빌딩 구조의 층을 수직 방향을 따라 매핑하기 위해 상기 환경 측정치들에 기반하여 맵을 생성하도록 구성된 제어 회로; 및 제어 회로와 연결되어, 상기 빌딩 구조를 나타내기 위한 맵을 저장하도록 구성된 저장 회로를 포함한다.
일 실시예에서, 제어 회로는 빌딩 구조 내 상기 층에 있는 사용자를 수직 위치확인하기 위한 맵을 생성하도록 구성된다.
본 발명의 일 실시예에 따라 제공되는 컴퓨팅 시스템의 동작 방법은, 어떤 지리적 위치에 위치하는 빌딩 구조 안에서 측정된 상태들을 나타내는 환경 측정치들을 판단하는 단계; 및 제어 회로를 사용하여, 수직 방향을 따라 상기 빌딩 구조의 층을 매핑하기 위해 상기 환경 측정치들에 기반하여 맵을 생성하는 단계를 포함한다.
컴퓨팅 시스템의 제어 회로에 의해 실행될 수 있는 명령어들을 포함하는 비일시적 컴퓨터 판독가능 매체들로서, 상기 명령어들은 어떤 지리적 위치에 위치하는 빌딩 구조 안에서 측정된 상태들을 나타내는 환경 측정치들을 판단하고, 수직 방향을 따라 상기 빌딩 구조의 층을 매핑하기 위해 상기 환경 측정치들에 기반하여 맵을 생성하는 동작들을 포함한다.
일 실시예에서, 상기 명령어들은, 장치를 사용하여, 상기 장치에 대응하는 수직 이동 이벤트 검출에 기반하여 상기 환경 측정치들 중 하나 이상을 판단하는 동작을 포함하는 환경 측정치들의 판단 동작; 및 빌딩 구조의 맵을 사용하여 수직 방향을 따라 상기 장치의 위치를 확인하기 위해 상기 환경 측정치들 중 상기 하나 이상을 정규화(normalizing) 하도록, 상기 장치로부터 상기 환경 측정치들 중 상기 하나 이상에 기반하여 상대적 고도를 산출하는 동작을 포함한다.
일 실시예에서, 상기 명령어들은 상기 환경 측정치들에 기반하여, 빌딩 구조의 해당 층으로, 또는 해당 층으로부터의 수직 커넥션을 제공하기 위한 층 변화 접근 위치를 판단하는 동작을 포함하고, 상기 맵을 생성하는 동작은 해당 층에서 상기 층 변화 접근 위치를 확인하기 위해 층 변화 접근 위치를 포함하는 맵을 생성하는 동작을 포함한다.
일 실시예에서, 상기 명령어들은 입출 고도 대비 장치 고도에 해당하는 환경 측정치들을 표현하기 위한 상대적 고도들을 결정하는 동작을 포함하고, 상기 맵을 생성하는 동작은 환경 측정치들을 나타내는 상대적 고도들에 기반하여 맵을 생성하는 동작을 포함한다.
일 실시예에서, 상기 명령어들은 교정 위치에 대해 환경 측정치들을 교정하기 위해 장치 조정 기준에 기반하여 상대적 고도들을 결정하는 것을 포함하며, 상기 맵을 생성하는 동작은 환경 측정치들을 나타내는 상대적 고도들에 기반하여 맵을 생성하는 동작을 포함한다.
도 1은 본 발명의 일 실시예에 따른 구조의 수직 층 메커니즘을 가진 컴퓨팅 시스템이다.
도 2는 컴퓨팅 시스템의 디스플레이 인터페이스 상에 시각적으로 도시된 실시예의 프로세스 예이다.
도 3은 컴퓨팅 시스템의 디스플레이 인터페이스 상에 시각적으로 도시된 실시예의 또 다른 프로세스 예이다.
도 4는 컴퓨팅 시스템의 예시적 블록도이다.
도 5는 컴퓨팅 시스템의 또 다른 예시적 블록도이다.
도 6은 컴퓨팅 시스템의 예시적 시스템 아키텍처이다.
도 7은 도 1의 컴퓨팅 시스템을 나타내기 위한 예시적 흐름도이다.
도 8은 도 7의 장치 교정 단계에 대한 상세한 예시적 흐름도이다.
도 9는 도 7의 입출 고도의 산출 단계에 대한 상세한 예시적 흐름도이다.
도 10은 도 7의 프로세스 트리거 결정 단계 및 도 7의 다른 후속 단계들에 대한 상세한 예시적 흐름도이다.
도 11은 도 7의 수직 위치 확인 단계에 대한 상세한 예시적 흐름도이다.
도 12는 또 다른 실시예에 따른 도 1의 컴퓨팅 시스템의 동작 방법에 대한 예시적 흐름도이다.
이하의 본 발명의 실시예들은 빌딩 구조 안에서 사용자 장치의 위치를 확인하거나 빌딩 구조를 수직 매핑하기 위한 자율 메커니즘을 제공한다. 위치확인 프로세스, 매핑 프로세스, 또는 이들의 조합은 교정 위치에서의 교정 측정치(calibration measurement)를 통해 사용자 장치를 동적으로 교정하는 것을 기반으로 할 수 있다. 위치확인 프로세스, 매핑 프로세스, 또는 이들의 조합은 상대적 고도를 산출하기 위해, 환경 측정치를 포함하는 센서 데이터를 정규화하는 것을 또한 기반으로 할 수 있다.
이하의 실시예들은 당업자가 본 발명을 만들고 이용할 수 있을 만큼 충분히 상세하게 기술된다. 본 개시사항에 기초한 다른 실시예들도 자명하게 예상될 수 있고, 본 발명의 범위로부터 벗어나지 않고 시스템, 프로세스, 또는 메커니즘의 변경이 이뤄질 수 있다는 것을 알아야 한다.
이하의 설명에서는 본 발명에 대한 이해를 돕기 위해 수많은 특정한 세부사항들이 주어진다. 그러나, 그러한 세부 사항들이 없어도 본 발명이 실시될 수 있다는 것을 예상할 수 있다. 본 발명의 실시예를 모호하게 하는 것을 피하기 위해, 일부 잘 알려진 회로, 시스템, 구성, 및 프로세스 단계들은 상세히 개시되지 않는다.
시스템의 실시예를 보이는 도면들은 세미 다이어그램으로서, 그 축척비율대로가 아니며, 특히 그 치수의 일부는 표현의 명료성을 위한 것으로 도면에서 과장되게 보여진다. 마찬가지로, 설명의 편의를 위해 도면들의 보기는 일반적으로 비슷한 방위를 취하고 있지만, 도면의 이러한 묘사는 대부분에 있어 임의적인 것이다. 일반적으로 본 발명은 어떤 방위 상에서도 작동될 수 있다.
이 명세서에서 언급되는 "수직"이라는 용어는 중력 방향과 나란하거나 일치하는 방향 또는 방위를 포함할 수 있다. "위" 및 "아래"라는 용어들은 표면이나 해수면을 기준으로 사람, 개체, 장치, 또는 이들의 조합 등에 대해 기준점에서 수직 방향으로 반대일 수 있다. 이 명세서에서 언급되는 "수평"이라는 용어는 수직에 직교하는 방향 또는 방위를 포함할 수 있으며, 지표면과 평행한 평면을 따라 난 방향 또는 방위를 포함한다.
이 명세서에서 언급되는 "자율"이라는 용어는 수동 입력, 사전 전제, 및 외부적으로 제공되는 관련된 사전 정보도 없이 구현되는 프로세스, 회로, 방법, 메커니즘, 또는 그 조합에 대한 묘사 또는 유형을 포함할 수 있다. 보다 구체적으로, "자율"이라는 용어는 사용자나 시스템 관리자로부터의 수동적 입력이나 응답, 빌딩이나 구조물에 관해 외부적으로 제공되는 관련 정보, 및 빌딩이나 구조의 수직 치수에 관한 어떠한 전제도 없이 프로세스, 회로, 방법, 메커니즘, 또는 그들의 조합을 기술하거나 구분할 수 있다.
이하에서 도 1을 참조하면, 본 발명의 일 실시예에서 구조의 수직 층 메커니즘을 가진 컴퓨팅 시스템(100)이 도시된다. 컴퓨팅 시스템(100)은 클라이언트 장치와 같은 제1클라이언트 장치(102)를 포함하며, 제1클라이언트 장치(102)는 클라이언트 장치나 서버와 같은 제2장치(106)에 연결된다. 제1장치(102)는 무선 또는 유선 네트워크와 같은 네트워크(104)를 통해 제2장치(106)와 통신할 수 있다.
예를 들어, 제1장치(102)는 휴대 전화, PDA(personal digital assistant), 노트북 컴퓨터, 태블릿 컴퓨터, 착용형 기기, 또는 다른 다기능 모바일 통신 또는 오락 기기 같은 다양한 모바일 장치들 중 어느 하나일 수 있다. 제1장치(102)는 제2장치(106)와 통신하기 위해 네트워크(104)에 직접적으로나 간접적으로 연결되거나, 자립형 장치일 수 있다.
예시적 목적으로, 컴퓨팅 시스템(100)은 제1장치(102)가 모바일 컴퓨팅 장치인 것으로 기술되지만, 제1장치(102)가 다른 유형의 장치일 수 있다는 것을 알아야 한다. 예를 들어, 제1장치(102)는 또한 서버, 서버 팜(server farm), 또는 데스크탑 컴퓨터 같은 비모바일 컴퓨팅 장치일 수 있다. 또한 예를 들어 제1장치(102)는 자립형 장치이거나 자가용, 트럭, 버스 또는 기차와 같은 차량과 결합될 수 있다.
제2장치(106)는 다양한 중앙 또는 비중앙 컴퓨팅 장치들 중 어느 하나일 수 있다. 예를 들어, 제2장치(106)는 컴퓨터, 그리드 컴퓨팅 자원들의 집합, 가상 컴퓨터 자원, 서버, 클라우드 컴퓨팅 자원, 라우터, 스위치, 피어-투-피어(peer-to-peer) 분산형 컴퓨팅 자원들의 집합, 또는 이들의 조합일 수 있다.
제2장치(106)는 단일 공간 안에 중앙집중화되거나, 여러 공간에 걸쳐 분산되거나, 여러 지리적 위치에 걸쳐 분산되거나, 원격통신 네트워크 안에 내장될 수 있다. 제2장치(106)는 네트워크(104)와 연결되어 제1장치(102)와 통신할 수 있다. 제2장치(106)는 또한 제1장치(102)에 대해 기술된 바와 같은 클라이언트 타입의 장치일 수 있다.
예시적 목적으로, 컴퓨팅 시스템(100)은 제2장치(106)가 비모바일 컴퓨팅 장치인 것으로 기술되지만, 제2장치(106)가 다른 유형의 컴퓨팅 장치일 수 있다는 것을 알 수 있다. 예를 들어, 제2장치(106)는 또한 노트북 컴퓨터, 다른 클라이언트 장치, 또는 다른 유형의 클라이언트 장치와 같은 모바일 컴퓨팅 장치일 수도 있다.
컴퓨팅 시스템(100)은 추가 장치(108)를 더 포함할 수 있다. 클라이언트나 서버와 같은 추가 장치(108)는 제1장치(102)나 제2장치(106)나 그 조합에 연결될 수 있다. 추가 장치(108)는 제1장치(102)나 제2장치(106)나 그 조합과 유사할 수 있다.
예를 들어 추가 장치(108)는 어떤 다양한 소비자 가전기기, 착용형 장치, 서버, 고정 또는 이동 장치들, 중앙집중형 또는 탈중앙집중형 장치, 또는 이들의 조합을 포함할 수 있다. 추가 장치(108)는 네트워크(104)에 직접적으로나 간접적으로 연결되어 다른 장치와 통신하거나, 다른 장치에 직접 연결되거나, 자립형 장치일 수 있다.
예시적 목적으로, 컴퓨팅 시스템 (100)은 추가 장치(108)가 모바일 컴퓨팅 장치인 것으로 기술되지만, 제1장치(108)가 다른 유형의 장치일 수 있다는 것을 알 수 있다. 예를 들어, 추가 장치(108)는 또한 서버, 서버 팜(server farm), 또는 데스크탑 컴퓨터 같은 비모바일 컴퓨팅 장치일 수 있다.
예시적 목적으로, 컴퓨팅 시스템(100)은 제1장치(102), 제2장치(106), 및 추가 장치(108)가 네트워크(104)의 단말 포인트들인 것으로 보여지지만, 컴퓨팅 시스템(100)은 제1장치(102), 제2장치(106), 추가 장치(108) 및 네트워크(104) 사이에 다른 구분을 가질 수도 있다는 것을 알아야 한다. 예를 들어, 제1장치(102), 제2장치(106), 추가 장치(108), 또는 이들의 조합은 네트워크(104)의 일부로서 기능할 수도 있다.
네트워크(104)는 다양한 네트워크들을 아우르고 나타낼 수 있다. 예를 들어 네트워크(104)는 무선 통신, 유선 통신, 광, 초음파, 또는 이들의 조합을 포함할 수 있다. 위성 통신, 셀룰라 통신, 블루투스, 적외선 데이터 연합 표준 통신 (IrDA), WiFi, 및 초고주파 액세스를 위한 전세계적 상호운용 통신(WiMAX)이 통신 경로(104)에 포함될 수 있는 무선 통신의 예들이다. 이더넷, 디지털 가입자 라인(DSL), 가정용 광 섬유(FTTH), 일반 구식 전화 서비스(POTS)가 네트워크(104)에 포함될 수 있는 유선 통신의 예들이다. 또한, 네트워크(104)는 다수의 네트워크 토폴로지들과 거리들에 걸칠 수 있다. 예를 들어, 네트워크(104)는 직접 접속, 개인 영역 네트워크(PAN), 로컬 영역 네트워크(LAN), 대도시 영역 네트워크(MAN), 광역 네트워크(WAN), 또는 이들의 조합을 포함할 수 있다.
시스템 사용자(110)는 컴퓨팅 시스템(100)을 활용하는 개인이나 개체일 수 있다. 시스템 사용자(110)는 컴퓨팅 시스템(100)이나 그 안에 있는 제1장치(102), 제2장치(106), 또는 그 조합과 같은 장치를 활용할 수 있다.
보다 구체적인 예로서, 시스템 사용자(110)는 제1장치(102)와 연관될 수 있다. 시스템 사용자(110)는 제1장치(102)와 직접 인터페이스하거나 직접 상호동작(인터랙션)하거나, 제1장치(102)의 소유권이나 통제권을 가지거나, 제1장치(102)와 직접적인 물리적 접촉을 하거나, 제1장치(102)를 통해 제2장치(106)와 인터랙션하거나 인터페이싱하거나 이러한 동작을 결합하는 개인이나 개체를 포함할 수 있다.
추가 사용자(112)는 시스템 사용자(110)와는 다르게 컴퓨팅 시스템(100)이나 그 안에 있는 제2장치(106), 추가 장치(108), 또는 그 조합과 같은 장치를 활용할 수 있는 개인이나 개체를 포함할 수 있다. 보다 구체적인 예를 들면, 추가 사용자(112)는 추가 장치(108)와 직접 인터페이스하거나 직접 상호동작(인터랙션)하거나, 추가 장치(108)의 소유권이나 통제권을 가지거나, 추가 장치(108)와 직접적인 물리적 접촉을 하거나, 추가 장치(108)를 통해 제2장치(106)와 인터랙션하거나 인터페이싱하거나 이러한 동작을 결합하는 개인이나 개체를 포함할 수 있다.
컴퓨팅 시스템(100)은 하나 이상의 자율 메커니즘을 활용하여 빌딩이나 구조물 내부를 수직으로 매핑하거나 빌딩 안에서 사용자들을 찾거나, 그러한 동작들의 조합을 수행할 수 있다. 컴퓨팅 시스템(100)은 직접적인 사용자 입력(114), 구조적 기본 정보(116), 또는 그 조합을 이용하지 않고 하나 이상의 자율 메커니즘들을 구현할 수 있다.
직접적인 사용자 입력(114)은 시스템 사용자(110)나 추가 사용자(112)와 같은 사용자로부터의, 특정 목적, 프로세스, 특징, 목적, 또는 그 조합에 관한 자극이나 입력이다. 직접적인 사용자 입력(112)은 사용자로부터 선택이나, 청각적 소리, 명령, 신체 움직임, 장치 움직임, 물리적 접촉, 또는 그 조합과 같은 입력이나 응답을 포함할 수 있다.
구조적 기본 정보(116)는 컴퓨팅 시스템(100) 밖에서 생성되거나 다른 소스에서 컴퓨팅 시스템(100)으로 제공된 빌딩이나 구조물에 대한 표현 또는 내용이다. 구조적 기본 정보(116)는 컴퓨팅 시스템(100) 밖의 다른 서비스, 다른 장치, 하나 이상의 최종 사용자, 또는 그 조합으로부터의, 빌딩이나 구조의 크기, 모양, 규모, 또는 그 조합에 대한 표현이나 내용을 포함할 수 있다. 구조적 기본 정보(116)는 층 수, 층간 수직 거리 또는 간격, 하나 이상의 층들의 고도, 또는 이들의 조합을 포함할 수 있다.
예를 들어, 구조적 기본 정보(116)는 빌딩이나 구조의 도면, 빌딩 평면도, 일련의 치수들, 또는 이들의 조합을 포함할 수 있다. 또한 예를 들면, 구조적 기본 정보(116)는 빌딩 또는 구조 내 층들이나 레벨들의 수, 층들이나 레벨들의 수직 위치들, 층들이나 레벨들 간 거리나 간격 정도, 또는 그 조합을 구조적 기본 정보(116)로서 포함할 수 있다.
컴퓨팅 시스템(100)은 제1장치(102), 추가 장치(108), 또는 이들의 조합으로부터 생성되거나 측정되거나 계산되거나 이들을 결합하여 획득된 정보를 활용하여 빌딩이나 구조물 내부를 매핑하거나, 빌딩이나 구조물 안에 있는 사용자들을 찾거나, 이들의 결합 동작을 수행할 수 있다. 컴퓨팅 시스템(100)은 직접적인 사용자 입력(114) 없이, 그리고 구조적 기본 정보(116)를 사용하지 않고, 센서 데이터와 같은 장치로부터 나온 정보를 이용하여, 빌딩이나 구조물 안의 층들이나 레벨들을 식별하거나 수직 위치를 확인하거나, 그 안의 사용자들의 수직 위치를 확인하거나, 그 조합 동작을 수행하는 등, 빌딩이나 구조물을 수직 매핑할 수 있다. 매핑 프로세스, 위치확인 프로세스, 또는 이들의 조합에 관한 세부 사항들이 이하에서 설명된다.
이하에서 도 2를 참조하면, 컴퓨팅 시스템(100)의 디스플레이 인터페이스 상에 시각적으로 도시된 프로세스의 예가 실시예로서 도시된다. 컴퓨팅 시스템(100)은 빌딩 구조(202)의 표현을 포함할 수 있다. 디스플레이 인터페이스는 빌딩 구조(202)를 가리키거나 나타낼 수 있다. 빌딩 구조(202)는 어떤 지리적 장소에 존재하는 빌딩이나 건축물을 포함할 수 있다. 빌딩 구조(202)는 일층 빌딩이거나 복층 빌딩을 포함할 수 있다.
빌딩 구조(202)는 지붕과 벽들이나 창문들 전체를 포함하는 것과 같은 닫힌 빌딩을 포함하거나, 지붕이나 벽들 중 적어도 하나가 없는 구조물과 같이 열린 구조물을 나타내거나, 그 조합을 나타낼 수 있다. 예를 들어, 빌딩 구조(202)는 주택, 아파트 구조, 고층 건물 또는 사무실 건물, 다리, 고가도로, 경기장 또는 타워를 포함할 수 있다.
빌딩 구조(202)는 구조의 지리적 위치(204) 상에 자리할 수 있다. 구조의 지리적 위치(204)는 지리적 위치에 대한 표시를 포함할 수 있다. 예를 들어, 구조의 지리적 위치(204)는 글로벌 위치확인 시스템(GPS)이나 위도-경도 시스템, 거리 주소, 교차 거리나 경로들의 집합, 또는 이들의 조합과 같은 것에 대한 일련의 좌표들을 포함할 수 있다.
컴퓨팅 시스템(100)은 도 1의 직접적 사용자 입력(114)을 이용하지 않고, 또한 도 1의 구조적 기본 정보(116)를 이용하지도 않으면서, 자율 방법, 프로세스, 메커니즘, 또는 이들의 조합을 이용하여 빌딩 구조(202)의 내부 맵(206)을 생성할 수 있다. 내부 맵(206)은 빌딩 구조(202) 안에서의 위치들의 확인에 대한 표현이다.
내부 맵(206)은 3차원 표현을 포함할 수 있다. 예를 들어, 내부 맵(206)은 대응하는 하나 이상의 레벨들에 대한 수직 매핑에 따른 하나 이상의 레벨들의 2차원 표현(two-dimensional representation)을 포함할 수 있다. 보다 구체적 예로서, 한 표현은 어떤 레벨에 대응하는 높이나 고도에 따라 한번에 생성, 디스플레이, 또는 처리될 수 있다. 또 예를 들면, 내부 맵(206)은 모든 레벨들에 대한 3차원 표현을 포함할 수 있으며, 해당 표현 안에서 그들의 수직 매핑을 포함한다.
내부 맵(206)은 빌딩 구조(202) 내 어떤 층(210)에 대한 수직 정보나 관계를 나타내는 수직 프로파일(vertical profile)(208)을 포함할 수 있다. 층(210)은 높이나 고도에 대응하는 레벨이나 플로어이다. 층(210)은 일층 건물 내 단일 플로어나 복층 건물 내 플로어들 중 하나를 포함할 수 있다. 내부 맵(206)은 수직 프로파일(vertical profile)(208)에 따라 2차원 위치 정보나 수평 매핑과 같이, 각 경우의 층(210)에 대한 매핑이나 내용(description)을 포함할 수 있다.
수직 프로파일(208)은 빌딩 구조(202)의 한 경우에 대한 층(210)의 하나 이상의 경우들의 표현이다. 수직 프로파일(208)은 플로어들의 총 수, 하나 이상의 플로어들의 식별자, 하나 이상의 플로어들에 대한 수직 정보, 또는 이들의 조합을 포함할 수 있다. 예를 들어, 수직 프로파일(208)은 상대적 층 고도(relative tier altitude)(212), 층 간격 프로파일(tier separation profile)(214), 또는 그 조합을 포함할 수 있다. 상대적 층 고도(212), 층 간격 프로파일(214)은 고도나 다른 환경적 데이터와 같이, 사용자 장치들로부터의 정보에 기반하여 산출될 수 있다.
상대적 층 고도(212)는 해당 경우의 층(210)의 수직 위치를 나타내는 파라미터이다. 수직 프로파일(208)은 빌딩 구조(202) 안에 포함된 층(210)의 각 경우에 대한 수직 위치를 나타내는 상대적 층 고도(212)를 포함할 수 있다. 상대적 층 고도(212)는 대응하는 경우의 층(210)의 높이나 고도를 나타내는 파라미터를 포함할 수 있다. 상대적 층 고도(212)는 각 층에 대응하는 파라미터들의 집합, 값들의 범위, 문턱치나 범위, 또는 그 조합을 포함할 수 있다. 상대적 층 고도(212)는 일층 또는 입출 고도에 상대적일 수 있다.
상대적 층 고도(212)는 한번이나, 여러 번, 일정 기간, 또는 이들의 조합에 걸친 도 1의 제1장치, 도 1의 추가 장치(108)로부터의 다양한 데이터, 측정치, 판독치, 또는 이들의 조합에 기반하는 것일 수 있다. 상대적 층 고도(212)는 컴퓨팅 시스템(100)에 의해 정규화되거나 추가 처리되는 높이나 고도에 대한 측정치에 기반하는 것일 수 있다.
층 간격 프로파일(214)은 층들 간 상대적 위치들이나 장소들에 관한 내용이다. 층 간격 프로파일(214)은 빌딩 구조(202)의 플로어들 간 수직 분리 정도를 나타낼 수 있다. 층 간격 프로파일(214)은 해당 층들 간 수직 방향 거리의 측정치를 포함할 수 있다.
내부 맵(206)은 층(210)의 여러 경우들을 포함하는 빌딩 구조(202)의 층 변화 접근 위치(tier-change access location)(216) 및 층 변화 유형(tier-change type)(218)을 더 포함할 수 있다. 층 변화 접근 위치(216)는 플로어들 사이를 이동하기 위해 사람들이 이용하도록 고안된 빌딩 구조(202) 내 위치에 대한 표현이다. 층 변화 접근 위치(216)는 연결되거나 인접하거나 그 결합 형태의 플로어들에 대한 것과 같이, 한 경우의 층(210), 다른 경우의 층(210) 상에 있는 하나 이상의 위치들을 포함할 수 있다.
층 변화 유형(218)은 층 변화 접근 위치(216)에서 플로어들 간 이동을 위해 사람들이 사용하도록 고안된 메커니즘의 표현 또는 내용이다. 층 변화 유형(218)은 레벨들 사이를 가로지르기 위한 메커니즘을 나타내는 표제나 카테고리를 포함할 수 있다. 예를 들어, 층 변화 유형(218)은 수직 경로(vertical path)(220), 에스컬레이터(222), 엘리베이터(224), 또는 이들의 조합을 포함할 수 있다.
수직 경로(220)는 도 1의 시스템 사용자(110), 도 1의 추가 사용자(112), 또는 그 조합이 어떤 기계적 도움 없이도 이동하도록 고안된 경로를 포함할 수 있다. 수직 경로(220)는 계단, 사다리, 경사 통로, 또는 그 조합을 포함할 수 있다. 엘리베이터(224)는 빌딩 구조(202) 내 레벨들이나 플로어들 사이로 사람들을 위나 아래로 운반하는 기계를 포함할 수 있다. 에스컬레이터(222)는 빌딩 구조(202) 내 레벨들이나 플로어들 사이로 사람들을 위나 아래로 이동하게 하는 기계적 이동 계단들의 집합, 벨트들, 또는 그 조합을 포함할 수 있다.
컴퓨팅 시스템(100)은 빌딩 구조(202) 내 하나 이상의 경우들의 층(210)을 식별하여 위치확인하기 위한 층 매핑 메커니즘(tier mapping mechanism)(226)을 사용할 수 있다. 층 매핑 메커니즘(226)은 하나 이상의 경우들의 층(210), 그 수직 위치나 관계, 또는 그 조합을 인식하도록 고안된 프로세스, 방법, 지시나 기능, 회로, 그 시퀀스, 또는 그들의 조합을 포함할 수 있다.
층 매핑 메커니즘(226)은 레벨들이나 층들을 식별하고 위치확인하도록 하기 위해 시스템 사용자(110), 추가 사용자(112), 또는 그 조합에 대응하는 컴퓨팅 시스템(100)의 제1장치(102), 추가 장치(108), 또는 그 조합으로부터의 센서 데이터를 활용할 수 있다. 층 매핑 메커니즘(226)은 한명 또는 여러 명의 사용자들로부터 한 번이나, 여러 번이나, 그 조합으로 얻어진 센서 데이터를 활용할 수 있다.
층 매핑 메커니즘(226)은 자율 메커니즘일 수 있다. 층 매핑 메커니즘(226)은 직접적인 사용자 입력(114) 없이, 그리고 구조적 기본 정보(116) 없이 레벨들을 식별하여 위치확인할 수 있다. 층 매핑 메커니즘(226)에 관한 세부사항들을 이하에서 설명한다.
센서 데이터는 해당 장치의 환경이나 이동을 나타내는 파라미터나 데이터를 포함할 수 있다. 센서 데이터는 환경 측정치(environment measurement)(228), 이동 측정치(movement measurement)(234), 장치 위치(device location)(236), 또는 이들의 조합을 포함할 수 있다.
환경 측정치(228)는 컴퓨팅 시스템(100) 내 장치로부터의 장치 주변환경에 관한 데이터나 정보이다. 환경 측정치(228)는 제1장치(102), 추가 장치(108), 그 안의 부품이나 회로, 또는 그 조합에 의해 소싱되거나 측정된 데이터나 정보일 수 있다. 환경 측정치(228)는 온도, 밝기, 또는 그 조합과 같이 장치 주변환경을 나타낼 수 있다.
환경 측정치(228)는 압력 측정치(pressure measurement)(230)를 더 포함할 수 있다. 압력 측정치(230)는 장치에 대한 주변 기체나 액체에 의해 생성되는 힘의 크기에 대한 내용이다. 압력 측정치(230)는 기압 측정치나 기체 압력에 대한 측정치를 포함할 수 있다. 압력 측정치(230)는 장치 고도(device altitude)(232)와 관련될 수 있다.
장치 고도(232)는 기준 위치나 높이 대비 해당 장치의 수직 위치나 높이이다. 장치 고도(232)는 해수면이나, 기압계 위치의 고도와 같은 어떤 다른 기준 고도에 대비하여 측정되거나 표현될 수 있다. 장치 고도(232)는 장치 상의 압력 센서를 사용하여 측정될 수 있다. 장치 고도(232)는 소스 장치에 의해 결정되거나 그 장치에 고유한 측정치나 파라미터를 포함할 수 있다. 장치 고도(232)는 측정 또는 계산 장치의 감도나 정확도, 그날의 시간, 날씨, 또는 그 조합에 좌우되거나 영향을 받을 수 있다.
장치 고도(232)는 소스 장치에 의해 측정되거나, 해당 장치에 대해 계산되거나, 그 둘의 조합 동작에 의해 얻어질 수 있다. 예를 들어 장치 고도(232)는 GPS 처리 신호에 기반하거나, 3차원 위치 확인에 적용되는 삼각측량법, 위치확인 프로세스, 또는 그 조합에 기반하여 측정되거나 결정될 수 있다. 또한 예를 들어 장치 고도(232)는 압력 측정치(230)와 같은 환경 측정치(228)로부터 산출되거나 도출될 수 있다.
장치 고도(232)는 제1장치(102), 추가 장치(108), 또는 그 조합과 같은 사용자 장치에서 나오거나 검출된 파라미터들을 사용하여 측정되거나, 결정되거나, 계산되거나, 도출되거나, 그 결합 동작에 의해 얻어질 수 있다. 장치 고도(232)는 또한, 도 1의 제1장치(102), 제2장치(106), 추가 장치(106), 또는 그 조합과 같은 하나 이상의 장치들을 이용하여 결정되거나, 계산되거나, 도출되거나, 그 결합 동작에 의해 얻어질 수 있다.
이동 측정치(movement measurement)(234)는 장치의 물리적 변위에 관한 정보나 데이터이다. 이동 측정치(234)는 제1장치(102), 추가 장치(108), 또는 그 조합의 가속도, 속력이나 속도, 또는 그 조합을 포함할 수 있다. 이동 측정치(234)는 GPS 측정치들, 가속계, 속도계, 또는 그 조합에 기반하여 생성되거나 측정될 수 있다.
장치 위치(device location)(236)는 장치의 지리적 위치에 관한 정보나 데이터이다. 장치 위치(236)는 제1장치(102), 추가 장치(108), 또는 그 조합의 지리적 위치에 대한 표현을 포함할 수 있다. 장치 위치(236)는 지면이나 지도와 같은 수평면을 따라 장치의 위치를 확인할 수 있다.
예를 들어, 장치 위치(236)는 거리들이나 경로들의 집합, 또는 그 조합을 가로지르는 좌표들, 주소들, 지리적 표식들을 포함할 수 있다. 또 예를 들면, 장치 위치(236)는 GPS 시스템이나 프로세스들, 추측 항법 메커니즘, 삼각측량 위치확인 메커니즘, 또는 그 조합에 기반할 수 있다. 보다 구체적인 예로서, 장치 위치(236)는 빌딩 구조(202)의 바깥 지상이나, 빌딩 구조(202) 내 한 층(210)의 한 경우 상의 이차원 평면을 따라, 또는 그 조합에서 장치를 찾을 수 있다.
컴퓨팅 시스템(100)은 압력 측정치(230), 장치 위치(236), 이동 측정치(234) 또는 그 조합에 기반하여 장치 고도(232)를 더 산출할 수 있다. 예를 들어, 장치 고도(232)는 장치 위치(236), 이동 측정치(234)를 활용한 추측항법 산출법(dead-reckoning calculation), 또는 그 조합으로부터 측정되거나, 검출되거나, 결정되거나, 산출되거나, 도출되거나, 그 조합을 통해 얻어질 수 있다.
컴퓨팅 시스템(100)은 빌딩 구조(202)를 기준으로 입구나 출구에 관한 정보를 더 식별할 수 있다. 컴퓨팅 시스템(100)은 입출(entry-exit) 이벤트(238), 입출 고도(240), 또는 그 조합을 판단할 수 있다.
입출 이벤트(entry-exit event)(238)는 빌딩 구조(202)에 대한 해당 장치의 진입이나 진출의 발생을 말한다. 입출 이벤트(238)는 빌딩 구조(202)에 들어가거나 나오는 제1장치(102), 추가 장치(108), 또는 그 조합을 나타낼 수 있다.
컴퓨팅 시스템(100)은 장치 위치(236), 구조의 지리적 위치(204), 또는 그 조합에 기반하여 입출 이벤트(238)를 판단할 수 있다. 예를 들어, 입출 이벤트(238)는 장치 위치(236) 및 구조의 지리적 위치(204) 간 비교 또는 중복에 기반할 수 있다. 또 예를 들면, 입출 이벤트(238)는 특정 무선 라우터들로부터의 GPS 신호나 신호들과 같은 신호의 상태나 이용 가능성에 기반할 수 있다.
입출 고도(entry-exit altitude)(240)는 입출이벤트(238)와 관련된 수직 위치나 높이이다. 입출 고도(240)는 빌딩 구조(202)의 도어, 접근 지점, 입구 통로, 출구, 또는 그 조합의 수직 위치나 높이를 나타낼 수 있다. 입출 고도(240)는 입출 이벤트(238) 시, 장치 고도(232), 추가 처리 또는 정규화, 또는 그 조합에 기반할 수 있다.
센서 데이터는 타임 스탬프(242)에 해당할 수 있다. 타임 스탬프(time stamp)(242)는 센서 데이터에 해당하는 시점에 대한 표현이나 기록일 수 있다. 타임 스탬프(242)는 장치가 센서 데이터를 만들거나 생성했을 때의 시간을 나타낼 수 있다. 타임 스탬프(242)는 해당 경우의 센서 데이터와 함께 저장될 수 있다.
이하에서 도 3을 참조하면, 컴퓨팅 시스템(100)의 디스플레이 인터페이스 상에 시각적으로 도시된 프로세스의 추가 예가 실시예로서 도시된다. 컴퓨팅 시스템(100)은 도 2의 빌딩 구조(202) 내 도 2의 층(210)에 대한 도 1의 제1장치(102), 도 1의 추가 장치(108)를 수직으로 위치확인하기 위해 수직 위치확인 메커니즘(302)을 이용할 수 있다.
수직 위치확인 메커니즘(vertical localization mechanism)(302)은 빌딩 구조(202) 내 층(210)에 대해 하나 이상의 장치들을 식별하여 찾기 위한 프로세스, 방법, 지시나 기능, 회로, 그 시퀀스, 또는 그 조합이다. 수직 위치확인 메커니즘(302)은 도 1의 제1장치(102), 제2장치(106), 추가 장치(108) 또는 그 조합으로부터의 센서 데이터를 활용할 수 있다. 수직 위치확인 메커니즘(302)은 해당 층에 대한 하나 이상의 장치들을 식별하여 찾기 위해, 도 2의 장치 고도(232)를 산출하거나, 장치 고도(232)를 추가로 처리하거나, 도 2의 내부 맵(206)을 이용하거나, 그 조합을 수행할 수 있다.
수직 위치확인 메커니즘(302)은 상대적 고도(relative altitude)(306)를 산출하기 위한 상대적 고도 산출기(relative altitude calculator)(304)를 포함할 수 있다. 상대적 고도(306)는 컴퓨팅 시스템(100)에 대해 정규화된 고도에 대한 표현이다. 상대적 고도(306)는 장치 고도(232)를 정규화함에 따라 산출될 수 있다.
상대적 고도(306)는 장치 고도(232) 경우들의 차이나 불일치를 제거하기 위해 상대적 고도 산출기(304)에 의해 구현되는 정규화 프로세스의 출력일 수 있다. 상대적 고도(306)는 상이한 정확도 수준 또는 감도를 가진 장치들이나 구성요소들에 의해, 서로 다른 측정 시점, 서로 다른 날씨 상황, 또는 이들의 조합 하에서 제공되는 사용자 센서 데이터, 장치 고도(232), 또는 이들의 조합을 정규화함에 따른 것일 수 있다.
상대적 고도(306)는 기준 지점 대비 고도에 대한 표현을 더 포함할 수 있다. 상대적 고도(306)는 빌딩 구조(202)에 고유하거나 대응할 수 있다. 상대적 고도(306)는 해당 경우의 빌딩 구조(202)에 대한 기저 레벨(base level)이나 기준 고도에 대한 것일 수 있다. 예를 들어 상대적 고도(306)는 도 2의 입출 이벤트(238), 도 2의 입출 고도(240), 그에 대응하는 사용자 센서 데이터, 또는 이들의 조합에 기반할 수 있다.
상대적 고도 산출기(304)는 다양한 요소들에 걸쳐 장치 고도(232)의 파라미터들을 정규화하기 위한 프로세스, 방법, 지시나 기능, 회로, 그 시퀀스, 또는 그 조합이다. 상대적 고도 산출기(304)는 도 2의 환경 측정치(228), 도 2의 이동 측정치(234), 도 2의 장치 위치(236), 또는 그 조합과 같은 사용자 센서 데이터를 처리할 수 있다. 상대적 고도 산출기(304)는 장치 고도(232)를 입력으로서 더 처리할 수 있다.
상대적 고도 산출기(304)는 상대적 고도(306)를 출력으로 산출하도록 구현될 수 있다. 상대적 고도 산출기(304)는 서로 다른 장치들이나 회로들의 정확도 수준이나 감도의 차이, 측정 시간대의 차이, 날씨 상태의 차이, 또는 그 조합으로 인해 야기되는 입력 파라미터들의 차이들을 정규화하여 상대적 고도(306)를 산출할 수 있다.
상대적 고도 산출기(304)는 빌딩 구조(202) 내 해당 층(210)에 대해 장치를 수직 위치확인하거나, 장치 구조(202)의 해당 층(210)을 식별하여 매핑하거나 그 결합 동작을 수행하기 위해 상대적 고도(306)를 산출하도록 구현될 수 있다. 상대적 고도 산출기(304)는 도 2의 층 매핑 메커니즘(226)에 대한 상대적 고도(306)를 산출하도록 구현될 수 있다.
수직 위치확인 메커니즘(302)은 사용자의 현재 플로어(user current floor)(308)를 판단하기 위해 상대적 고도(306)를 더 활용할 수 있다. 사용자의 현재 플로어(308)는 도 1의 시스템 사용자(110)나 도 1의 추가 사용자(112)나 그 조합의 경우 중 해당 경우에 의해 점유된 층(210)의 경우에 대한 표현이나 식별이다. 사용자의 현재 플로어(308)는 해당 경우의 빌딩 구조(202) 관련 최종 사용자 또는 그 대응 장치의 현재의 수직 위치에 대한 표현을 포함할 수 있다.
상대적 고도(306)가 빌딩 내 층들에 대한 정확하고 강력한 식별 및 층들에 대한 위치확인을 제공한다는 것을 알게 되었다. 상대적 고도(306)는 다양한 장치들이나 다양한 시간대나 날씨 상태들, 또는 그 조합에 걸쳐 나오는 데이터의 정규화가 가능하도록 한다. 정규화는 층(210) 및 층(210)에 대한 장치의 수직 위치를 식별하고 위치확인 시 다양한 소스들로부터의 데이터 사용을 가능하게 할 수 있어, 정확도를 높인다. 상대적 고도(306)는 도 1의 직접적인 사용자 입력(114) 및 도 1의 구조적 기본 정보(116)에 대한 필요성을 제거하는데 더 사용됨으로써, 정규화된 데이터를 활용하는 매핑 또는 위치확인 프로세스들의 견고성을 높이고 또한 그 사용 가능성을 높일 수 있다. 상대적 고도(306) 및 상대적 고도 산출기(304)에 대한 상세 내용들을 이하에서 기술한다.
컴퓨팅 시스템(100)은 그 안의 장치들 각각에 대한 측정치들을 더 교정할 수 있다. 컴퓨팅 시스템(100)은 교정 위치(calibration location)(310) 및 교정 이벤트(calibration event)(312)에 기반하여 제1장치(102), 추가 장치(108), 또는 그 조합을 교정할 수 있다.
교정 위치(310)는 센서 데이터 같은 장치의 측정치들을 교정하는 것과 관련된 지리적 위치를 포함할 수 있다. 교정 위치(310)는 센서 데이터와의 비교를 위해 알려지거나 검증된 상태들 또는 측정값들과 관련된 알려진 위치를 포함할 수 있다. 교정 위치(310)는 고도 정보가 공개 또는 사설 웹 페이지들이나 서비스들 상에서 발견될 수 있는 위치를 포함할 수 있다. 교정 위치(310)는 장치의 기압 센서 에러를 추정하는데 사용될 수 있다.
예를 들어, 교정 위치(310)는 기상대, 공개적으로 접근 가능한 기압계, 공개적으로 이용 가능한 웹 서비스 관련 위치, 및 그 조합을 포함할 수 있다. 또한 예로서, 교정 위치(310)는 컴퓨팅 시스템(100)에 알려진 승인되거나 검증된 고도를 가진 지리적 위치를 더 포함할 수 있다. 또, 예로서, 교정 위치(310)는 기압계 위치를 더 포함할 수 있다.
컴퓨팅 시스템(100)은 교정 위치(310) 및 교정 위치(310)의 상태를 이용하여 장치를 정규화할 수 있다. 컴퓨팅 시스템(100)은 기압 지문 맵을 활용하는 대신, 사용자 장치와 특정하게 관련된 데이터에 대한 교정 위치(310)를 활용할 수 있다.
교정 이벤트(312)는 해당 장치가 교정 프로세스를 개시하기 위한 조건을 만족시키는 사건을 포함할 수 있다. 교정 이벤트(312)는 교정 조건(calibration condition)(314) 만족에 기초하는 교정 프로세스의 구현에 해당할 수 있다. 교정 조건(314)은 교정 프로세스를 개시하거나 구현하기 위한 요건이다.
교정 조건(314)은 교정 프로세스를 겪는 장치가 만족해야 할 요건을 포함할 수 있다. 예를 들어, 교정 조건(314)은 제1장치(102), 추가 장치(108), 또는 그 조합의/으로부터의 값이나 파라미터, 상태, 또는 그 조합을 포함할 수 있다. 교정 조건(314)은 교정 조건(314)을 만족하는 제1장치(102), 추가 장치(108), 또는 그 조합에 대한 교정 프로세스를 개시하거나 구현하기 위한 것일 수 있다.
교정 조건(314)은 장치 위치(236) 및 교정 위치에 기반할 수 있다. 예를 들어, 교정 조건(314)은 제1장치(102), 추가 장치(108) 또는 그 조합에 대응하는 장치 위치(236) 및 교정 위치(310) 간 문턱 거리를 포함할 수 있다. 또한 예로서, 교정 조건(314)은 교정 위치(310) 근처의 장치 위치(236)에 대한 하나 이상의 특정 위치들을 포함할 수 있다. 또한 예로서, 교정 조건(314)은 장치 위치(236)를 기준으로 소정 영역 내 하나 이상의 부분들을 포함하는, 제1장치(102), 추가 장치(108), 또는 그 조합에 대해 제안되는 루트나 추정 루트를 포함할 수 있다.
교정 조건(314)은 교정 위치(310) 기준 문턱 거리(threshold distance) 안에 있는 영역이나 소정 영역의 고도에 기반할 수 있다. 예를 들어, 교정 조건(314)은 교정 위치(310)를 기준으로 문턱 범위 내 고도나 동일 고도를 가지는 문턱 거리 내 영역이나 소정 영역에 기반할 수 있다.
교정 조건(314)은 또한, 비슷한 환경 조건에 해당하는, 교정 위치(310)를 기준으로 하는 영역이나 거리에 기반할 수 있다. 예를 들어, 교정 조건(314)은 교정 위치(310)를 기준으로 동일한 날씨 패턴에 영향을 받거나 동일한 기압 판독치들과 관련되어 있는 문턱 거리 내 영역이나 소정 영역에 기반할 수 있다.
컴퓨팅 시스템(100)은 교정 측정치(316), 기준 측정치(318), 또는 이들의 조합을 이용하여 장치나 그 측정치를 교정할 수 있다. 교정 측정치(calibration measurement)(316)는 교정 이벤트(312)와 연관된 해당 장치로부터의 센서 데이터의 한 예이다.
교정 측정치(316)는 교정 조건(314)을 만족시키는 제1장치(102), 추가 장치(108), 또는 그 조합으로부터의 장치 고도(232)나 도 2의 압력 측정치(230)와 같은 환경 측정치(228)를 포함할 수 있다. 예를 들어, 교정 측정치(316)는 교정 이벤트(312) 시점이나 교정 이벤트(312) 판단을 바로 뒤따라 측정되는 제1장치(102), 추가 장치(108), 또는 그 조합으로부터의 기압 측정치, GPS 산출 결과, 고도 산출 결과, 또는 그 조합을 포함할 수 있다.
기준 측정치(reference measurement)(318)는 교정 위치(310)에 대응하는 알려지거나 검증된 값이다. 기준 측정치(318)는 교정 측정치(316)와 동일한 유형을 가진 환경 측정치 또는 지시치를 포함할 수 있다. 예를 들어, 기준 측정치(318)는 교정 이벤트(312) 시점이나 교정 이벤트(312) 판단을 바로 뒤따라 검출되는 교정 위치(310)에 대한 기압 측정치, GPS 좌표, 고도, 또는 그 조합을 포함할 수 있다.
기준 측정치(318)는 교정 위치(310), 해수면, 또는 그 조합에서의 기체 압력이나 기압 측정치를 포함할 수 있다. 기준 측정치(318)는 공개적으로 이용 가능한 정보, 교정 위치(310)로부터의 직접적 정보, 또는 그 조합에 기반하여 결정될 수 있다.
컴퓨팅 시스템(100)은 장치를 교정하기 위해 장치 조정 평가치(device adjustment measure)(320)를 산출할 수 있다. 장치 조정 측정치(320)는 장치에 대한 센서 데이터에 대응하는 정정 파라미터이다. 장치 조정 측정치(320)는 교정 조건(314)을 만족시키는 제1장치(102), 추가 장치(106), 또는 그 조합으로부터 나온 압력 측정치(230), 장치 고도(232), 또는 그 조합을 정정하기 위한 것일 수 있다.
장치 조정 측정치(320)는 교정 측정치(316) 및 기준 측정치(318)에 기반할 수 있다. 예를 들어, 장치 조정 측정치(320)는 교정 측정치(316) 및 기준 측정치(318) 사이의 차이에 기반할 수 있다. 또한 예를 들면, 장치 조정 측정치(320)는 기준 측정치(318)의 평균, 교정 측정치(316)의 평균, 교정 측정치(316) 및 기준 측정치(318) 간 차이의 평균, 또는 그 조합에 기반할 수 있다.
장치 조정 측정치(320)는 센서 데이터를 조정하기 위해 센서 데이터에 적용될 수 있다. 장치 조정 측정치(320)는 해당 장치나 그 안의 구성요소에 특징적인 부정확도, 오프셋, 감도 수준, 또는 그 조합을 정정하거나 조정하기 위한 것일 수 있다.
컴퓨팅 시스템(100)은 시스템 사용자(110), 추가 사용자(112), 또는 그 조합 또는 그들의 대응하는 장치들의 움직임에 기반하여 수직 위치확인 메커니즘(302), 층 매핑 메커니즘(226), 또는 그 조합을 더 구현할 수 있다. 컴퓨팅 시스템(100)은 제1장치(102), 추가 장치(108), 또는 그 조합을 그것들의 사용자 센서 데이터에 기반하여 수직 위치확인하기 위한 하나 이상의 프로세스들을 개시할 수 있다. 컴퓨팅 시스템(100)은 제1장치(102), 추가 장치(108), 또는 그 조합의 사용자 센서 데이터에 기반하여 층(210)을 매핑하기 위한 하나 이상의 프로세스들을 더 개시할 수 있다.
컴퓨팅 시스템(100)은 하나 이상의 프로세스들을 개시하기 위해 수직 이동 집합(vertical movement set)(322)을 활용할 수 있다. 수직 이동 집합(vertical movement set)(322)은 층들 간 수직 이동이나 가로지르기에 해당하는 센서 데이터의 문턱치나 템플릿 집합이다. 수직 이동 집합(322)은 환경 측정치(228), 이동 측정치(234), 장치 위치(236), 또는 그 조합에 대한 값, 범위, 패턴, 또는 그 시퀀스, 또는 그 조합을 포함할 수 있다.
수직 이동 집합(322)은 제1장치(102)나 추가 장치(108)를 가지고 빌딩 구조(202)의 층들 사이를 위나 아래로 이동하는 시스템 사용자(110)나 추가 사용자(112)에 특징적인 데이터나 값들을 포함할 수 있다. 수직 이동 집합(322)은 도 2의 층 변화 유형(218)에 해당할 수 있다.
수직 이동 집합(322)은 층 변화 유형(218)을 인식하거나 식별하기 위한 것일 수 있다. 예를 들어, 수직 이동 집합(322)은 계단, 사다리, 또는 그 조합을 오르거나 내려가는 사용자에 대응하는 경로 이동 집합(path-movement set)(324), 엘리베이터 이동 집합(elevator movement set)(326), 에스컬레이터 이동 집합(escalator movement set)(328), 또는 그 조합을 포함할 수 있다.
경로 이동 집합(324)은 도 2의 수직 경로(220)에 대응하는 센서 데이터의 문턱치나 템플릿 집합일 수 있다. 엘리베이터 이동 집합(326)은 도 2의 엘리베이터(224)에 대응하는 센서 데이터의 문턱치나 템플릿 집합일 수 있다. 에스컬레이터 이동 집합(328)은 도 2의 에스컬레이터(222)에 대응하는 센서 데이터의 문턱치나 템플릿 집합일 수 있다.
또한 예를 들면, 수직 이동 집합(322)은 압력 경사(pressure slope), 이동 방향 상관(movement direction correlation), 이동 에너지(movement energy), 또는 그 조합에 기반할 수 있다. 압력 경사는 시간에 따른 압력 측정치(230)의 관계나 변화이다.
이동 방향 상관은 사용자 장치의 가속계 센서로부터의 이동 측정치(234)의 방향 성분들의 패턴이나 관계이다. 이동 방향 상관은 이동 측정치(234)의 수평 성분, 이동 측정치(234)의 수직 성분, 또는 그 조합에 기반할 수 있다. 보다 구체적인 예로서, 이동 방향 상관은 수평축 및 수직축과 같은 직교하는 축들 상의 이동 측정치(234) 성분들의 공분산에 기반할 수 있다.
이동 에너지는 장치의 이동과 관련된 에너지 량이다. 이동 에너지는 이동 측정치(234), 해당 장치에 대한 좌표들이나 위치들의 시퀀스 또는 이들의 조합에 기반할 수 있다. 보다 구체적인 예로서, 이동 에너지는 이산 고속 푸리에 변환(FFT), 시간에 따른 이동 측정치(234) 크기 값들의 제곱, 또는 시간에 따른 장치 위치(236)의 시퀀스, 또는 그 조합에 기반할 수 있다.
수직 이동 집합(322)은 수직 변경 트리거(vertical change trigger)(330)를 더 포함할 수 있다. 수직 변경 트리거(330)는 층들 간 수직 이동이나 가로지르기를 초기에 인식하기 위한 센서 데이터의 문턱치나 템플릿 집합이다. 수직 변경 트리거(330)는 층들 간 수직 이동이나 가로지르기를 위한 시작 부분에 전형적인 이동 측정치(234)를 식별하기 위한 것일 수 있다.
수직 변경 트리거(330)는 추가 프로세스, 다른 회로, 추가 방법, 또는 그 조합을 개시할 수 있다. 예를 들어, 수직 변경 트리거(330)는 층 변경 유형(218)에 대한 결정, 층 매핑 메커니즘(226), 수직 위치확인 메커니즘(302), 또는 이들의 조합을 개시할 수 있다. 또한 예로서, 수직 변경 트리거(330)는 한 회로를 사용하여 가속 측정치들의 패턴을 인식하고, 이어서 다른 회로를 사용하여 다른 회로나 다른 프로세스를 개시하기 위한 것일 수 있다.
또한 예로서, 수직 변경 트리거(330)는 수직 이동 이벤트(vertical movement event)(332)를 인식하거나 판단하기 위한 프로세스를 개시할 수 있다. 수직 이동 이벤트(332)는 장치가 한 층에서 다른 층으로 수직 이동했다는 판단이다. 수직 이동 이벤트(332)는 트리거에 뒤따르는 수직 이동 집합(322)에 기반하여 결정될 수 있다. 트리거는 가속계 측정치들 및 수직 변경 트리거(330)의 매치 식별에 기반하는 것일 수 있다.
이하에서 도 4를 참조하면, 컴퓨팅 시스템(100)의 예시적 블록도가 도시된다. 컴퓨팅 시스템(100)은 제1장치(102), 네트워크(104), 및 제2장치(106)를 포함할 수 있다. 제1장치(102)는 네트워크(104)를 통해 제2장치(106)로 제1장치 전송(408)에 따라 정보를 보낼 수 있다. 제2장치(106)는 네트워크(104)를 통해 제1장치(102)로 제2장치 전송(410)에 따라 정보를 보낼 수 있다.
예시적 목적으로, 컴퓨팅 시스템(100)은 클라이언트 장치인 제1장치(102)를 구비한 것으로 도시되지만, 컴퓨팅 시스템(100)이 다른 유형의 장치인 제1장치(102)를 구비할 수 있다. 예를 들어, 제1장치(102)는 중계 장치일 수 있다.
역시 예시적 목적으로, 컴퓨팅 시스템(100)은 모바일 장치, 컴퓨팅 장치, 가전기기, 또는 그 조합인 제2장치(106)를 구비한 것으로 도시되지만, 컴퓨팅 시스템(100)이 다른 유형의 장치인 제2장치(106)를 구비할 수 있다.
설명의 간결성을 위해 본 발명의 실시예에서 제1장치(102)는 클라이언트 장치로 기술될 것이고, 제2장치(106)는 모바일 장치, 컴퓨팅 장치, 가전기기, 착용형 장치, 또는 그 조합으로 기술될 것이다. 본 발명의 실시예들은 이러한 장치 유형들의 선택에 국한되지 않는다. 그 선택은 본 발명의 실시예의 예일 뿐이다.
제1장치(102)는 제1제어 회로(412), 제1저장 회로(414), 제1통신 회로(416), 제1사용자 인터페이스(418), 제1센서 회로(420), 또는 그 조합을 포함할 수 있다. 제1제어 회로(412)는 제1제어 인터페이스(422)를 포함할 수 있다. 제1제어 회로(412)는 컴퓨팅 시스템(100)의 동작을 위한 명령어들을 제공하기 위한 제1소프트웨어(426)를 실행할 수 있다. 제1제어 회로(412)는 여러 다양한 방식으로 구현될 수 있다.
예를 들어, 제1제어 회로(412)는 프로세서, 임베디드 프로세서, 마이크로프로세서, 하드웨어 제어 로직, 하드웨어 유한 상태 머신(FSM), 디지털 신호 프로세서(DSP), 또는 이들의 조합을 포함할 수 있다. 보다 구체적인 예로서, 제1제어 회로(412)는 일반적으로 어떤 소프트웨어나 명령어를 실행하도록 구성된 프로세서, 임베디드 프로세서, 마이크로프로세서, 하드웨어 제어 로직, 하드웨어 FSM, DSP, 또는 이들의 조합을 포함할 수 있다. 또한 보다 구체적인 예로서, 제1제어 회로(412)는 하나 이상의 기능들을 실행하거나 구현하기 위해 하드웨어로 고유하게 구성되는 하드웨어 FSM, DSP, FPGA, 디지털 로직, 또는 이들의 조합과 같은 회로를 포함할 수 있다.
제1제어 인터페이스(422)는 제1제어 회로(412) 및 제1장치(102) 내 다른 동작 유닛들이나 회로들 사이의 통신에 사용될 수 있다. 제1제어 인터페이스(422)는 제1장치(102) 외부와의 통신을 위해 사용될 수도 있다.
제1제어 인터페이스(422)는 다른 동작 유닛들/회로들이나 외부 소스들로부터 정보를 수신하거나, 다른 동작 유닛들/회로들이나 외부 목적지들로 정보를 송신할 수 있다. 외부 소스들 및 외부 목적지들은 제1장치(102) 외부의 소스들과 목적지들을 의미한다.
제1제어 인터페이스(422)는 다양한 방식으로 구현될 수 있으며, 어떤 동작 유닛들/회로들이나 외부 유닛들/회로들 이 제1제어 인터페이스(422)와 인터페이스되어 있는지에 좌우되는 다양한 구현예들을 포함할 수 있다. 예를 들어, 제1제어 인터페이스(422)는 마이크로전자기 시스템(MEMS), 광학 회로, 도파로, 무선 회로, 유선 회로, 또는 이들의 조합을 통해 구현될 수 있다.
제1센서 회로(420)는 예로서, 제1장치(102)의 환경이나 주변, 제1장치(102)의 위치나 이동, 또는 그 조합에 관한 정보를 생성할 수 있다. 제1센서 회로(420)는 여러 방식으로 구현될 수 있다. 예를 들어, 제1센서 회로(420)는 제1위치 회로(462), 제1가속계(464), 제1자이로스코프(466), 제1압력 센서(468), 또는 그 조합을 포함할 수 있다.
제1위치 회로(462)는 예로서, 제1장치(102)의 위치 정보, 방향, 속도, 또는 그 조합을 생성할 수 있다. 제1위치 회로(462)는 여러 방식으로 구현될 수 있다. 예를 들어 제1위치 회로(462)는 글로벌 위치확인 시스템(GPS), 자력계, 나침반, 스펙트럼 분석기, 비콘(beacon), 셀룰라 타워 위치확인 시스템과 같은 관성 항법 시스템, 또는 그 조합의 적어도 일부로서 기능할 수 있다.
제1가속계(464)는 제1장치(102)에 대한 레이트, 속도, 물리적 변위 관련 힘, 또는 그 조합을 결정하거나 측정하기 위한 계기나 구성요소를 포함할 수 있다. 제1가속계(464)는 가속 정도나 크기, 방향, 그 시퀀스, 또는 그 조합을 생성할 수 있다. 제1가속계(464)는 여러 방식으로 구현될 수 있다. 예를 들어, 제1가속계(464)는 전자기계적 회로, 압전 회로, 레이저 또는 광학 회로, 자기 센서 회로, 자이로스코프 회로, 열 센서 회로, 또는 그 조합을 포함하거나 활용할 수 있다.
제1자이로스코프(466)는 제1장치(102)의 방위와 무관하게 특정 방향을 유지함으로써 특정 방향을 판단하거나 식별하기 위한 계기나 구성요소를 포함할 수 있다. 제1자이로스코프(466)는 3차원 공간 안에서 제1장치(102)의 물리적 방위를 판단하기 위한 것일 수 있다. 제1자이로스코프(466)는 여러 방식으로 구현될 수 있다. 예를 들어, 제1자이로스코프(466)는 MEMS 자이로스코프 장치나 회로, 링 레이저 자이로스코프, 광섬유 자이로스코프, 양자 자이로스코프, 나침반, 또는 이들의 조합을 포함할 수 있다.
제1압력 센서(468)는 제1장치(102)상의 주변 기체나 액체에 의해 발생되는 힘의 정도를 판단하기 위한 계기나 구성요소를 포함할 수 있다. 제1압력 센서(468)는 제1장치(102)에 대한 기압을 측정하는 기압계를 포함할 수 있다. 예를 들어, 제1압력 센서(468)는 MEMS 기압계, 압전 저항성 압력 감지 회로, 또는 그 조합을 포함할 수 있다.
예시적 목적으로, 제1센서 회로(420)는 별개의 회로들이나 유닛들인 제1위치 회로(462), 제1가속계(464), 제1자이로스코프(466), 및 제1압력 센서(468)를 가지는 것으로 기술되었다. 그러나, 제1센서 회로(420)는 조합된 회로들이나 유닛들을 포함할 수 있다. 예를 들어, 제1위치 회로(462)는 제1가속계(464), 제1자이로스코프(466), 제1압력 센서(468), 또는 그 조합을 포함할 수 있다. 또한 예로서, 제1가속계(464)는 제1자이로스코프(466), 제1압력 센서(468), 또는 그 조합을 포함할 수 있다.
제1센서 회로(420)는 제1센서 인터페이스(432)를 포함할 수 있다. 제1센서 인터페이스(432)는 제1센서 회로(420) 및 제1장치(102) 내 다른 동작 유닛들이나 회로들 사이의 통신에 사용될 수 있다. 제1센서 인터페이스(432)는 제1장치(102) 외부와의 통신을 위해 사용될 수도 있다.
제1센서 인터페이스(432)는 다른 동작 유닛들/회로들이나 외부 소스들로부터 정보를 수신하거나, 다른 동작 유닛들/회로들이나 외부 목적지들로 정보를 송신할 수 있다. 외부 소스들 및 외부 목적지들은 제1장치(102) 외부의 소스들과 목적지들을 의미한다.
제1센서 인터페이스(432)는 어떤 동작 유닛들/회로들이나 외부 유닛들/회로들이 제1센서 회로(420)와 인터페이스 되어 있는지에 따라 상이한 구현예들을 포함할 수 있다. 제1센서 인터페이스(432)는 제1제어 인터페이스(422)의 구현예와 유사한 기술 및 기법들로 구현될 수 있다.
제1저장 회로(414)는 제1소프트웨어(426)를 저장할 수 있다. 제1저장 회로(414)는 또한, 광고, 기압 정보, 관심 포인트(POI), 네비게이션 라우팅 엔트리, 리뷰/평가, 피드백, 또는 이들의 조합과 같은 관련 정보를 저장할 수 있다.
제1저장 회로(414)는 휘발성 메모리, 비휘발성 메모리, 내부 메모리, 외부 메모리, 또는 이들의 조합일 수 있다. 예를 들어, 제1저장 회로(414)는 비휘발성 램(NVRAM), 플래시 메모리, 디스크 스토리지 같은 비휘발성 스토리지, 또는 고정 램(SRAM) 같은 휘발성 스토리지일 수 있다.
제1저장 회로(414)는 제1저장 인터페이스(424)를 포함할 수 있다. 제1저장 인터페이스(424)는 제1센서 회로(420) 및 제1장치(102) 내 다른 동작 유닛들이나 회로들 사이의 통신에 사용될 수 있다. 제1저장 인터페이스(424)는 제1장치(102) 외부와의 통신을 위해 사용될 수도 있다.
제1저장 인터페이스(424)는 다른 동작 유닛들/회로들이나 외부 소스들로부터 정보를 수신하거나, 다른 동작 유닛들/회로들이나 외부 목적지들로 정보를 송신할 수 있다. 외부 소스들 및 외부 목적지들은 제1장치(102) 외부의 소스들과 목적지들을 의미한다.
제1저장 인터페이스(424)는 어떤 동작 유닛들/회로들이나 외부 유닛들/회로들이 제1저장 회로(414)와 인터페이스 되어 있는지에 따라 상이한 구현예 들을 포함할 수 있다. 제1저장 인터페이스(424)는 제1제어 인터페이스(422)의 구현예와 유사한 기술 및 기법들로 구현될 수 있다.
제1저장 인터페이스(424), 제1제어 인터페이스(422), 제1통신 인터페이스(428), 제1디스플레이 인터페이스(430), 제1센서 인터페이스(432), 또는 그 조합은 제1소프트웨어(426) 또는 그 안에 하나 이상의 명령어들을 액세스할 수 있다. 다양한 인터페이스들은 로딩된 명령어들을 구현 또는 실행하기 위한 하드웨어 회로들을 구성할 수 있다.
예를 들어, 제1제어 회로(412)는 제1제어 인터페이스(422) 및 제1저장 인터페이스(424)를 통해 액세스되거나 로딩된 제1소프트웨어(426) 내 명령어를 구현 또는 실행하도록 구성될 수 있다. 또한 예로서, 제1통신 회로(416)는 제1저장 유닛(414) 안에 저장되거나 제1통신 인터페이스(428), 제1저장 인터페이스(424), 또는 그 조합에 의해 액세스되는 설정들에 따라 특정 방식으로 구성 또는 설정될 수 있다.
제1통신 회로(416)는 제1장치(102)로/로부터의 외부 통신을 가능하게 할 수 있다. 예를 들어 제1통신 회로(416)는 제1장치(102)가 도 1의 제2장치(106), 주변 기기나 노트북 컴퓨터 같은 부가장치, 및 네트워크(104)와 통신할 수 있게 한다.
제1통신 회로(416)는 또한 제1장치(102)가 네트워크(104)에 대한 엔드 포인트나 단말 유닛/회로에 국한되지 않고 네트워크(104)의 일부로서 기능하게 하는 통신 허브로서 기능할 수도 있다. 제1통신 회로(416)는 네트워크(104)와의 상호 동작을 위해 마이크로전자회로나 안테나 같은 능동 및 수동 소자들을 포함할 수 있다.
제1통신 회로(416)는 제1통신 인터페이스(428)를 포함할 수 있다. 제1통신 인터페이스(428)는 제1통신 회로(416) 및 제1장치(102) 내 다른 동작 유닛들이나 회로들 사이의 통신에 사용될 수 있다. 제1통신 인터페이스(428)는 다른 동작 유닛들/회로들로부터 정보를 수신하거나, 다른 동작 유닛들이나 회로들로 정보를 송신할 수 있다.
제1통신 인터페이스(428)는 어떤 동작 유닛들이 제1통신 회로(416)와 인터페이스되어 있는지에 따라 상이한 구현예들을 포함할 수 있다. 제1통신 인터페이스(428)는 제1제어 인터페이스(422)의 구현예와 유사한 기술 및 기법들로 구현될 수 있다.
제1사용자 인터페이스(418)는 사용자(미도시)가 제1장치(102)와 인터페이스 및 상호동작할 수 있게 한다. 제1사용자 인터페이스(418)는 입력 장치 및 출력 장치를 포함할 수 있다. 제1사용자 인터페이스(418)의 입력 장치의 예는 데이터 및 통신 입력을 제공하기 위한 키패드, 터치 패드, 소프트 키, 키보드, 센서, 신호 발생기, 마이크로폰, 또는 이들의 어떤 조합을 포함할 수 있다.
제1사용자 인터페이스(418)는 제1디스플레이 인터페이스(430)를 포함할 수 있다. 제1디스플레이 인터페이스(430)는 디스플레이, 프로젝터, 비디오 스크린, 스피커, 또는 이들의 어떤 조합을 포함할 수 있다.
제1제어 회로(412)는 컴퓨팅 시스템(100)에 의해 생성된 정보를 디스플레이하기 위해 제1사용자 인터페이스(418)를 작동시킬 수 있다. 제1제어 회로(412)는 또한 제1센서 회로(420)로부터 위치 정보를 수신하는 것을 포함해, 컴퓨팅 시스템(100)의 다른 기능들을 위해 제1소프트웨어(426)를 실행할 수 있다. 제1제어 회로(412)는 제1통신 회로(416)를 통한 네트워크(104)와의 상호동작을 위해 제1소프트웨어(426)를 더 실행할 수 있다.
제1장치(102)는 제1고전력 회로(452) 및 제1저전력 회로(454)를 포함하여 활용할 수 있다. 제1저전력 회로(454)는 동일한 지속 기간 동안 제1고전력 회로(452)보다 낮은 에너지 또는 전력량을 이용하는 회로를 포함할 수 있다. 제1저전력 회로(454)는 제1고전력 회로(452)와 동일하거나, 유사하거나, 상이한 프로세스, 기능, 특성, 또는 그 조합을 구현할 수 있다.
예를 들어, 제1고전력 회로(452)는 제1저전력 회로(454)와 같거나 유사한 결과들을, 더 높은 정확도, 더 높은 복잡도, 더 신속한 실행, 또는 그 조합으로 만들어낼 수 있다. 또한 예로서, 제1고전력 회로(452)는 제1저전력 회로(454)에 더해지거나 계속되는 다른 특성들이나 프로세스들을 구현할 수 있다.
예시적으로, 제1제어 회로(412)는 상이한 사이즈의 코어들이나 상이한 프로세서들 등에 대해 제1고전력 회로(452) 및 저전력 회로(454)를 가지는 것으로 보여진다. 그러나, 제1사용자 인터페이스(418), 제1통신 회로(416), 제1센서 회로(420), 제1저장 회로(414), 또는 그 조합과 같은 다양한 회로들이나 인터페이스들이 제1고전력 회로(452) 및 제1저전력 회로(454)를 포함하여 사용할 수 있다.
보다 구체적인 예로서, 제1센서 회로(420)나 제1제어 유닛(412)은 제1장치(102)의 가속도나 위치를 주기적으로 측정하거나 모니터링하기 위해 제1저전력 회로(454)를 포함할 수 있다. 제1고전력 회로(454)는 다른 유형의 센서 데이터, 가속도, 또는 위치를 더 높은 정확도나 빈도, 다른 후속 프로세싱 또는 그 조합을 가지고 더 측정하거나 모니터링할 수 있다. 제1고전력 회로(454)는 제1저전력 회로(452)로부터의 결과에 기반하여 트리거되거나 개시될 수 있다.
또한, 예시적으로 제1장치(102)는 제1고전력 회로(452) 및 저전력 회로(454)를 가지는 것으로 보여진다. 그러나, 제2장치(106) 또한 제1고전력 회로(452) 및 저전력 회로(454)와 유사한 제2고전력 회로 및 제2저전력 회로(간결성을 위해 둘 모두 미도시)를 포함할 수 있다는 것을 알아야 한다.
제2장치(106)는 제1장치(102)를 가진 다중 장치 구현을 통해 다양한 실시예들을 구현하도록 최적화될 수 있다. 제2장치(106)는 제1장치(102)와 비교할 때 부가적, 혹은 보다 높은 성능 처리 능력을 제공할 수 있다. 제2장치(106)는 제2제어 회로(434), 제2통신 회로(436), 및 제2사용자 인터페이스(438)를 포함할 수 있다.
제2사용자 인터페이스(438)는 사용자가 제2장치(106)와 인터페이스 및 상호동작할 수 있게 한다. 제2사용자 인터페이스(438)는 입력 장치 및 출력 장치를 포함할 수 있다. 제2사용자 인터페이스(438)의 입력 장치의 예는 데이터 및 통신 입력을 제공하기 위한 키패드, 터치 패드, 소프트 키, 키보드, 마이크로폰, 또는 이들의 어떤 조합을 포함할 수 있다. 제2사용자 인터페이스(438)의 출력 장치의 예들은 제2디스플레이 인터페이스(440)를 포함할 수 있다. 제2디스플레이 인터페이스(440)는 디스플레이, 프로젝터, 비디오 스크린, 스피커, 또는 이들의 어떤 조합을 포함할 수 있다.
제2제어 회로(434)는 컴퓨팅 시스템(100)의 제2장치(106)의 지능을 제공하기 위해 제2소프트웨어(442)를 실행할 수 있다. 제2소프트웨어(442)는 제1소프트웨어(426)와 연계하여 동작할 수 있다. 제2제어 회로(434)는 제1제어 회로(412)에 비해 추가 성능을 제공할 수 있다.
제2제어 회로(434)는 정보를 디스플레이하도록 제2사용자 인터페이스(438)를 동작시킬 수 있다. 제2제어 회로(434)는 또한, 네트워크(104)를 통해 제1장치(102)와 통신하기 위해 제2통신 회로(436)를 동작시키는 것을 포함하여, 컴퓨팅 시스템(100)의 다른 기능들에 대한 제2소프트웨어(442)를 실행할 수도 있다.
제2제어 회로(434)는 여러 다양한 방식으로 구현될 수 있다. 예를 들어, 제2제어 회로(434)는 프로세서, 임베디드 프로세서, 마이크로프로세서, 하드웨어 제어 로직, 하드웨어 유한 상태 머신(FSM), 디지털 신호 프로세서(DSP), 또는 이들의 조합을 포함할 수 있다. 보다 구체적인 예로서, 제2제어 회로(434)는 일반적으로 어떤 소프트웨어나 명령어를 실행하도록 구성된 프로세서, 임베디드 프로세서, 마이크로프로세서, 하드웨어 제어 로직, 하드웨어 FSM, DSP, 또는 이들의 조합을 포함할 수 있다. 또한 보다 구체적인 예로서, 제2제어 회로(434)는 하나 이상의 기능들을 실행하거나 구현하기 위해 하드웨어로 고유하게 구성되는 하드웨어 FSM, DSP, FPGA, 디지털 로직, 또는 이들의 조합과 같은 회로를 포함할 수 있다.
제2제어 회로(434)는 제2제어기 인터페이스(444)를 포함할 수 있다. 제2제어기 인터페이스(444)는 제2제어 회로(434) 및 제2장치(106) 내 다른 동작 유닛들이나 회로들 사이의 통신에 사용될 수 있다. 제2제어기 인터페이스(444)는 제2장치(106) 외부와의 통신을 위해 사용될 수도 있다.
제2제어기 인터페이스(444)는 다른 동작 유닛들/회로들이나 외부 소스들로부터 정보를 수신하거나, 다른 동작 유닛들/회로들이나 외부 목적지들로 정보를 송신할 수 있다. 외부 소스들 및 외부 목적지들은 제2장치(106) 외부의 소스들과 목적지들을 의미한다.
제2제어기 인터페이스(444)는 다양한 방식으로 구현될 수 있으며, 어떤 동작 유닛들/회로들이나 외부 유닛들/회로들 이 제2제어기 인터페이스(444)와 인터페이스되어 있는지에 좌우되는 다양한 구현예들을 포함할 수 있다. 예를 들어, 제2제어기 인터페이스(444)는 압력 센서, 관성 센서, 마이크로전자기 시스템(MEMS), 광학 회로, 도파로, 무선 회로, 유선 회로, 또는 이들의 조합을 통해 구현될 수 있다.
제2저장 회로(446)는 제2소프트웨어(442)를 저장할 수 있다. 제2저장 회로(446)는 또한, 광고, 기압 정보, 관심 포인트, 네비게이션 라우팅 엔트리(navigation routing entries), 리뷰/평가, 피드백, 또는 이들의 조합과 같은 관련 정보를 저장할 수 있다. 제2저장 회로(446)는 제1저장 회로(414)를 보충하기 위해 추가 저장 용량을 제공하는 크기일 수 있다.
예시적 목적으로 제2저장 회로(446)는 하나의 구성요소로서 도시되어 있으나, 제2저장 회로(446)가 분산된 저장 요소들일 수 있다. 역시 예시적 목적으로, 컴퓨팅 시스템(100)은 제2저장 회로(446)를 하나의 계층구조 저장 시스템으로서 도시되어 있지만, 컴퓨팅 시스템(100)이 제2저장 회로(446)를 다른 구성으로 가질 수 있다. 예를 들어, 제2저장 회로(446)는 상이한 레벨의 캐싱, 메인 메모리, 회전 매체, 또는 오프라인 저장부를 포함하는 메모리 계층구조적 시스템을 형성하는 여러 저장 기술들을 통해 형성될 수 있다.
제2저장 회로(446)는 휘발성 메모리, 비휘발성 메모리, 내부 메모리, 외부 메모리, 또는 이들의 조합일 수 있다. 예를 들어, 제2저장 회로(446)는 비휘발성 램(NVRAM), 플래시 메모리, 디스크 스토리지 같은 비휘발성 스토리지, 또는 고정 램(SRAM) 같은 휘발성 스토리지일 수 있다.
제2저장 회로(446)는 제2저장 인터페이스(448)를 포함할 수 있다. 제2저장 인터페이스(448)는 제1센서 회로(420) 및 제2장치(106) 내 다른 동작 유닛들이나 회로들 사이의 통신에 사용될 수 있다. 제2저장 인터페이스(448)는 제2장치(106) 외부와의 통신을 위해 사용될 수도 있다.
제2저장 인터페이스(448)는 다른 동작 유닛들/회로들이나 외부 소스들로부터 정보를 수신하거나, 다른 동작 유닛들/회로들이나 외부 목적지들로 정보를 송신할 수 있다. 외부 소스들 및 외부 목적지들은 제2장치(106) 외부의 소스들과 목적지들을 의미한다.
제2저장 인터페이스(448)는 어떤 동작 유닛들/회로들이나 외부 유닛들/회로들이 제2저장 회로(446)와 인터페이스되어 있는지에 따라 상이한 구현예들을 포함할 수 있다. 제2저장 인터페이스(448)는 제2제어기 인터페이스(444)의 구현예와 유사한 기술 및 기법들로 구현될 수 있다.
제2저장 인터페이스(448), 제2제어 인터페이스(444), 제2통신 인터페이스(450), 제2디스플레이 인터페이스(440), 또는 그 조합은 제2소프트웨어(442) 또는 그 안에 하나 이상의 명령어들을 액세스할 수 있다. 다양한 인터페이스들은 로딩된 명령어들을 구현 또는 실행하기 위한 하드웨어 회로들을 구성할 수 있다.
예를 들어, 제2제어 회로(434)는 제2제어 인터페이스(444) 및 제2저장 인터페이스(448)를 통해 액세스되거나 로딩된 제2소프트웨어(442) 내 명령어를 구현 또는 실행하도록 구성될 수 있다. 또한 예로서, 제2통신 회로(436)는 제2저장 유닛(446) 안에 저장되거나 제2통신 인터페이스(436), 제2저장 인터페이스(448), 또는 그 조합에 의해 액세스되는 설정들에 따라 특정 방식으로 구성 또는 설정될 수 있다.
제2통신 회로(436)는 제2장치(106)와의 외부 통신을 이행할 수 있다. 예를 들어, 제2통신 회로(436)는 제2장치(106)가 네트워크(104)를 통해 제1장치(102)와 통신할 수 있게 할 수 있다.
제2통신 회로(436)는 또한 제2장치(106)가 네트워크(104)에 대한 엔드 포인트(end point)나 단말 유닛/회로에 국한되지 않고 네트워크(104)의 일부로서 기능하게 하는 통신 허브로서 기능할 수도 있다. 제2통신 회로(436)는 네트워크(104)와의 상호 동작을 위해 마이크로전자회로나 안테나 같은 능동 및 수동 소자들을 포함할 수 있다.
제2통신 회로(436)는 제2통신 인터페이스(450)를 포함할 수 있다. 제2통신 인터페이스(450)는 제2통신 회로(436) 및 제2장치(106) 내 다른 동작 유닛들이나 회로들 사이의 통신에 사용될 수 있다. 제2통신 인터페이스(450)는 다른 동작 유닛들/회로들로부터 정보를 수신하거나, 다른 동작 유닛들이나 회로들로 정보를 송신할 수 있다.
제2통신 인터페이스(450)는 어떤 동작 유닛들이 제2통신 회로(436)와 인터페이스되어 있는지에 따라 상이한 구현예들을 포함할 수 있다. 제2통신 인터페이스(450)는 제2제어기 인터페이스(444)의 구현예와 유사한 기술 및 기법들로 구현될 수 있다.
제1통신 회로(416)는 네트워크(104)와 연결되어, 제1장치 전송(308)을 통해 제2장치(106)로 정보를 보낼 수 있다. 제2장치(106)는 네트워크(104)의 제1장치 전송(408)으로부터의 정보를 제2통신 회로(436)에서 수신할 수 있다.
제2통신 회로(436)는 네트워크(104)와 연결되어, 제2장치 전송(410)을 통해 제1장치(102)로 정보를 보낼 수 있다. 제1장치(102)는 네트워크(104)의 제2장치 전송(410)으로부터의 정보를 제1통신 회로(416)에서 수신할 수 있다. 컴퓨팅 시스템(100)은 제1제어 회로(412), 제2제어 회로(434), 또는 이들의 조합을 통해 실행될 수 있다.
예시적 목적으로, 제2장치(106)가 제2사용자 인터페이스(438), 제2저장 회로(446), 제2제어 회로(434), 및 제2통신 회로(436)를 가지는 구분으로 보여지고 있으나, 제2장치(106)가 다른 구분을 가질 수도 있다는 것을 알아야 한다. 예를 들어, 제2소프트웨어(442)가 그 성능의 일부나 전부가 제2제어 회로(434) 및 제2통신 회로(436) 안에 있을 수 있도록 다르게 구획될 수 있다. 또한, 제2장치(106)는 명료성을 위해 도 2에 도시되지 않은 다른 동작 유닛들이나 회로들을 포함할 수 있다.
제1장치(102) 내 동작 유닛들이나 회로들은 다른 동작 유닛들이나 회로들과 개별적이고 독립적으로 작동할 수 있다. 제1장치(102)는 제2장치(106) 및 네트워크(104)와 개별적이고 독립적으로 작동할 수 있다.
제2장치(106) 내 동작 유닛들이나 회로들은 다른 동작 유닛들이나 회로들과 개별적이고 독립적으로 작동할 수 있다. 제2장치(106)는 제1장치(102) 및 네트워크(104)와 개별적이고 독립적으로 작동할 수 있다.
예시적 목적으로, 컴퓨팅 시스템(100)이 제1장치(102) 및 제2장치(106)의 동작을 통해 기술된다. 제1장치(102) 및 제2장치(106)는 컴퓨팅 시스템(100)의 회로들 및 기능들 중 어느 하나를 동작시킬 수 있다는 것을 알아야 한다. 예를 들어, 제1장치(102)는 제1센서 회로(420)를 동작하는 것으로 기술되나, 제2장치(106) 또한 제1센서 회로(420)를 동작할 수 있음을 알아야 한다.
이하에서 도 5를 참조하면, 컴퓨팅 시스템(100)의 또 다른 예시적 블록도가 보여진다. 도 4의 제1장치(102) 및 제2장치(106)와 함께, 컴퓨팅 시스템(100)은 추가 장치(108)를 포함할 수 있다. 제1장치(102)는 네트워크(104)를 통해 추가 장치(108)로 제1장치 전송(408)을 통한 정보를 보낼 수 있다. 추가 장치(108)는 네트워크(104)를 통해 제1장치(102), 제2장치(106), 또는 그 조합으로 제3장치 전송(510)을 통한 정보를 보낼 수 있다.
예시적 목적으로, 컴퓨팅 시스템(100)은 클라이언트 장치인 추가 장치(108)를 포함한 것으로 도시되지만, 컴퓨팅 시스템(100)이 다른 유형의 장치인 추가 장치(108)를 포함할 수 있다. 예를 들어, 추가 장치(108)는 서버일 수 있다.
또한 예시의 목적 상, 컴퓨터 시스템(100)은 추가 장치(108)와 통신하는 제1장치(102)를 포함하는 것으로 도시된다. 그러나, 제2장치(106)나 그 조합 또한, 제1장치(102) 및 제2장치(106) 사이의 통신과 유사한 방식으로 추가 장치(108)와 통신할 수 있다.
설명의 간결성을 위해 본 발명의 실시예에서 추가 장치(108)는 클라이언트 장치로 기술될 것이다. 본 발명의 실시예는 이러한 장치 유형에 국한되지 않는다. 그 선택은 본 발명의 실시예의 예일 뿐이다.
추가 장치(108)는 제1장치(102)를 가진 다중 장치나 다중 사용자 실시예들 안에서 본 발명의 실시예를 구현하도록 최적화될 수 있다. 추가 장치(108)는 제1장치(102), 제2장치(106), 또는 그 조합과 비교하여 추가적이거나 고유의 기능들을 제공할 수 있다. 추가 장치(108)는 제1장치(102)의 사용자와 상이한 별개의 사용자가 보유하거나 사용하는 장치일 수 있다.
추가 장치(108)는 제3제어 회로(512), 제3저장 회로(514), 제3통신 회로(516), 제3사용자 인터페이스(518), 제3센서 회로(520), 또는 그 조합을 포함할 수 있다. 제3제어 회로(512)는 제3제어 인터페이스(522)를 포함할 수 있다. 제3제어 회로(512)는 컴퓨팅 시스템(100)의 동작을 위한 명령어들을 제공하기 위한 제3소프트웨어(526)를 실행할 수 있다.
제3제어 회로(512)는 여러 다양한 방식으로 구현될 수 있다. 예를 들어, 제3제어 회로(512)는 프로세서, ASIC(application specific integrated circuit), 임베디드 프로세서, 마이크로프로세서, 하드웨어 제어 로직, 하드웨어 유한 상태 머신(FSM), 디지털 신호 프로세서(DSP), 또는 이들의 조합을 포함할 수 있다. 보다 구체적인 예로서, 제3제어 회로(512)는 일반적으로 어떤 소프트웨어나 명령어를 실행하도록 구성된 프로세서, 임베디드 프로세서, 마이크로프로세서, 하드웨어 제어 로직, 하드웨어 FSM, DSP, 또는 이들의 조합을 포함할 수 있다. 또한 보다 구체적인 예로서, 제3제어 회로(512)는 하나 이상의 기능들을 실행하거나 구현하기 위해 하드웨어로 고유하게 구성되는 하드웨어 FSM, DSP, FPGA, 디지털 로직, 또는 이들의 조합과 같은 회로를 포함할 수 있다.
제3제어 인터페이스(522)는 제3제어 회로(512) 및 추가 장치(108) 내 다른 동작 유닛들이나 회로들 사이의 통신에 사용될 수 있다. 제3제어 인터페이스(522)는 추가 장치(108) 외부와의 통신을 위해 사용될 수도 있다.
제3제어 인터페이스(522)는 다른 동작 유닛들/회로들이나 외부 소스들로부터 정보를 수신하거나, 다른 동작 유닛들/회로들이나 외부 목적지들로 정보를 송신할 수 있다. 외부 소스들 및 외부 목적지들은 추가 장치(108) 외부의 소스들과 목적지들을 의미한다.
제3제어 인터페이스(522)는 다양한 방식으로 구현될 수 있으며, 어떤 동작 유닛들/회로들이나 외부 유닛들/회로들 이 제3제어 인터페이스(522)와 인터페이스되어 있는지에 좌우되는 다양한 구현예들을 포함할 수 있다. 예를 들어, 제3제어 인터페이스(522)는 마이크로전자기 시스템(MEMS), 광학 회로, 도파로, 무선 회로, 유선 회로, 또는 이들의 조합을 통해 구현될 수 있다.
제3저장 회로(514)는 제3소프트웨어(526)를 저장할 수 있다. 제3저장 회로(514)는 입력 메시지들을 나타내는 데이터, 이전에 제공된 이미지를 나타내는 데이터, 사운드 파일들, 또는 이들의 조합과 같은 관련 정보를 저장할 수도 있다.
제3저장 회로(514)는 휘발성 메모리, 비휘발성 메모리, 내부 메모리, 외부 메모리, 또는 이들의 조합일 수 있다. 예를 들어, 제3저장 회로(514)는 비휘발성 램(NVRAM), 플래시 메모리, 디스크 스토리지 같은 비휘발성 스토리지, 또는 고정 램(SRAM) 같은 휘발성 스토리지일 수 있다. 또, 예를 들어, 제3저장 회로(514)는 저장 요소들, 상이한 레벨의 캐싱, 메인 메모리, 회전 매체, 또는 오프라인 저장부를 포함하는 다중 계층구조의 저장 시스템, 또는 그 조합이 분산된 것일 수 있다.
제3저장 회로(514)는 제3저장 인터페이스(524)를 포함할 수 있다. 제3저장 인터페이스(524)는 제3저장 회로(514) 및 추가 장치(108) 내 다른 동작 유닛들이나 회로들 사이의 통신에 사용될 수 있다. 제3저장 인터페이스(524)는 추가 장치(108) 외부와의 통신을 위해 사용될 수도 있다.
제3저장 인터페이스(524)는 다른 동작 유닛들/회로들이나 외부 소스들로부터 정보를 수신하거나, 다른 동작 유닛들/회로들이나 외부 목적지들로 정보를 송신할 수 있다. 외부 소스들 및 외부 목적지들은 추가 장치(108) 외부의 소스들과 목적지들을 의미한다.
제3저장 인터페이스(524)는 어떤 동작 유닛들/회로들이나 외부 유닛들/회로들이 제3저장 회로(514)와 인터페이스되어 있는지에 따라 상이한 구현예들을 포함할 수 있다. 제3저장 인터페이스(524)는 제3제어 인터페이스(522)의 구현예와 유사한 기술 및 기법들로 구현될 수 있다.
제3저장 인터페이스(524), 제3제어 인터페이스(522), 제3통신 인터페이스(528), 제3디스플레이 인터페이스(530), 제3센서 인터페이스(532), 또는 그 조합은 제3소프트웨어(526) 또는 그 안에 하나 이상의 명령어들을 액세스할 수 있다. 다양한 인터페이스들은 로딩된 명령어들을 구현 또는 실행하기 위한 하드웨어 회로들을 구성할 수 있다.
예를 들어, 제3제어 회로(512)는 제3제어 인터페이스(522) 및 제3저장 인터페이스(524)를 통해 액세스되거나 로딩된 제3소프트웨어(526) 내 명령어를 구현 또는 실행하도록 구성될 수 있다. 또한 예로서, 제3통신 회로(516)는 제3저장 유닛(514) 안에 저장되거나 제3통신 인터페이스(528), 제3저장 인터페이스(524), 또는 그 조합에 의해 액세스되는 설정들에 따라 특정 방식으로 구성 또는 설정될 수 있다.
제3통신 회로(516)는 추가장치(108)와의 외부 통신을 이행할 수 있다. 예를 들어 제3통신 회로(516)는 추가 장치(108)가 제2장치(106), 제1장치(102), 다른 장치, 주변 기기나 데스크탑 컴퓨터 같은 부가장치, 네트워크(104), 또는 그 조합과 통신할 수 있게 한다.
제3통신 회로(516)는 또한 추가 장치(108)가 네트워크(104)에 대한 엔드 포인트나 단말 유닛에 국한되지 않고 네트워크(104)의 일부로서 기능하게 하는 통신 허브로서 기능할 수도 있다. 제3통신 회로(516)는 네트워크(104)와의 상호 동작을 위해 마이크로전자회로나 안테나 같은 능동 및 수동 소자들을 포함할 수 있다.
제3통신 회로(516)는 통신 신호에 대해 전송, 포맷팅, 수신, 검출, 디코딩, 추가 처리, 또는 그 조합을 수행하기 위한 기저대역 장치나 성분, 모뎀, 디지털 신호 처리기, 또는 그 조합을 포함할 수 있다. 제3통신 회로(516)는 아날로그-디지털 변환기, 디지털-아날로그 변환기, 필터, 증폭기, 프로세서형 회로, 또는 그 조합과 같이, 전압, 전류, 디지털 정보, 또는 그 조합을 처리하기 위한 하나 이상의 부분들을 포함할 수 있다. 제3통신 회로(516)는 캐시나 RAM 메모리, 레지스터, 또는 그 조합과 같이 정보를 저장하기 위한 하나 이상의 부분들을 더 포함할 수 있다.
제3통신 회로(516)는 제3통신 인터페이스(528)를 포함할 수 있다. 제3통신 인터페이스(528)는 제3통신 회로(516) 및 추가 장치(108) 내 다른 동작 유닛들이나 회로들 사이의 통신에 사용될 수 있다. 제3통신 인터페이스(528)는 다른 동작 유닛들/회로들로부터 정보를 수신하거나, 다른 동작 유닛들이나 회로들로 정보를 송신할 수 있다.
제3통신 인터페이스(528)는 어떤 동작 유닛들이 제3통신 회로(516)와 인터페이스되어 있는지에 따라 상이한 구현예들을 포함할 수 있다. 제3통신 인터페이스(528)는 제3제어 인터페이스(522)의 구현예와 유사한 기술 및 기법들로 구현될 수 있다.
제3사용자 인터페이스(518)는 사용자(미도시)가 추가 장치(108)와 인터페이스 및 상호동작할 수 있게 한다. 제3사용자 인터페이스(518)는 입력 장치 및 출력 장치를 포함할 수 있다. 제3사용자 인터페이스(518)의 입력 장치의 예는 키패드, 터치 패드, 소프트 키, 키보드, 마이크로폰, 원격 신호 수신을 위한 적외선 센서, 또는 데이터 및 통신 입력을 제공하기 위한 이들의 어떤 조합을 포함할 수 있다.
제3사용자 인터페이스(518)는 제3디스플레이 인터페이스(530)를 포함할 수 있다. 제3디스플레이 인터페이스(530)는 출력 장치를 포함할 수 있다. 제3디스플레이 인터페이스(530)는 디스플레이, 프로젝터, 비디오 스크린, 스피커, 또는 이들의 어떤 조합을 포함할 수 있다.
제3제어 회로(512)는 컴퓨팅 시스템(100)에 의해 생성된 정보를 디스플레이하기 위해 제3사용자 인터페이스(518)를 작동시킬 수 있다. 제3제어 회로(512)는 또한 제3센서 회로(520)로부터 위치 정보를 수신하는 것을 포함해, 컴퓨팅 시스템(100)의 다른 기능들을 위해 제3소프트웨어(526)를 실행할 수 있다. 제3제어 회로(512)는 제3통신 회로(516)를 통한 네트워크(104)와의 상호동작을 위해 제3소프트웨어(526)를 더 실행할 수 있다.
제3센서 회로(520)는 예로서, 추가 장치(108)의 환경이나 주변, 추가 장치(108)의 위치나 이동, 또는 그 조합에 관한 정보를 생성할 수 있다. 제3센서 회로(520)는 여러 방식으로 구현될 수 있다. 예를 들어, 제3센서 회로(520)는 제3위치 회로(562), 제3가속계(564), 제3자이로스코프(566), 제3압력 센서(568), 또는 그 조합을 포함할 수 있다.
제3위치 회로(562)는 예로서, 제3장치(108)의 위치 정보, 방향, 속도, 또는 그 조합을 생성할 수 있다. 제3위치 회로(562)는 여러 방식으로 구현될 수 있다. 예를 들어 제3위치 회로(562)는 글로벌 위치확인 시스템(GPS), 자력계, 나침반, 스펙트럼 분석기, 비컨(beacon), 셀룰러 타워 위치확인 시스템(cellular-tower location system)과 같은 관성 항법 장치, 또는 그 조합의 적어도 일부로서 기능할 수 있다.
제3가속계(564)는 제3장치(108)에 대한 레이트, 속도, 물리적 변위 관련 힘, 또는 그 조합을 결정하거나 측정하기 위한 계기나 구성요소를 포함할 수 있다. 제3가속계(564)는 가속 정도나 크기, 방향, 그 시퀀스, 또는 그 조합을 생성할 수 있다. 제3가속계(564)는 여러 방식으로 구현될 수 있다. 예를 들어, 제3가속계(564)는 전자기계적 회로, 압전 회로, 레이저 또는 광학 회로, 자기 센서 회로, 자이로스코프 회로, 열 센서 회로, 또는 그 조합을 포함하거나 활용할 수 있다.
제3자이로스코프(566)는 제3장치(108)의 방위와 무관하게 특정 방향을 유지함으로써 특정 방향을 판단하거나 식별하기 위한 계기나 구성요소를 포함할 수 있다. 제3자이로스코프(566)는 3차원 공간 안에서 제3장치(108)의 물리적 방위를 판단하기 위한 것일 수 있다. 제3자이로스코프(566)는 여러 방식으로 구현될 수 있다. 예를 들어, 제3자이로스코프(566)는 MEMS 자이로스코프 장치나 회로, 링 레이저 자이로스코프, 광섬유 자이로스코프, 양자 자이로스코프, 나침반, 또는 이들의 조합을 포함할 수 있다.
제3압력 센서(568)는 제3장치(108) 상의 주변 기체나 액체에 의해 발생되는 힘의 크기를 판단하기 위한 계기나 구성요소를 포함할 수 있다. 제3압력 센서(568)는 제3장치(108)에 대한 기압을 측정하는 기압계를 포함할 수 있다. 예를 들어, 제3압력 센서(568)는 MEMS 기압계, 압전 저항성 압력 감지 회로, 또는 그 조합을 포함할 수 있다.
예시적 목적으로, 제3센서 회로(520)는 별개의 회로들이나 유닛들인 제3위치 회로(562), 제3가속계(564), 제3자이로스코프(566), 및 제3압력 센서(568)를 가지는 것으로 기술되었다. 그러나, 제3센서 회로(520)는 결합된 회로들이나 유닛들을 포함할 수 있다. 예를 들어, 제3위치 회로(562)는 제3가속계(564), 제3자이로스코프(566), 제3압력 센서(568), 또는 그 조합을 포함할 수 있다. 또한 예로서, 제3가속계(564)는 제3자이로스코프(566), 제3압력 센서(568), 또는 그 조합을 포함할 수 있다.
제3센서 회로(520)는 제3센서 인터페이스(532)를 포함할 수 있다. 제3센서 인터페이스(532)는 제3센서 회로(520) 및 추가 장치(108) 내 다른 동작 유닛들이나 회로들 사이의 통신에 사용될 수 있다. 제3센서 인터페이스(532)는 추가 장치(108) 외부와의 통신을 위해 사용될 수도 있다.
제3센서 인터페이스(532)는 다른 동작 유닛들/회로들이나 외부 소스들로부터 정보를 수신하거나, 다른 동작 유닛들/회로들이나 외부 목적지들로 정보를 송신할 수 있다. 외부 소스들 및 외부 목적지들은 추가 장치(108) 외부의 소스들과 목적지들을 의미한다.
제3센서 인터페이스(532)는 어떤 동작 유닛들/회로들이나 외부 유닛들/회로들이 제3위치 회로(520)와 인터페이스되어 있는지에 따라 상이한 구현예들을 포함할 수 있다. 제3센서 인터페이스(532)는 제3제어 회로(512)의 구현예와 유사한 기술 및 기법들로 구현될 수 있다.
추가 장치(108)는 제3고전력 회로(552) 및 제3저전력 회로(554)를 포함하여 활용할 수 있다. 제3저전력 회로(554)는 동일한 지속 기간 동안 제3고전력 회로(552)보다 낮은 에너지 또는 전력량을 이용하는 회로를 포함할 수 있다. 제3저전력 회로(554)는 제3고전력 회로(552)와 동일하거나, 유사하거나, 상이한 프로세스, 기능, 특성, 또는 그 조합을 구현할 수 있다.
예를 들어, 제3고전력 회로(552)는 제3저전력 회로(554)와 같거나 유사한 결과들을, 더 높은 정확도, 더 높은 복잡도, 더 신속한 실행, 또는 그 조합으로 만들어낼 수 있다. 또한 예로서, 제3고전력 회로(552)는 제3저전력 회로(554)에 추가되거나 이어지는 다른 특성들이나 프로세스들을 구현할 수 있다.
예시적으로, 제3제어 회로(512)는 상이한 사이즈의 코어들이나 상이한 프로세서들 등에 대해 제3고전력 회로(552) 및 저전력 회로(554)를 가지는 것으로 보여진다. 그러나, 제3사용자 인터페이스(518), 제3통신 회로(516), 제3센서 회로(520), 제3저장 회로(514), 또는 그 조합과 같은 다양한 회로들이나 인터페이스들이 제3고전력 회로(552) 및 제3저전력 회로(554)를 포함하여 이용할 수 있다는 것을 알아야 한다.
보다 구체적인 예로서, 제3센서 회로(520)나 제3제어 회로(512)는 추가 장치(108)의 가속도나 위치를 주기적으로 측정하거나 모니터링하기 위해 제3저전력 회로(554)를 포함할 수 있다. 제3고전력 회로(554)는 다른 유형의 센서 데이터, 가속도, 또는 위치를 더 높은 정확도나 빈도, 다른 후속 프로세싱 또는 그 조합을 가지고 더 측정하거나 모니터링할 수 있다. 제3고전력 회로(554)는 제3저전력 회로(552)로부터의 결과에 기반하여 트리거되거나 개시될 수 있다.
또한, 예시적 목적으로 추가 장치(108)가 제3사용자 인터페이스(518), 제3저장 회로(514), 제3제어 회로(512), 및 제3통신 회로(516)를 가지는 구분으로 보여지고 있으나, 추가 장치(108)가 다른 구분을 가질 수도 있다는 것을 알아야 한다. 예를 들어, 제3소프트웨어(526)가 그 성능의 일부나 전부가 제32제어 회로(512) 및 제3통신 회로(516) 안에 있을 수 있도록 다르게 구획될 수 있다. 또한, 추가 장치(108)는 명료성을 위해 도 5에 도시되지 않은 다른 동작 유닛들이나 회로들을 포함할 수 있다.
추가 장치(108) 내 동작 유닛들이나 회로들은 다른 동작 유닛들이나 회로들과 개별적이고 독립적으로 작동할 수 있다. 추가 장치(108)는 제1장치(102), 제2장치(106) 및 네트워크(104)와 개별적이고 독립적으로 작동할 수 있다.
예시적 목적으로, 컴퓨팅 시스템(100)이 제1장치(102) 및 추가 장치(108)의 동작을 통해 기술된다. 제1장치(102), 제2장치(108), 및 추가 장치(106)는 컴퓨팅 시스템(100)의 회로들 및 기능들 중 어느 하나를 동작시킬 수 있다.
이제 도 6을 참조하면, 컴퓨팅 시스템(100)의 예시적 시스템 구조가 도시된다. 컴퓨팅 시스템(100)은 데이터 획득 모듈(602), 입출 모듈(entrance-exit module)(604), 상대적 고도 모듈(relative altitude module)(606), 동적 교정 모듈(608), 플로어 위치확인 모듈(floor localization module)(610), 분류 모듈(classification module)(612), 맵 모듈(614), 또는 그 조합을 포함할 수 있다.
여기에서 언급된 "모듈"이라는 용어는 그 용어가 사용되는 정황에 따라 본 발명에서 소프트웨어나 하드웨어나 그 조합으로 구현될 수 있다. 예를 들어, 소프트웨어는 머신 코드, 펌웨어, 임베디드 코드, 및 응용 소프트웨어이거나 그것들을 포함할 수 있다. 소프트웨어 또한, 함수, 함수에 대한 호출, 코드 블록, 또는 그 조합을 포함할 수 있다. 또한, 예로서, 하드웨어는 게이트, 회로, 프로세서, 컴퓨터, 집적 회로, 집적 회로 코어, 압력 센서, 관성 센서, 마이크로전자기계 시스템(MEMS), 수동 소자, 소프트웨어 기능을 수행하기 위한 명령어들을 포함하는 물리적인 비일시적 메모리 매체, 그 안의 일부, 또는 그 조합이거나 그들을 포함하여 하나 이상의 하드웨어 유닛들이나 회로들을 제어할 수 있다.
보다 구체적인 예로서, 하나 이상의 모듈들은 도 4나 도 5의 하나 이상의 회로들, 도 4의 제1소프트웨어(426), 도 4의 제2소프트웨어(442), 도 5의 제3소프트웨어(526), 그 안의 일부, 또는 그 조합을 포함하거나 그들을 사용하여 구현될 수 있다. 모듈들은 도 1의 제1장치(102), 도 1의 제2장치(106), 도 1의 추가장치(108), 또는 그 조합으로 구현될 수 있다.
하나 이상의 모듈들은 직접적으로나 간접적으로 서로 연결될 수 있다. 예를 들어, 모듈들은 하나 이상의 입력, 출력, 트리거, 함수 호출, 또는 입력, 출력, 트리거, 함수 호출, 또는 추가 모듈이나 구조를 통한 다른 모듈의 조합에 연결된 한 모듈의 조합을 가짐으로써 서로 간접 연결될 수 있다.
또, 예를 들어, 모듈들은 하나 이상의 입력, 출력, 트리거, 함수 호출, 또는 입력, 출력, 트리거, 함수 호출, 또는 다른 해당 모듈의 조합에, 어떤 게재되는 모듈들이나 구조들도 없이 바로 연결되는 한 모듈의 조합을 가짐으로써 서로 직접적으로 연결될 수 있다. 보다 구체적인 예로서, 모듈들은 도체, 무선 연결, 함수 호출, 레지스터, 플래그, 프로그램 카운터 시퀀스, 또는 그 조합을 이용하여 바로 연결될 수 있다.
데이터 획득 모듈(602)은 센서 데이터를 수집하도록 구성된다. 데이터 획득 모듈(602)은 제1장치(102), 추가 장치(108), 또는 그 조합에 대해, 도 2의 환경 측정치(228), 도 2의 이동 측정치(234), 도 2의 장치 위치(236), 또는 그 조합을 판단하거나 식별할 수 있다.
데이터 획득 모듈(602)은 도 4의 제1센서 회로(420), 도 5의 제2센서 회로(520), 또는 그 조합을 이용하여 센서 데이터를 판단하거나 식별할 수 있다. 예를 들어, 데이터 획득 모듈(602)은 도 4의 제1위치 회로(462), 도 5의 제3위치 회로(562), 또는 그 조합을 이용하여 도 2의 장치 위치(236), 장치 고도(232), 또는 그 조합을 판단할 수 있다.
또한 예로서, 데이터 획득 모듈(602)은 도 4의 제1가속계(464), 도 5의 제3가속계(564), 제1위치 회로(462), 제3위치 회로(562), 또는 그 조합을 이용하여 이동 측정치(234)를 판단할 수 있다. 또, 예로서 데이터 획득 모듈(602)은 도 4의 제1제어 회로(412), 도 4의 제2제어 회로(434), 도 5의 제3제어 회로(512), 또는 이들의 조합을 이용하여, 이동 측정치(234)를 처리해 추측 항법 프로세스를 구현하고 장치 위치(236), 장치 고도(232), 또는 그 조합을 판단 또는 산출할 수 있다.
또, 예로서 데이터 획득 모듈(602)은 도 4의 제1자이로스코프(466), 도 5의 제2자이로스코프(566) 또는 그 조합을 이용하여, 제1장치(102), 추가 장치(108), 또는 그 조합의 방위를 결정하고, 이동 측정치(234)나 그 안의 성분을 수직, 수평, 또는 그 조합과 같은 기준 방향으로 조정하거나 매핑할 수 있다. 또 예를 들어, 데이터 획득 모듈(602)은 도 4의 제1압력 센서(468), 도 5의 제3압력 센서(568), 또는 그 조합을 이용하여 도 2의 압력 측정치(230)를 판단할 수 있다.
또한 예로서, 데이터 획득 모듈(602)은 도 4의 제1저전력 회로(454), 도 4의 제1고전력 회로(452), 도 5의 제3저전력 회로(554), 도 2의 제3고전력 회로(552), 또는 그 조합을 이용하여 센서 데이터를 판단하거나 처리할 수 있다. 데이터 획득 모듈(602)은 하나 이상의 저전력 회로들을 이용하여 하나 이상의 고전력 회로들을 트리거링하거나 개시할 수 있다.
데이터 획득 모듈(602)은 도 4의 제1통신 회로(416), 도 4의 제2통신 회로(436), 도 5의 제3통신 회로(516), 또는 이들의 조합을 이용하여, 제1장치(102), 제2장치(106), 추가 장치(108), 또는 이들의 조합 사이에 센서 데이터를 통신할 수 있다. 데이터 획득 모듈(602)은 도 4의 제1저장 회로(414), 도 4의 제2저장 회로(446), 도 5의 제3저장 회로(514), 또는 그 조합 안에 센서 데이터를 더 저장할 수 있다.
입출 모듈(604)은 도 2의 입출 이벤트(238)를 판단하도록 구성된다. 입출 모듈(604)은 제1제어 회로(412), 제2제어 회로(434), 제3제어 회로(512), 또는 그 조합을 이용하여, 입출 이벤트(238)를 판단하거나, 도 2의 구조의 지리적 위치(204)를 식별하거나, 그 조합을 수행할 수 있다.
입출 모듈(604)은 제1저장 회로(414), 제2저장 회로(446), 제3저장 회로(514), 또는 그 조합을 이용하여 입출 이벤트(238), 구조의 지리적 위치(204) 또는 그 조합을 저장하거나 액세스할 수 있다. 입출 모듈(604)은 제1통신 회로(416), 제2통신 회로(436), 제3통신 회로(516), 또는 그 조합을 이용하여 장치들 간 입출 이벤트(238), 구조의 지리적 위치(204) 또는 그 조합을 통신할 수 있다.
입출 모듈(604)은 도 2의 장치 위치(236), 구조의 지리적 위치(204), 또는 그 조합에 기반하여 입출 이벤트(238)를 판단할 수 있다. 입출 이벤트(238) 판단에 관한 세부사항들을 이하에서 기술한다.
상대적 고도 모듈(606)이 도 3의 상대적 고도(306)를 산출하도록 구성된다. 상대적 고도 모듈(606)은 제1제어 회로(412), 제2제어 회로(434), 제3제어 회로(512), 또는 그 조합을 이용하여 상대적 고도(306)를 산출하고 다른 중간 정보나 관련 정보를 처리할 수 있다.
상대적 고도 모듈(606)은 제1저장 회로(414), 제2저장 회로(446), 제3저장 회로(514), 또는 그 조합을 이용하여 상대적 고도(306) 및 기타 중간 정보나 관련 정보를 저장하거나 액세스 할 수 있다. 상대적 고도 모듈(606)은 제1통신 회로(416), 제2통신 회로(436), 제3통신 회로(516), 또는 그 조합을 이용하여 장치들 간 상대적 고도(306) 또는 기타 중간 정보나 관련 정보를 통신할 수 있다.
상대적 고도 모듈(606)은 기준 레벨 모듈(reference level module)(616), 장치 측정 모듈(618), 기준 측정 모듈(618), 또는 그 조합을 포함할 수 있다. 기준 레벨 모듈(616)은 도 2의 입출 고도(240)를 판단하도록 구성된다. 기준 측정 모듈(618)은 도 3의 기준 측정치(318)를 판단하도록 구성된다.
장치 측정 모듈(618)은 제1장치(102)나 추가 장치(108)와 같은 해당하는 사용자 장치의 센서 데이터를 판단하도록 구성된다. 장치 측정 모듈(618)은 데이터 획득 모듈(602)과 협력하거나, 그것을 제어하거나, 조회하거나, 그 조합 동작을 수행하여, 해당하는 사용자 장치로부터 센서 데이터를 판단할 수 있다.
상대적 고도 모듈(606)은 센서 데이터, 기준 측정치(318), 도 3의 장치 조정 측정치(320), 입출 고도(240), 도 3의 수직 변화 트리거(330), 도 3의 수직 이동 이벤트(332), 또는 그 조합에 기반하여 상대적 고도(306)를 산출할 수 있다. 상대적 고도 모듈(606)은 압력 경사(622), 이동 상관(624), 이동 에너지(626), 또는 그 조합에 대한 산출에 기반하여 상대적 고도(306)를 더 산출할 수 있다.
압력 경사(622)는 상술한 바와 같이 시간에 따른 압력 측정치(230)의 관계나 변화이다. 이동 상관(624)은 상술한 바와 같이 이동 측정치(234)의 방향 성분들 내, 또는 그 사이의 패턴이나 관계이다. 이동 에너지(626)는 상술한 바와 같이 장치의 이동과 관련된 에너지 량이다. 상대적 고도(306) 산출에 관한 세부사항들을 이하에서 기술한다.
동적 교정 모듈(608)은 제1장치(102), 추가 장치(108), 또는 그 조합과 같은 해당하는 사용자 장치를 교정하도록 구성된다. 동적 교정 모듈(608)은 제1장치(102), 추가 장치(108), 또는 그 조합에 대한 장치 조정 측정치(320) 산출에 기반하는 교정을 할 수 있다.
동적 교정 모듈(608)은 제1제어 회로(412), 제2제어 회로(434), 제3제어 회로(512), 또는 그 조합을 이용하여 교정할 수 있다. 동적 교정 모듈(608)은 제1저장 회로(414), 제2저장 회로(446), 제3저장 회로(514), 또는 그 조합을 이용하여 다양한 파라미터들 및 장치 조정 측정치(320)를 저장하거나 액세스 할 수 있다. 상대적 고도 모듈(606)은 제1통신 회로(416), 제2통신 회로(436), 제3통신 회로(516), 또는 그 조합을 이용하여 장치들 간 다양한 파라미터들이나 장치 조정 측정치(320)를 통신할 수 있다.
동적 교정 모듈(608)은 교정 프로세스를 위해 도 3의 교정 이벤트(312) 및 대응하는 도 3의 교정 위치(310)의 경우를 더 판단할 수 있다. 동적 교정 모듈(608)은 외부 인자 모듈(external factor module)(630), 장치 요소 모듈(632), 또는 그 조합을 포함할 수 있다.
외부 인자 모듈(630)은 대응하는 교정 위치(310)의 경우로부터 기준 측정치(318)를 판단하도록 구성된다. 장치 요소 모듈(632)은 교정 이벤트(312)에 대응하는 도 3의 교정 측정치(316)를 판단하도록 구성된다. 장치 요소 모듈(632)은 데이터 획득 모듈(602)과 협력하거나, 그것을 제어하거나, 조회하거나, 그 조합 동작을 수행하여, 해당하는 사용자 장치로부터 교정 측정치(316)의 센서 데이터를 판단할 수 있다.
동적 교정 모듈(608)은 교정 측정치(316) 및 기준 측정치(318)에 기반하여 장치 조정 측정치(320)를 산출할 수 있다. 장치 조정 측정치(320) 산출에 관한 세부사항들을 이하에서 기술한다.
플로어 위치확인 모듈(610)은 도 2의 빌딩 구조(202)의 도 2의 층(210)을 기준으로 사용자 장치를 수직 위치확인하도록 구성된다. 플로어 위치확인 모듈(610)은 빌딩 구조(202) 안에서 제1장치(102), 추가 장치(108), 또는 그 조합에 대응하는 도 3의 사용자의 현재 플로어(308) 판단에 기초하여, 빌딩 구조(202) 내 제1장치(102), 추가 장치(108), 또는 그 조합을 수직 위치확인할 수 있다. 플로어 위치확인 모듈(610)은 도 3의 수직 위치확인 메커니즘(302)과 같은 자율 메커니즘을 이용하여 수직 위치확인할 수 있다.
플로어 위치확인 모듈(610)은 도 2의 내부 맵(206)을 생성할 수 있다. 플로어 위치확인 모듈(610)은 빌딩 구조(202)의 도 2의 내부 맵(206), 빌딩 구조(202)의 도 2의 수직 프로파일(208), 또는 그 조합에 기반하여 사용자의 현재 플로어(308)를 더 판단할 수 있다. 플로어 위치확인 모듈(610)은 측정 적응 모듈(634), 레벨 추정 모듈(level estimation module)(636), 또는 그 조합을 더 포함할 수 있다.
측정 적응 모듈(634)은 제1장치(102), 추가 장치(108), 또는 그 조합에 대한 센서 데이터를 정규화하도록 구성된다. 정규화는 날씨 상태에 기반하거나 그 영향을 받는 센서 데이터의 변화를 참작할 수 있다.
레벨 추정 모듈(636)은 사용자의 현재의 플로어(308)를 판단하기 위해 정규화된 측정치를 이용하도록 구성된다. 사용자의 현재 플로어(308) 판단에 관한 세부사항들을 이하에서 기술한다.
분류 모듈(612)은 빌딩 구조(202) 내 층들 간 연결 메커니즘들을 식별하도록 구성된다. 분류 모듈(612)은 도 2의 층 변화 접근 위치(216), 도 2의 층 변화 유형(218), 또는 이들의 조합을 판단할 수 있다. 분류 모듈(612)은 센서 퓨전 모듈(sensor fusion module)(638), 변화 유형 모듈(transition type module)(640), 또는 그 조합을 포함할 수 있다.
센서 퓨전 모듈(638)은 센서 데이터를 처리하도록 구성된다. 센서 퓨전 모듈(638)은 도 2의 환경 측정치(228), 도 2의 이동 측정치(234), 장치 위치(236), 또는 그 조합을 처리할 수 있다.
예를 들어, 센서 퓨전 모듈(638)은 하나 이상의 가속계 회로, 하나 이상의 자이로스코프, 하나 이상의 압력 센서, 하나 이상의 위치 센서 회로, 또는 그 조합으로부터의 센서 데이터를 결합할 수 있다. 보다 구체적인 예로서, 센서 퓨전 모듈(638)은 한 회로로부터의 판독치들을 이용하여, 다른 회로를 트리거 또는 개시하거나, 측정치들을 기준 위치를 향하게 하거나 매핑할 수 있다.
변화 유형 모듈(640)은 층 변화 접근 위치(216), 층 변화 유형(218), 또는 이들의 조합을 판단하도록 구성된다. 변화 유형 모듈(640)은 도 3의 수직 이동 이벤트(332) 판단에 기초하여 층 변화 접근 위치(216), 층 변화 유형(218), 또는 이들의 조합을 결정할 수 있다.
변화 유형 모듈(640)은 센서 데이터, 도 3의 수직 이동 집합(322), 압력 경사(622), 이동 상관(624), 이동 에너지(626), 또는 그 조합에 기반하여 층 변화 접근 위치(216), 층 변화 유형(218) 또는 그 조합을 더 결정할 수 있다. 층 변화 접근 위치(216), 층 변화 유형(218), 또는 그 조합을 결정하는 것에 관한 세부사항들이 이하에서 기술된다.
맵 모듈(614)은 빌딩 구조의 내부를 매핑하도록 구성된다. 맴 모듈(614)은 수직 방향을 따라 내부를 매핑할 수 있다. 맵 모듈(614)은 빌딩 구조(202)의 내부 맵(206), 빌딩 구조(202)의 도 2의 수직 프로파일(208), 또는 그 조합을 생성함으로써 매핑할 수 있다.
맵 모듈(614)은 도 2의 층 매핑 메커니즘(226)과 같은 자율 메커니즘을 이용하여 매핑할 수 있다. 맵 모듈(614)은 센서 데이터, 상대적 고도(306), 또는 그 조합을 이용하여, 내부 맵(206), 수직 프로파일(208), 또는 그 조합을 생성할 수 있다. 맵 모듈(614)은 환경 기준 모듈(642), 클러스터 모듈(644), 고도 매핑 모듈(646), 또는 그 조합을 포함할 수 있다.
환경 기준 모듈(642)은 기준 측정치(318)를 결정하도록 구성된다. 환경 기준 모듈(642)은 센서 데이터를 조정하거나 정규화하기 위해 기준 측정치(318)를 결정할 수 있다. 예를 들어, 환경 기준 모듈(642)은 교정 위치(310)에서의 기준 측정치(318)를 결정할 수 있다.
또한 예를 들면, 환경 기준 모듈(642)은 해수면 고도(648), 해수면 압력(650), 또는 그 조합을 포함하는 기준 측정치(318)를 결정할 수 있다. 해수면 고도(648)는 해수면에서의 기준 높이를 포함할 수 있다. 해수면 압력(650)은 해수면에서의 압력 판독치를 포함할 수 있다.
클러스터 모듈(644)은 하나 이상의 데이터 그룹들을 결정하도록 구성된다. 클러스터 모듈(644)은 상대적 수직 클러스터(652)를 결정할 수 있다. 상대적 수직 클러스터(652)는 빌딩 구조(202) 내 사용자 장치들에 대응하는 수직 판독치들의 그룹이다. 상대적 수직 클러스터(652)는 빌딩 구조(202)의 각각의 장소나 각각의 경우에 대해 구성될 수 있다. 장소들이나 빌딩 구조(202)의 각각의 경우가 지리 위치 입력들에 따른 클러스터들로서 인식될 수 있다.
상대적 수직 클러스터(652)는 센서 데이터의 정규화된 경우들의 하나 이상의 그룹들을 포함할 수 있다. 예를 들어, 상대적 수직 클러스터(652)는 센서 데이터, 상대적 고도(306), 또는 그 조합에 대응하는 압력 측정치(230), 장치 고도(232), 기준 측정치(318)의 그룹을 포함할 수 있다.
클러스터 모듈(644)은 다양한 방식으로 상대적 수직 클러스터(652)를 결정할 수 있다. 예를 들어, 클러스터 모듈(644)은 상대적 수직 클러스터(652)를 결정하기 위해 데이터량, 데이터의 분산(variance), 데이터의 패턴, 또는 그 조합에 대한 문턱치, 범위, 또는 그 조합을 포함할 수 있다. 또한 예로서, 클러스터 모듈(644)은 상대적 수직 클러스터(652)를 결정하기 위해 기계 학습 메커니즘, 패턴 분석 메커니즘, 통계적 분석 메커니즘, 또는 그 조합을 활용할 수 있다. 보다 구체적인 예로서, 클러스터 모듈(644)은 DBScan 클러스터링 또는 커널(Kernel) 밀도 추정 클러스터링을 이용하는 유사도에 기반하여 클러스터링한다.
고도 매핑 모듈(646)은 빌딩 구조(202) 내 층(210)의 하나 이상의 경우들을 수직 위치 확인하도록 구성된다. 고도 매핑 모듈(646)은 내부 맵(206), 수직 프로파일(208), 또는 그 조합을 생성하기 위해 수직 위치확인할 수 있다. 고도 매핑 모듈(646)은 상대적 수직 클러스터(652)를 이용하여 수직 위치확인할 수 있다.
맵 모듈(614)을 포함하는 다양한 모듈들에 대한 기능, 동작, 프로세스, 방법, 또는 그 조합에 관한 세부사항들을 이하에서 기술한다. 또한, 그러한 기능, 동작, 프로세스, 방법, 또는 그 조합의 순서, 시퀀스, 상호동작, 또는 그 조합에 관한 세부사항들을 이하에서 기술한다.
이제 도 7를 참조하면, 도 1의 컴퓨팅 시스템(100)의 동작을 나타내는 예시적 흐름도(700)가 도시된다. 컴퓨팅 시스템(100)은 도 4 또는 도 5에 예시되고 위에서 기술한 바와 같이, 이하에서 기술되는 하나 이상의 함수, 명령어, 단계, 또는 그 조합을 구현하기 위해 사용자 인터페이스, 통신 회로, 제어 회로, 센서 회로, 저장 회로, 또는 그 조합 중 하나 이상을 활용할 수 있다.
예를 들어, 컴퓨팅 시스템(100)은 도 4의 제1사용자 인터페이스(418), 도 4의 제2사용자 인터페이스(438), 도 5의 제3사용자 인터페이스(518), 도 4의 제1통신 회로(416), 도 4의 제2통신 회로(436), 도 5의 제3통신 회로(516), 도 4의 제1제어 회로(412), 도 4의 제2제어 회로(434), 도 5의 제3제어 회로(512), 도 4의 제1센서 회로(420), 도 5의 제3센서 회로(520), 도 4의 제1저장 유닛(414), 도 4의 제2저장 유닛(446), 도 5의 제3저장 유닛(514), 또는 그 조합을 이용하여, 도 4의 제1소프트웨어(426), 도 4의 제2소프트웨어(442), 도 5의 제3소프트웨어(526), 또는 그 조합을 구현할 수 있다. 제1소프트웨어(426), 제2소프트웨어(442), 제3소프트웨어(526), 또는 그 조합은 이하에서 기술되는 함수, 명령어, 단계, 또는 그 조합을 포함할 수 있다.
컴퓨팅 시스템(100)은 외부적 이동들(external movements)을 추적하거나(단계 702), 입구나 출구 높이를 산출하거나(단계 704), 내부적 이동들(internal movements)을 추적하거나(단계 706), 맵을 생성하거나(단계 708), 사용자의 수직 위치를 확인하거나(단계 710), 그 조합 동작을 수행하기 위한 함수, 명령어, 단계, 또는 그 조합을 포함할 수 있다. 컴퓨팅 시스템(100)은 함수, 명령어, 단계, 또는 그 조합을 활용하여, 도 2의 빌딩 구조의 하나 이상의 경우들의 내부를 매핑하거나, 빌딩 구조(202)의 내부를 수직 매핑하거나, 빌딩 구조(202) 내에서 도 2의 층(210)의 특정 경우에 대해 도 1의 시스템 사용자(110) 또는 도 1의 추가 사용자(112)를 위치 확인하거나, 그 조합을 수행할 수 있다.
컴퓨팅 시스템(100)은 단계 702에 나타낸 바와 같이 시스템 사용자(110), 추가 사용자(112), 또는 그 조합의 외부 이동들을 추적할 수 있다. 컴퓨팅 시스템(100)은 시스템 사용자(110), 추가 사용자(112), 또는 그 조합에 대응하는 도 1의 제1장치(110), 도 1의 추가 장치(112), 또는 그 조합에 대한 도 2의 장치 위치(236) 판단에 기반하여 외부 이동들을 추적할 수 있다.
컴퓨팅 시스템(100)은 빌딩 구조(202) 밖의 제1장치(102), 추가 장치(108), 또는 그 조합을 위치확인하기 위해 장치 위치(236)를 판단할 수 있다. 컴퓨팅 시스템(100)은 장치 위치(236)를 판단하기 위해 도 6의 데이터 획득 모듈(602)을 사용하거나 구현할 수 있다.
컴퓨팅 시스템(100)은 하나 이상의 센서 회로들, 하나 이상의 통신 회로들, 하나 이상의 제어 회로들, 또는 그 조합을 이용하여 장치 위치(236)를 판단할 수 있다. 예를 들어, 장치 위치(236)는 하나 이상의 센서 회로들에 의해 결정된 GPS 또는 위도-경도 좌표들에 기반할 수 있다. 장치 위치(236)는 하나 이상의 통신 회로들을 사용하여 도 1의 제1장치(102), 제2장치(106), 추가 장치(108), 또는 그 조합 사이에서 통신될 수 있다.
또한 예를 들어, 장치 위치(236)는 가속계들을 포함하는 하나 이상의 센서 회로들로부터의 가속 데이터를 사용하여 추측 항법 프로세스를 구현하는 것에 기반할 수 있다. 컴퓨팅 시스템(100)은 추측 항법 프로세스를 구현하거나 실행하기 위해 하나 이상의 제어 회로들을 사용할 수 있다. 컴퓨팅 시스템(100)은 장치 위치(236)를 추측 항법 프로세스의 출력으로서 판단할 수 있다.
또한 예를 들어, 장치 위치(236)는 수신된 무선 신호들을 사용한 삼각측량 프로세스(triangulation process)의 구현에 기반할 수 있다. 컴퓨팅 시스템(100)은 하나 이상의 통신 회로들을 이용하여 셀 타워나 무선 라우터 등으로부터 신호들을 수신할 수 있다. 통신 시스템(100)은 수신 장치의 위치를 확인하기 위해, 하나 이상의 통신 회로들, 하나 이상의 제어 회로들, 또는 그 조합을 사용하여 발신자 정보, 수신 시간, 또는 그 조합을 이용해 여러 신호들을 처리할 수 있다. 수신 장치의 위치가 장치 위치(236)로 결정될 수 있다.
컴퓨팅 시스템(100)은 외부 이동들에 대한 추적에 기반하여 추가 프로세스들을 구현할 수 있다. 예를 들어 컴퓨팅 시스템(100)은 장치를 교정할 수 있다(단계 712). 컴퓨팅 시스템(100)은 장치를 교정하기 위해, 도 6의 동적 교정 모듈(608)을 사용하거나 구현할 수 있다.
컴퓨팅 시스템(100)은 도 3의 교정 위치(310) 식별, 필요 데이터 수집, 및 도 3의 장치 조정 평가치 산출(320)에 기반하는 도 3의 교정 이벤트(312) 판단에 기초하여 장치를 교정할 수 있다. 장치의 교정(단계 712)에 관한 세부사항들을 이하에서 기술한다.
또한 예를 들면, 컴퓨팅 시스템(100)은 시스템 사용자(110), 추가 사용자(112), 또는 그 조합의 빌딩 구조(202) 안으로의 진입을 판단하는 것(단계 714)을 포함하는 추가 프로세스들을 구현할 수 있다. 컴퓨팅 시스템(100)은 장치 위치(236)에 기반하여 도 2의 입출 이벤트(238)를 판단할 수 있다. 컴퓨팅 시스템(100)은 입출 이벤트(238)를 판단하기 위해 도 6의 입출 모듈(604)을 사용하거나 구현할 수 있다.
보다 구체적인 예로서, 컴퓨팅 시스템(100)은 하나 이상의 제어 회로들의 사용을 기반으로 입출 이벤트(238)를 판단하여, 장치 위치(236)를 도 2의 구조의 지리적 위치(204)와 비교할 수 있다. 컴퓨팅 시스템(100)은 장치 위치(236)가 구조의 지리적 위치(204) 안으로 이동하거나 그에 중첩될 때, 빌딩 구조(202) 안으로의 진입을 표현하는 입출 이벤트(238)를 판단할 수 있다. 컴퓨팅 시스템(100)은 장치 위치(236)가 구조의 지리적 위치(204)로부터 나가거나 그에 중첩되지 않을 때, 빌딩 구조(202)로부터의 나가기를 표현하는 입출 이벤트(238)를 판단할 수 있다.
또한 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 GPS 신호나 특정 무선 라우터들로부터의 신호들과 같은 신호의 상태나 이용 가능성에 기반하여 입출 이벤트(238)를 판단할 수 있다. 컴퓨팅 시스템(100)은 GPS 신호의 이용 가능성, 무선 라우터로부터의 신호들의 세기 및 송신 라우터의 식별자, 또는 그 조합을 판단하기 위해 하나 이상의 통신 회로들, 하나 이상의 제어 회로들, 또는 그 조합을 사용할 수 있다.
특정 예를 계속 들면, 컴퓨팅 시스템(100)은 장치 위치(236)에 대응하는 GPS 신호가 사용 불가가 될 때 빌딩 구조(202) 안으로의 진입을 표현하는 입출 이벤트(238)를 판단하고, GPS 신호가 사용 가능하게 될 때 빌딩 구조(202)로부터의 나가기를 표현하는 입출 이벤트(238)를 판단할 수 있다. 컴퓨팅 시스템(100)은 제1장치(102), 추가 장치(108), 또는 그 조합에서 빌딩 구조(202) 안에서 발신된 것으로 알려지거나 미리 정해진 신호들이 소정 문턱치를 만족하거나 초과하는 신호 세기를 가진 것으로 판단될 때, 빌딩 구조(202) 안으로의 진입을 나타내는 입출 이벤트(238)를 판단할 수 있다.
시스템 사용자(110), 추가 사용자(112), 또는 그 조합이 빌딩 구조(202)로 진입하는 것에 대응하는 입출 이벤트(238) 판단에 기초하여, 컴퓨팅 시스템(100)은 입출 고도의 산출(단계 704), 사용자의 수직 위치확인(단계 710), 내부 이동의 추적(706), 또는 그 조합 동작을 개시하거나 구현할 수 있다. 사용자의 수직 위치 확인(단계 710) 및 내부 이동의 추적(단계 706)에 관한 세부사항들을 이하에서 설명한다.
컴퓨팅 시스템(100)은 도 6의 상대적 고도 모듈(606), 데이터 획득 모듈(602), 도 6의 환경 기준 모듈(642), 또는 그 조합을 이용하여 입출 고도를 산출할 수 있다(단계 704). 컴퓨팅 시스템(100)은 입출 이벤트(238)와 관련된 도 2의 입출 고도(240) 산출에 기반하여 입출 고도를 산출할 수 있다.
컴퓨팅 시스템(100)은 하나 이상의 제어 회로들, 하나 이상의 센서들, 하나 이상의 통신 회로, 또는 그 조합을 사용하여 입출 고도(240)를 산출할 수 있다. 입출 고도(240) 산출에 관한 세부사항들을 이하에서 기술한다.
컴퓨팅 시스템(100)은 빌딩 구조 내에서 사용자 장치의 이동들을 더 추적할 수 있다(단계 706). 컴퓨팅 시스템(100)은 빌딩 구조 내에서 제1장치(102), 추가 장치(108), 또는 그 조합의 이동들을 추적할 수 있다. 컴퓨팅 시스템(100)은 수평면, 수직 방향, 또는 그 조합을 포함하는 다양한 방향에서 이동을 추적할 수 있다.
컴퓨팅 시스템(100)은 사용자 장치의 내부 이동들을 다양한 방향으로 추적할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 하나 이상의 제어 회로, 하나 이상의 통신 회로, 하나 이상의 센서 회로, 또는 그 조합을 사용하여 빌딩 구조(202) 내에서의 장치 위치(236)를 판단할 수 있다.
보다 구체적인 예로서, 컴퓨팅 시스템(100)은 도 4의 제1위치 회로(462), 도 5의 제3위치 회로(562), 제1통신 회로(416), 제2통신 회로(516), 또는 그 조합을 이용하여 GPS 신호, Wi-Fi 신호, 4G LTE 신호, 또는 그 조합과 같은 무선 신호를 수신할 수 있다. 컴퓨팅 시스템(100)은 도 4의 제1가속계(464), 제1자이로스코프(466), 도 5의 제3가속계(564), 제3자이로스코프(566), 제1위치 회로(462), 제3위치 회로(562), 또는 그 조합을 이용하여 도 2의 이동 측정치(234)를 판단할 수 있다.
예를 계속 들면, 컴퓨팅 시스템(100)은 제1위치 회로(462), 제3위치 회로(562), 제1통신 회로(416), 제2통신 회로(516), 제1제어 회로(412), 제2제어 회로(434), 제3제어 회로(512), 또는 그 조합을 이용하여 장치 위치(236)를 판단할 수 있다. 컴퓨팅 시스템(100)은 수신된 신호들, 이동 측정치(234), 또는 그 조합을 처리하기 위해 GPS 처리, Wi-Fi 또는 셀 타워 삼각측량 메커니즘, 추측 항법 메커니즘, 또는 그 조합을 구현함으로써 장치 위치(236)를 결정할 수 있다. 컴퓨팅 시스템(100)은 제1통신 회로(416), 제2통신 회로(516), 또는 그 조합을 이용하여, 장치들 사이에서 장치 위치(236), 수신 신호나 그 내용, 이동 측정치(234), 처리 결과, 또는 그 조합을 통신할 수 있다.
컴퓨팅 시스템(100)은 내부 이동들에 대한 추적에 기반하여 추가 프로세스들을 구현할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 빌딩에서 나가기를 판단하거나(단계 720), 프로세스 트리거를 결정하거나(단계 722), 환경 데이터를 판단하거나(단계 724), 상대적 고도를 산출하거나(단계 726), 층 변화를 판단하거나(단계 728), 데이터를 통신하거나(730), 그 조합 동작을 수행할 수 있다.
컴퓨팅 시스템(100)은 시스템 사용자(110), 추가 사용자(112), 또는 그 조합이 빌딩 구조(202)를 나가는 것을 판단할 수 있다(단계 720). 컴퓨팅 시스템(100)은 제1장치(102), 추가 장치(108), 또는 그 조합이 빌딩 구조(202)에서 나가는 것에 상응하는 입출 이벤트(238)를 판단할 수 있다.
컴퓨팅 시스템(100)은 단계 714와 유사하지만 빌딩 구조로 들어가는 대신 빠져 나가는 입출 이벤트(238)를 판단할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 장치 위치(236)에 기반하여 입출 이벤트(238)를 판단할 수 있다. 컴퓨팅 시스템(100)은 입출 이벤트(238)를 판단하기 위해 입출 모듈(604)을 사용하거나 구현할 수 있다.
보다 구체적인 예로서, 컴퓨팅 시스템(100)은 하나 이상의 제어 회로들의 사용을 기반으로 입출 이벤트(238)를 판단하여, 장치 위치(236)를 구조의 지리적 위치(204)와 비교할 수 있다. 또한 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 빌딩 구조(202)로부터 나갈 때 이용 가능해지는 GPS 신호, 특정 라우터로부터의 Wi-Fi 신호의 저하나 손실, 또는 그 조합과 같은 신호의 상태나 이용 가능성에 기반하여 입출 이벤트(238)를 판단할 수 있다.
시스템 사용자(110), 추가 사용자(112), 또는 그 조합이 빌딩 구조(202)를 빠져 나가는 것에 대응하는 입출 이벤트(238) 판단에 기초하여, 컴퓨팅 시스템(100)은 입출 고도의 산출 단계 (704), 외부 이동의 추적(702), 또는 그 조합 동작을 개시하거나 구현할 수 있다. 나가기를 판단하는 단계(720)는 내부 이동 추적 단계 (706)에 대한 중지 조건 또는 종료 요건으로서 기능할 수 있다.
컴퓨팅 시스템(100)은 내부 이동 추적 단계(706)에 기반하거나 그 단계 중에 프로세스 트리거를 판단할 수 있다. 컴퓨팅 시스템(100)은 상대적 고도 모듈(606), 데이터 획득 모듈(602), 또는 그 조합을 이용하거나 구현하여 프로세스 트리거를 결정할 수 있다.
컴퓨팅 시스템(100)은 이동 측정치(234)를 판단함으로써 프로세스 트리거를 결정할 수 있다. 컴퓨팅 시스템(100)은 하나 이상의 제어 회로, 하나 이상의 센서 회로, 하나 이상의 통신 회로, 또는 그 조합을 사용하여 제1장치(102), 추가 장치(108), 또는 그 조합에 대한 이동 측정치(234)를 판단할 수 있다.
컴퓨팅 시스템(100)은 또한, 하나 이상의 제어 회로, 하나 이상의 저전력 회로, 하나 이상의 고전력 회로, 또는 그 조합을 이용하여 도 3의 수직 변화 트리거(330), 도 3의 수직 이동 이벤트(332), 또는 그 조합을 검출함으로써 프로세스 트리거를 판단할 수 있다. 컴퓨팅 시스템(100)은 이동 측정치(234)나 그 일부에 기반하여 수직 변화 트리거(330)를 검출할 수 있다. 컴퓨팅 시스템(100)은 센서 데이터 및 수직 변화 트리거(330)에 기반하여 수직 이동 이벤트(332)를 검출할 수 있다.
컴퓨팅 시스템(100)은 수직 이동 이벤트(332)를 이용하여, 단계 724, 단계 726, 단계 728, 단계 730, 단계 710, 또는 그 조합과 같은 하나 이상의 단계들을 트리거하거나 구현할 수 있다. 프로세스 트리거 결정 단계(722)에 관한 세부사항들을 다른 단계들과의 트리거의 상호작용과 함께 이하에서 설명할 것이다.
컴퓨팅 시스템(100)은 환경 데이터를 판단할 수 있다(단계 724). 컴퓨팅 시스템(100)은 프로세싱 트리거 결정(단계 722)에 기반하여 환경 데이터를 판단할 수 있다. 컴퓨팅 시스템(100)은 사용자 장치로부터의 센서 데이터를 판단하거나, 센서 데이터에 대응하는 도 3의 기준 측정치(318)를 판단하거나 그 조합을 수행함으로써 환경 데이터를 판단할 수 있다.
예를 들어, 컴퓨팅 시스템(100)은 구조의 지리적 위치(204)에 위치하는 빌딩 구조(202) 안에서 측정된 상태들을 나타내는 도 2의 환경 측정치(228)를 판단할 수 있다. 컴퓨팅 시스템(100)은 제1장치(102), 추가 장치(108), 또는 그 조합에 대응하는 수직 이동 이벤트(332) 검출에 기반하여 제1장치(102), 추가 장치(108), 또는 그 조합을 이용하여 환경 측정치(228)를 판단할 수 있다. 컴퓨팅 시스템(100)은 환경 측정치(228), 수직 이동 이벤트(332), 또는 그 조합 시점이나 그와 동시에 기준 측정치(318)를 더 결정할 수 있다.
컴퓨팅 시스템(100)은 데이터 획득 모듈(602), 상대적 고도 모듈(606), 환경 기준 모듈(642), 또는 그 조합을 이용하거나 구현하여 환경 측정치(228)를 판단할 수 있다. 예를 들어, 도 6의 장치 측정 모듈(618), 데이터 획득 모듈(602), 또는 그 조합은 하나 이상의 센서 회로들을 사용하여 환경 측정치(228)를 판단할 수 있다.
보다 구체적인 예로서, 컴퓨팅 시스템(100)은 도 2의 장치 고도(232)를 판단하기 위해 제1위치 회로(462), 제3위치 회로(562), 또는 그 조합을 사용하여 환경 데이터를 판단할 수 있다(단계 724). 또, 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 제1가속계(464), 제1자이로스코프(466), 제3가속계(564), 제3자이로스코프(566), 또는 그 조합을 사용하여 이동 측정치(234)를 결정할 수 있다. 컴퓨팅 시스템(100)은 제1제어 회로(412), 제3제어 회로(512), 또는 그 조합을 이용하여, 추측 항법 메커니즘을 사용한 이동 측정치(234)로부터 장치 고도(232)를 판단할 수 있다.
또, 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 도 4의 제1압력 센서(468), 제2압력 센서(568), 또는 그 조합을 이용하여 도 2의 압력 측정치(230)를 판단할 수 있다. 컴퓨팅 시스템(100)은 압력 측정치(230)에 기반하여 장치 고도(232)를 산출하기 위해, 제1제어 회로(412), 제2제어 회로(4534), 제3제어 회로(512), 또는 그 조합을 사용할 수 있다.
또한, 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 제1통신 회로(416), 제2통신 회로(436), 제3통신 회로(516), 또는 그 조합을 이용하여, 장치들 사이에 이동 측정치(234), 압력 측정치(230), 또는 그 조합을 통신할 수 있다. 컴퓨팅 시스템(100)은 상술한 바와 유사하게, 제2제어 회로(434), 제1제어 회로(412), 제3제어 회로(512), 또는 그 조합과 통신된 데이터를 처리함에 따라 장치 고도(232)를 판단할 수 있다.
또한 예를 들면, 도 6의 기준 측정 모듈(620), 도 6의 환경 기준 모듈(642), 또는 그 조합은 하나 이상의 제어 회로, 하나 이상의 통신 회로, 하나 이상의 저장 인터페이스, 또는 그 조합을 이용하여 도 6의 해수면 고도(648), 해수면 압력(650), 또는 그 조합과 같은 기준 측정치(318)를 결정할 수 있다. 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 제1통신 회로(416), 제2통신 회로(436), 제3통신 회로(516), 또는 그 조합을 이용하여, 기상 센터, 공개적으로 이용 가능한 날씨 데이터 서비스, 교정 위치(310), 또는 그 조합과 같은 기준 위치를 액세스할 수 있다.
특정 예를 계속 들면, 컴퓨팅 시스템(100)은 기준 위치로부터 기준 측정치(318)를 수신할 수 있다. 컴퓨팅 시스템(100)은 센서 데이터의 판단, 프로세스 트리거, 또는 그 조합에 기반하거나 그에 의해 개시된 것과 같은 기준 측정치(318)를 수신할 수 있다. 컴퓨팅 시스템(100)은 센서 데이터의 도 2의 타임 스탬프(242)에 대응하는 기준 측정치(318)를 더 수신하거나 검색할 수 있다.
컴퓨팅 시스템(100)은 상대적 높이를 산출할 수 있다(단계 726). 컴퓨팅 시스템(100)은 상대적 고도 모듈(606)을 사용하거나 구현하여, 제1장치(102), 추가 장치(108), 또는 그 조합에 대응하는 상대적 고도(306)를 판단할 수 있다.
컴퓨팅 시스템(100)은 상대적 고도(306)를 산출하거나, 장치들 간 상대적 고도(306)를 통신하거나, 그 조합 동작을 통해, 장치 고도(232)나 압력 측정치(230)와 같은 환경 측정치(228)를 정규화함으로써 상대적 고도(306)를 판단할 수 있다. 컴퓨팅 시스템(100)은 환경 측정치를 공급하는 제1장치(102) 및 추가 장치(108)와 같은 여러 사용자 장치들에 걸쳐, 다양한 값의 타임 스탬프(242)로 나타내는 서로 다른 시간대에 걸쳐, 혹은 그 조합에 걸쳐 환경 측정치(228)를 정규화하기 위해 상대적 고도(306)를 판단할 수 있다.
컴퓨팅 시스템(100)은 장치 조정 측정치(320)에 기반하여 상대적 고도(306)를 판단할 수 있다. 컴퓨팅 시스템(100)은 장치 조정 측정치(320)를 이용하여 환경 측정치(228)를 교정하거나 조정할 수 있다. 컴퓨팅 시스템(100)은 장치 조정 측정치(320)를 이용하여 장치들 또는 그 안의 센서 회로들 간 차이들을 정규화할 수 있다. 컴퓨팅 시스템(100)은 교정 위치(310)에 대한 이전의 해당 센서 데이터 및 그 기준 측정치(318)의 차이를 나타내는 장치 조정 측정치(320)를 이용할 수 있다.
상대적 고도(306)는 빌딩 구조(202)의 도 2의 내부 맵(206)을 사용하여 수직 방향 상의 제1장치(102)나 추가 장치(108)와 같은 측정 장치의 위치를 확인하기 위한 것일 수 있다. 상대적 고도(306)는 또한, 빌딩 구조(202)의 내부 맵(206)을 생성하기 위한 것일 수도 있다.
컴퓨팅 시스템(100)은 조정된 경우의 환경 측정치(228), 기준 측정치(318), 또는 그 조합에 기반하여 상대적 고도(306)를 산출할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 장치 조정 측정치(320)를 이용한 조정 후, 압력 측정치(230), 장치 고도(232), 또는 그 조합에 기반하여 상대적 고도(306)를 산출할 수 있다. 또, 예를 들어 컴퓨팅 시스템(100)은 해수면 고도(648), 해수면 압력(650), 입출 고도(240), 하나 이상의 소정의 또는 알려진 상수들, 또는 그 조합에 기반하여 상대적 고도(306)를 산출할 수 있다.
보다 구체적 예로서, 컴퓨팅 시스템(100)은 아래 식에 기반하여 장치 고도(232)를 산출할 수 있다:
식 (1)
장치 고도(232)는 ''로 나타낼 수 있고, 해수면 고도(648)나 기준 위치의 고도와 같은 기준 측정치(318)는 ''로서 나타낼 수 있다. 용어 'R'은 보편적 가스 상수(universal gas constant)를 나타낼 수 있고, 용어 'T'는 표준 온도를 나타낼 수 있고, 용어 'M'은 지구 대기의 몰 질량(Molar mass of Earth's air)을 나타낼 수 있고, 'g'는 중력 가속도를 나타낼 수 있으며, 이들 모두는 컴퓨팅 시스템(100)에 알려지거나 저장되어 있다. 압력 측정치(230)는' '로 나타낼 수 있고, 해수면 압력(650) 또는 기준 위치에서 측정된 압력은 ''로 나타낼 수 있다. 압력 측정치(230)는 사용자 장치에 의해 측정될 수 있다.
보다 구체적인 예를 계속 들면, 컴퓨팅 시스템(100)은 빌딩 구조(202)의 입출 고도(240) 및 장치 고도(232)에 기반하여 상대적 고도(306)를 산출할 수 있다. 컴퓨팅 시스템(100)은 아래의 식에 기반하여 상대적 고도(306)를 산출할 수 있다:
식 (2)
위치 ' l ' 에서의 사용자 장치에 해당하는 상대적 고도(306)는 ''로 나타낼 수 있고, 용어 ''는 구조의 지리적 위치(204)의 고도나 높이를 나타낼 수 있다. 구조의 지리적 위치의 고도나 높이는 입출 고도(240)에 대응할 수 있다.
컴퓨팅 시스템(100)은 제1장치(106), 제2장치(106), 추가 장치(108), 또는 그 조합을 이용하여 상대적 고도(102)를 판단할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 기준 측정치(318)를 수신하고 센서 데이터를 판단하거나 생성하는 제1장치(102), 추가 장치(108), 또는 그 조합으로, 혹은 그러한 장치를 이용하여 상대적 고도(306)를 산출할 수 있다.
예를 계속 들면, 컴퓨팅 시스템(100)은 제1장치(102), 추가 장치(108), 또는 그 조합에서 제2장치(106)까지의 상대적 고도(306)를 전송할 수 있다. 제1장치(102), 추가 장치(108), 또는 그 조합은 입출 이벤트(238), 수직 변화 트리거(330), 수직 이동 이벤트(332), 또는 그 조합에 기반하여 상대적 고도(306)를 전송할 수 있다.
또한 예를 들어, 컴퓨팅 시스템(100)은 제2장치(106)에서, 또는 제2장치(106)를 이용한 상대적 고도(306) 산출에 기반하여 상대적 고도(306)를 더 판단할 수 있다. 제1장치(102), 추가 장치(108), 또는 그 조합은 센서 데이터나 입출 고도(240) 같은 상술한 다양한 데이터를 제2장치(106)로 전송할 수 있다.
계속해서 예를 들면, 제1장치(102), 추가 장치(108), 또는 그 조합은 입출 이벤트(238), 수직 변화 트리거(330), 수직 이동 이벤트(332), 또는 그 조합에 기반하여 데이터를 전송할 수 있다. 제2장치(106)는 제2장치(106)에서, 또는 제2장치(106)를 이용하여, 기준 측정치(318)를 수신하고 상대적 고도(306)를 산출할 수 있다.
상대적 고도(306)는 빌딩 구조(202) 안에서 층(210)에 대한 정확한 매핑을 제공한다는 것을 알게 되었다. 상대적 고도(306)는 다수의 장치들이나 다양한 시간대에 걸쳐 장치 고도(232)와 관련되는 센서 데이터를 정규화할 수 있다. 상대적 고도(306)는 컴퓨팅 시스템(100)이 다양한 장치들로부터 다양한 시간대에 걸쳐 증가된 데이터량을 이용하여 도 2의 층 매핑 메커니즘(226)을 구현할 수 있게 한다.
상술한 바와 같이 자율 메커니즘을 이용하여 산출된 상대적 고도(306)가 빌딩 구조(202)를 수직 매핑하고 그 안의 장치들을 수직 위치 확인함에 있어 증가된 효율성을 제공한다는 것을 더 알았다. 컴퓨팅 시스템(100)은 층 매핑 메커니즘(226), 도 3의 수직 위치확인 메커니즘(302) 또는 그 조합을 구현하여, 직접적 사용자 입력(114)을 이용하지도 않고 도 1의 구조적 기본 정보(116)를 이용하지도 않으면서, 상대적 고도(306)를 처리할 수 있다. 고도와 관련된 정규화된 데이터는 층(210)과 관련된 높이 그룹들 및 층(210)에 대한 사용자의 고도를 식별하는데 사용될 수 있다.
컴퓨팅 시스템(100)은 층 변화(tier transition)를 판단할 수 있다(단계 728). 컴퓨팅 시스템(100)은 빌딩 구조(202) 안의 층들 사이에서 수직 이동하는 제1장치(102), 추가 장치(108), 또는 그 조합을 지니는 시스템 사용자(110), 추가 사용자(112), 또는 그 조합을 판단할 수 있다.
컴퓨팅 시스템(100)은 층(210)에서의 도 2의 층 변화 접근 위치(216), 층 변화 접근 위치(216)에서의 도 2의 층 변화 유형(218), 또는 층 변화에 대한 그 조합을 판단할 수 있다. 컴퓨팅 시스템(100)은 도 6의 분류 모듈(612), 상대적 고도 모듈(606), 또는 그 조합을 구현하거나 이용하여, 층 변화 접근 위치(216), 층 변화 유형(218), 또는 그 조합을 결정할 수 있다.
컴퓨팅 시스템(100)은 환경 측정치(228)에 기반하여 층 변화 접근 위치(216)를 판단할 수 있다. 컴퓨팅 시스템(100)은 층(210)으로나 층(210)으로부터의 수직 커넥션을 빌딩 구조(202)의 다른 층(210)의 경우에 대해 제공하기 위해 층 변화 접근 위치(216)를 더 판단할 수 있다. 컴퓨팅 시스템(100)은 환경 측정치(228)에 기반하여 층 변화 접근 위치(216)에 대응하는 층 변화 유형(218)을 판단할 수 있다. 층 변화 유형(218)은 도 2의 수직 경로(220), 도 2의 에스컬레이터(222), 도 2의 엘리베이터(224), 또는 빌딩 구조(202) 안에서의 그 조합을 나타내기 위한 것일 수 있다.
컴퓨팅 시스템(100)은 환경 측정치(228), 이동 측정치(234), 장치 위치(236) 또는 그 조합과 같은 센서 데이터에 기반하여, 층 변화 접근 위치(216), 층 변화 유형(218) 또는 그 조합을 결정할 수 있다. 컴퓨팅 시스템(100)은 센서 데이터에 기반하여 도 6의 압력 경사(622), 도 6의 이동 상관(624), 도 6의 이동 에너지(626), 또는 그 조합을 산출할 수 있다.
예를 들어, 컴퓨팅 시스템(100)은 서로 다른 시간대에 걸친 압력 측정치(230)의 경우들에 기반하여 압력 경사(622)를 산출할 수 있다. 컴퓨팅 시스템(100)은 서로 다른 타임 스탬프(242) 값들에 대응하는 압력 측정치(230)의 경우들에 기반하여 압력 경사(622)를 산출할 수 있다.
보다 구체적 예로서, 컴퓨팅 시스템(100)은 아래 식에 기반하여 압력 경사(622)를 산출할 수 있다:
식 (3)
압력 경사(pressure slope)(622)는 'slope (경사)'로 나타낼 수 있다. 용어 ''는 ''로 나타낸 시간 또는 그와 관련된 타임 스탬프(242)에서의 압력 경사(622)를 나타낼 수 있다. 용어''는 ''로 나타낸 시간 또는 그와 관련된 타임 스탬프(242)에서의 압력 경사(622)를 나타낼 수 있다.
또한 예를 들어, 컴퓨팅 시스템(100)은 수평면, 수직 방향, 또는 그 조합을 따라 장치 위치(236)나 이동 측정치(234)에 기반하여 이동 상관(624)을 산출할 수 있다. 컴퓨팅 시스템(100)은 공분산 및 표준 편차의 곱의 비율에 기반하여 이동 상관(624)을 산출할 수 있다.
보다 구체적 예로서, 컴퓨팅 시스템(100)은 아래 식에 기반하여 이동 상관(624)을 산출할 수 있다:
식 (4)
이동 상관(624)은 ''로 나타낼 수 있다. 용어 'x' 및 'y'는 수평면, 사용자 이동 방향의 수직 방향, 또는 그 조합과 같이, 서로 직교하는 방향들이나 축들을 나타낼 수 있다. 용어''는 'x' 및 'y' 방향이나 축들을 기준으로 장치 위치(236)나 이동 측정치(234)의 공분산을 나타낼 수 있다. 용어 ''는 'x' 축을 기준으로 장치 위치(236)나 이동 측정치(234)에 대한 표준 편차를 나타낼 수 있고, 용어'' 는 'y'축을 기준으로 장치 위치(236)나 이동 측정치(234)에 대한 표준 편차를 나타낼 수 있다.
또한 예를 들어, 컴퓨팅 시스템(100)은 주파수 도메인과 같은 다른 도메인에서의 장치 위치(236)나 이동 측정치(234)에 기반하여 이동 에너지(626)를 산출할 수 있다. 컴퓨팅 시스템(100)은 장치 위치(236)나 이동 측정치(234)에 대한 이산 FFT의 제곱 크기에 기반하여 이동 에너지(626)를 산출할 수 있다.
보다 구체적 예로서, 컴퓨팅 시스템(100)은 아래 식에 기반하여 이동 에너지(626)를 산출할 수 있다:
식 (5)
'Energy(에너지)'는 가속계 데이터의 이산 FFT 성분 제곱 크기들의 합을 나타낼 수 있다. 용어 'v'는 가속계 데이터의 FFT 성분들의 벡터를 나타낼 수 있고, 'w'는 FFT 성분들의 총 수를 나타낼 수 있다.
컴퓨팅 시스템(100)은 한 경우의 층(210)서 다른 경우의 층(210)으로의 수직 변화(이동)를 나타내는 수직 이동 이벤트(332)를 식별하거나 판단할 수 있다. 컴퓨팅 시스템(100)은 센서 데이터, 압력 경사(622), 이동 상관(624), 이동 에너지(626) 또는 그 조합에 기반하여 수직 이동 이벤트(332)를 식별하거나 판단할 수 있다. 수직 이동 이벤트(332) 판단에 관한 세부사항들을 이하에서 기술한다.
컴퓨팅 시스템(100)은 수직 이동 이벤트(332) 시점에 해당 경우의 층(210)의 수평면을 따라 있는 장치 위치(236)로서 층 변화 접근 위치(216)를 판단할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 수직 이동 이벤트(332) 시작 시, 해당 층(210)에서의 장치 위치(236)로서 층 변화 접근 위치(216)를 판단할 수 있다. 또한 예를 들어, 컴퓨팅 시스템(100)은 수직 이동 이벤트(332) 시작 시, 해당 층(210)에서의 장치 위치(236)로서 층 변화 접근 위치(216)를 판단할 수 있다.
컴퓨팅 시스템(100)은 층 변화 접근 위치(216)에서의 층 변화 유형(218)을 더 판단할 수 있다. 컴퓨팅 시스템(100)은 센서 데이터, 압력 경사(622), 이동 상관(624), 이동 에너지(626) 또는 그 조합과 도 3의 수직 이동 집합(322)과의 비교에 기반하여, 층 변화 유형(218)을 판단할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 센서 데이터, 압력 경사(622), 이동 상관(624), 이동 에너지(626) 또는 그 조합이 도 3의 경로 이동 집합(324)에 매칭되거나 그를 만족할 때, 층 변화 유형(218)을 도 2의 수직 경로(220)라고 판단할 수 있다.
또한 예를 들면, 컴퓨팅 시스템(100)은 센서 데이터, 압력 경사(622), 이동 상관(624), 이동 에너지(626) 또는 그 조합이 도 3의 에스컬레이터 이동 집합(328)에 매칭되거나 그를 만족할 때, 층 변화 유형(218)을 도 2의 에스컬레이터(222)라고 판단할 수 있다. 또한 예를 들면, 컴퓨팅 시스템(100)은 센서 데이터, 압력 경사(622), 이동 상관(624), 이동 에너지(626) 또는 그 조합이 도 3의 엘리베이터 이동 집합(326)에 매칭되거나 그를 만족할 때, 층 변화 유형(218)을 도 2의 엘리베이터(224)라고 판단할 수 있다.
컴퓨팅 시스템(100)은 데이터를 더 통신할 수 있다(단계 730). 컴퓨팅 시스템(100)은 장치 내 회로들 사이에서 데이터를 통신할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 센서 데이터, 상대적 고도(306), 수직 이동 이벤트(332), 층 변화 접근 위치(216), 층 변화 유형(218), 또는 그 조합을 제1저장 회로(414), 제2저장 회로(446), 제3저장 회로(514), 또는 그 조합에 저장할 수 있다.
컴퓨팅 시스템(100)은 또한, 장치들 간 회로들 사이에서 데이터를 통신할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 제1장치(102), 제2장치(106), 추가 장치(108), 또는 그 조합 사이에서 센서 데이터, 상대적 고도(306), 수직 이동 이벤트(332), 층 변화 접근 위치(216), 층 변화 유형(218), 또는 그 조합을 송수신할 수 있다. 컴퓨팅 시스템(100)은 제1통신 회로(416), 제2통신 회로(436), 추가 통신 회로(516), 또는 그 조합을 이용하여 데이터를 송수신할 수 있다.
보다 구체적인 예로서, 컴퓨팅 시스템(100)은 사용자 장치에 의해 산출되는 상대적 고도(306)를 수신하는 제2장치(106)의 관점에서 상대적 고도(306)를 판단할 수 있다. 제2장치(106)는 사용자 장치에 의해 산출되는 수직 이동 이벤트(332), 층 변화 접근 위치(216), 층 변화 유형(218), 또는 그 조합을 마찬가지로 수신할 수 있다.
또한, 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 제2장치(106)에서 또는 제2장치(106)를 이용하여, 상대적 고도(306), 수직 이동 이벤트(332), 층 변화 접근 위치(216), 층 변화 유형(218) 또는 그 조합을 산출하기 위해 제2장치(106)로 센서 데이터를 전송할 수 있다. 또한, 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 수직 이동 이벤트(332)에 기반하여 센서 데이터, 상대적 고도(306), 또는 그 조합을 전송하여, 제2장치(106)가 제2장치(106)에 의해 수신된 센서 데이터, 상대적 고도(306), 또는 그 조합을 이용하여 내부 맵(206)을 생성하도록 할 수 있다.
컴퓨팅 시스템(100)은 고도나 플로어 레벨 맵(floor level map)을 포함하는 내부 맵(206)을 생성할 수 있다(단계 708). 컴퓨팅 시스템(100)은 수직 방향을 따라 빌딩 구조(202)의 하나 이상의 경우의 층(210)을 매핑하도록 내부 맵(206)을 생성할 수 있다.
컴퓨팅 시스템(100)은 빌딩 구조(202) 내 한 경우의 층(210)에서 제1장치(102)나 추가 장치(108), 그와 관련된 장치, 또는 그 조합과 같은 최종 사용자의 수직 위치를 확인하기 위한 내부 맵(206)을 생성할 수 있다. 컴퓨팅 시스템(100)은 센서 데이터, 센서 데이터를 나타내거나 그에 대응하는 상대적 고도(306), 또는 그 조합에 기반하여 내부 맵(206)을 생성할 수 있다.
컴퓨팅 시스템(100)은 도 6의 맵 모듈(614), 분류 모듈(612), 또는 그 조합을 이용하거나 구현하여 내부 맵(206)을 생성할 수 있다. 컴퓨팅 시스템(100)은 층 매핑 메커니즘(226) 등을 더 구현하거나 이용하여 내부 맵(206)을 생성할 수 있다.
컴퓨팅 시스템(100)은 맵을 생성하기 위해(단계 708) 층들을 추가로 수직 매핑할 수 있다(단계 732). 컴퓨팅 시스템(100)은 도 6의 상대적 수직 클러스터(652)를 식별함에 따라 하나 이상의 경우의 층(210)을 수직 매핑할 수 있다. 컴퓨팅 시스템(100)은 수직 방향에 따른 위치들을 나타내기 위해 센서 데이터, 센서 데이터를 나타내거나 그와 관련된 상대적 고도(306), 또는 그 조합에 기반하여 상대적 수직 클러스터(652)를 식별할 수 있다.
컴퓨팅 시스템(100)은 상대적 수직 클러스터(652)에 기반하여 빌딩 구조(202) 내 하나 이상의 층들의 존재, 그 상대적 위치들, 또는 그 조합을 식별할 수 있다. 컴퓨팅 시스템(100)은 상대적 수직 클러스터(652)로서 식별된 상대적 고도(306)의 그룹을 한 경우의 층(210)으로서 인식할 수 있다.
컴퓨팅 시스템(100)은 문턱값들의 범위 내 상대적 고도(306)의 그룹이나 집합을 식별할 수 있다. 컴퓨팅 시스템(100)은 서로 다른 장치들과 관련되거나 서로 다른 타임 스탬프(242) 값들과 관련되거나 그 조합의 상대적 고도(306)의 경우들을 이용하거나 분석할 수 있다.
컴퓨팅 시스템(100)은 도 2의 수직 프로파일(208)을 더 생성할 수 있다. 컴퓨팅 시스템(100)은 빌딩 구조(202)에 대응하는 수직 그룹들의 개수를 카운트함에 따라 수직 프로파일(208)을 생성할 수 있다.
컴퓨팅 시스템(100)은 도 2의 상대적 층 고도(212)처럼, 중간 고도 값 또는 평균 고도 값과 같은 상대적 수직 클러스터(652)의 상대적 고도(306)를 결정할 수 있다. 컴퓨팅 시스템(100)은 빌딩 구조(202)의 모든 식별되거나 인식된 경우들의 층(210)에 대한 상대적 층 고도(212)의 차이들을 산출함에 따라, 도 2의 층 간격 프로파일(214)을 더 생성할 수 있다.
컴퓨팅 시스템(100)은 사용자 장치, 제2장치(106), 또는 그 조합을 이용하여 내부 맵(206)을 생성할 수 있다. 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 제2장치(106)에서, 또는 제2장치(106)를 이용하여 내부 맵(206)을 생성할 수 있다. 제2장치(106)는 수직 이동 이벤트(332)를 따라 측정된 압력 측정치(230), 이동 측정치(234) 또는 그 조합과 같은 센서 데이터를 나타내는 상대적 고도(306)의 수신에 기반하여 센서 데이터를 판단할 수 있다.
컴퓨팅 시스템(100)은 맵을 생성하기 위해(단계 708) 변화(이동) 지점들을 더 판단할 수 있다(단계 734). 컴퓨팅 시스템(100)은 층 변화 접근 위치(216)를 포함하는 내부 맵(206)을 생성하고 빌딩 구조(202) 내 해당 층(210) 상의 층 변화 접근 위치(216)를 확인함으로써 변화 지점들을 판단할 수 있다. 컴퓨팅 시스템(100)은 또한, 빌딩 구조(202) 내 해당 층(210)에 위치하는 층 변화 접근 위치(216)에서의 층 변화 유형(218)를 포함하는 내부 맵(206)을 생성함으로써 변화 지점들을 판단할 수 있다.
컴퓨팅 시스템(100)은 해당 경우의 층(210) 상에서 매칭되는 수평면 상의 위치 식별에 기반하여, 층 변화 접근 위치(216)를 포함하는 내부 맵(216)을 생성할 수 있다. 컴퓨팅 시스템(100)은 최종 사용자 장치로부터의 층 변화 접근 위치(216)에 따라 층 변화 접근 위치(216)를 포함하는 내부 맵(206)을 생성할 수 있다. 컴퓨팅 시스템(100)은 또한, 최종 사용자 장치로부터의 센서 데이터, 수직 이동 이벤트(332), 또는 그 조합에 기반하여 제2장치(106)에서, 또는 제2장치(106)를 이용해 층 변화 접근 위치(216)를 식별하거나 판단할 수 있다.
컴퓨팅 시스템(100)은 층 변화 접근 위치(216)에서 이용 가능한 변화 유형 또는 카테고리의 식별에 기반하여 층 변화 유형(218)을 포함하는 내부 맵(216)을 생성할 수 있다. 컴퓨팅 시스템(100)은 최종 사용자 장치로부터의 층 변화 유형(218)에 따라 층 변화 유형(218)을 포함하는 내부 맵(206)을 생성할 수 있다. 컴퓨팅 시스템(100)은 또한, 최종 사용자 장치로부터의 센서 데이터, 수직 이동 이벤트(332), 또는 그 조합에 기반하여 제2장치(106)에서, 또는 제2장치(106)를 이용해 층 변화 유형(218)을 식별하거나 판단할 수 있다.
컴퓨팅 시스템(100)은 층(210)의 경우들을 시각적으로 도시하거나, 층(210)의 경우들을 문자로 기술하거나, 그것을 결합한 것의 파일 또는 레코드를 생성함에 따라, 내부 맵(206)을 생성할 수 있다. 컴퓨팅 시스템(100)은 층들의 수, 각 층의 상대적 층 고도(212), 층들 간 층 간격, 또는 그 조합을 시각적으로 도시하거나 문자로 기술함으로써 수직 프로파일(208)을 포함하는 내부 맵(206)을 생성할 수 있다.
상술한 바와 같이, 컴퓨팅 시스템(100)은 직접적인 사용자 입력(114)을 사용하지도 않고 구조적 기본 정보(116)를 활용하지도 않은 채, 층 매핑 메커니즘(226)과 같은 자율 메커니즘을 사용하여 내부 맵(206)을 생성할 수 있다. 컴퓨팅 시스템(100)은 상대적 고도(306), 센서 데이터, 또는 그 조합에 기반하여 내부 맵(206)을 생성할 수 있다.
컴퓨팅 시스템(100)은 하나 이상의 제어 회로들을 사용하여 내부 맵(206)을 생성할 수 있다. 컴퓨팅 시스템(100)은 장치들 간 필요 데이터를 통신하기 위해 하나 이상의 통신 회로들을 더 이용할 수 있다. 컴퓨팅 시스템(100)은 내부 맵(206)을 하나 이상의 저장 회로들 안에 저장할 수 있다.
상대적 고도(306)를 이용하여 생성된 내부 맵(206)은 사용성을 저하시키지 않으면서 빌딩들에 대한 신뢰할 수 있는 수직 매핑 및 위치확인을 제공한다는 것을 알았다. 내부 맵(206)은 다양한 장치들 및 다양한 시간대에 크라우드 소스 데이터(crowd-sourced data)의 정규화 및 사용을 가능하게 하기 위해 상대적 고도(306)를 이용할 수 있다. 상대적 고도(306)에 기반하는 내부 맵(206)은 유용성을 유지하기 위해 직접적 사용자 입력(114) 및 구조적 기본 정보(116)에 의존하지 않고도 처리 및 생성될 수 있다.
층 변화 접근 위치(216) 및 층 변화 유형(218)을 포함하는 내부 맵(206)은 유용성을 증가 시킨다. 층 변화 접근 위치(216) 및 층 변화 유형(218)을 포함하는 내부 맵(206)은 빌딩 구조(202) 안에서의 수직 가로지르기에 관한 다양한 정보를 최종 사용자에게 알려줄 수 있다.
컴퓨팅 시스템(100)은 사용자의 수직 위치를 확인할 수 있다(단계 710). 컴퓨팅 시스템(100)은 빌딩 구조(202) 안에서 시스템 사용자(110), 추가 사용자(112), 또는 그 조합, 또는 그와 관련된 제1장치(102), 추가 장치(108), 또는 그 조합과 같은 장치의 수직 위치를 확인할 수 있다.
컴퓨팅 시스템(100)은 도 6의 플로어 위치확인 모듈(610), 맵 모듈(614), 상대적 고도 모듈(606), 또는 그 조합을 이용하여 최종 사용자의 수직 위치를 확인할 수 있다. 통신 시스템(100)은 하나 이상의 제어 회로들을 이용하여 빌딩 구조(202) 내 도 2의 사용자의 현재 플로어(308)를 판단할 수 있다. 통신 시스템(100)은 하나 이상의 통신 회로들을 이용하여 필요한 데이터, 중간 결과, 사용자의 현재 플로어(308), 또는 그 조합을 장치 간에 통신하도록 할 수 있다. 통신 시스템(100)은 사용자의 현재 플로어(308)를 하나 이상의 저장 회로들 안에 저장할 수 있다.
컴퓨팅 시스템(100)은 장치에 대응하는 상대적 고도(306), 수직 프로파일(208)을 포함하는 내부 맵(206), 센서 데이터, 또는 그 조합에 기반하여 사용자의 현재 플로어(308)를 판단할 수 있다. 컴퓨팅 시스템(100)은 단계 722로부터의 입출 이벤트 트리거(238), 단계 726의 상대적 높이 산출, 또는 그 조합과 같은 트리거에 기반하여 사용자의 현재 플로어(308)를 판단할 수 있다. 사용자의 수직 위치에 관한 세부사항들을 이하에서 논의한다.
이하에서 도 8을 참조하면, 도 7의 기기 교정 단계(712)에 대한 상세한 예시적 흐름도가 도시된다. 컴퓨팅 시스템(100)은 교정 위치를 식별하거나(단계 802), 교정 이벤트를 판단하거나(단계 804), 장치 측정치를 판단하거나(단계 806), 기준값을 결정하거나(단계 808), 조정치를 산출하거나(단계 810), 그 조합 동작을 수행함으로써 장치를 교정할 수 있다. 압력 측정치들은 장치 모델들에 걸쳐 가변하기 때문에, 교정은 압력 측정치들을 정규화하는데 사용되어 그 압력 측정치들이 쉽게 비교가능하도록 할 수 있다.
컴퓨팅 시스템(100)은 교정 위치를 식별할 수 있다(단계 802). 컴퓨팅 시스템(100)은 도 3의 교정 위치(310)를 식별할 수 있다. 컴퓨팅 시스템(100)은 도 1의 제1장치(102), 도 1의 추가 장치(108), 또는 그 조합과 같이, 교정 프로세스를 겪는 사용자 장치 관련 교정 위치(310)를 식별할 수 있다.
컴퓨팅 시스템(100)은 사용자 장치의 도 2의 장치 위치(236)에 기반하여 사용자 장치에 관한 교정 위치(310)를 식별할 수 있다. 컴퓨팅 시스템(100)은 도 2의 빌딩 구조(202) 밖의 제1장치(102), 추가 장치(108), 또는 그 조합의 장치 위치(236)에 기반하여 교정 위치(310)를 식별할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 도 3의 교정 조건(314)의 초기의 일부, 교정 조건(314)에 기반한 버퍼링 문턱치나 범위, 또는 그 조합의 만족에 기반하여, 하나 이상의 경우들의 교정 위치(310)를 식별할 수 있다.
보다 구체적 예로서, 컴퓨팅 시스템(100)은 교정 조건(314)과 관련된 거리 내에 있거나 장치 위치(236)에 가장 가까운 거리에 기반하여 랭크된 교정 위치(310)와 같이, 장치 위치(236) 및 교정 위치(310) 사이의 거리에 기반하여 하나 이상의 경우의 교정 위치(310)를 식별할 수 있다. 또한, 보다 구체적 예로서, 컴퓨팅 시스템(100)은 교정 위치(310)의 고도로부터 문턱치 범위와 동일하거나 그 안에 있는 도 2의 장치 고도(232)를 포함하는 장치 위치(236)에 기반하여, 하나 이상의 경우의 교정 위치(310)를 식별할 수 있다.
컴퓨팅 시스템(100)은 도 6의 동적 교정 모듈(608), 도 6의 데이터 획득 모듈(602), 또는 그 조합을 이용하여 교정 위치(310)를 식별할 수 있다. 컴퓨팅 시스템(100)은 하나 이상의 위치 회로들, 하나 이상의 가속계들, 하나 이상의 통신 회로들, 하나 이상의 제어 회로들, 또는 그 조합을 더 이용하여 장치 위치(236)를 판단할 수 있다.
컴퓨팅 시스템(100)은 하나 이상의 저장 인터페이스, 하나 이상의 제어 인터페이스, 하나 이상의 통신 회로, 또는 그 조합을 이용하여 컴퓨팅 시스템(100)에 미리 정해지거나 알려진 교정 위치들의 맵이나 리스트를 액세스할 수 있다. 컴퓨팅 시스템(100)은 하나 이상의 제어 회로들을 이용하여 교정 위치(310)에 대한 관련 경우들을 식별할 수 있다.
컴퓨팅 시스템(100)은 교정 이벤트를 판단할 수 있다(단계 804). 컴퓨팅 시스템(100)은 도 3의 교정 이벤트(312)를 판단할 수 있다. 컴퓨팅 시스템(100)은 교정 조건(314)을 만족하는 사용자 장치에 기반하여 교정 이벤트(312)를 판단할 수 있다.
예를 들어, 컴퓨팅 시스템(100)은 교정 위치(310)와 장치 위치(236) 비교에 기반하여 교정 이벤트(312)를 판단할 수 있다. 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 교정 조건(314)에 따라, 장치 위치가 교정 위치(310)로부터 문턱 거리 안에 있을 때, 또는 장치 위치(236)가 교정 위치(310)와 중첩되거나 그 안에 있을 때, 또는 장치 위치(236)의 장치 고도(232)가 교정 위치(310) 고도의 문턱 범위와 매칭되거나 그 안에 있을 때, 또는 그 조합일 때 교정 이벤트(312)를 판단할 수 있다.
컴퓨팅 시스템(100)은 동적 교정 모듈(608)을 이용하여 교정 이벤트(312)를 판단할 수 있다. 컴퓨팅 시스템(100)은 하나 이상의 저장 인터페이스, 하나 이상의 제어 인터페이스, 하나 이상의 통신 회로, 또는 그 조합을 이용하여 컴퓨팅 시스템(100)에 미리 정해지거나 알려진 교정 조건(314)을 액세스할 수 있다. 컴퓨팅 시스템(100)은 하나 이상의 제어 회로들을 사용하여 교정 이벤트(312)를 비교하여 판단할 수 있다.
컴퓨팅 시스템(100)은 장치 측정치를 판단할 수 있다(단계 806). 컴퓨팅 시스템(100)은 교정 이벤트(312)와 관련되거나 교정 이벤트(312)를 트리거시키는 사용자 장치에 대한 센서 데이터를 판단할 수 있다. 컴퓨팅 시스템(100)은 교정 이벤트(312) 판단에 기반하거나 그에 뒤이어 도 2의 환경 측정치(228)를 판단할 수 있다.
컴퓨팅 시스템(100)은 도 2의 환경 측정치(228)를 포함하는 센서 데이터를 판단할 수 있다. 컴퓨팅 시스템(100)은 교정 이벤트(312)와 관련된 제1장치(102), 추가 장치(108), 또는 그 조합으로부터, 혹은 그러한 장치를 이용하거나, 그러한 장치에 의해 생성되는 환경 측정치(228)를 판단할 수 있다. 컴퓨팅 시스템(100)은 제1장치(102), 추가 장치(108), 또는 그 조합으로부터, 혹은 그러한 장치에 고유한 환경 측정치(228)와 관련된 도 3의 장치 조정 측정치(320)를 산출하기 위해 환경 측정치(228)를 판단할 수 있다.
컴퓨팅 시스템(100)은 도 6의 장치 요소 모듈(632), 데이터 획득 모듈(602), 또는 그 조합을 이용하여, 센서 데이터를 판단할 수 있다. 컴퓨팅 시스템(100)은 하나 이상의 센서 회로, 하나 이상의 제어 회로, 하나 이상의 통신 회로, 또는 그 조합을 이용하여 센서 데이터를 판단할 수 있다.
컴퓨팅 시스템(100)은 기준값을 결정할 수 있다(단계 808). 컴퓨팅 시스템(100)은 자격을 가진 경우의 교정 위치(310)와 관련된 도 3의 기준 측정치(318)를 포함하는 기준값을 결정할 수 있다. 컴퓨팅 시스템(100)은 교정 이벤트(312) 판단에 기반하거나 그에 바로 뒤이어 기준 측정치(318)를 결정할 수 있다. 컴퓨팅 시스템(100)은 환경 측정치(228)에 대한 도 2의 타임 스탬프(242)로 나타내는 시간에서의 기준 측정치(318)를 더 결정할 수 있다.
컴퓨팅 시스템(100)은 다양한 방식으로 기준 측정치(318)를 결정할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 기준 위치와 통신하여 기준 위치로부터 기준 측정치(318)를 수신함으로써 기준 측정치(318)를 결정할 수 있다. 또한 예를 들어, 컴퓨팅 시스템(100)은 기준 위치에서 기준 측정치(318)에 대한 실시간 데이터나 이전에 기록된 값을 제공하는 서비스와 통신할 수 있다.
컴퓨팅 시스템(100)은 도 6의 외부 요소 모듈(630), 도 6의 환경 기준 모듈(642), 또는 그 조합을 사용하여 기준 측정치(318)를 결정할 수 있다. 컴퓨팅 시스템(100)은 하나 이상의 통신 회로, 하나 이상의 제어 회로, 하나 이상의 저장 인터페이스, 또는 그 조합을 이용하여 기준 측정치(318)를 결정할 수 있다.
컴퓨팅 시스템(100)은 조정치를 산출할 수 있다(단계 810). 컴퓨팅 시스템(100)은 장치 조정 측정치(320)를 산출함으로써 조정치를 산출할 수 있다. 컴퓨팅 시스템(100)은 교정 이벤트(312)를 일으키고 센서 데이터를 제공하는 장치에 고유한 장치 조정 측정치(320)를 산출할 수 있다.
컴퓨팅 시스템(100)은 센서 데이터 및 기준 측정치(318)에 기반하여 장치 조정 측정치(320)를 산출할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 장치 조정 측정치(320)를, 도 2의 압력 측정치(230), 도 2의 장치 고도(232), 또는 그 조합과 같은 환경 측정치(228) 및 기준 측정치(318) 간 차이로서 산출할 수 있다.
또한 예를 들어, 컴퓨팅 시스템(100)은 장치 조정 측정치(320)를 여러 독립적인 경우의 교정 이벤트(312)에 대응하는 환경 측정치(228) 및 기준 측정치(318) 상의 차이들의 중간값 또는 평균값으로서 산출할 수 있다. 컴퓨팅 시스템(100)은 서로 다른 시간대, 서로 다른 위치들이나 고도, 또는 그 조합에 대응하는 값들의 평균을 산출할 수 있다. 컴퓨팅 시스템(100)은 날씨, 고도, 지리적 위치, 그 날의 시간, 또는 그 조합에 기반하여 장치 조정 측정치(320)에 영향을 미치거나 조정하기 위한 패턴 또는 요인을 더 판단할 수 있다.
컴퓨팅 시스템(100)은 환경 측정치(228)와 같은 미래나 나중의 센서 데이터 경우들을 교정하기 위해 장치 조정 측정치(320)를 산출할 수 있다. 컴퓨팅 시스템(100)은 교정 위치(310)에 대한 기준 측정치(318)의 알려지거나 유효한 값들을 이용하여 산출할 수 있다. 컴퓨팅 시스템(100)은 장치 조정 측정치(320)를 이용하여 센서 데이터를 조정, 정정, 또는 업데이트하거나 도 3의 상대적 고도(306)를 판단하거나, 그 조합 동작을 수행할 수 있다.
컴퓨팅 시스템(100)은 동적 교정 모듈(608)을 이용하여 장치 조정 측정치(320)를 산출할 수 있다. 컴퓨팅 시스템(100)은 하나 이상의 제어 회로, 하나 이상의 통신 회로, 또는 그 조합을 더 이용하여, 장치 조정 측정치(320)를 산출할 수 있다. 컴퓨팅 시스템(100)은 장치 조정 측정치(320)뿐 아니라, 교정 이벤트(312), 교정 위치(310), 기준 측정치(318), 센서 데이터, 또는 그 조합과 같은 다른 중간값들을 하나 이상의 저장 회로들 안에 저장할 수 있다.
컴퓨팅 시스템(100)은 그 안에 있는 하나 이상의 장치들, 예를 들어 제1장치(102), 도 1의 제2장치(106), 추가 장치(108) 또는 그 조합을 이용하여 상술한 도 8의 단계들을 구현할 수 있다. 예를 들어 컴퓨팅 시스템(100)은 최종 사용자 장치들이 하나 이상의 통신 회로들을 이용하여 주기적으로 센서 데이터를 제2장치(106)에 업로드하게 할 수 있다.
계속해서 예를 들면, 제2장치(106)는 교정 위치(310)를 식별하고, 교정 이벤트(312)를 판단하고, 업로드된 데이터에서 센서 데이터를 판단하고, 기준 측정치(318)를 결정하고, 장치 조정 측정치(320)를 산출할 수 있다. 제2장치(106)는 최종 사용자 장치에서 센서 데이터를 조정하기 위해 최종 사용자 장치로 장치 조정 측정치(320)를 통신하거나, 업로드된 데이터를 수신 후 제2장치(106)에서의 조정을 위해 제2장치(106) 안에 장치 조정 측정치(320)를 저장할 수 있다.
또한 예를 들면, 컴퓨팅 시스템(100)은 도 8의 단계들이, 제1장치(102), 추가 장치(108), 또는 그 조합과 같은 최종 사용자 장치에서 구현되게 할 수 있다. 보다 구체적인 예로서, 최종 사용자 장치는 그 안에 저장된 맵이나 리스트를 액세스하여, 교정 위치를 식별하고, 교정 이벤트를 판단하고, 장치 측정치를 판단하고, 기준값을 결정하고, 조정치를 산출할 수 있다. 최종 사용자 장치는 장치 조정 측정치(320)를 저장하고 장치 조정 측정치(320)를 이용하여 미래 혹은 후속 센서 데이터를 조정할 수 있다.
또한 예를 들어, 컴퓨팅 시스템(100)은 최종 사용자 장치를 제2장치(106)와 함께 이용하여 최종 사용자 장치를 교정할 수 있다. 보다 구체적인 예로서, 제2장치(106)는 최종 사용자 장치가 보낸 장치 위치(236)에 기반하여 단계 802 및 804를 수행할 수 있다. 제2장치(106)는 최종 사용자 장치를 트리거하여 단계 806, 808, 810, 또는 그 조합을 수행할 수 있다. 또한 보다 구체적인 예로서, 제2장치는 단계 808을 수행하고 그 결과들을 최종 사용자 장치로 제공할 수 있다.
보다 구체적인 예로서, 시스템 사용자(110)가 어떤 구조물 밖에 위치할 때 단계 802 및 단계 804에 기반하여 교정 이벤트(312)가 검출될 수 있다. 교정 이벤트(312)는 전화기의 GPS 센서와 같이, 제1장치(102)의 센서 회로에 기반하여 검출될 수 있다.
보다 구체적 예를 계속 들면, 컴퓨팅 시스템(100)은 단계 802, 단계 808, 또는 그 조합에 기반하여, 상기 수학식 (2)에서 나타낸 위치의 지리적 고도를 '' 로서 획득할 수 있다. 컴퓨팅 시스템(100)은 공개적으로 사용 가능한 웹 서비스를 사용하여 지리적 고도를 획득할 수 있다.
보다 구체적 예를 계속 들면, 컴퓨팅 시스템(100)은 단계 808에 기반하여 해수면 압력(650)과 같은 해수면 레벨이나 기준 측정치(318) 같은 교정 위치(310)에서 지리적 압력값을 획득할 수 있다. 컴퓨팅 시스템(100)은 해수면 압력(650)에 대응하는 해수면 고도(648)를 더 획득하거나 액세스할 수 있다.
보다 구체적인 예를 계속 들면, 컴퓨팅 시스템(100)은 단계 806에 기반하여 대기압을 측정할 수 있다. 컴퓨팅 시스템(100)은 압력 센서로부터의 압력 측정치(230)를 포함하는 교정 측정치(316)를 측정할 수 있다.
보다 구체적인 예를 계속 들면, 컴퓨팅 시스템(100)은 기준 측정치(318) 및 교정 측정치(316)를 이용하여 조정치를 산출할 수 있다(단계 810). 컴퓨팅 시스템(100)은 해수면 압력(650) 및 교정 측정치(316)에 기반하여 장치 고도(232)를 산출할 수 있다. 컴퓨팅 시스템(100)은 상기 수학식 (1)을 이용하여 장치 고도(232)를 산출할 수 있다:
보다 구체적인 예를 계속 들면, 컴퓨팅 시스템(100)은 장치 고도(232) 및 교정 위치(310)의 알려진 고도'' 간 차이를 산출하여 저장할 수 있다. 상기 차이는 장치 조정 측정치(320)로서 저장될 수 있다. 컴퓨팅 시스템(100)은 또한 교정 프로세스를 반복하여 각각의 교정 세션 동안 차이값들의 평균에 기반하여 장치 조정 측정치(320)를 업데이트할 수 있다.
보다 구체적인 예를 계속 들면, 컴퓨팅 시스템(100)은 후속 처리를 위해 조정 측정치(320)를 이용하여 센서 데이터, 고도 값, 또는 그 조합을 조정할 수 있다. 컴퓨팅 시스템(100)은 조정 측정치(320)로 센서 데이터, 고도 값, 또는 그 조합을 뺄 수 있다. 이러한 정정을 통해, 모바일 장치들에 걸쳐 측정된 고도들이 동일한 기준선에 대해 정규화될 수 있다. 이는 빌딩의 고도 맵을 생성하기 위해 클라우드 상의 상대적 높이들을 클러스터링하는데 있어 특히 유용하다는 것을 알게 되었다.
장치 조정 측정치(320)가 빌딩 구조(202)를 수직 매핑하고 빌딩 구조(202) 안의 최종 사용자 장치들을 수직 위치확인함에 있어 향상된 정확도를 제공한다는 것을 알게 되었다. 장치 조정 측정치(320)는 센서 데이터와 동시에 발생한, 알려지고 신뢰할 수 있는 측정치들에 기반하여 산출될 수 있다. 장치 조정 측정치(320)는 개별 센싱 회로 내에 존재하는 불일치, 부정확성, 오프셋, 감도 레벨, 또는 그 조합에 대해 정정할 수 있다.
이하에서 도 9를 참조하면, 도 7의 입출 고도 산출 단계(704)에 대한 상세한 예시적 흐름도가 보여진다. 도 1의 컴퓨팅 시스템(100)은 위에서 논의된 진입 이벤트 판단 단계(714)에 기반하여 입출 고도를 산출할 수 있다(단계 704). 입출 고도의 산출(단계 704)은 환경 데이터를 판단하거나(단계 902), 상대적 높이를 판단하거나(단계 904), 데이터를 전송 또는 저장하거나(단계 906), 또는 그 조합 동작을 포함할 수 있다.
컴퓨팅 시스템(100)은 환경 데이터를 판단할 수 있다(단계 902). 컴퓨팅 시스템(100)은 도 2의 환경 측정치(228)를 판단함으로써 환경 데이터를 판단할 수 있다. 컴퓨팅 시스템(100)은 도 2의 입출 이벤트(238)에 기반하여 환경 측정치(228)를 판단할 수 있다. 컴퓨팅 시스템(100)은 입출 이벤트(238) 판단 시점이나 진입 이벤트 직전의 환경 측정치(228)를 판단할 수 있다.
컴퓨팅 시스템(100)은 입출 이벤트(238)와 관련된 도 1의 제1장치(102)나 도 1의 추가 장치(108)와 같은 최종 사용자 장치에서, 또는 최종 사용자 장치를 이용하여, 환경 측정치(228)를 판단할 수 있다. 컴퓨팅 시스템(100)은 도 2의 빌딩 구조(202)에 대한 구조의 지리적 위치(204)의 고도 또는 그 입구/출구의 고도를 나타내는 도 2의 입출 고도(240)를 산출하기 위해 환경 측정치(228)를 판단할 수 있다.
컴퓨팅 시스템(100)은 도 7의 단계(724), 도 8의 단계(806), 또는 그 조합에 대해 위에서 논의한 바와 마찬가지로 환경 측정치(228)를 판단할 수 있다. 컴퓨팅 시스템(100)은 도 6의 데이터 획득 모듈(6), 도 6의 입출 모듈(604), 도 6의 기준 레벨 모듈(616) 또는 그 조합을 이용하여 환경 측정치(228)를 판단할 수 있다. 컴퓨팅 시스템(100)은 하나 이상의 제어 회로들, 하나 이상의 센서 회로들, 또는 그 조합을 이용하여 환경 측정치(228)를 더 판단할 수 있다.
컴퓨팅 시스템(100)은 상대적 높이를 판단할 수 있다(단계 904). 컴퓨팅 시스템(100)은 도 3의 상대적 고도(306)에 기반하여 상대적 높이를 판단할 수 있다.
컴퓨팅 시스템(100)은 입출 고도(240)에 대해 도 2의 장치 고도(232)에 대응하는 도 2의 환경 측정치(228)를 포함하는 센서 데이터를 나타내기 위해 상대적 고도(306)를 판단할 수 있다. 컴퓨팅시스템(100)은 입출 이벤트(238)와 동일한 시점이나 그 직전의 센서 데이터에 기반하여 상대적 고도(306)를 입출 고도(240)로 판단할 수 있다.
컴퓨팅 시스템(100)은 도 7의 단계 726에 대해 위에서 논의한 바와 마찬가지로 상대적 고도(306)를 판단할 수 있다. 컴퓨팅 시스템(100)은 입출 이벤트(238)와 관련된 제1장치(102), 추가 장치(108), 또는 그 조합에 대응하는 도 6의 상대적 고도 모듈(606)을 이용하여 상대적 고도(306)를 판단할 수 있다. 컴퓨팅 시스템(100)은 하나 이상의 제어 회로들을 이용하여 상대적 고도(306)를 더 판단할 수 있다.
컴퓨팅 시스템(100)은 데이터를 통신하거나 저장할 수 있다(단계 906). 컴퓨팅 시스템(100)은 도 3의 교정 이벤트(312), 교정 이벤트(312)에 대응하는 센서 데이터, 교정 이벤트(312)에 대응하는 상대적 고도(306), 또는 그 조합을 통신하거나 저장할 수 있다. 컴퓨팅 시스템(100)은 교정 이벤트(312), 센서 데이터, 상대적 고도(306), 또는 그 조합을 하나 이상의 저장 회로들 안에 저장할 수 있다.
컴퓨팅 시스템(100)은 그 안에 있는 하나 이상의 장치들, 예를 들어 제1장치(102), 도 1의 제2장치(106), 추가 장치(108) 또는 그 조합을 이용하여 상술한 도 9의 단계들을 구현할 수 있다. 컴퓨팅 시스템(100)은 상술한 바와 마찬가지로 구현할 수 있다.
예를 들어 컴퓨팅 시스템(100)은 최종 사용자 장치들이 하나 이상의 통신 회로들을 이용하여 주기적으로 센서 데이터를 제2장치(106)에 업로드하게 할 수 있고, 제2장치106)가 상대적 고도(306) 및 입출 고도(240)를 판단할 수 있다. 제2장치(106)는 상대적 고도(306)를 최종 사용자 장치로 전송하거나, 상대적 고도(306)를 제2장치(106) 안에 저장할 수 있다.
또한 예를 들면, 컴퓨팅 시스템(100)은 도 9의 단계들이, 제1장치(102), 추가 장치(108), 또는 그 조합과 같은 최종 사용자 장치에서 구현되게 할 수 있다. 또한 예를 들어, 컴퓨팅 시스템(100)은 최종 사용자 장치를 제2장치(106)와 함께 이용하여 최종 사용자 장치를 교정할 수 있다. 보다 구체적인 예로서, 제2장치(106)는 단계 714, 단계 904, 단계 906, 또는 그 조합을 수행하고 그 결과들을 최종 사용자 장치로 제공할 수 있다.
입출 이벤트(238)에 기반하여 판단된 입출 고도(240)는 매핑 및 위치확인 프로세스들에 있어서 향상된 정확도를 제공한다는 것을 알게 되었다. 입출 이벤트(238)에 기반하여 판단된 입출 고도(240)는 자율 메커니즘들의 사용이 빌딩 구조(202)를 매핑하고 장치들을 수직 위치확인하게 할 수 있다. 입출 고도(240)는 빌딩 구조(202)의 고도를 추가로 참작하여 정확도를 높일 수 있다.
상대적 고도(306)에 기반하는 입출 고도(240)는 매핑 및 위치확인 프로세스들에 있어서 향상된 정확도를 제공한다는 것을 알게 되었다. 상대적 고도(306)는 빌딩 구조(202)의 고도를 나타내기 위해 정규화된 값들을 제공할 수 있다. 상대적 고도(306)의 사용은 또한, 컴퓨팅 시스템(100)이 여러 장치들과 여러 시간대에 걸쳐, 소정 유형이나 그룹의 장치들에 고유하거나 그 조합인 입출 고도(240)를 처리하게 할 수 있다.
이하에서 도 10을 참조하면, 도 7의 프로세스 트리거 단계(722)에 대한 상세한 예시적 흐름도가 보여진다. 컴퓨팅 시스템(100)은 도 7의 상대적 높이에 대한 산출(단계 726), 층 변화 판단(단계 728), 사용자의 수직 위치 확인(단계 710) 또는 그 조합을 구현하기 위한 프로세스 트리거 단계(722)를 판단할 수 있다. 프로세스 트리거(722)에 대한 판단은 이동에 대한 모니터링(단계 1002), 수평 이동에 대한 추적(단계 1004), 수직 이동 확인(단계 1006), 트리거 검출(단계 1008), 이벤트 판단(단계 1010), 또는 그 조합을 포함할 수 있다.
컴퓨팅 시스템(100)은 이동을 모니터링할 수 있다(단계 1002). 컴퓨팅 시스템(100)은 도 1의 제1장치(102), 도 1의 추가 장치(108), 또는 그 조합의 물리적 이동을 모니터링할 수 있다. 컴퓨팅 시스템(100)은 도 2의 층(210) 상에서의 도 2의 장치 위치(236), 사용자 장치에 대한 도 2의 이동 측정치(234), 또는 그 조합의 판단에 기반하여 이동을 모니터링할 수 있다.
컴퓨팅 시스템(100)은 장치 위치(236), 이동 측정치(234), 또는 그 조합을 저장함으로써 데이터를 더 모니터링하거나, 확인하거나, 비교하거나, 혹은 그조합 동작을 수행할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 장치 위치(236), 이동 측정치(234), 또는 그 조합에 대해 판단 프로세스를 정기적이고 주기적으로 판단 또는 개시하거나, 일정 간격으로 샘플링하거나, 그 조합을 수행할 수 있다. 또한 예를 들면, 컴퓨팅 시스템(100)은 선입력 선출력 메커니즘을 가진 실행 윈도우나 메모리 버퍼를 사용 또는 구현하여, 장치 위치(236), 이동 측정치(234), 또는 그 조합에 대해 저장, 분석, 또는 그 조합 동작을 수행할 수 있다.
컴퓨팅 시스템(100)은 하나 이상의 센서 회로들, 하나 이상의 제어 회로들, 하나 이상의 통신 회로들, 또는 그 조합을 사용하여 장치 위치(236), 이동 측정치(234), 또는 그 조합을 판단하거나 분석할 수 있다. 컴퓨팅 시스템(100)은 또한, 하나 이상의 저장 회로들 안에 데이터를 저장할 수 있다. 컴퓨팅 시스템(100)은 하나 이상의 저장 회로들이나 그 안의 일부를 이용하는 실행 윈도우나 메모리 버퍼를 구현하거나 이용할 수 있다.
컴퓨팅 시스템(100)은 수평 이동을 추적할 수 있다(단계 1004). 컴퓨팅 시스템(100)은 제1장치(102), 추가 장치(108), 또는 그 조합의 수평 이동을 추적할 수 있다. 컴퓨팅 시스템(100)은 층(210)의 수평면 내 장치 위치(236)를 판단하거나, 그 장치 위치(236)를 저장하거나, 또는 그 조합을 수행함으로써 수평 이동을 추적할 수 있다.
예를 들어, 컴퓨팅 시스템(100)은 하나 이상의 제어 회로, 하나 이상의 통신 회로, 하나 이상의 센서 회로, 또는 그 조합을 사용하여 도 2의 빌딩 구조(202) 내에서의 장치 위치(236)를 판단할 수 있다.
보다 구체적인 예로서, 컴퓨팅 시스템(100)은 도 4의 제1위치 회로(462), 도 5의 제3위치 회로(562), 도 4의 제1통신 회로(416), 도 5의 제2통신 회로(516), 또는 그 조합을 이용하여 GPS 신호, Wi-Fi 신호, 4G LTE 신호, 또는 그 조합과 같은 무선 신호를 수신할 수 있다. 컴퓨팅 시스템(100)은 도 4의 제1가속계(464), 도 4의 제1자이로스코프(466), 도 5의 제3가속계(564), 도 5의 제3자이로스코프(566), 제1위치 회로(462), 제3위치 회로(562), 또는 그 조합을 이용하여 이동 측정치(234)를 판단할 수 있다.
계속 예를 들면, 컴퓨팅 시스템(100)은 제1위치 회로(462), 제3위치 회로(562), 제1통신 회로(416), 제2통신 회로(516), 도 4의 제1제어 회로(412), 도 4의 제2제어 회로(434), 도 5의 제3제어 회로(512), 또는 그 조합을 이용하여 장치 위치(236)를 판단할 수 있다. 컴퓨팅 시스템(100)은 수신된 신호들, 이동 측정치(234), 또는 그 조합을 처리하기 위해 GPS 처리, Wi-Fi 또는 셀 타워 삼각측량 메커니즘, 추측 항법 메커니즘, 또는 그 조합을 구현함으로써 장치 위치(236)를 결정할 수 있다. 컴퓨팅 시스템(100)은 제1통신 회로(416), 제2통신 회로(436), 제3통신 회로(516) 또는 그 조합을 이용하여, 장치들 사이에서 장치 위치(236), 수신 신호나 그 내용, 이동 측정치(234), 처리 결과, 또는 그 조합을 통신할 수 있다.
컴퓨팅 시스템(100)은 상술한 바와 같이 수평 위치 정보를 저장할 수 있다. 예를 들어 컴퓨팅 시스템(100)은 장치 위치(236)의 수평 성분을 하나 이상의 저장 회로들 안에 저장할 수 있다. 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 메모리 버퍼나 실행 윈도우 내에 수평 위치 정보를 저장할 수 있다.
컴퓨팅 시스템(100)은 수직 이동을 확인할 수 있다(단계 1006). 컴퓨팅 시스템(100)은 이동 측정치(234)를 처리하여 수직 이동을 확인할 수 있다.
컴퓨팅 시스템(100)은 하나 이상의 센서 회로들을 이용하여 제1장치(102), 추가 장치(108), 또는 그 조합의 이동 측정치(234)를 판단할 수 있다. 컴퓨팅 시스템(100)은 또한, 이동 측정치(234)를 실행 윈도우나 메모리 버퍼와 같은 하나 이상의 저장 회로들 안에 저장할 수 있다.
컴퓨팅 시스템(100)은 하나 이상의 제어 회로들을 이용하여 이동 측정치(234)와 도 3의 수직 변화 트리거(330)를 비교할 수 있다. 컴퓨팅 시스템(100)은 또한 하나 이상의 제어 회로들을 이용하여, 도 6의 압력 경사(622), 도 6의 이동 상관(624), 도 6의 이동 에너지(626), 또는 그 조합을 산출할 수 있다. 컴퓨팅 시스템(100)은 하나 이상의 제어회로들을 이용하여, 압력 경사(622), 이동 상관(624), 이동 에너지(626) 또는 그 조합을 수직 변경 트리거(330)와 비교할 수 있다.
컴퓨팅 시스템(100)은 트리거를 검출할 수 있다(단계 1008). 컴퓨팅 시스템(100)은 수직 변화 트리거(330)에 매치되는 이동 측정치(234)나 그 처리 결과에 기반하여 트리거 이벤트를 검출해 트리거를 검출할 수 있다. 컴퓨팅 시스템(100)은 하나 이상의 제어 회로들을 사용한 제1장치(102), 추가 장치(108), 또는 그 조합에 대한 이동 측정치(234)의 모니터링에 기반하여 수직 변화 트리거(330)에 대한 매치를 검출할 수 있다. 컴퓨팅 시스템(100)은 실행 윈도우나 버퍼 내 데이터를 수직 변화 트리거(330)와 비교할 수 있다.
컴퓨팅 시스템(100)은 하나 이상의 저전력 회로들을 이용하여 단계들 1002, 1004, 1006, 1008 또는 그 조합을 수행하거나 구현할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 도 4의 제1저전력 회로(454), 도 5의 제3저전력 회로(554), 또는 그 조합을 이용하여 모니터링, 추적, 확인, 검출, 또는 그 조합 동작을 수행할 수 있다.
보다 구체적인 예로서, 컴퓨팅 시스템(100)은 보다 작은 회로, 보다 느린 회로, 보다 덜 민감한 회로나 프로세스, 보다 덜 복잡한 프로세스, 또는 그 조합을 사용하여 모니터링, 추적, 확인, 검출, 또는 그 조합을 수행할 수 있다. 또한 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 보다 작거나 보다 느린 코어를 이용할 수 있다. 또한 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 이미 사용 중인 코어 상에서 단순화된 프로세스를 구현할 수 있다. 또한 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 사용자 장치에 대한 가속계, 자이로스코프, 위치 회로, 또는 그 조합과 같은 센서 회로의 일부만을 사용할 수 있다.
컴퓨팅 시스템(100)은 상술한 바와 같이 환경 데이터를 판단할 수 있다(단계 724). 컴퓨팅 시스템(100)은 수직 변화 트리거(330에 매치하는 제1장치(102), 추가 장치(108), 또는 그 조합에 대응하는 이동 측정치(234), 도 2의 환경 측정치(228), 완전히 정확하거나 보다 정확한 경우의 장치 위치(236) 또는 그 조합과 같은 센서 데이터를 판단함으로써 환경 데이터를 판단할 수 있다.
컴퓨팅 시스템(100)은 저전력 회로를 이용하여 수직 변화 트리거(330)의 매치에 대한 인식에 기반하거나 그러한 인식에 이어서 센서 데이터를 판단할 수 있다. 컴퓨팅 시스템(100)은 또한 하나 이상의 고전력 회로들을 이용하여 센서 데이터를 판단할 수 있다.
예를 들어, 컴퓨팅 시스템(100)은 도 4의 제1고전력 회로(452), 도 5의 제2고전력 회로(552), 또는 그 조합을 이용할 수 있다. 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 보다 크거나 추가적인 코어를 이용하여 센서 데이터를 측정하거나 처리할 수 있다. 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 보다 복잡하거나 민감한 프로세스를 이용하여 센서 데이터를 판단할 수 있다. 컴퓨팅 시스템(100)은 또한, 트리거에 기반하거나 트리거에 뒤이어 압력 경사(622), 이동 상관(624), 이동 에너지(626), 또는 그 조합을 산출할 수 있다.
또한, 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 도 4의 제1압력 센서(468)나 도 5의 제3압력 센서(568)와 같이, 앞서 휴면상태가 유지된 센서 회로의 일부를 사용할 수 있다. 또한, 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 센서 회로 중 보다 민감하거나 복잡한 부분들을 이용하거나 구현하여 센서 데이터를 판단할 수 있다.
컴퓨팅 시스템(100)은 이벤트를 판단할 수 있다(단계 1010). 컴퓨팅 시스템(100)은 도 3의 수직 이동 이벤트(332)를 판단함으로써 이벤트를 판단할 수 있다. 컴퓨팅 시스템(100)은 수직 변화 트리거(330)의 매치에 대응하거나 뒤이어 결정된 센서 데이터에 기반하여 수직 이동 이벤트(332)를 판단할 수 있다.
컴퓨팅 시스템(100)은 센서 데이터와 도 3의 수직 이동 집합(322)과의 비교에 기반하여 수직 이동 이벤트(332)를 판단할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 도 3의 경로 이동 집합(324), 도 3의 엘리베이터 이동 집합(326), 도 3의 에스컬레이터 이동 집합(328), 또는 그 조합에 매치되는 이동 측정치(234), 장치 위치(236), 환경 측정치(228), 압력 경사(622), 이동 상관(624), 이동 에너지(626), 그 일부나 성분, 그 시퀀스, 또는 그 조합에 기반하여 수직 이동 이벤트(332)를 판단할 수 있다.
컴퓨팅 시스템(100)은 실행 윈도우나 버퍼 내 데이터를 수직 이동 집합(322)과 비교할 수 있다. 수직 변화 트리거(330)가 검출되지 않을 때와 마찬가지로, 수직 변화 트리거(330)의 매치 후 일정 시간 또는 일정 개수의 샘플들이 지나는 동안 수직 이동 이벤트(332)가 검출되지 않으면, 플로우는 단계 1002로 건너갈 수 있다.
컴퓨팅 시스템(100)은 이벤트 결정(단계 1010)에 기반하여 다양한 단계들을 수행하거나 개시할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 상대적 높이 산출(단계 726), 수직 변화(이동)에 대한 판단(단계 728), 데이터 통신 또는 저장(단계 730), 또는 그 조합을 수행하거나 개시할 수 있다.
상술한 바와 같이 컴퓨팅 시스템(100)은 상대적 높이를 산출할 수 있다(단계 726). 컴퓨팅 시스템(100)은 수직 변화 트리거(330), 수직 이동 이벤트(332), 또는 그 조합에 대한 판단에 기반하거나 그에 뒤이어 상대적 높이를 산출할 수 있다(단계 726).
컴퓨팅 시스템(100)은 상술한 바와 같이 수직 변화(이동)를 판단할 수 있다(단계 728). 컴퓨팅 시스템(100)은 수직 이동 이벤트(332) 판단에 기반하거나 그에 바로 뒤이어 수직 변화(vertical transition)를 판단할 수 있다.
컴퓨팅 시스템(100)은 빌딩 구조의 하나 이상의 층(210)에서의 도 2의 층 변화 접근 위치(216), 도 2의 층 변화 유형(218), 또는 그 조합을 판단할 수 있다. 컴퓨팅 시스템(100)은 단계 1004에서 추적된 바와 같이, 층 변화 접근 위치(216)를 수직 이동 이벤트(332)에 대한 시작 시, 종료 시, 또는 그 조합 시점에서의 수평 위치로서 판단할 수 있다.
컴퓨팅 시스템(100)은 수직 이동 집합(322)에 매치되는 이동 정보에 기반하여 층 변화 유형(218)을 결정할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 층 변화 유형(218)을, 이동 정보가 경로 이동 집합(324)에 매치될 때 도 2의 수직 경로(220)로서, 이동 정보가 엘리베이터 이동 집합(elevator-movement set)(326), 에스컬레이터 이동 집합(328), 또는 그 조합에 매치될 때 엘리베이터(224)로서 판단할 수 있다.
컴퓨팅 시스템(100)은 또한, 상술한 바와 같이 데이터를 통신하거나 저장할 수 있다(단계 730). 컴퓨팅 시스템(100)은 상술한 다양한 처리 결과들을 하나 이상의 저장 회로들 안에 저장할 수 있다. 컴퓨팅 시스템(100)은 하나 이상의 통신 회로들을 이용하여 장치들 간에 하나 이상의 다양한 처리 결과들이나 데이터를 더 통신할 수 있다.
예를 들어, 사용자 장치는 수직 변화 트리거(330), 수직 이동 이벤트(332), 또는 그 조합에 대한 매치에 기반하여 도 1의 제2장치(106)에 의해 나타낸 바와 같이, 센서 데이터, 위치 데이터, 또는 그 조합을 클라우드나 서버로 전송할 수 있다. 제2장치(106)는 수직 변화 트리거(330), 변화(이동) 위치 및 유형을 판단하거나, 도 3의 상대적 고도(306)를 산출하거나, 그 조합을 수행할 수 있다.
또한 예를 들어, 사용자 장치는 단계 730 이전에 도 10의 모든 단계들을 수행하거나 실행할 수 있다. 사용자 장치는 수직 이동 이벤트(332)에 기반하여 상대적 고도(306), 변화(이동) 위치 및 유형, 또는 그 조합을 제2장치로 업로드할 수 있다.
수직 변화 트리거(330)에 대한 매치를 검출한 후 고전력 회로를 작동시키는 저전력 회로의 사용이 최종 사용자 장치에 늘어난 배터리 수명을 제공한다는 것을 알게 되었다. 초기 모니터링 및 확인을 수행하기 위한 저전력 회로의 사용은 고전력 회로보다 낮은 에너지를 이용할 수 있다. 수직 변화 트리거(330)를 이용하여 보다 높은 정확도로 수직 이동 이벤트(332)를 완전하게 인식하기 위해 고전력 회로를 작동함으로써 정확도를 희생하지 않고 보다 효율적인 전력 사용을 제공할 수 있다.
수직 이동 이벤트(332)에 기반하거나 그에 뒤이어 최종 사용자 장치에 의해 산출된 상대적 고도(306)를 통신하거나 업로딩함으로써 전반적으로 향상된 처리 효율성을 제공한다는 것을 알게 되었다. 미가공(raw) 센서 데이터 대신, 또는 그를 나타내는 상대적 고도(306)의 업로딩이 제2장치(106)에서 저장되거나 처리되는 데이터의 양을 줄일 수 있다. 또한, 수직 이동 이벤트(332)에 기반하거나 그에 뒤이은 상대적 고도(306)의 업로딩이 제2장치(106)에서 저장되거나 처리되는 데이터의 양을 더 줄일 수 있다.
이하에서 도 11을 참조하면, 도 7의 수직 위치확인 단계 710에 대한 상세한 예시적 흐름도가 도시된다. 컴퓨팅 시스템(100)은 입구 판단 단계 714에 기반하여 최종 사용자나 사용자 장치의 수직 위치를 확인할 수 있다.
컴퓨팅 시스템(100)은 상술한 바와 같이 도 2의 빌딩 구조(202) 안으로의 진입을 나타내는 도 2의 입출 이벤트(238) 판단에 기반하거나, 그에 응하거나, 그 이후에, 또는 그 조합을 통해 도 1의 제1장치(102), 도 1의 추가 장치(108), 또는 그 조합의 수직 위치를 확인할 수 있다. 수직 위치확인 단계 710는 도 3의 수직 위치확인 메커니즘(302)을 나타낼 수 있다.
수직 위치확인 단계 710는 상술한 도 7의 단계 706에서의 내부 이동에 대한 추적과 병합되거나, 연결되거나, 그를 포함하거나, 그 조합 상태가 될 수 있다. 수직 위치확인 단계 710는 맵에 대한 통신(단계 1102), 환경 데이터에 대한 판단(단계 724), 상대적 높이의 산출(단계 726), 사용자 장치의 수직 위치확인 단계(단계 1104), 데이터의 통신 또는 저장(단계 730), 프로세스 트리거에 대한 판단(단계 722), 나가기 이벤트에 대한 판단(단계 720), 또는 그 조합 단계를 포함할 수 있다.
컴퓨팅 시스템(100)은 맵을 통신할 수 있다(단계 1102). 컴퓨팅 시스템(100)은 도 2의 내부 맵(206) 액세스에 기반하여 맵을 통신할 수 있다. 컴퓨팅 시스템(100)은 빌딩 구조(202)로 진입하는 도 1의 제1장치(102), 도 1의 추가 장치(108), 또는 그 조합이 빌딩 구조(202)의 내부 맵(206)을 액세스하게 할 수 있다. 컴퓨팅 시스템(100)은 또한, 빌딩 구조(202) 안에서 최종 사용자 장치를 추적하기 위해 도 1의 제2장치(106)가 내부 맵(206)을 액세스하게 할 수 있다.
컴퓨팅 시스템(100)은 최종 사용자 장치와 관련된 도 1의 시스템 사용자(110), 도 1의 추가 사용자(112), 또는 그 조합의 수직 위치를 확인하기 위해 생성된 내부 맵(206)을 통신 및 액세스할 수 있다. 컴퓨팅 시스템(100)은 빌딩 구조(202) 안에서 도 2의 특정 경우의 층(210) 상에서 최종 사용자 장치의 위치를 확인하기 위해 내부 맵(206)을 사용할 수 있다. 컴퓨팅 시스템(100)은 고도나 높이 측정치 대신 빌딩 구조에 특정한 층(210)의 경우에 대한 최종 사용자 장치의 수직 위치를 확인할 수 있다.
컴퓨팅 시스템(100)은 하나의 장치 안에서, 입출 이벤트(238)에 대응하는 빌딩 구조(202)의 내부 맵(206)을 액세스하기 위한 하나 이상의 저장 인터페이스들, 하나 이상의 제어 인터페이스들, 또는 그 조합을 사용할 수 있다. 컴퓨팅 시스템(100)은 또한 하나 이상의 통신 회로, 하나 이상의 제어 회로, 또는 그 조합을 사용하여 내부 맵(206)을 송수신함으로써 장치들에 걸친 내부 맵(206)을 액세스할 수 있다.
컴퓨팅 시스템(100)은 환경 데이터를 판단할 수 있다(단계 724). 컴퓨팅 시스템(100)은 상술한 바와 같이, 도 2의 환경 측정치(228)나 도 2의 이동 측정치(234)를 포함하는 센서 데이터를 판단함으로써 환경 데이터를 결정할 수 있다. 컴퓨팅 시스템(100)은 진입 이벤트에 대한 판단(단계 714), 프로세스 트리거에 대한 판단(단계 722) 또는 그 조합에 대응하거나, 기반하거나, 이어지거나, 그에 대한 조합을 통해 단계 724를 구현하거나 실행할 수 있다.
컴퓨팅 시스템(100)은 상대적 높이를 산출할 수 있다(단계 726). 컴퓨팅 시스템(100)은 상술한 바와 같이 도 3의 상대적 고도(306)를 판단함으로써 상대적 높이를 산출할 수 있다. 컴퓨팅 시스템(100)은 단계 714에서 결정된 환경 데이터에 기반하여 상대적 고도(306)를 산출할 수 있다.
컴퓨팅 시스템(100)은 사용자의 수직 위치를 확인할 수 있다(단계 1104). 컴퓨팅 시스템(100)은 도 3의 사용자의 현재 플로어(308)를 판단함으로써 사용자의 수직 위치를 확인할 수 있다. 컴퓨팅 시스템(100)은 빌딩 구조(202)의 내부 맵(206) 안에서 층(210)을 나타내는 사용자의 현재 플로어(308)를 판단함으로써 빌딩 구조(202)로 진입하는 제1장치(102), 추가 장치(206), 또는 그 조합을 수직 위치확인할 수 있다.
컴퓨팅 시스템(100)은 최종 사용자 장치의 상대적 고도(306) 및 도 2의 수직 프로파일(208)을 포함하는 내부 맵(206)에 기반하여 사용자의 현재 플로어(308)를 판단할 수 있다. 예를 들어, 컴퓨팅 시스템(100)은 도 3의 상대적 층 고도(212), 도 3의 층 간격 프로파일(214), 또는 그 조합에 따라, 사용자의 현재 플로어(308)를 상대적 고도(306)에 매치되는 층(210)의 경우로서 판단할 수 있다.
컴퓨팅 시스템(100)은 도 6의 플로어 위치확인 모듈(610)을 이용하여 사용자의 수직 위치를 확인할 수 있다. 컴퓨팅 시스템(100)은 하나 이상의 제어 회로들을 더 사용하여 값들을 비교하고 사용자의 현재 플로어(308)를 판단할 수 있다.
컴퓨팅 시스템(100)은 데이터를 통신하거나 저장할 수 있다(단계 730). 컴퓨팅 시스템(100)은 상술한 바와 같이 다양한 데이터를 통신하거나 저장할 수 있다. 컴퓨팅 시스템(100)은 사용자의 현재 플로어(308)를 하나 이상의 제어 회로들 안에 더 저장할 수 있다. 컴퓨팅 시스템(100)은 또한, 장치들 간 사용자의 현재 플로어(308)를 송수신하기 위해 하나 이상의 통신 회로들을 사용할 수 있다.
컴퓨팅 시스템(100)은 프로세스 트리거를 판단할 수 있다(단계 722). 컴퓨팅 시스템(100)은 도 3의 수직 변화 트리거(330)에 대한 매치를 판단하거나, 도 3의 수직 이동 이벤트(332)를 판단하거나, 또는 그 조합을 통해 프로세스 트리거를 판단할 수 있다. 제어 플로우는 프로세스 트리거에 대한 판단에 기반하여 환경 데이터에 대한 판단 단계 724로 건너갈 수 있다.
컴퓨팅 시스템(100)은 나가기 이벤트를 더 판단할 수 있다(단계 720). 컴퓨팅 시스템(100)은 상술한 바와 같이 빌딩 구조(202)로부터 최종 사용자 장치의 나가기에 대응하는 입출 이벤트(238)를 판단함으로써 나가기 이벤트를 판단할 수 있다. 컴퓨팅 시스템(100)은 단계 722를 구현하거나 실행한 후, 또는 그 도중에 단계 720을 구현하거나 실행할 수 있다. 컴퓨팅 시스템(100)은 또한, 단계 710, 단계 706, 또는 그 조합 안에서 다른 세부 단계들과 동시에, 또는 병행하여 단계 720을 구현하거나 실행할 수 있다.
상대적 고도(306)에 기반하는 사용자의 현재 플로어(308)가 사용자의 수직 위치를 확인함에 있어 향상된 정확도를 제공한다는 것을 알게 되었다. 상대적 고도(306)가 사용되어, 사용자 장치를 정규화 및 매핑하고, 크라우드 소싱 메커니즘을 통해 시간에 관계없이 다양한 장치들을 이용할 수 있다.
도 2의 층 매핑 메커니즘(226)이나 수직 위치확인 메커니즘(302)과 같은 자율 메커니즘에 따른 내부 맵(206)을 기반으로 하는 사용자의 현재 플로어(308)가, 개선된 사용성 및 견고성을 제공한다는 것을 알게 되었다. 상대적 고도(306)의 사용은 도 1의 직접적인 사용자 입력(114)과 도 1의 구조적 기반 정보(116) 없이, 매핑 및 위치확인 프로세스들을 가능하게 한다.
컴퓨팅 시스템(100)은 사용자의 현재 플로어(308)를 이용하여 다양한 특성들을 제공한다. 예를 들어 컴퓨팅 시스템(100)은 사용자의 현재 플로어(308)에 대한 2차원 맵, 층 변화 접근 위치(216), 층 변화 유형(218), 또는 그 조합과 같은 플로어 고유의 정보를 액세스할 수 있다. 또한 예를 들면, 컴퓨팅 시스템(100)은 사용자의 현재 플로어(308)에 고유하거나 이용 가능한 추천안들이나 정보에 대한 통지나 통신문을 생성할 수 있다.
보다 구체적인 예로서, 컴퓨팅 시스템(100)은 긴급 상황을 위한 특정 경우의 층 변화 접근 위치(216)를 제공할 수 있다. 컴퓨팅 시스템(100)은 층 변화 유형(218)에 기반하여 대피에 적합한 층 변화 접근 위치(216)를 시스템 사용자(110)에게 통지할 수 있다. 또한, 보다 구체적인 예로서, 컴퓨팅 시스템(100)은 사용자의 현재 플로어(308), 그 위의 있는 시스템 사용자(110)의 수평 위치, 또는 그 조합 관련 긴급 서비스들을 통지할 수 있다.
보다 구체적인 예로서, 컴퓨팅 시스템(100)은 시스템 사용자(110)의 정황이나 상황에 기반하여 특정 경우의 층 변화 접근 위치(216)를 제공할 수 있다. 컴퓨팅 시스템(100)은 수직 경로(220)의 시스템 사용자(110)에게, 신체 활동을 늘리라거나 신체 활동 목표를 만족시키라거나, 시스템(110)이 하중을 부담하는 중이거나 물리적으로 손상된 경우 시스템 사용자(110)에게 엘리베이터(224)에 대해 알리라거나, 그 조합을 수행하라는 등의 제안을 할 수 있다.
이하에서 도 12를 참조하면, 또 다른 실시예에 따른 도 1의 컴퓨팅 시스템의 동작 방법(1200)에 대한 예시적 흐름도가 도시된다. 상기 예시적 흐름도(1200) 는 어떤 지리적 위치에 자리하는 빌딩 구조 안에서 측정된 상태들을 나타내는 환경 측정치들을 판단하는 동작(박스 1202); 및 제어 회로를 사용하여, 수직 방향을 따라 상기 빌딩 구조의 층을 매핑하기 위해 상기 환경 측정치들에 기반하여 맵을 생성하는 동작(박스 1204)을 포함한다.
사용자 장치의 도 3의 상대적 고도로부터의 물리적 변화 및 빌딩 구조(202)의 도 2의 내부 맵(206)이, 사용자 장치의 물리적 이동과 같은 물리적 세계에서의 이동을 초래한다. 물리적 세계에서의 이동은, 컴퓨팅 시스템(100)으로 피드백될 수 있고 상대적 고도(306), 내부 맵(206), 도 3의 사용자의 현재 플로어(308), 또는 그 조합을 조정할 수 있는 센서 데이터의 업데이트를 일으킨다.
이 명세서에 개시된 회로들, 유닛들, 기능들, 또는 그 조합은 도 4의 제1제어 회로(412), 도 4의 제2제어 회로(434), 도 5의 제3제어 회로(512), 또는 그 조합 내 수동 회로, 능동 회로, 또는 둘 모두를 포함하는 하드웨어 구성 또는 하드웨어 가속계들일 수 있다. 회로들, 유닛들, 기능들, 또는 그 조합은 또한, 도 1의 제1장치(102), 도 1의 제2장치(106), 도 1의 추가 장치(108), 또는 그 조합 내부의 제1제어 회로(412), 제2제어 회로(434), 제3제어 회로(512), 또는 그 조합 외부에 있는 수동 회로, 능동 회로, 또는 그 조합을 포함하는 하드웨어 구성 또는 하드웨어 가속계들일 수 있다.
컴퓨팅 시스템(100)은 예를 들어 회로들, 단계들, 기능들이나 순서를 통해 기술되었다. 컴퓨팅 시스템(100)은 회로들이나 단계들을 상이하게 구획할 수 있고, 또는 회로들이나 단계들의 순서를 상이하게 할 수 있다. 예를 들어 도 7의 단계 706나 그 일부가 도 7의 단계 710에 대해서는 별개로 중복될 수 있다. 또 예를 들면, 도 7의 단계 704가 도 7의 단계 702에 포함될 수도 있다.
예시적 목적으로 다양한 회로, 기능, 단계, 또는 그 조합이 제1장치(102), 제2장치(106), 추가 장치(108), 또는 그 조합에 고유한 것으로서 기술되었다. 그러나 회로, 기능, 단계, 또는 그 조합이 다르게 분포될 수 있다는 것을 알아야 한다. 예를 들어, 다양한 회로, 기능, 단계, 또는 그 조합이 다른 장치에서 구현될 수 있고, 또는 회로, 기능, 단계, 또는 그 조합의 기능성들이 여러 장치들에 걸쳐 분포될 수 있다. 또 예를 들면, 다양한 회로, 기능, 단계, 또는 그 조합이 비일시적인 메모리 매체에 저장될 수 있다.
보다 구체적인 예로서, 상술한 하나 이상의 기능, 단계, 또는 그 조합은 다른 시스템, 다른 장치, 다른 사용자, 또는 그 조합으로의 분포를 위해 비일시적 메모리 매체 안에 저장될 수 있다. 또한 보다 구체적인 예로서, 상술한 기능이나 단계들은 칩 또는 프로세서와 같은 단일 하드웨어 유닛이나 회로를 사용하거나, 다수의 하드웨어 유닛들이나 회로들에 걸쳐 구현되거나 저장될 수 있다.
이 출원서에 개시된 기능이나 단계들은 비일시적 컴퓨터 판독가능 매체 안에 저장될 수 있다. 도 4의 제1저장 회로(414), 도 4의 제2저장 회로(446), 도 5의 제3저장 회로(514), 또는 그 조합은 비일시적 컴퓨터 판독가능 매체를 나타낼 수 있다. 제1저장 회로(414), 제2저장 회로(446), 제3저장 회로(514), 또는 그 조합이나 그 일부는 제1장치(102), 제2장치(106), 추가 장치(108), 또는 그 조합에서 제거될 수 있다. 비일시적 컴퓨터 판독가능 매체의 예들은 비휘발성 메모리 카드나 스틱, 외장 하드 디스크 드라이브, 테이프 카세트, 또는 광 디스크일 수 있다.
그에 따른 방법, 프로세스, 장치, 기기, 제품 및/또는 시스템은 단순하고, 비용면에서 효율적이고, 복잡하지 않고, 매우 용도가 많고, 정확하고, 감각적이며 효과적이고, 준비된 효율적이고 경제적인 제조, 적용, 및 활용을 위해 기존의 구성요소들을 변형함으로써 구현될 수 있다. 본 발명의 실시예의 다른 중요한 양태는 그것이 비용 감소, 시스템 단순화, 및 성능 향상이라는 시대적 추세를 가치있게 지원하고 서비스한다는 것이다. 본 발명의 실시예의 이러한 것 및 기타 가치있는 양태들은 결과적으로 기술의 수준을 최소한 그 다음 수준으로 높이는 것이다.
본 발명은 특정한 최선의 실시예와 연계해 기술되었지만, 당업자라면 상기 내용에 비춰 여러 대안과 수정 및 변형이 있을 수 있다는 것을 잘 알 수 있을 것이다. 따라서, 그러한 치환, 수정 및 변형은 포함된 청구범위의 범위 안에 포함되는 것으로 간주된다. 첨부된 도면에서 보여지거나 여기 개시된 모든 사항들은 예시적이고 비한정적인 맥락으로 해석되어야 한다.

Claims (15)

  1. 지리적 위치(geographic location)에 위치하는 빌딩 구조에 대해 측정된 상태들을 나타내는 환경 측정치(environment measurements)들을 판단하고,
    서로 다른 날씨로 인한 장치 고도의 불일치를 제거하기 위하여, 상기 환경 측정치로부터 계산된 장치 고도를 정규화하고,
    상기 빌딩 구조의 층을 수직 방향을 따라 매핑하기 위해 상기 정규화된 장치 고도를 포함하는 환경 측정치들에 기반하여 맵을 생성하도록 구성된 제어 회로; 및
    상기 제어 회로와 연결되어, 상기 빌딩 구조를 나타내기 위한 맵을 저장하도록 구성된 저장 회로를 포함하는 컴퓨팅 시스템.
  2. 제1항에 있어서, 상기 제어 회로는
    상기 환경 측정치들에 기반하여, 빌딩 구조의 상기 층으로, 또는 상기 층으로부터의 수직 커넥션(vertical connection)을 제공하는 위치를 나타내기 위한 층 변화 접근 위치(tier-change access location)를 판단하고,
    상기 층 상에서의 상기 층 변화 접근 위치를 확인하기 위해 층 변화 접근 위치를 포함하는 맵을 생성하도록 구성되는 컴퓨팅 시스템.
  3. 제1항에 있어서, 상기 제어 회로는
    입출 고도(entry-exit altitude) 대비 상기 장치 고도(device altitude)에 대응하는 환경 측정치들을 나타내기 위한 상대적 고도들을 결정하고,
    상기 환경 측정치들을 나타내는 상기 상대적 고도들에 기반하여 상기 맵을 생성하도록 구성되는 컴퓨팅 시스템.
  4. 제1항에 있어서, 상기 제어 회로는
    교정 위치(calibration location)에 대해 상기 환경 측정치들을 교정하기 위해, 장치 조정 평가치(device adjustment measure)에 기반하여 상대적 고도들을 결정하고,
    상기 환경 측정치들을 나타내는 상기 상대적 고도들에 기반하여 상기 맵을 생성하도록 구성되는 컴퓨팅 시스템.
  5. 제1항에 있어서, 상기 제어 회로는
    상기 수직 방향을 따라 위치들을 나타내기 위해, 상기 환경 측정치들에 기반하여 상대적 수직 클러스터(relative vertical cluster)를 식별하고,
    상기 상대적 수직 클러스터에 기반하여 상기 층을 식별하며,
    상기 층의 매핑을 포함하는 상기 맵을 생성하도록 구성되는 컴퓨팅 시스템.
  6. ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서, 상기 제어 회로는
    수직 이동 이벤트에 이어 측정되는 압력 측정치, 이동 측정치, 또는 그 조합을 포함하는 상기 환경 측정치들을 나타내는 상대적 고도들의 수신에 기반하여 상기 환경 측정치들을 판단하고,
    직접적인 사용자 입력 및 구조적 기본 정보의 사용 없이, 자율 메커니즘을 이용하여 상기 상대적 고도들에 기반하는 상기 맵을 생성하도록 구성되는 컴퓨팅 시스템.
  7. ◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈
    제6항에 있어서, 상기 제어 회로는
    상기 환경 측정치들에 기반하여 층 변화 접근 위치(tier-change access location)에 대응하는 층 변화 유형(tier-change type)을 판단하되, 상기 층 변화 유형은 상기 빌딩 구조 안에서 수직 경로(vertical path), 에스컬레이터, 엘리베이터, 또는 그 조합을 나타내기 위한 것이고,
    상기 층 상에서의 상기 층 변화 접근 위치를 식별하기 위해, 상기 층 변화 접근 위치를 포함하는 맵을 생성하도록 구성되는 컴퓨팅 시스템.
  8. ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서, 상기 제어 회로는 상기 환경 측정치들을 소싱(sourcing)하는 제1장치 및 추가 장치에 걸친 상기 환경 측정치들을 정규화하기 위해 상대적 고도들을 결정하도록 구성되는 컴퓨팅 시스템.
  9. ◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서, 상기 제어 회로는 상이한 타임 스탬프들에 대응하는 환경 측정치들을 정규화하기 위해 상대적 고도들을 결정하도록 구성되는 컴퓨팅 시스템.
  10. 지리적 위치에 위치하는 빌딩 구조에 대해 측정된 상태들을 나타내는 환경 측정치들을 판단하는 단계;
    서로 다른 날씨로 인한 장치 고도의 불일치를 제거하기 위하여 상기 환경 측정치들로부터 계산된 장치 고도를 정규화하는 단계; 및
    상기 빌딩 구조의 층을 수직 방향을 따라 매핑하기 위해 제어 회로를 사용하여 상기 정규화된 장치 고도를 포함하는 환경 측청치에 기초한 맵을 생성하는 단계를 포함하는 컴퓨터 시스템 동작 방법.
  11. 제10항에 있어서,
    상기 환경 측정치들을 판단하는 단계는, 장치의 수직 이동 이벤트 검출에 기반하여 상기 환경 측정치들 중 하나 이상을 판단하는 단계를 포함하고,
    상기 빌딩 구조의 상기 맵을 사용하여 상기 수직 방향을 따라 상기 장치의 위치를 확인하기 위해, 상기 환경 측정치들 중 하나 이상을 정규화 하도록, 상기 장치로부터의 상기 환경 측정치들 중 하나 이상에 기반하여 상대적 고도를 산출하는 단계를 더 포함하는 컴퓨터 시스템 동작 방법.
  12. 제11항에 있어서,
    상기 장치를 사용하여 이동 측정치를 판단하는 단계;
    상기 장치의 상기 이동 측정치의 모니터링에 기반하여, 상기 장치의 저전력 회로(low-power circuit)를 이용해 수직 변화 트리거(vertical change trigger)를 검출하는 단계; 및
    상기 이동 측정치, 상기 장치로부터의 상기 환경 측정치들 중 하나 이상, 또는 그 조합을 이용하여, 상기 수직 변화 트리거에 따라 상기 장치의 고전력 회로(higher-powered circuit)를 사용해 상기 수직 이동 이벤트를 검출하는 단계를 더 포함하는 컴퓨터 시스템 동작 방법.
  13. 제11항에 있어서,
    상기 빌딩 구조의 외부에서 상기 장치를 위치 확인하기 위해 장치 위치를 판단하는 단계;
    상기 장치 위치에 기반하여 교정 위치를 식별하는 단계;
    상기 교정 위치 및 상기 장치 위치의 비교에 기반하여 교정 이벤트를 판단하는 단계를 더 포함하고,
    상기 환경 측정치들을 판단하는 단계는, 상기 장치로부터의 환경 측정치들과 관련된 장치 조정 평가치를 산출하기 위해, 상기 교정 이벤트에 기반하여 상기 장치로부터의 환경 측정치들 중 하나 이상을 판단하는 단계를 포함하는 컴퓨터 시스템 동작 방법.
  14. ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈
    제10항에 있어서,
    상기 빌딩 구조의 외부에서 장치 위치를 판단하고, 상기 장치 위치에 기반하여 입출 이벤트를 판단하는 단계를 더 포함하고,
    상기 환경 측정치들을 판단하는 단계는, 입출 고도를 산출하기 위해 상기 입출 이벤트에 기반하여 상기 환경 측정치들을 판단하는 단계를 포함하는 컴퓨터 시스템 동작 방법.
  15. 컴퓨팅 시스템의 제어 회로에 의해 실행될 수 있는 명령어들을 포함하는 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은
    지리적 위치에 위치하는 빌딩 구조에 대하여 측정된 상태들을 나타내는 환경 측정치들을 판단하는 것,
    서로 다른 날씨로 인한 장치 고도의 불일치를 제거하기 위하여 상기 환경 측정치로부터 계산된 장치 고도를 정규화하는 것, 및
    상기 빌딩 구조의 층을 수직 방향을 따라 매핑하기 위해 상기 정규화된 장치 고도를 포함하는 환경 측정치들에 기반하여 맵을 생성하는 것을 포함하는 비일시적 컴퓨터 판독가능 매체.
KR1020187017640A 2014-08-29 2016-06-03 구조의 수직 층 메커니즘을 가진 컴퓨팅 시스템 및 그 동작 방법 KR102655627B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462044113P 2014-08-29 2014-08-29
US14/983,349 US9726504B2 (en) 2014-08-29 2015-12-29 Computing system with structure vertical-tier mechanism and method of operation thereof
US14/983,349 2015-12-29
PCT/KR2016/005881 WO2017115945A1 (en) 2014-08-29 2016-06-03 Computing system with structure vertical-tier mechanism and method of operation thereof

Publications (2)

Publication Number Publication Date
KR20180089441A KR20180089441A (ko) 2018-08-08
KR102655627B1 true KR102655627B1 (ko) 2024-04-09

Family

ID=55402103

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020150117339A KR102399591B1 (ko) 2014-08-29 2015-08-20 관심 지역 및 입구의 위치를 결정하는 시스템
KR1020187017640A KR102655627B1 (ko) 2014-08-29 2016-06-03 구조의 수직 층 메커니즘을 가진 컴퓨팅 시스템 및 그 동작 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020150117339A KR102399591B1 (ko) 2014-08-29 2015-08-20 관심 지역 및 입구의 위치를 결정하는 시스템

Country Status (5)

Country Link
US (2) US9541404B2 (ko)
EP (2) EP3197217B1 (ko)
KR (2) KR102399591B1 (ko)
CN (2) CN106605123B (ko)
WO (2) WO2016032172A1 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160084658A1 (en) * 2014-09-24 2016-03-24 Qualcomm Incorporated Method and apparatus for trajectory crowd sourcing for updating map portal information
US10120381B2 (en) * 2015-03-13 2018-11-06 Nissan North America, Inc. Identifying significant locations based on vehicle probe data
US20170017928A1 (en) * 2015-07-15 2017-01-19 Microsoft Technology Licensing, Llc Inferring physical meeting location
US20170372223A1 (en) * 2016-06-24 2017-12-28 Intel Corporation Smart crowd-sourced automatic indoor discovery and mapping
US10051451B1 (en) * 2016-08-03 2018-08-14 West Corporation Location determination of a mobile device based on various parameters
US9992761B2 (en) * 2016-09-16 2018-06-05 Nextnav, Llc Systems and methods for transmitting information used to estimate a position of a mobile device
US10244345B2 (en) 2016-10-18 2019-03-26 International Business Machines Corporation Geographic location mapping using network signal strength
KR102612792B1 (ko) * 2016-10-28 2023-12-13 삼성전자주식회사 전자 장치 및 전자 장치의 관심 영역 진입 판단 방법
CN106455056B (zh) * 2016-11-14 2020-02-04 百度在线网络技术(北京)有限公司 定位方法和装置
US10172760B2 (en) * 2017-01-19 2019-01-08 Jennifer Hendrix Responsive route guidance and identification system
CN108668233B (zh) * 2017-03-31 2020-11-03 阿里巴巴(中国)有限公司 一种建筑物入口检测方法及***
CN108733715B (zh) * 2017-04-21 2022-02-01 北京嘀嘀无限科技发展有限公司 建筑物出入口位置的确定方法及装置
CN110741271B (zh) * 2017-06-20 2023-08-22 北京嘀嘀无限科技发展有限公司 用于定位建筑物出入口的***和方法
CN107289961A (zh) * 2017-07-18 2017-10-24 电子科技大学 一种基于分区和总结生成便于用户理解的导航信息的方法
KR20190059630A (ko) 2017-11-23 2019-05-31 주식회사 킨터치 터치와 마이크를 이용한 데이터 송수신 장치 및 방법
CN109668563B (zh) * 2017-10-16 2021-06-01 北京嘀嘀无限科技发展有限公司 基于室内的轨迹的处理方法及装置
CN109696166A (zh) * 2017-10-20 2019-04-30 北京搜狗科技发展有限公司 一种导航方法及装置
EP3711393B1 (en) * 2017-11-15 2022-06-15 Sony Group Corporation Terminal device, infrastructure equipment and methods
US10142777B1 (en) * 2018-05-10 2018-11-27 Zih Corp. Systems and methods for locating devices in venues
US10649537B2 (en) * 2018-05-14 2020-05-12 Here Global B.V. Mapping application for intuitive interaction
CN110488322B (zh) * 2018-05-15 2023-08-08 北京搜狗科技发展有限公司 一种停车场出入口识别方法及装置
EP3803270A1 (en) 2018-05-28 2021-04-14 HERE Global B.V. Multilevel altitude maps
US10602476B2 (en) * 2018-08-01 2020-03-24 Nextnav, Llc Systems and methods for determining an indoor or outdoor location of a mobile device
EP3645971B1 (en) * 2018-09-12 2024-02-14 Google LLC Map feature identification using motion data and surfel data
JP6846400B2 (ja) * 2018-11-29 2021-03-24 アスクル株式会社 建物入口特定システム
EP3693699B1 (en) 2019-02-05 2021-12-22 HERE Global B.V. Determining of absolute altitudes of floors of a structure
GB2588572B (en) * 2019-03-20 2024-01-10 Navenio Ltd Transition Detection
CN111751860B (zh) * 2019-05-31 2023-01-24 广东小天才科技有限公司 一种楼栋位置的确定方法及终端设备
CN110274610B (zh) * 2019-06-18 2021-04-06 北京百度网讯科技有限公司 一种导航线的检测方法、装置、电子设备及存储介质
CN110609281B (zh) * 2019-08-23 2021-08-17 珠海格力电器股份有限公司 一种区域检测方法及装置
CN111757284B (zh) * 2019-08-28 2022-07-08 广东小天才科技有限公司 一种室内入口定位方法及电子设备
CN111751861B (zh) * 2019-09-10 2023-01-24 广东小天才科技有限公司 一种建筑物入口的检测方法及移动终端
CN111751850B (zh) * 2019-09-10 2023-01-24 广东小天才科技有限公司 一种基于机器学习的建筑物入口检测方法及移动终端
CN111753864B (zh) * 2019-11-22 2024-04-19 广东小天才科技有限公司 一种适用于楼栋间的定位方法及可穿戴设备
CN111405483B (zh) * 2020-03-10 2021-07-30 腾讯科技(深圳)有限公司 行程轨迹生成方法、装置、电子设备及存储介质
CN111679304B (zh) * 2020-05-20 2023-05-16 广州小鹏自动驾驶科技有限公司 一种出入口位置的确定方法、更新方法及其装置
CN111966769B (zh) * 2020-07-14 2024-01-02 北京城市象限科技有限公司 基于生活圈的信息推荐方法、装置、设备和介质
CN113124857B (zh) * 2021-06-17 2021-10-01 腾讯科技(深圳)有限公司 一种出入口位置的确定方法、相关装置、设备及存储介质
CN113359862B (zh) * 2021-07-28 2023-05-16 北京理工大学 一种无人机进入封闭环境的控制方法及装置
US11733391B2 (en) 2021-12-21 2023-08-22 Here Global B.V. Entrance detection based on GNSS state change data
US20240045073A1 (en) * 2022-08-04 2024-02-08 Qualcomm Incorporated Enhanced navigation mode with location detection and map layer switching
CN117539971B (zh) * 2024-01-10 2024-04-26 深圳市易甲文技术有限公司 一种海量地理坐标聚合方法及相关设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130297198A1 (en) * 2010-12-20 2013-11-07 Tomtom Belgium N.V. Method for generating map data
US20140114567A1 (en) * 2012-10-18 2014-04-24 Research In Motion Limited Generating an elevation model using mobile devices

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE185006T1 (de) 1996-03-06 1999-10-15 Gmd Gmbh Autonomes mobiles robotersystem für sensor- und kartengestützte navigation in einem leitungsnetzwerk
US7764231B1 (en) * 1996-09-09 2010-07-27 Tracbeam Llc Wireless location using multiple mobile station location techniques
US6236365B1 (en) * 1996-09-09 2001-05-22 Tracbeam, Llc Location of a mobile station using a plurality of commercial wireless infrastructures
US6446030B1 (en) * 1998-01-24 2002-09-03 Quantapoint, Inc. Method and apparatus for establishing the layout of a building
US7009643B2 (en) 2002-03-15 2006-03-07 Canon Kabushiki Kaisha Automatic determination of image storage location
US7162368B2 (en) 2004-11-09 2007-01-09 Honeywell International Inc. Barometric floor level indicator
EP1867951B1 (en) * 2005-03-28 2014-03-19 Asahi Kasei EMD Corporation Traveling direction measuring apparatus and traveling direction measuring method
US8836580B2 (en) 2005-05-09 2014-09-16 Ehud Mendelson RF proximity tags providing indoor and outdoor navigation and method of use
KR100679045B1 (ko) 2005-06-15 2007-02-05 삼성전자주식회사 이동 통신 단말기 사용자의 관심 지점을 결정하는 방법 및 이를 이용한 지리 정보 제공 장치
US8670925B2 (en) 2005-06-21 2014-03-11 Calabrese Holdings L.L.C. Navigation system and method
US7831660B2 (en) 2006-03-02 2010-11-09 Mtome Co., Ltd. System and method for contents upload using a mobile terminal
CN101389928B (zh) 2006-03-15 2015-05-13 高通股份有限公司 用于基于用户路线来确定相关关注点信息的方法和设备
WO2008108788A2 (en) * 2006-05-31 2008-09-12 Trx Systems, Inc. Method and system for locating and monitoring first responders
US9137629B2 (en) 2006-08-31 2015-09-15 Qualcomm Incorporated Apparatus and methods for providing location-based services to a mobile computing device having a dual processor architecture
US7958104B2 (en) 2007-03-08 2011-06-07 O'donnell Shawn C Context based data searching
US20080270880A1 (en) 2007-04-19 2008-10-30 Lynne Becker System and method for memoralizing predetermined events
US8751151B2 (en) * 2012-06-12 2014-06-10 Trx Systems, Inc. System and method for localizing a trackee at a location and mapping the location using inertial sensor information
US9733091B2 (en) 2007-05-31 2017-08-15 Trx Systems, Inc. Collaborative creation of indoor maps
SG183690A1 (en) * 2007-08-06 2012-09-27 Trx Systems Inc Locating, tracking, and/or monitoring personnel and/or assets both indoors and outdoors
US8680019B2 (en) * 2007-08-10 2014-03-25 Protelica, Inc. Universal fibronectin Type III binding-domain libraries
CN101493510B (zh) * 2008-01-21 2011-08-24 英华达(上海)科技有限公司 室内定位***及方法
CH699096A2 (fr) 2008-07-08 2010-01-15 Gilles Rooss Systeme de geolocalisation adaptatif pilote par l'environnement.
KR101017479B1 (ko) 2008-12-01 2011-02-25 주식회사 케이티 위치기반 서비스에서 관심지점 정보 제공 방법 및 장치
US20100198917A1 (en) 2009-02-02 2010-08-05 Kota Enterprises, Llc Crowd formation for mobile device users
US20120141023A1 (en) 2009-03-18 2012-06-07 Wang Wiley H Smart photo story creation
US8812015B2 (en) 2009-10-01 2014-08-19 Qualcomm Incorporated Mobile device locating in conjunction with localized environments
US8756010B2 (en) * 2009-10-12 2014-06-17 Qualcomm Incorporated Method and apparatus for identification of points of interest within a predefined area
US8543143B2 (en) 2009-12-23 2013-09-24 Nokia Corporation Method and apparatus for grouping points-of-interest according to area names
US8479107B2 (en) 2009-12-31 2013-07-02 Nokia Corporation Method and apparatus for fluid graphical user interface
US9389085B2 (en) 2010-01-22 2016-07-12 Qualcomm Incorporated Map handling for location based services in conjunction with localized environments
US20110208822A1 (en) * 2010-02-22 2011-08-25 Yogesh Chunilal Rathod Method and system for customized, contextual, dynamic and unified communication, zero click advertisement and prospective customers search engine
JP5471626B2 (ja) 2010-03-09 2014-04-16 ソニー株式会社 情報処理装置、マップ更新方法、プログラム及び情報処理システム
US9767137B2 (en) 2010-04-26 2017-09-19 Apple Inc. Method and system for distributed data verification
US9002535B2 (en) * 2010-05-11 2015-04-07 Irobot Corporation Navigation portals for a remote vehicle control user interface
US8260539B2 (en) * 2010-05-12 2012-09-04 GM Global Technology Operations LLC Object and vehicle detection and tracking using 3-D laser rangefinder
US20110285591A1 (en) 2010-05-19 2011-11-24 Palm, Inc. Correlating contextual data and position data to improve location based services
US10049455B2 (en) 2010-05-19 2018-08-14 Nokia Technologies Oy Physically-constrained radiomaps
EP2572543A4 (en) 2010-05-19 2017-03-29 Nokia Technologies Oy Extended fingerprint generation
EP2572542A4 (en) 2010-05-19 2017-01-04 Nokia Technologies Oy Crowd-sourced vision and sensor-surveyed mapping
US20110313779A1 (en) 2010-06-17 2011-12-22 Microsoft Corporation Augmentation and correction of location based data through user feedback
KR101429954B1 (ko) * 2010-06-25 2014-08-14 에스케이텔레콤 주식회사 인빌딩 전파 환경 맵 생성 방법과 그를 위한 장치
US8892118B2 (en) 2010-07-23 2014-11-18 Qualcomm Incorporated Methods and apparatuses for use in providing position assistance data to mobile stations
US9234965B2 (en) * 2010-09-17 2016-01-12 Qualcomm Incorporated Indoor positioning using pressure sensors
US8762101B2 (en) * 2010-09-30 2014-06-24 Fitbit, Inc. Methods and systems for identification of event data having combined activity and location information of portable monitoring devices
US10983945B2 (en) * 2010-09-30 2021-04-20 Fitbit, Inc. Method of data synthesis
US9167991B2 (en) * 2010-09-30 2015-10-27 Fitbit, Inc. Portable monitoring devices and methods of operating same
US8699773B2 (en) * 2010-10-21 2014-04-15 Beth Israel Deaconess Medical Center Method for image reconstruction using low-dimensional-structure self-learning and thresholding
US20120102164A1 (en) 2010-10-21 2012-04-26 International Business Machines Corporation Deployment of location based applications with crowdsourced structured points of input for data entry
US10169017B2 (en) 2010-10-21 2019-01-01 International Business Machines Corporation Crowdsourcing location based applications and structured data for location based applications
US8676623B2 (en) 2010-11-18 2014-03-18 Navteq B.V. Building directory aided navigation
US8930123B2 (en) 2010-11-19 2015-01-06 International Business Machines Corporation Systems and methods for determining traffic intensity using information obtained through crowdsourcing
US20120173204A1 (en) 2010-12-30 2012-07-05 Honeywell International Inc. Building map generation using location and tracking data
KR101969930B1 (ko) 2011-01-07 2019-04-18 삼성전자주식회사 컨텐트 수집 방법 및 그 장치
US9341720B2 (en) 2011-01-11 2016-05-17 Qualcomm Incorporated Camera-based position location and navigation based on image processing
US8577389B2 (en) 2011-01-18 2013-11-05 Microsoft Corporation Filtering and clustering crowd-sourced data for determining beacon positions
US20120185458A1 (en) 2011-01-18 2012-07-19 Microsoft Corporation Clustering crowd-sourced data to identify event beacons
US8542637B2 (en) 2011-01-18 2013-09-24 Microsoft Corporation Clustering crowd-sourced data for determining beacon positions
JP5246286B2 (ja) 2011-03-15 2013-07-24 カシオ計算機株式会社 画像記録装置、画像記録方法及びプログラム
US8320939B1 (en) 2011-04-21 2012-11-27 Google Inc. Crowd-sourced information for interior localization and navigation
US8856121B1 (en) 2011-04-28 2014-10-07 Adobe Systems Incorporated Event based metadata synthesis
US8918463B2 (en) 2011-04-29 2014-12-23 Facebook, Inc. Automated event tagging
US8583400B2 (en) 2011-05-13 2013-11-12 Google Inc. Indoor localization of mobile devices
US8811748B2 (en) 2011-05-20 2014-08-19 Autodesk, Inc. Collaborative feature extraction system for three dimensional datasets
US20120303556A1 (en) 2011-05-27 2012-11-29 Microsoft Corporation Comparison of modeling and inference methods at multiple spatial resolutions
US8548738B1 (en) 2011-07-08 2013-10-01 Google Inc. Constructing paths based on a particle model
US8559975B2 (en) 2011-07-22 2013-10-15 Microsoft Corporation Location determination based on weighted received signal strengths
KR101668784B1 (ko) 2011-09-23 2016-10-24 퀄컴 인코포레이티드 근접 핑거프린트들을 통한 포지션 추정
US20130084882A1 (en) 2011-09-30 2013-04-04 Qualcomm Incorporated Becoming more "aware" through use of crowdsourcing and device interaction
US8472980B2 (en) 2011-10-01 2013-06-25 Qualcomm Incorporated Flexible architecture for location based crowdsourcing of contextual data
US20130262479A1 (en) * 2011-10-08 2013-10-03 Alohar Mobile Inc. Points of interest (poi) ranking based on mobile user related data
US9178833B2 (en) * 2011-10-25 2015-11-03 Nicira, Inc. Chassis controller
US9349147B2 (en) * 2011-11-01 2016-05-24 Google Inc. Displaying content items related to a social network group on a map
KR102087452B1 (ko) 2011-11-02 2020-03-11 샤이 론넨 위치지문맵의 생성 및 이용
US8626198B2 (en) 2011-11-16 2014-01-07 Qualcomm Incorporated Characterizing an indoor structure based on detected movements and/or position locations of a mobile device
CN103118427B (zh) 2011-11-16 2015-01-07 北京百度网讯科技有限公司 基于位置预取的定位方法及***
KR20130063915A (ko) 2011-12-07 2013-06-17 한국전자통신연구원 실내 측위를 위한 경로 추정 방법 및 그 장치
US9261370B2 (en) 2011-12-28 2016-02-16 Intel Corporation Provision of navigation service including reporting of elevation information and/or vertical guidance
WO2013100287A1 (ko) 2011-12-29 2013-07-04 Song Ha Yoon 데이터처리방법, 데이터처리장치, 데이터수집방법, 및 정보제공방법
EP2817785B1 (en) 2012-02-23 2019-05-15 Charles D. Huston System and method for creating an environment and for sharing a location based experience in an environment
US9052203B2 (en) 2012-03-17 2015-06-09 Mcube, Inc. Methods and apparatus for low-cost inertial dead-reckoning using context detection
US20130267251A1 (en) 2012-04-10 2013-10-10 Qualcomm Incorporated Personalized position using information correlation and self-sourcing
JP2013231634A (ja) 2012-04-27 2013-11-14 Hitachi Consumer Electronics Co Ltd 位置情報提供システム、ナビゲーションシステム、及び端末装置
US9494432B2 (en) 2012-06-19 2016-11-15 Qualcomm Incorporated Collaborative navigation techniques for mobile devices
US9439041B2 (en) 2012-06-29 2016-09-06 Lighthouse Signal Systems, Llc Systems and methods for calibration based indoor geolocation
KR101366015B1 (ko) 2012-07-06 2014-02-24 한국전자통신연구원 고도 측정이 가능한 휴대 단말 및 이를 이용한 고도 측정 방법
CN102821464B (zh) * 2012-08-13 2015-08-19 北京邮电大学 一种室内楼层定位方法及装置
WO2014026338A1 (en) 2012-08-15 2014-02-20 Google Inc. Crowd-sourcing indoor locations
US8934884B2 (en) 2012-09-21 2015-01-13 SenionLab AB Method and device for indoor position resolution
US9338622B2 (en) 2012-10-04 2016-05-10 Bernt Erik Bjontegard Contextually intelligent communication systems and processes
CN102880719A (zh) * 2012-10-16 2013-01-16 四川大学 基于位置社交网络的用户轨迹相似性挖掘方法
KR101382331B1 (ko) * 2012-10-30 2014-04-08 현대자동차 주식회사 클러스터의 음성 재생 장치
US9678660B2 (en) 2012-11-05 2017-06-13 Nokia Technologies Oy Method and apparatus for conveying efficient map panning over a mapping user interface
US9730029B2 (en) * 2012-11-08 2017-08-08 Duke University Unsupervised indoor localization and heading directions estimation
US10115202B2 (en) * 2012-12-27 2018-10-30 Arria Data2Text Limited Method and apparatus for motion detection
US20140188537A1 (en) 2013-01-02 2014-07-03 Primordial System and method for crowdsourcing map production
US9135569B2 (en) * 2013-02-01 2015-09-15 Telenav, Inc. Navigation system with anomaly detection mechanism and method of operation thereof
KR20140099386A (ko) 2013-02-01 2014-08-12 한국전자통신연구원 모바일 단말과 전자해도 서버 및 그의 크라우드소싱 기반의 전자해도 갱신 방법
US9164844B2 (en) 2013-03-12 2015-10-20 Qualcomm Incorporated Method and apparatus for detecting anomalies within indoor information
CN103605362B (zh) * 2013-09-11 2016-03-02 天津工业大学 基于车辆轨迹多特征的运动模式学习及异常检测方法
US9271117B2 (en) * 2013-09-27 2016-02-23 Samsung Electronics Co., Ltd. Computing system with configuration update mechanism and method of operation thereof
KR102196937B1 (ko) 2013-10-30 2020-12-31 삼성전자주식회사 건물 내 사용자의 위치 추정방법 및 그 장치
CN103593430B (zh) * 2013-11-11 2017-03-22 胡宝清 一种基于移动对象时空信息轨迹分段聚类的方法
KR20150076796A (ko) 2013-12-27 2015-07-07 한국전자통신연구원 입체적 실내경로 제공 장치, 시스템 및 그 방법
US9970757B2 (en) 2014-01-08 2018-05-15 Qualcomm Incorporated Method and apparatus for positioning with always on barometer
US10466056B2 (en) 2014-04-25 2019-11-05 Samsung Electronics Co., Ltd. Trajectory matching using ambient signals
US9863773B2 (en) 2014-04-29 2018-01-09 Samsung Electronics Co., Ltd. Indoor global positioning system
FR3022622B1 (fr) * 2014-06-18 2016-07-29 Commissariat Energie Atomique Procede de localisation d'un appareil qui est deplace a l'interieur d'un espace tridimentionnel
US10599953B2 (en) * 2014-08-27 2020-03-24 Verint Americas Inc. Method and system for generating and correcting classification models

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130297198A1 (en) * 2010-12-20 2013-11-07 Tomtom Belgium N.V. Method for generating map data
US20140114567A1 (en) * 2012-10-18 2014-04-24 Research In Motion Limited Generating an elevation model using mobile devices

Also Published As

Publication number Publication date
EP3197217A1 (en) 2017-07-26
CN108140052A (zh) 2018-06-08
KR20180089441A (ko) 2018-08-08
US20170184405A1 (en) 2017-06-29
CN106605123B (zh) 2021-01-12
US9726504B2 (en) 2017-08-08
WO2016032172A1 (ko) 2016-03-03
KR20160026707A (ko) 2016-03-09
WO2017115945A1 (en) 2017-07-06
EP3197217A4 (en) 2018-07-18
US9541404B2 (en) 2017-01-10
KR102399591B1 (ko) 2022-05-19
EP3335134A1 (en) 2018-06-20
CN106605123A (zh) 2017-04-26
CN108140052B (zh) 2022-04-12
US20160061607A1 (en) 2016-03-03
EP3335134A4 (en) 2018-09-19
EP3197217B1 (en) 2021-10-06

Similar Documents

Publication Publication Date Title
KR102655627B1 (ko) 구조의 수직 층 메커니즘을 가진 컴퓨팅 시스템 및 그 동작 방법
US11262213B2 (en) Decomposition of error components between angular, forward, and sideways errors in estimated positions of a computing device
US10719983B2 (en) Three dimensional map generation based on crowdsourced positioning readings
US10318670B2 (en) Venue-based real-time crowd modeling and forecasting
US9335175B2 (en) Crowd-sourcing indoor locations
JP6783751B2 (ja) 地図情報支援の質を高められたポータブルナビゲーションを使用する方法および装置
US9998877B2 (en) Pathway matching
US9066207B2 (en) Managing states of location determination
US8849308B2 (en) Tiling of map data
US11582576B2 (en) Feature-based slam
US9936342B2 (en) Floor level determination
US20160245716A1 (en) Opportunistic calibration of a barometer in a mobile device
US20140171114A1 (en) Location determination using fingerprint data
US9361889B2 (en) Landmark based positioning with verbal input
US9288630B2 (en) Method and apparatus for providing positioning services using multi-spacing clustering
Kessel et al. Automated WLAN calibration with a backtracking particle filter

Legal Events

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