KR20140124834A - 로케이션 정보에 기초한 저 전력 프로세싱을 위한 시스템 및 방법 - Google Patents

로케이션 정보에 기초한 저 전력 프로세싱을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20140124834A
KR20140124834A KR1020147025265A KR20147025265A KR20140124834A KR 20140124834 A KR20140124834 A KR 20140124834A KR 1020147025265 A KR1020147025265 A KR 1020147025265A KR 20147025265 A KR20147025265 A KR 20147025265A KR 20140124834 A KR20140124834 A KR 20140124834A
Authority
KR
South Korea
Prior art keywords
location
computing device
mobile computing
processor
location information
Prior art date
Application number
KR1020147025265A
Other languages
English (en)
Other versions
KR101644355B1 (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 KR20140124834A publication Critical patent/KR20140124834A/ko
Application granted granted Critical
Publication of KR101644355B1 publication Critical patent/KR101644355B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3246Power saving characterised by the action undertaken by software initiated power-off
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • 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
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0251Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
    • H04W52/0254Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity detecting a user operation or a tactile contact or a motion of the device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72457User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

서비스들 및 기능들을 컴퓨팅 디바이스의 메인 호스트 중앙 프로세싱 유닛(CPU)으로부터 전용된 전력-효율적 오프로드 엔진으로 오프로딩하여서 이 디바이스의 배터리 수명을 늘리고 개선된 특징부 세트를 가능하게 하는 시스템들, 방법들 및 컴퓨터-판독가능한 매체를 제공한다.

Description

로케이션 정보에 기초한 저 전력 프로세싱을 위한 시스템 및 방법{SYSTEMS AND METHODS FOR LOW POWER PROCESSING BASED ON LOCATION INFORMATION}
본 개시의 실시예들은 전반적으로 디바이스 서비스들의 프로세싱 및 기능을 저 전력 소비량을 갖는 컴포넌트로 오프로딩하는(offloading) 것과 관련된 전력 절감 기법들에 관한 것이며, 특히 로케이션-기반(location-based) 서비스들 및 기능들의 오프로딩에 관한 것이다.
모바일 컴퓨팅 디바이스들의 사용 및 기능이 확장됨에 따라서, 이러한 디바이스들의 전력 소비량을 줄이는 해법들에 대한 요구들도 역시 증가하였다. 모바일 컴퓨팅 디바이스들 상에서 실행되는 애플리케이션들의 개수 및 복잡성이 커짐에 따라서 이러한 애플리케이션들에 의한 프로세싱 리소스들에 대한 요구도 증가하였다. 특히, 연속적 로케이션 기능, 로케이션-기반 트리거링 기능 및 컨텍스트 인식 컴퓨팅 기능을 제공하는 애플리케이션들은, 상당한 수의 프로세스 리소스들이 데이터를 요청, 수신 및 프로세싱할 것을 요구하며, 이로써 전력 소비량이 증가하고 배터리 수명이 짧아진다.
도 1은 본 개시의 하나 이상의 실시예에 따른, 로케이션-기반 서비스들 및 기능들을 오프로딩하기 위한 예시적인 시스템의 개략도이다.
도 2는 본 개시의 하나 이상의 실시예에 따른, 로케이션-기반 서비스들 및 기능들을 오프로딩하기 위한 예시적인 시스템의 컴포넌트들을 도시하는 블록도이다.
도 3은 본 개시의 하나 이상의 실시예에 따른, 도 1에서 기술된 시스템의 하나 이상의 컴포넌트들 사용에 의해서 구현되는 일 방법을 예시하는 흐름도이다.
도 4는 본 개시의 하나 이상의 실시예에 따른, 도 1에서 기술된 시스템의 하나 이상의 컴포넌트들 사용에 의해서 구현되는 일 방법을 예시하는 흐름도이다.
본 개시의 실시예들은 첨부 도면들을 참조하여서 이하에서 보다 상세하게 기술된다. 그러나, 본 명세서에서 명시적으로 제시되지 않은 다른 실시예들도 또한 본 개시의 범위 내에 있으며, 본 개시는 본 명세서에서 명시적으로 제시된 실시예들로만 한정되는 것으로 해석되지 말아야 한다. 이보다는, 본 명세서에서 개시되는 실시예들은 그 성질상 예시적이며 본 개시의 대체적 범위가 본 기술 분야의 당업자에게 이해되도록 제공된다. 본 개시에 걸쳐서 유사한 참조 부호들은 유사한 요소들을 나타낸다.
본 개시의 실시예들은 서비스들 및 기능들을 메인 호스트 컴퓨팅 디바이스의 중앙 프로세싱 유닛(CPU)으로부터 전용된 전력-효율적 오프로드 엔진으로 오프로딩하여서 이 디바이스의 배터리 수명을 늘리고 개선된 특징부 세트를 가능하게 하는 시스템들, 방법들 및 컴퓨터-판독가능한 매체를 제공한다. 본 개시의 실시예들에 따라서 오프로딩될 수 있는 서비스들 및 기능들 중에는 연속적 로케이션 서비스 및 기능, 로케이션-기반 트리거링 서비스 및 기능, 및 컨텍스트 인식 컴퓨팅 서비스 및 기능들이 있으며, 이로써 하나 이상의 로케이션 포지셔닝(location positioning)기법들 또는 시스템들에 기초하여서 로케이션 정보의 간단하면서 효율적인 생성을 가능하게 하며, 이러한 로케이션 포지셔닝 기법들 또는 시스템들은 다음으로 한정되지 않지만 GPS(Global Positioning System), GLONASS System, Compass Navigation System, Galileo Positioning System, Indian Regional Navigational System, 또는 다른 지역적 네비게이션 시스템들과 같은 현존하는 또는 계획된 GNSS(Global Navigation Satellite Systems), 다음으로 한정되지 않지만 WWAN(wireless wide area network), WLAN(wireless local area network), 또는 WPAN(wireless personal area network)를 포함하는 무선 지오-로케이션 기반 시스템들(wireless geo-location based systems), 로컬 또는 원격 센서-기반 시스템들, 오디오 또는 시각적-기반 기법들 및 시스템들, 서버-기반 시스템들 또는 기법들 또는 로케이션 기점 디바이스(location origin device)에 의해서 지원되는 임의의 다른 포지셔닝 기법들 또는 이들의 조합을 포함한다. 위에서 언급된 기법들 중 몇몇은 위치/로케이션 정보를 계산하기 위해서 주변 송신기들의 로케이션들, 액세스 포인트들, 또는 인공위성들과 같은 외부 정보를 사용하는 반면에, 다른 기법들은 삼각측량 기능들을 실현하도록 관련 송신기들 또는 다른 측정가능한 앵커들(anchors)의 로케이션들을 저장하는 로케이션 데이터베이스들 또는 서버들과의 접속을 요구한다. 로케이션-기반 서비스들 및 기능들을 오프로딩하는 것과 관련된 본 개시의 실시예들은 오프로딩 엔티티들을 로케이션 정보를 저장하는 서버들로 효율적으로 접속시키는 것을 지원하며 이 정보의 적어도 일부를 오프로딩 엔티티들 내로 전달하는 것을 가능하게 한다.
로케이션 정보, 로케이션-기반 계산, 또는 로케이션 서비스들 및 기능들의 전부 또는 일부는 일반적으로 다음으로 한정되지 않지만 맵핑, 네비게이션, 랜드마크(예를 들어서, 관심 지역(POI)), 송신기 로케이션, 로케이션 요청, 환경/컨텍스트 인식, 디바이스 또는 네트워크에서 종결된 로케이션 트리거된 이벤트(들), 웹 기반 애플리케이션 및 모바일 네트워크 오퍼레이터 서비스를 포함하는 로케이션 엔진으로 오프로딩될 수 있으며, 이로써 로케이션 특징부들의 상위세트 및 베이스라인(baseline) 로케이션 운영 기능들의 세트의 생성을 가능하게 한다.
본 개시의 예시적인 실시예들이 첨부 도면들을 참조하여서 이제 기술될 것이다.
본 명세서에서 사용되는 바와 같이, 용어 "디바이스" 또는 "컴퓨팅 디바이스"는 컴퓨터-판독가능한 인스트럭션들, 컴퓨터-구현되는 인스트럭션들, 또는 컴퓨터 실행가능한 인스트럭션들을 실행하도록 구성될 수는 있는 하나 이상의 프로세서들을 포함하는 임의의 컴퓨팅 컴포넌트를 지칭할 수 있다. 예시적인 디바이스는 개인용 컴퓨터, 서버 컴퓨터, 서버 팜, 디지털 보조장치, 스마트 폰, 개인용 디지털 보조장치, 디지털 태블릿, 인터넷 어플라이언스, 애플리케이션-특정 회로, 마이크로제어기, 미니컴퓨터, 송수신기, 또는 셋탑 박스, 키오스크, 또는 다른 프로세서-기반 디바이스들과 같은 CPE(customer premise equipment)를 포함할 수 있다. 다양한 디바이스들과 연관된 하나 이상의 프로세서들에 의한 적합한 컴퓨터-구현되는 인스트럭션의 실행은 본 명세서에서 기술되는 바와 같은 소프트웨어의 최적화된 구성을 용이하게 할 수 있는 특정 목적용 컴퓨터 또는 다른 특정 머신들을 형성할 수도 있다.
실시예들은 본 명세서에서 기술되는 프로세스들 또는 방법들을 수행하기 위해서 컴퓨터(또는 다른 전자적 디바이스)를 프로그래밍하는데 사용될 수 있는 인스트럭션들을(압축된 또는 압축되지 않은 형태로)그 상에 저장한 비일시적 머신-판독가능한 저장 매체를 포함하는 컴퓨터 프로그램 제품으로서 제공될 수 있다. 머신 판독가능한 저장 매체는 다음으로 한정되지 않지만 하드 드라이브, 플로피 디스켓, 광학 디스크, CD-ROM, DVD, ROM(read only memory), RAM(random access memory), EPROM, EEPROM, 플래시 메모리, 자기 또는 광학 카드, 고체상 메모리 디바이스, 또는 전자적 인스트럭션들을 저장하기 적합한 다른 타입들의 매체/머신-판독가능한 매체를 포함할 수 있다. 또한, 실시예들은 (압축된 형태 또는 비압축된 형태로) 일시적 머신-판독가능한 신호를 포함하는 컴퓨터 프로그램 제품으로서 제공될 수도 있다. 캐리어를 사용하여서 변조 여부와 상관없이, 머신 판독가능한 신호들의 예시는 다음으로 한정되지 않지만, 컴퓨터 프로그램을 호스팅하거나 실행하는 컴퓨터 시스템 또는 머신이 액세스하도록 구성된 신호를 포함하며, 이러한 신호는 인터넷 또는 다른 네트워크를 통해서 다운로드된 신호를 포함한다. 예를 들어서, 소프트웨어의 배포는 인터넷을 통해서 다운로드될 수도 있다.
도 1은 네트워크(102)를 통해서 서로 전기적으로 통신하는 모바일 컴퓨팅 디바이스(118) 및 하나 이상의 로케이션 서버들(104)을 포함하는 대표적인 환경(100)을 예시한다. 개략적으로(at high level), 모바일 컴퓨팅 디바이스(118)는 운영 체제 영역부(122) 및 오프로딩 영역부(138)로 구성될 수 있다. 일 실시예에서, 운영 체제 영역부(122)는 컴퓨팅 디바이스와 연관된 다수의 동작성 기능들(예를 들어서, 프로세싱, 메모리, 통신)을 포함할 수 있다. 오프로딩 영역부(138)는 운영 체제 영역부(122)와 독립적으로 또는 이와 함께 수행될 수 있는 추가적 동작성 기능들을 포함할 수 있다. 일 측면에서, 오프로딩 영역부(138)는 운영 체제 영역부에 의해서 제공된 모든 역량들을 요구하지 않을 수 있는 특정 기능을 수행할 수 있다. 이로써, 오프로딩 영역부(138)는 운영 체제 영역부(122)에 의해서 사용되는 보다 작은 양의 컴퓨팅 디바이스의 리소스들 또는 보다 역량이 작은 리소스들을 사용하여서 이러한 기능들을 수행할 수 있다. 일 실시예에서, 모바일 컴퓨팅 디바이스(118)는 운영 체제 영역부(122)내의 컴포넌트들을 사용하지 않고서 모바일 컴퓨팅 디바이스(118)의 로케이션을 결정하는데 오프로딩 영역부(138)를 사용할 수 있다. 다른 실시예들에서, 모바일 컴퓨팅 디바이스(118)에 의해서 수행되는 다른 기능들은 오프로딩 영역부 내에서 포함될 수도 있다.
운영 체제 영역부(122)는 하드웨어, 소프트웨어, 또는 이들의 조합을 사용하여서 구현될 수 있으며, 호스트 프로세서(124), 메모리(126), 입출력(I/O)디바이스들(128), 통신 접속부(130), 데이터 저장부(132), 로케이션 통신 모듈(134) 및 로케이션 기점 모듈(136)을 포함할 수 있다.
모바일 컴퓨팅 디바이스(118)는 하나 이상의 메모리(126) 및 다양한 다른 컴포넌트들 또는 디바이스들과 통신하게 구성된 하나 이상의 호스트 프로세서들(124)를 포함할 수 있다. 예를 들어서, 예시적인 모바일 컴퓨팅 디바이스(118)는 하나 이상의 메모리 또는 메모리 디바이스들(126), 하나 이상의 입출력(I/O) 디바이스들(128), 하나 이상의 통신 접속부(130), 및/또는 데이터 저장부(132)와 통신하게 구성된 하나 이상의 호스트 프로세서들(124)를 포함할 수 있다. 호스트 프로세서들(124)은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합을 사용하여서 적합하게 구현될 수 있다. 호스트 프로세서(124)의 소프트웨어 또는 펌웨어 구현예는 본 명세서에서 기술되는 다양한 기능들을 수행하도록 임의의 적합한 프로그래밍 언어로 기록된 컴퓨터-실행가능한 인스트럭션들 또는 머신-실행가능한 인스트럭션들을 포함할 수 있다. 하나 이상의 호스트 프로세서들(124)은 다음으로 한정되지 않지만 중앙 처리 유닛(CPU), 디지털 신호 프로세서(DSP), RISC(reduced instruction set computer), CISC(complex instruction set computer), 마이크로프로세서, 마이크로제어기, FPGA(field programmable gate array) 또는 이들의 임의의 조합을 포함할 수 있다. 모바일 사용자 디바이스(118)는 하나 이상의 호스트 프로세서들(124)과 모바일 사용자 디바이스(118)의 하나 이상의 다른 컴포넌트들 간의 통신들을 제어하기 위한 칩세트(미도시)를 포함할 수 있다. 특정 실시예들에서, 모바일 사용자 디바이스(118)는 Intel® Architecture에 기초할 수 있으며, 호스트 프로세서(들)(124) 및 칩세트는 Intel® Atom® 프로세서 패밀리와 같은, Intel® 프로세서들 및 칩세트들의 패밀리로부터 될 수 있다. 하나 이상의 호스트 프로세서들(124)은 또한 특정 데이터 프로세싱 기능들 또는 태스크들을 다루기 위해서 하나 이상의 ASIC(application-specific integrated circuit) 또는 ASSP(application-specific standard product)를 포함할 수도 있다.
메모리(126)는 호스트 프로세서(124)상에서 로딩가능하고 실행가능한 프로그램 인스트럭션들 및 이러한 프로그램들의 실행 동안 생성되는 데이터를 저장할 수 있다. 현 모바일 컴퓨팅 디바이스(118)의 구성 및 타입에 따라서, 메모리(126)는 RAM와 같이 휘발성이고/이거나 ROM, 플래시 메모리 등과 같이 비휘발성일 수 있다.
메모리(126)는 다음으로 한정되지 않지만, 자기 저장부, 광학 디스크 및/또는 테이프 저장부를 포함하는 이동식 및/또는 고정식 저장부를 포함할 수 있다. 디스크 드라이브 및 이와 연관된 컴퓨터-판독가능한 매체는 컴퓨터-판독가능한 인스트럭션들, 데이터 구조들, 프로그램 모듈들, 및 컴퓨팅 디바이스용 다른 데이터의 비휘발성 저장을 제공할 수 있다. 몇몇 구현예들에서, 메모리(126)는 SRAM(static RAM), DRAM(dynamic RAM), 또는 ROM과 같은 다수의 상이한 타입들의 메모리를 포함할 수 있다.
모두 이동식이거나 고정식일 수 있는 메모리(126) 및 데이터 저장부(132)는 컴퓨터-판독가능한 저장 매체의 모든 예시들이다. 예를 들어서, 컴퓨터-판독가능한 저장 매체는 컴퓨터-판독가능한 인스트럭션들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성의 이동식 및 고정식의 매체를 포함할 수 있다.
하나 이상의 통신 접속부(130)는 현 오프로딩 영역부(138)가, 예를 들어서 로케이션 서버(104) 데이터베이스, 사용자 단말기들 및 하나 이상의 네트워크(102)상에 존재할 수 있는 다양한 다른 디바이스들과 같은 다른 디바이스들과 통신할 수 있게 한다. 통신 접속부(130)는 모바일 컴퓨팅 디바이스(118)가 네트워크(102)를 통해서 다른 디바이스들과 무선으로 통신하게 할 수 있는 무선 시스템(미도시)을 포함할 수 있다. 무선 시스템은 Wi-Fi Direct Standard(See; Wi-Fi Direct specification published in Oct. 2010) 또는 IEEE 802.11 무선 표준(See; IEEE 802.11-2007, published March 8, 2007; IEEE 802.1ln-2009, published Oct. 2009) 또는 이들의 조합을 사용하여서 메시지들을 브로드캐스트 및 수신하도록 하드웨어 및 소프트웨어를 포함할 수 있다. 무선 시스템은 IEEE 802.11 무선 표준들에 의해서 지배되는 광범위한 동작 주파수들로 동작할 수 있는 송신기 및 수신기 또는 송수신기(미도시)를 포함할 수 있다.
입출력 디바이스(128)는 사용자로 하여금 현 호스트 디바이스인 모바일 컴퓨팅 디바이스(118)와 상호작용하게 할 수 있다. 이러한 입출력 디바이스들은 다음으로 한정되지 않지만 키보드, 마우스, 펜, 음성 입력 디바이스,터치 입력 디바이스, 디스플레이, 카메라 또는 이미징 디바이스, 스피커 또는 프린터를 포함할 수 있다.
하나 이상의 데이터 저장부(132)는 리스트, 어레이, 데이터베이스, 플랫 파일(flat file)등을 저장할 수 있다. 몇몇 구현예들에서, 데이터 저장부(132)는 모바일 컴퓨팅 디바이스(118) 외부에 있지만 예를 들어서 클라우드 저장 서비스를 사용하여서 하나 이상의 네트워크(102)를 통해서 액세스가능한 메모리 내에 저장될 수도 있다. 데이터 저장부(132)는 리소스 파라미터들을 저장할 수 있다. 일 실시예에서, 각 인스턴스(instance)는 이 인스턴스와 연관된 리소스 파라미터들을 저장하는 데이터 저장부(132)를 가질 수 있다.
모바일 컴퓨팅 디바이스(118)는 또한 로케이션 통신 모듈(134) 및 로케이션 기점 모듈(136)을 포함할 수 있다. 이 실시예에서, 양 모듈들은 운영 체제 영역부(122) 내의 구별되는 엔티티들로서 예시된다. 그러나, 이 모듈들의 하나 이상 또는 모든 부분들은 특정 실시예들에서 메모리(114) 내에 포함되거나 메모리(114)를 사용할 수 있다.
로케이션 통신 모듈(134)은 다양한 유연성이 있는 로케이션-기반 서비스들을 지원할 수 있으며, 로케이션-기반 모바일 서비스의 경우에, 일반적으로 통신 클라우드로 지칭될 수 있는, 네트워크(102)를 통한 로케이션 서버들(104)로의 접속을 제공하도록 로케이션 API(application programming interface)를 확장시킬 수 있다. 로케이션 통신 모듈(134)은 도 2의 설명에서 보다 상세하게 기술될 것이다.
로케이션 기점 모듈(136)은 모바일 컴퓨팅 디바이스(118)와 연관된 로케이션 또는 모바일 컴퓨팅 디바이스(118)의 로케이션을 결정하는데 사용될 수 있는 로케이션 정보를 제공하는 로케이션 서버(104) 또는 다른 로케이션 정보 디바이스들로부터의 포지셔닝 정보를 수신할 수 있다. 로케이션 기점 모듈(136)은 예를 들어서, Wi-Fi 모뎀, 셀룰러 모뎀, 하나 이상의 로케이션 센서, GNSS 수신기, Bluetooth® 모뎀, 또는 NFC(Near Field Communication) 디바이스를 포함할 수 있다(도 1에서는 도시되지 않음). 특정 로케이션 기점 디바이스가 기술되었지만, 로케이션 정보를 수신할 수 있는 임의의 다른 적합한 로케이션 기점 디바이스가 제공될 수도 있다. 로케이션 기점 모듈(136)은 도 2의 설명에서 보다 상세하게 기술될 것이다. 다른 실시예에서, 로케이션 기점 모듈(136)은 운영 체제 영역부(122) 대신에, 오프로딩 영역부(138)내에 포함될 수 있다.
오프로딩 영역부(138)로 돌아가면, 이 영역부는 몇몇 실시예에서 모바일 컴퓨팅 디바이스(118)를 위한 로케이션 결정 및 전력 관리 기능을 구현할 수 있다. 일 실시예들에서, 오프로딩 영역부(138)는, 오프로딩 영역부(138)가 운영 체제 영역부(122)내의 컴포넌트들의 다수 또는 모두를 사용하지 않을 수도 있다는 점에서, 운영 체제 영역부(122)와는 독립적으로 동작할 수 있다. 다른 실시예에서, 오프로딩 영역부(138)는 운영 체제 영역부(122)내의 하나 이상의 컴포넌트들과 함께 동작할 수 있다. 예를 들어서, 오프로딩 영역부(138)는 모바일 컴퓨팅 디바이스(118)의 로케이션을 결정하기 위해서, 운영 체제 영역부(122)내의 호스트 프로세서(124)를 사용하는 대신에, 로케이션 프로세서(140)를 사용할 수 있다. 본 예시에서, 로케이션 프로세서(140)는 호스트 프로세서(124)보다 적은 전력을 소비하는 프로세서일 수 있다. 예를 들어서, 로케이션 프로세서(140)는 특정 데이터 프로세싱 기능들 또는 태스크들을 다루기 위해서 하나 이상의 ASIC(application-specific integrated circuit) 또는 ASSP(application-specific standard product)를 포함할 수도 있다.
일 실시예에서, 로케이션 프로세서(140)는, 로케이션 오프로딩이 없다면 운영 체제 영역부(122)내에서 동작하는 로케이션 통신 모듈(134) 또는 호스트 프로세서(124)에 의해서 수행될 활동들을 로케이션 오프로딩하는 임무가 주어진 효율적인 저-전력 실행 환경을 생성하기 위해서 서로 그리고 잠재적으로 다른 컴포넌트들과 상호작용하는 하나 이상의 제어기들(이하에서 보다 상세하게 기술됨)을 포함할 수 있다.
오프로딩 영역부(138)는 취합 모듈(aggregator module)(142), 로케이션 전력 관리 모듈(144), 전력 모듈(146), 로케이션 제어기 모듈(150), 이벤트 생성부(148) 및 컨텍스트 필터링 모듈(context filtering module)(152)을 포함하며, 이들은 모두가 도 2의 설명에서 매우 상세하게 기술될 것이다.
모바일 컴퓨팅 디바이스(118)를 더 참조하면, 모바일 컴퓨팅 디바이스(118)는 하나 이상의 무선기기(154) 및 하나 이상의 안테나들(156)을 더 포함할 수 있다. 무선기기(154)는 무신 신호들을 송신 및 수신할 수 있다. 무선기기(154)는 로케이션 통신 모듈(134)과 수신된 무전 주파수 신호들 간의 통신을 용이하게 하도록 통신 인터페이스를 포함할 수 있다. 일 예에서, 무선 주파수(RF)신호들은 안테나(156)에 의해서 수신될 수 있다. 본 개시의 예시적인 실시예에서, 하나 이상의 안테나(156)는 아마도 수 메가헤르츠(MHz) 내지 수-기가헤르츠(GHz) 범위의 넓은 주파수 범위에 걸쳐서 동작가능한 광대역 안테나일 수 있다. 안테나(156)에 의해서 수신된 입력 신호들은 컨버터 또는 디코더(미도시)와 같은, 무선기기(154) 내의 아날로그 또는 디지털 모듈에 전달 또는 이와 달리 제공될 수 있다. 또한, 이러한 입력 신호들은 로케이션 통신 모듈(134)을 통해서 운영 체제 영역부(122)에 전송되거나 아니면 오프로딩 영역부(138)에 전송될 수 있다. 몇몇 실시예들에서, 무선기기(154)는 하나 이상의 로케이션 서버들(106)로부터 로케이션 정보를 수신할 수 있다.
로케이션 서버들(106)은 로케이션 정보를 모바일 컴퓨팅 디바이스(118)에 제공할 수 있다. 도 1에 있어서, 로케이션 서버들은 대체적으로 기술되었으며 도 2의 설명에서는 매우 상세하게 논의될 것이다. 일반적으로, 로케이션 서버(104)는 프로세서(108), 하나 이상의 인터페이스들(110) 및 메모리(112)를 포함할 수 있다.
프로세서(108)는 다음으로 한정되지 않지만 중앙 처리 유닛(CPU), 디지털 신호 프로세서(DSP), RISC(reduced instruction set computer), CISC(complex instruction set computer), 마이크로프로세서, 마이크로제어기, FPGA(field programmable gate array) 또는 이들의 임의의 조합을 포함할 수 있다. 프로세서는 메모리(112)내에 저장된 컴퓨터-판독가능한 인스트럭션들 또는 네트워크(102)를 통해서 제공된 인스트럭션들을 실행할 수 있다.
하나 이상의 인터페이스들(110)은 다음으로 한정되지 않지만 키보드, 마우스, 펜, 음성 입력 디바이스, 터치 입력 디바이스, 디스플레이, 카메라 또는 이미징 디바이스, 스피커 또는 프린터를 포함할 수 있다. 인터페이스들(110)은 또한 네트워크(102)를 통해서 정보를 전송 및 수신하기 위해서 네트워크 통신 하드웨어 및/또는 소프트웨어를 포함할 수 있다.
메모리(112)는 다음으로 한정되지 않지만 운영 체체(114) 및 로케이션 모듈(116)을 포함할 수 있다. 운영 체제(114)는 다양한 태스크를 구현하도록 프로세서(108)에 의해서 실행되는 컴퓨터 판독가능한 인스트럭션들을 포함할 수 있다. 예를 들어서, 작업들은 다음으로 한정되지 않지만 인터페이스 모듈(110)의 컴포넌트들을 동작시키는 것을 포함할 수 있다.
로케이션 모듈(116)은 전체가 또는 임의의 부분이 로케이션 정보를 수집, 분석 및 이를 모바일 컴퓨팅 디바이스(118)에 제공하기 위한 하드웨어, 소프트웨어 또는 이들의 조합일 수 있다. 이 로케이션 모듈(또한 로케이션 프레임워크 모듈로도 알려짐)(116)은 단지 모바일 컴퓨팅 디바이스(118)에 의해 사용될 수 있는 다양한 로케이션 검출 기법들을 구현하는데 필요한 컴포넌트의 표시이다. 예를 들어서, 로케이션 모듈(또한 로케이션 프레임워크 모듈로도 알려짐)(116)은 WWI-FI 네트워크, 셀룰러 네트워크, 빌딩 풋프린트 데이터베이스(building footprint database), 글로벌 위치추적 인공위성 네트워크, 블루투스 네트워크와 같은 단거리 무선 네트워크 또는 임의의 다른 NFC(near field communication) 네트워크를 사용하여 검출 기법들을 구현하기 위한 임의의 또는 모든 하드웨어 또는 소프트웨어를 포함할 수 있다.
도 2는 도 1에서 도시된 예시적인 시스템(200)의 다양한 컴포넌트들 간의, 본 개시의 하나 이상의 실시예에 따른, 접속을 도시한다. 시스템(200)은 로케이션 서버들(104), 로케이션 통신 모듈(134), 로케이션 프로세서(140), 및 로케이션 기점 모듈(136)을 포함하는 시스템의 다양한 컴포넌트들 간의 논리적 및/또는 물리적 분리를 포함한다. 다양한 컴포넌트들은 다양한 애플리케이션 프로그래밍 인터페이스들(API)에 의해서 링크될 수 있다. 예를 들어서, 로케이션 통신 모듈(134)은 205A를 포함할 수 있으며, 로케이션 프로세서(140)는 로케이션 오프로딩 API(202)을 통해서 로케이션 통신 모듈과 통신할 수 있다. 또한, 로케이션 프로세서(140)와 로케이션 기점 모듈(136)은 로케이션 기점 API(204)를 통해서 서로 통신할 수 있다. 또한, 로케이션 통신 모듈(134)은 임의의 적합한 유선 및/또는 무선 통신 링크일 수 있는 링크(206)를 통해서 로케이션 서버(104)와 통신할 수 있다.
로케이션 프로세서(140)는 하나 이상의 위치 제어기들(208A 내지 208F)을 포함할 수 있다. 위치 제어기들(208A 내지 208F)은 다음으로 한정되지 않지만, Wi-Fi 위치 제어기(208A), 셀룰러 위치 제어기(208B), 센서 위치 제어기(208C), GNSS 위치 제어기(208D), 단거리 무선 위치 제어기(208E), 또는 NFC 위치 제어기(208F)를 포함할 수 있다. Wi-Fi 위치 제어기(208A)는 본 명세서에서 시스템(200)의 다양한 컴포넌트들 간의 접속을 기술하기 위한 예시적인 목적을 위해서 사용된다. 그러나, 임의의 특정 하위-컴포넌트에 대한 논의는 일반적으로 다른 하위-컴포넌트들에 대해서도 역시 적용가능함이 주목되어야 한다.
로케이션 프로세서(140)의 하나 이상의 위치 제어기들(208A 내지 208F)은 로케이션 기점 디바이스들에 의해서 제공된 측정치들에 기초하여서 오프로딩된 로케이션 계산을 수행하고 로케이션 이벤트들 및 컨텍스트 이벤트들을 생성하기 위해서, 로케이션 기점 디바이스들(210A 내지 210F)을 포함할 수 있는 로케이션 기점 모듈(136) 및 잠재적으로는 로케이션 서버들(104)과 (로케이션 통신 모듈(134)을 통해서) 상호작용한다. 예로서, Wi-Fi 위치 제어기(208A)는 Wi-Fi 로케이션 기점 디바이스(210A)로부터 로케이션 측정치를 획득한다. Wi-Fi 위치 제어기(208A)는 또한 로케이션 프레임워크 모듈(116)을 통해서 확립된 Wi-Fi 서버 접속(214A)을 통해서 Wi-Fi 로케이션 서버(212A)로부터 로케이션 기반 정보를 획득할 수도 있다. Wi-Fi 로케이션 기점 디바이스(210A)로부터 수신된 로케이션 측정치들 및 잠재적으로는 Wi-Fi 로케이션 서버(212A)로부터 수신된 추가 로케이션 기반 정보에 기초하여서, Wi-Fi 위치 제어기(208A)는 로케이션 계산을 수행하고, 로케이션 이벤트 및 컨텍스트 이벤트를 생성하고, 계산 결과를 보고할 수 있다. Wi-Fi 위치 제어기(208A)에 대해서 상술된 바는 다른 로케이션 기점 디바이스들(예를 들어서, 셀룰러 모뎀(210B), GNSS 수신기(210D) 등)으로부터 로케이션 측정치들을 획득하는 다른 위치 제어기들에 대해서 전반적으로 적용가능하다.
로케이션 프로세서(140)에 의해서 제공된 기능들은 다음으로 한정되지 않지만 기본 로케이션 정보(즉, 시간의 함수로서의 공간적 로케이션 좌표들) 및 이와 관련된 정보(예를 들어서, 인공위성 정보, Wi-Fi AP 정보, 셀 타워 정보 등) 결정, 로케이션 데이터에 기초하여서 이벤트 트리거링, 로케이션 의존 호스트 활동들의 내부 플로우 및 외부 플로우 개시 및 프로세싱, 로컬 컴포넌트들에 대한 로케이션 엔진 전력 관리, 로케이션 기점 디바이스 및 센서 관리, 로케이션 퓨전(fusion)/중재 로직, 로케이션 데이터 버퍼링, 타임 스탬핑 및 로케이션 이력 생성, 컨텍스트 프레임워크 생성, 프라이버시 관리, 긴급상황 서비스 지원, 또는 ISV(Independent Software Vendor) 값-부가된 로케이션 기반 기능들에 대한 지원을 포함한다.
특정 실시예들에서, 로케이션 프로세서(140)는 다음으로 한정되지 않지만, 통신 관리 엔티티, 센서 관리 엔티티, 보안 엔진들, 이벤트 생성 엔티티, 컨텍스트 인식 엔티티, 증강 현실 엔티티(augmentation reality entity) 등을 포함하는 다른 오프로딩 엔진들 또는 엔티티들과 상호작용할 수 있다. 로케이션 프로세서(140)는 메인 호스트 및/또는 OS의 상태(예를 들어서, 활성 상태, 대기 상태, 휴면 상태 등)와 상관없이 그리고 구성가능한 정책에 따라서 이러한 다른 오프로딩 엔티티들로의 액세스를 지원할 수 있다. 활성 상태는 호스트 프로세서(124)(미도시)가 대기 상태에서보다 많은 전력을 사용하고 있을 수도 있음을 표시할 수 있다. 대기 상태는 호스트 프로세서(124)가 활성 상태에서보다 적은 전력을 사용하고 있을 수도 있으며, 휴면 상태가 대기 상태에서보다 적은 전력을 사용하고 있을 수도 있음을 표시할 수 있다.
본 개시의 하나 이상의 실시예들에 따라서, 로케이션 프로세서(140)는 호스트 프로세서(124)의 상태와 상관없이, 로케이션 기점 디바이스들(210A 내지 210F)과 통신하여서 이 로케이션 기점 디바이스들(210A 내지 210F)에 의해서 제공된 측정치들에 기초하여서 위치를 계산하도록 구성될 수 있다. 예시적인 호스트 상태는 활성 상태(예를 들어서, 호스트 네비게이션 소프트웨어가 실행 중일 때임), 휴면 상태(예를 들어서, 위치 로깅(logging) 및 지오-펜싱(geo-fencing)) 또는 접속된 대기 상태(예를 들어서, 디바이스 로케이션 공유를 지원함)를 포함한다. 호스트가 휴면 상태에 있는 동안에 로케이션 기점 디바이스들(210A 내지 210F)과 통신할 때에, 로케이션 서버(140)는 활성 호스트 지원에 대한 필요없이, 달리 말하면 오프로딩된 방식으로 물리적 인터페이스 및/또는 논리적 채널들을 통해서 직접적으로 또는 간접적으로 로케이션 기점 디바이스들(210A 내지 210F)과 상호작용할 수 있다. 보다 구체적으로, 초기에 언급한 바와 같이, 로케이션 엔진(126)은 하나 이상의 위치 제어기들을 포함할 수 있으며, 각 위치 제어기는 특정 로케이션 기점 디바이스(예를 들어서, 셀룰러 모뎀(21OB), GNSS 수신기(210D), WI-FI 모뎀(210A), 단거리 와이어리스 무선 B 모뎀(BLUETOOTH® 모뎀)(210E), 센서들(210C), NFC 디바이스(210F), 오디오, 비디오, 등)를 제어 또는 구성하고 이 디바이스로부터 관련 로케이션 측정 데이터를 수집하고, 관련 로케이션 보조 정보를 로케이션 기점 디바이스에 전송하는 역할을 한다. 하나 이상의 다른 실시예들에서, 복수의 로케이션 기점 디바이스들(210A 내지 210F)을 제어하는 중앙 위치 제어기(미도시)가 제공될 수도 있다. 다양한 실시예들에서, 중앙 위치 제어기 또는 하나 이상의 전용 제어기들(208A 내지 208F)는, 어느 것이든지 상관없이, 로컬 오프로딩 데이터베이스를 유지하고/하거나, 로케이션 프로세서(140)가 몇몇 로케이션 보조 정보 또는 로케이션 데이터베이스 정보(예를 들어서, 주변 송신기들의 리스트)를 필요로 하는 경우에, 데이터베이스 업데이트 플로우를 개시하는 역할을 한다.
본 개시의 하나 이상의 실시예들에 따라서, 각 위치 제어기는 특정 로케이션 기점 디바이스로부터 수신된 정보에 기초하여서 로케이션 정보를 계산하는 별도의 로케이션 계산기(미도시)를 제어할 수 있다. 다른 실시예들에서, 중앙 위치 제어기 또는 복수의 전용 위치 제어기들(208A 내지 208F)은 로케이션 기점 디바이스들(210A 내지 210F)의 전부 또는 일부 하위세트로부터 수신된 정보에 기초하여서 로케이션 계산을 수행하도록 단일 로케이션 계산기를 제어할 수 있다. 위치 취합기/콘센트레이터(aggregator/concentrator)(128)가 제공되어서 대응하는 로케이션 기점 디바이스들(210A 내지 210F)로부터 수신된 정보에 기초하여서 로케이션 계산기들 각각에 의해서 수행되는 로케이션 계산사항들을 취합한다. 위치 취합기/콘센트레이터(142)는 이어서 알려진 성능 표시자(performance indicator)에 기초하여서 특정 로케이션 계산사항을 선택할 수 있다. 몇몇 실시예들에서, 위치 취합기/콘센트레이터(142)는 다양한 로케이션 계산기들로부터 수신된 로케이션 계산사항들에 기초하여서 가중치 처리된(weighted) 로케이션 계산을 수행할 수 있다. 다른 실시예들에서, 측정치 데이터는 로케이션 기점 디바이스들(210A 내지 210F), 대응하는 위치 제어기들(208A 내지 208F) 또는 중앙 위치 제어기로부터 직접적으로 수신될 수 있으며, 위치 취합기/콘센트레이터(142)는 필요한 로케이션 계산(들)을 수행할 수 있다.
로케이션 프로세서(140)는 로케이션 전력 절감 및 로케이션 기점 접속 및 동작 모드들을 실시하도록 동작하는 로케이션 전력 관리 모듈(144)을 통한, 로케이션 정책 제어 및 로케이션 전력 관리 기능을 포함할 수도 있다. 예시적인 로케이션 정책은 로케이션 측정치들의 가용성, 로케이션 측정치들을 추출하는 비용 함수(예를 들어서, 전력) 및/또는 서비스의 요구된 레벨(예를 들어서, 정확도, 픽스 시간(time to fix), 전력 예산, 또는 임의의 다른 서비스 파라미터들)과 관련될 수 있다. 로케이션 정책 제어 및 로케이션 전력 관리 기능은 하나 이상의 제어기들 및/또는 프로세서들, 및/또는 이들의 조합과 같은 하드웨어 컴포넌트들, 소프트웨어 모듈에 의해서 제공될 수 있다. 로케이션 전력 관리 모듈(144)은 상부 층들에 의한, 예를 들어서 로케이션 통신 모듈(134)에 의한 로케이션 서버들로의 액세스를 제어할 수도 있다. 예를 들어서, 제한된 전력 예산 프로파일 하에서, 이러한 모듈들은 로케이션 서버들(212A 내지 212F)로의 액세스를 허용하는 것보다는, 로컬 데이터베이스(들)의 사용을 실시할 것이다. 로케이션 서버들은 Wi-Fi 로케이션 서버(212A), 셀룰러 로케이션 서버(212B), 빌딩 풋프린트 로케이션 서버(212C), GNSS 로케이션 서버(212D), 단거리 와이어리스(BLUETOOTH®) 로케이션 서버(212E), NFC 서버(212F)를 포함할 수 있다.
로케이션 전력 관리 모듈(144)은 모바일 컴퓨팅 디바이스(118)에 대한 전력 레벨 정보를 전력 모듈(146)로부터 수신할 수 있다. 전력 레벨 정보는 모바일 컴퓨팅 디바이스(118)가 현재 플러그 인되거나 배터리 전력을 사용하고 있는 중인지의 여부를 포함할 수 있다. 또한, 전력 레벨 정보는 재충전 이전에 디바이스 상에서 가용한 배터리 전력량을 식별할 수 있다. 전력 모듈(146)은 모바일 컴퓨팅 디바이스(118)에 대한 잔류 전력 레벨을 결정할 수도 있다. 전력 모듈(146)은 모바일 컴퓨팅 디바이스(118)의 다른 컴포넌트로의 전력의 할당을 제어할 수도 있다. 특정 예시들에서, 전력 모듈(146)은 로케이션 전력 관리 모듈(144)에 의해서 이루어진 정책 또는 프로토콜 결정에 적어도 부분적으로 기초하여서 전력 제어 또는 할당을 구현할 수 있다.
다시 로케이션 계산을 참조하면, 일단 로케이션이 계산되면, 계산된 로케이션은 로케이션 통신 모듈(134)에 저장되거나 전송될 수 있다. 계산된 로케이션을 로케이션 통신 모듈(134)에 전송하기 이전에, 로케이션 계산값은 컨텍스트 필터링(예를 들어서, 계산된 로케이션의 특정 근방 내의 관심 지점(POI)을 식별하는 것, 계산된 로케이션과 연관된 특정 시간적 기간을 식별하는 것)을 받을 수 있다. 호스트 프로세서(124)가 휴면 상태에 있으면, 로케이션 프로세서(140)는 특정 컨텍스트 조건들이 만족되는 때에 호스트 프로세서(124)를 기동시킬 수 있다. 보다 구체적으로, 이벤트 생성 모듈(148) 및 컨텍스트 필터링 모듈(152)은 호스트 프로세서(124)가 휴면 상태에 있을 때에 연속적인 로케이션 취득을 실현한다. 이벤트 생성 모듈(148) 엔티티는 위치 취합기/콘센트레이터(142)로부터 수신된 계산된 로케이션에 기초하여서 이벤트를 생성할 수 있으며, 컨텍스트 필터링 모듈(152)은 컨텍스트 이벤트를 생성하고 특정 조건들이 만족할 때에, 예를 들어서, 특정 관심 지점이 도달된 때에 호스트 프로세서를 기동하고자 결정할 수 있다. 이벤트 생성 모듈(148) 및 컨텍스트 필터링 모듈(152)은 호스트 프로세서(124)로부터 구성될 수 있다.
현 로케이션 서비스들은 호스트 프로세서(124)가 활성 상태에 있는 것을 요구한다. 이로써, 본 개시의 실시예들은 다음으로 한정되지 않지만, 전력-효율적인 로케이션 오프로딩, 다수의 로케이션 기점 디바이스들에 기초한 비용 효과적인 로케이션 계산, 로케이션 보조 정보의 로케이션 서버들로의 오프로딩 및 로케이션 서버들(104)로의 효율적인 접속, 환경/컨텍스트 인식, 및 감소된 전력 소비량 및 증가된 배터리 수명을 포함하여, 통상적인 해법들에 비해서 구별되는 장점들을 제공한다. 초기에 기술한 바와 같이, 이러한 장점들 및 다른 장점들은 모든 로케이션 오프로딩 활동들을 책임지는 다중-목적용 저 전력 로케이션 실행 환경을 제공하는 로케이션 프로세서(140)와 유연성 로케이션 기반 서비스들을 실현하고 로케이션 API들(202, 204, 206)의 범위를 확장하여서 사용자 경험을 개선 및 풍부하게 하는 로케이션 통신 모듈(134) 간에서 로케이션 기능들을 분할함으로써 달성된다.
이제 도 3을 참조하면, 모바일 컴퓨팅 디바이스(118)에 대한 로케이션 결정 맥락 내에서 오프로딩 영역부(138)를 사용하기 위한 방법(300)의 예시적인 실시예을 기술하는 흐름도가 도시된다. 방법(300)은 특정 실시예들에 따라서 다양한 방식들로 수정될 수 있음이 주목되어야 한다. 예를 들어서, 방법(300)의 하나 이상의 동작들은 다른 실시예들에서 제거되거나 비순서적으로 실행될 수도 있다.
블록(302)에서, 모바일 컴퓨팅 디바이스(118)는 2 개 이상의 로케이션 정보 소스들로부터 로케이션 정보를 수신할 수 있다. 예를 들어서, Wi-Fi 위치 제어기(208A)가 Wi-Fi 로케이션 서버(212A) 또는 Wi-Fi 로케이션 기점 디바이스(210A)로부터 정보를 수신할 수 있다. 정보는 모바일 컴퓨팅 디바이스(118)가 그의 로케이션을 결정하기 위해서 사용할 수 있는 2 개 이상의 Wi-Fi 로케이션 기점 디바이스(210A)(예를 들어서, 액세스 포인트들)로부터의 무선 신호들을 포함할 수 있다. 다른 실시예에서, Wi-Fi 디바이스들로부터 제공된 로케이션 정보는 또한 인증된 스캔 리스트를 포함할 수도 있다. 인증된 스캔 리스트는 또한 모바일 컴퓨팅 디바이스(118)의 로케이션을 결정하는데 사용될 수도 있다. 마찬가지로, 다른 로케이션 기점 디바이스(210B 내지 210E) 및/또는 로케이션 서버들(212B 내지 212F)도 또한 모바일 컴퓨팅 디바이스와 연관된 로케이션 정보를 제공할 수 있다.
블록(304)에서, 모바일 컴퓨팅 디바이스(118)는 로케이션 프로세서(140)를 사용하여서, 로케이션 정보 소스들(예를 들어서, 210A 내지 210F, 또는 212A 내지 212F)로부터 제공된 정보를 이용하여서 모바일 컴퓨팅 디바이스(118)의 로케이션을 결정할 수 있다. 이 실시예에서, 로케이션 프로세서(140)는 운영 체제 영역부(122)로부터의 호스트 프로세서(124)를 사용하지 않고서 모바일 컴퓨팅 디바이스(118)의 로케이션을 계산할 수 있다. 로케이션 프로세서(140)는 로케이션 프로세서(140)보다 높은 레이트로 전력을 소비하는 호스트 프로세서(124)를 사용하지 않고서 로케이션을 계산할 수 있는 저 전력 프로세서 또는 ASIC 또는 ASSP일 수 있다. 로케이션 프로세서(140)는 로케이션 기점 디바이스들(예210A 내지 210E) 및/또는 로케이션 서버들(212A 내지 212F)에 의해서 제공된 임의의 정보를 프로세싱할 수 있도록 실현될 수 있다. 일 실시예에서, 위치 제어기들(208A 내지 208F)은 로케이션 정보를 수신하여서 모바일 컴퓨팅 디바이스(118)의 로케이션을 계산할 수 있다. 취합 모듈(142)은 로케이션 결정사항들을 취합하여서 하나 이상의 성능 표시자들에 적어도 부분적으로 기초하여서 가장 높은 등급을 갖는 로케이션을 결정할 수 있다.
도 4는 모바일 컴퓨팅 디바이스(118)에 대한 로케이션-기반 전력 관리 제어 맥락 내에서 오프로딩 영역부(138)을 사용하는 방법(400)의 예시적인 실시예을 기술하는 흐름도이다. 방법(400)은 특정 실시예들에 따라서 다양한 방식들로 수정될 수 있음이 주목되어야 한다. 예를 들어서, 방법(400)의 하나 이상의 동작들은 다른 실시예들에서 제거되거나 비순서적으로 실행될 수도 있다.
블록(402)에서, 취합 모듈(142)은 하나 이상의 위치 제어기들(208A 내지 208F)로부터 로케이션 정보를 검색할 수 있다. 일 실시예에서, 로케이션 정보는 로케이션 기점 디바이스들(210A 내지 210F)로부터의 정보에 기초하여서 계산된 로케이션들을 포함할 수 있다. 다른 실시예에서, 로케이션 기점 디바이스들(210A 내지 210F)로부터의 로케이션 정보는 취합 모듈(142)에 전달되고, 취합 모듈(142)은 이어서 검색된 로케이션 정보에 적어도 부분적으로 기초하여서 모바일 컴퓨팅 디바이스(118)의 로케이션을 결정 또는 계산할 수도 있다.
블록(404)에서, 취합 모듈(142)은 어느 로케이션이 모바일 컴퓨팅 디바이스(118)에 대하여 최적의 로케이션인지를 사용자의 선호사항 또는 성능 표시자에 적어도 부분적으로 기초하여서 결정할 수 있다. 예를 들어서, 사용자는 어느 로케이션 정보 소스가 다른 로케이션 정보 소스들에 비해서 사용하기 바람직한지를 선택할 수 있다. 일 예시에서, 사용자는 GPS 로케이션 데이터를 선호할 수 있으며; 따라서 취합 모듈(142)은 GPS 로케이션을 최적의 로케이션으로서 결정할 것이다. 그러나, GPS 로케이션이 이용가능하지 않으면, 로케이션 프로세서(140)는 다음으로 선호되는 소스를 선택하거나 중요(key) 성능 표시자에 의존할 수 있다. 예를 들어서, 중요 성능 표시자는 로케이션 정보의 보다 양호한 정확도 또는 신뢰성을 가리키는 신호 강도 또는 임의의 다른 표시자를 포함할 수 있다.
블록(406)에서, 로케이션 전력 관리 모듈(144)이 취합 모듈(142)에 의해서 결정된 최적 로케이션을 사용하여서, 모바일 컴퓨팅 디바이스(118)가 특정 로케이션에 위치할 때에 사용되도록 구성되는 제 1 전력 관리 프로토콜을 결정 또는 선택할 수 있다. 다른 실시예에서, 전력 관리 프로토콜은 결정된 로케이션에 추가하여서, 모바일 컴퓨팅 디바이스(118)에서 이용가능한 잔류 전력량에 기초할 수도 있다. 예를 들어서, 제 1 전력 관리 프로토콜은 모바일 컴퓨팅 디바이스(118)가 외부에 있을 때마다 호스트 프로세서(124)가 대기 상태로 되게 지시할 수 있다. 다른 실시예에서, 제 1 전력 관리 프로토콜은 모바일 컴퓨팅 디바이스(118)가 특정 로케이션에 있을 때에 모바일 컴퓨팅 디바이스(118)의 하나 이상의 컴포넌트들이 저 전력 모드로 되게 지시할 수 있다.
블록(408)에서, 로케이션 전력 관리 모듈(144)은, 모바일 컴퓨팅 디바이스(118)가 블록(406)에서 기술된 로케이션과 다른 로케이션으로 변화되었다는 로케이션 프로세서(140) 상에서의 결정에 적어도 부분적으로 기초하여서 제 2 전력 관리 프로토콜을 선택할 수 있다. 이로써, 전력 관리 프로토콜들은 새로운 로케이션이 결정될 때마다 이 로케이션에 기초하여서 능동적으로 변화될 수 있다. 예를 들어서, 블록(404)에서, 모바일 컴퓨팅 디바이스(118)가 외부에 있다고 결정될 때에 호스트 프로세서(124)는 대기 상태로 되었다. 그러나, 모바일 컴퓨팅 디바이스(118)가 빌딩 내부에 있다고 결정되면, 로케이션 전력 관리 모듈(144)은 호스트 프로세서를 활성 상태로 두는 제 2 전력 관리 프로토콜을 구현하기로 결정할 수 있다. 이 예시에서, 활성 상태는 대기 상태보다 많은 전력을 소비할 수 있다. 따라서, 모바일 컴퓨팅 디바이스(118)가 빌딩 내에 위치할 때보다 빌딩의 외부에 위치할 때에 모바일 컴퓨팅 디바이스(118)가 더 적은 전력을 사용할 수 있다.
본 명세서에서 기술된 실시예들은 본 명세서에서 기술된 방법들 및/또는 동작들을 수행하기 위해서 예를 들어서 하드웨어, 소프트웨어 및/또는 펌웨어를 사용하여서 구현될 수 있다. 본 명세서에서 기술된 특정 실시예들은 머신에 의해서 실행되면, 머신으로 하여금 본 명세서에서 기술된 방법들 및/또는 동작들을 수행하게 하는 머신 실행가능한 인스트럭션들을 저장하는 유형의 머신-판독가능한 매체로서 제공될 수 있다. 이러한 유형의 머신-판독가능한 매체는 다음으로 한정되지 않지만, 플로피 디스크, 광학 디스크, CD-ROM(compact disk read-only memories), CD-RW(compact disk rewritables), 및 자기-광학 디스크(magneto-optical disks)를 포함하는 임의의 타입의 디스크; ROM(readonly memories), 동적 RAM 및 정적 RAM와 같은 RAM(random access memories), EPROM(erasable programmable read-only memories), EEPROM(electrically erasable programmable read-only memories), 플래시 메모리와 같은 반도체 디바이스들; 자기적 또는 광학적 카드 또는 전자적 인스트럭션들을 저장하기 적합한 임의의 타입의 유형의 매체를 포함할 수 있다. 머신은 임의의 적합한 프로세싱 또는 컴퓨팅 플랫폼, 디바이스 또는 시스템을 포함할 수 있으며 하드웨어 및/또는 소프트웨어의 임의의 적합한 조합을 사용하여 구현될 수 있다. 인스트럭션들은 임의의 적합한 타입의 코드를 포함하며, 임의의 적합한 프로그래밍 언어를 사용하여서 구현될 수 있다. 다른 실시예들에서, 본 명세서에서 기술된 방법들 및/또는 동작들을 수행하기 위한 머신 실행가능한 인스트럭션들은 펌웨어로 구현될 수 있다.
본 개시의 다양한 특징들, 측면들 및 실시예들이 본 명세서에서 기술되었다. 이러한 특징들, 측면들 및 실시예들은 본 기술 분야의 당업자에게 이해될 바와 같이, 서로 조합하도록 구성되고 변형 및 수정되게 구성될 수 있다. 따라서, 본 개시는 임의의 이러한 조합, 수정 및 변경을 포함하는 것으로 고려되어야 한다.
본 개시의 다양한 실시예들을 기술하기 위해서 본 명세서에서 사용된 용어들 및 표현들은 예시적 차원으로 해석되어야 하며 한정적 차원으로 해석되지 말아야 한다. 이러한 용어들 및 표현들의 사용은 도시되고 기술된 특징사항들(또는 이들의 부분들)의 임의의 균등사항들을 배제하지 것으로 해석되지 말아야 하며, 다양한 수정들이 청구항들의 범위 내에서 가능함이 인지된다. 다른 변경들, 수정들 및 대안들이 또한 가능하다. 따라서, 청구항들은 이러한 모든 균등사항들을 포함하는 것으로 의도된다.
본 개시의 다양한 실시예들이 현재적으로 가장 실제적이면서 다양한 실시예들이 되는 것으로 간주된 것과 관련하여서 기술되었지만, 본 개시는 개시된 실시예들로만 한정되는 것은 아니며, 다양한 수정사항들 및 균등 구성들을 포함하는 것으로 의도되며, 이러한 수정사항들 및 균등 구성들은 청구항들의 범위 내에 있음이 이해되어야 한다. 특정 용어들이 본 명세서에서 사용되었지만, 이들은 오직 예시적 차원에서 사용되었으며 한정적 목적을 위해서는 사용되지 않았다.
본 개시는 최상의 모드를 포함하여서, 본 개시의 특정 실시예들을 개시하고, 또한 본 기술 분야의 당업자가 본 명세서에서 개시된 임의의 디바이스들 또는 시스템들을 제조 및 사용하고, 본 명세서에서 개시된 임의의 방법들을 수행하는 것을 포함하여, 본 개시의 특정 실시예들을 실시하게 하도록 예시들을 사용하였다. 이 개시의 특허가능한 범위는 청구항들에 의해서 정의되며, 본 명세서에서 특정하게 개시되지 않되 본 기술 분야의 당업자에게 발생할 수 있는 다른 예시들을 포함할 수 있다. 이러한 다른 예시들은 이들이 청구항들의 문자적 언어와 상이하지 않은 구조적 요소들을 갖는다면 또는 이들이 청구항들의 문자적 언어와 비실질적 차이를 갖는 균등한 구조적 요소들을 포함한다면, 청구항들의 범위 내에 있다.

Claims (25)

  1. 모바일 컴퓨팅 디바이스로서,
    상기 모바일 컴퓨팅 디바이스 상에 저장된 컴퓨터-판독가능한 인스트럭션들을 실행하도록 구성된 호스트 프로세서 ― 상기 호스트 프로세서는 상태를 가지며, 상기 상태는 적어도 부분적으로 상기 호스트 프로세서의 전력 소비량에 기초하여서 정의되며, 상기 상태는 적어도 활성 상태 또는 비활성 상태임 ― 와,
    상기 모바일 컴퓨팅 디바이스와 연관된 로케이션 정보를 하나 이상의 로케이션 정보 소스들로부터 수신하도록 구성된 로케이션 통신 모듈과,
    i)상기 수신된 로케이션 정보에 적어도 부분적으로 기초하여서 상기 모바일 컴퓨팅 디바이스의 위치(a position)를 결정하고, ii)상기 결정된 위치 및 하나 이상의 전력 절감 가이드라인들에 적어도 부분적으로 기초하여서 상기 호스트 프로세서의 상태의 천이를 관리하도록 구성된 로케이션 프로세서를 포함하는
    모바일 컴퓨팅 디바이스.
  2. 제 1 항에 있어서,
    상기 하나 이상의 전력 절감 가이드라인들은,
    로케이션 정보의 가용성,
    로케이션 정보를 수신하는 것과 연관된 전력 소비량, 또는
    로케이션 정확도, 전력 예산 또는 상기 로케이션 정보를 프로세싱하기 위한 시간량을 포함하는 요구 서비스 레벨(a required level of service)
    중 적어도 하나를 더 포함하는
    모바일 컴퓨팅 디바이스.
  3. 제 1 항에 있어서,
    상기 로케이션 프로세서는,
    상기 로케이션 정보 소스들로부터의 로케이션 정보를 취합(aggreate)하고 상기 로케이션 정보 소스들로부터의 로케이션 정보 및 적어도 하나의 성능 표시자에 적어도 부분적으로 기초하여서 상기 위치를 결정하는 위치 취합 유닛(a position aggregator unit)과,
    상기 위치 취합 유닛에 의해서 결정된 위치를 연속하여 수신하는 것을 가능하게 하고 이로써 하나 이상의 컨텍스트 이벤트들을 식별하는 이벤트 생성 모듈과,
    상기 식별된 하나 이상의 컨텍스트 이벤트들에 기초하여서 상기 호스트 프로세서의 상태의 천이를 가능하게 하는 컨텍스트 필터링 모듈을 더 포함하는
    모바일 컴퓨팅 디바이스.

  4. 제 3 항에 있어서,
    상기 컨텍스트 이벤트는 관심 지점에 도달하는 것을 더 포함하는
    모바일 컴퓨팅 디바이스.
  5. 제 1 항에 있어서,
    무선기기와 통신하는 하나 이상의 안테나들을 더 포함하며,
    상기 하나 이상의 안테나들로부터 상기 무선기기에 의해서 수신된 로케이션 정보는 상기 로케이션 통신 모듈에 의해서 프로세싱되는
    모바일 컴퓨팅 디바이스.
  6. 제 1 항에 있어서,
    상기 호스트 프로세서는 상기 활성 상태에서 상기 로케이션 프로세서보다 많은 전력을 소비하는
    모바일 컴퓨팅 디바이스.
  7. 제 1 항에 있어서,
    상기 비활성 상태에서의 호스트 프로세서는 상기 활성 상태에서의 호스트 프로세서보다 적은 전력을 소비하는
    모바일 컴퓨팅 디바이스.
  8. 제 1 항에 있어서,
    상기 비활성 상태는 i)휴면 상태(a sleep state) 또는 ii)대기 상태(a standby state) 중 적어도 하나를 포함하는
    모바일 컴퓨팅 디바이스.
  9. 제 8 항에 있어서,
    상기 휴면 상태는 또한 상기 로케이션 프로세서로 하여금 하나 이상의 로케이션 정보 소스들로부터 로케이션 정보를 연속하여서 수신하게 하고 복수의 관심 지점 식별 동작들을 식별하게 하는
    모바일 컴퓨팅 디바이스.
  10. 제 8 항에 있어서,
    상기 대기 상태는 또한 상기 로케이션 프로세서로 하여금 디바이스 로케이션 정보 공유를 지원하게 하는
    모바일 컴퓨팅 디바이스.
  11. 호스트 프로세서 및 로케이션 프로세서를 갖는 모바일 컴퓨팅 디바이스 상의 상기 로케이션 프로세서에 의해서, 하나 이상의 로케이션 정보 소스들로부터 하나 이상의 로케이션 정보를 수신하는 단계 ― 상기 로케이션 프로세서는 상기 호스트 프로세서와 독립적으로 동작함 ― 와,
    상기 모바일 컴퓨팅 디바이스의 상기 로케이션 프로세서에 의해서, 상기 하나 이상의 로케이션 정보 소스들로부터 수신된 하나 이상의 로케이션 정보에 적어도 부분적으로 기초하여서 상기 모바일 컴퓨팅 디바이스의 로케이션을 결정하는 단계와,
    상기 호스트 프로세서에 대한 상태를 식별하는 단계 ― 상기 상태는 활성 상태 또는 비활성 상태임 ― 를 포함하는
    방법.
  12. 제 11 항에 있어서,
    상기 하나 이상의 로케이션 정보를 수신하는 단계는,
    하나 이상의 원격 로케이션 정보 소스들과 통신하여서 상기 로케이션 정보를 수신하는 단계와,
    상기 하나 이상의 원격 로케이션 정보 소스들의 각각으로부터 수신된 하나 이상의 로케이션 정보를 취합하는 단계와,
    상기 로케이션 프로세서에 의해서 상기 위치를 결정하는 단계와,
    상기 결정된 위치 및 성능 표시자에 적어도 부분적으로 기초하여서 상기 호스트 프로세서에 대한 우선순위를 결정하는 단계를 더 포함하는
    방법.
  13. 제 11 항에 있어서,
    상기 로케이션 프로세서의 동작은 상기 활성 상태에서 상기 호스트 프로세서의 동작보다 적은 전력을 소비하는
    방법.
  14. 제 11 항에 있어서,
    상기 로케이션 정보 소스는,
    글로벌 위치추적 인공위성(GPS) 네트워크,
    WLAN(wireless local area network),
    PLAN(personal local area network),
    셀룰러 네트워크, 또는
    NFC(near field communication) 네트워크
    중 하나 이상을 포함하는
    방법.
  15. 제 11 항에 있어서,
    상기 호스트 프로세서의 비활성 상태는 i) 상기 활성 상태보다 적은 전력을 사용하는 대기 상태 또는 ii) 상기 대기 상태보다 적은 전력을 사용하는 휴면 상태 중 하나를 포함하는
    방법.
  16. 메모리 내에 저장된 컴퓨터-판독가능한 인스트럭션들을 실행하도록 구성된 하나 이상의 프로세서들을 포함하는 하나 이상의 컴퓨터 판독가능한 매체로서,
    상기 컴퓨터-판독가능한 인스트럭션들은,
    호스트 프로세서 및 상기 호스트 프로세서와 독립적으로 동작할 로케이션 프로세서를 갖는 모바일 컴퓨팅 디바이스에 의해서, 하나 이상의 로케이션 정보 소스들과 연관된 로케이션 정보를 수신하도록 동작가능하고,
    상기 로케이션 프로세서에 의해서, 상기 로케이션 정보 중 2 개 이상에 적어도 부분적으로 기초하여서 상기 모바일 컴퓨팅 디바이스와 연관된 위치를 결정하도록 동작가능한
    컴퓨터 판독가능한 매체.
  17. 제 16 항에 있어서,
    상기 로케이션 정보를 수신하도록 동작가능한 컴퓨터-판독가능한 인스트럭션들은,
    하나 이상의 원격 로케이션 정보 소스들과 통신하여서 상기 로케이션 정보를 수신하고,
    상기 하나 이상의 원격 로케이션 정보 소스들의 각각으로부터 수신된 하나 이상의 로케이션 정보를 취합하고,
    상기 로케이션 프로세서에 의해서 상기 위치를 결정하며,
    상기 결정된 위치 및 성능 표시자에 적어도 부분적으로 기초하여서 상기 호스트 프로세서에 대한 우선순위를 결정하도록 더 동작가능한
    컴퓨터 판독가능한 매체.
  18. 호스트 프로세서 및 로케이션 프로세서를 갖는 모바일 컴퓨팅 디바이스에 의해서, 하나 이상의 로케이션 정보 소스들로부터 로케이션 정보를 검색하는 단계 ―상기 호스트 프로세서는 상기 로케이션 프로세서와 독립적으로 동작하도록 구성됨 ― 와,
    상기 로케이션 프로세서에 의해서, 상기 로케이션 정보에 적어도 부분적으로 기초하여서 상기 모바일 컴퓨팅 디바이스와 연관된 위치를 결정하는 단계와,
    상기 로케이션 프로세서에 의해서, 전력에 적어도 부분적으로 기초하여서 상기 모바일 컴퓨팅 디바이스에 대한 제 1 전력 관리 프로토콜을 결정하는 단계와,
    상기 로케이션 프로세서에 의해서, 상기 모바일 컴퓨팅 디바이스의 로케이션이 변화되었다는 결정에 적어도 부분적으로 기초하여서 상기 모바일 컴퓨팅 디바이스에 대한 제 2 전력 관리 프로토콜을 결정하는 단계를 포함하는
    방법.
  19. 제 18 항에 있어서,
    상기 제 1 전력 관리 프로토콜 또는 상기 제 2 전력 관리 프로토콜은 상기 모바일 컴퓨팅 디바이스의 하나 이상의 컴포넌트들 간의 전력 할당에 적어도 부분적으로 기초하여서 전력 소비량을 감소시키는
    방법.
  20. 제 18 항에 있어서,
    상기 제 1 전력 관리 프로토콜 또는 상기 제 2 전력 관리 프로토콜은 상기 모바일 컴퓨팅 디바이스와 연관된 전력 소비량에 적어도 부분적으로 더 기초하는
    방법.
  21. 제 18 항에 있어서,
    상기 로케이션 정보는,
    글로벌 위치추적 인공위성(GPS) 데이터,
    WLAN(wireless local area network) 데이터,
    PLAN(personal local area network) 데이터,
    셀룰러 네트워크 데이터, 또는
    NFC(near field communication) 네트워크 데이터
    중 하나 이상을 포함하는
    방법.
  22. 적어도 하나의 프로세서에 의해서 실행될 때에 상기 적어도 하나의 프로세서로 하여금 방법을 구현하게 하는 컴퓨터-실행가능한 인스트럭션들을 포함하는 하나 이상의 컴퓨터 판독가능한 매체로서,
    상기 방법은,
    호스트 프로세서 및 로케이션 프로세서를 갖는 모바일 컴퓨팅 디바이스에 의해서, 하나 이상의 로케이션 정보 소스들로부터 로케이션 정보를 검색하는 단계 ― 상기 호스트 프로세서는 상기 로케이션 프로세서와 독립적으로 동작하도록 구성됨 ― 와,
    상기 로케이션 프로세서에 의해서, 상기 로케이션 정보에 적어도 부분적으로 기초하여서 상기 모바일 컴퓨팅 디바이스와 연관된 위치를 결정하는 단계와,
    상기 로케이션 프로세서에 의해서, 전력에 적어도 부분적으로 기초하여서 상기 모바일 컴퓨팅 디바이스에 대한 제 1 전력 관리 프로토콜을 결정하는 단계와,
    상기 로케이션 프로세서에 의해서, 상기 모바일 컴퓨팅 디바이스의 로케이션이 변화되었다는 결정에 적어도 부분적으로 기초하여서 상기 모바일 컴퓨팅 디바이스에 대한 제 2 전력 관리 프로토콜을 결정하는 단계를 포함하는
    컴퓨터 판독가능한 매체.
  23. 제 22 항에 있어서,
    상기 제 1 전력 관리 프로토콜 또는 상기 제 2 전력 관리 프로토콜은 상기 모바일 컴퓨팅 디바이스의 하나 이상의 컴포넌트들 간에 전력을 할당함으로써 전력 소비량을 감소시키는
    컴퓨터 판독가능한 매체.
  24. 제 22 항에 있어서,
    상기 제 1 전력 관리 프로토콜 또는 상기 제 2 전력 관리 프로토콜은 상기 모바일 컴퓨팅 디바이스와 연관된 전력 레벨에 적어도 부분적으로 기초하는
    컴퓨터 판독가능한 매체.
  25. 제 22 항에 있어서,
    로케이션 결정 기법들은,
    글로벌 위치추적 인공위성(GPS) 데이터,
    WLAN(wireless local area network) 데이터,
    PLAN(personal local area network) 데이터,
    셀룰러 네트워크 데이터, 또는
    NFC(near field communication) 네트워크 데이터
    중 하나 이상으로부터의 정보를 포함하는
    컴퓨터 판독가능한 매체.
KR1020147025265A 2012-03-09 2013-03-07 로케이션 정보에 기초한 저 전력 프로세싱을 위한 시스템 및 방법 KR101644355B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261608865P 2012-03-09 2012-03-09
US61/608,865 2012-03-09
US13/730,484 2012-12-28
US13/730,484 US9430029B2 (en) 2012-03-09 2012-12-28 Systems and methods for low power processing based on location information
PCT/US2013/029619 WO2013134507A1 (en) 2012-03-09 2013-03-07 Systems and methods for low power processing based on location information

Publications (2)

Publication Number Publication Date
KR20140124834A true KR20140124834A (ko) 2014-10-27
KR101644355B1 KR101644355B1 (ko) 2016-08-01

Family

ID=49115158

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147025265A KR101644355B1 (ko) 2012-03-09 2013-03-07 로케이션 정보에 기초한 저 전력 프로세싱을 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US9430029B2 (ko)
EP (1) EP2823376A4 (ko)
JP (1) JP5852271B2 (ko)
KR (1) KR101644355B1 (ko)
CN (1) CN104364730B (ko)
WO (1) WO2013134507A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430029B2 (en) 2012-03-09 2016-08-30 Intel Corporation Systems and methods for low power processing based on location information
US10627473B2 (en) 2013-10-01 2020-04-21 Phasorlab, Inc. Angle of arrival measurements using RF carrier synchronization and phase alignment methods
US9591456B2 (en) 2013-07-15 2017-03-07 Samsung Electronics Co., Ltd. Triggering geolocation fix acquisitions on transitions between physical states
US20150039659A1 (en) * 2013-07-30 2015-02-05 William F. Sauber Data location management agent using remote storage
US9575551B2 (en) * 2013-09-26 2017-02-21 Intel Corporation GNSS services on low power hub
US10146297B2 (en) 2014-03-06 2018-12-04 Polar Electro Oy Device power saving during exercise
CN114578948A (zh) * 2014-03-06 2022-06-03 博能电子公司 腕表装置、方法以及计算机程序产品
CN104936268A (zh) * 2014-03-17 2015-09-23 联想(北京)有限公司 一种切换方法和装置
US10416750B2 (en) 2014-09-26 2019-09-17 Qualcomm Incorporated Algorithm engine for ultra low-power processing of sensor data
US9622177B2 (en) * 2015-08-06 2017-04-11 Qualcomm Incorporated Context aware system with multiple power consumption modes
KR102427822B1 (ko) 2015-08-12 2022-08-01 삼성전자주식회사 위치 정보 제공 방법 및 장치
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US11412347B2 (en) 2017-01-17 2022-08-09 Phasorlab, Inc. High-resolution high-dynamic range doppler-effect measurement using modulated carrier signals
CN108093362B (zh) * 2017-12-13 2021-01-01 Oppo广东移动通信有限公司 定位模块的控制方法、装置、存储介质及终端
JP7192260B2 (ja) * 2018-06-21 2022-12-20 カシオ計算機株式会社 電子機器、情報処理方法及び情報処理プログラム
WO2020056197A1 (en) * 2018-09-14 2020-03-19 Agjunction Llc Integrated gnss and steering for agricultural guidance systems
US20200242950A1 (en) * 2019-01-29 2020-07-30 Honeywell International Inc. Methods and systems for vehicle position reporting and managing historical position information

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009032753A1 (en) * 2007-08-31 2009-03-12 Palm, Inc. Techniques for controlling a radio processor in a mobile computing device
US20100056181A1 (en) * 2008-08-28 2010-03-04 International Business Machines Corporation Leveraging location based services for power conservation in multi-mode wireless communication devices
KR20110086760A (ko) * 2008-11-21 2011-07-29 퀄컴 인코포레이티드 모션 센서를 사용한 무선-기반 포지셔닝 조정

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526295B1 (en) 1999-10-14 2003-02-25 Ericsson Inc. Power conservation method in mobile communications device
US7925298B2 (en) * 2003-09-18 2011-04-12 Vulcan Portals Inc. User interface for a secondary display module of a mobile electronic device
US7500127B2 (en) 2003-09-18 2009-03-03 Vulcan Portals Inc. Method and apparatus for operating an electronic device in a low power mode
JP4463216B2 (ja) * 2006-02-09 2010-05-19 日本電気株式会社 省電力機能を備えた無線通信端末
WO2008045370A2 (en) 2006-10-06 2008-04-17 Paragon Wireless, Inc. Method, system and apparatus for a dual mode mobile device
US20080168267A1 (en) 2007-01-09 2008-07-10 Bolen Charles S System and method for dynamically configuring a mobile device
US20090163226A1 (en) * 2007-12-20 2009-06-25 Burges Karkaria Device, system, and method of power saving using location sensing modules
US8254858B2 (en) 2007-12-21 2012-08-28 Hewlett-Packard Development Company, L.P. Techniques to manage power based on motion detection
US8094421B2 (en) 2007-12-26 2012-01-10 Hitachi Global Storage Technologies Netherlands, B.V. Current-perpendicular-to-plane (CPP) read sensor with multiple reference layers
US20090259865A1 (en) 2008-04-11 2009-10-15 Qualcomm Incorporated Power Management Using At Least One Of A Special Purpose Processor And Motion Sensing
US9086875B2 (en) * 2009-06-05 2015-07-21 Qualcomm Incorporated Controlling power consumption of a mobile device based on gesture recognition
US20110018346A1 (en) 2009-07-27 2011-01-27 Dixon Ryan G Location-Based Power Profiles
US8228234B2 (en) 2009-08-27 2012-07-24 Hewlett-Packard Development Company, L.P. Power saving system and method for mobile computing device
US8369837B2 (en) 2010-04-07 2013-02-05 Apple Inc. Task management based on travel distance
JP5087105B2 (ja) 2010-06-03 2012-11-28 株式会社エヌ・ティ・ティ・ドコモ 測位装置及び方法
US8706172B2 (en) * 2010-10-26 2014-04-22 Miscrosoft Corporation Energy efficient continuous sensing for communications devices
US8675535B2 (en) * 2012-01-11 2014-03-18 Qualcomm Incorporated Reducing power consumption in a mobile communication device in response to motion detection
US9430029B2 (en) 2012-03-09 2016-08-30 Intel Corporation Systems and methods for low power processing based on location information
US9128180B2 (en) * 2012-03-16 2015-09-08 Microsoft Technology Licensing, Llc Efficient power usage in position tracking operations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009032753A1 (en) * 2007-08-31 2009-03-12 Palm, Inc. Techniques for controlling a radio processor in a mobile computing device
US20100056181A1 (en) * 2008-08-28 2010-03-04 International Business Machines Corporation Leveraging location based services for power conservation in multi-mode wireless communication devices
KR20110086760A (ko) * 2008-11-21 2011-07-29 퀄컴 인코포레이티드 모션 센서를 사용한 무선-기반 포지셔닝 조정

Also Published As

Publication number Publication date
US9430029B2 (en) 2016-08-30
JP2015513870A (ja) 2015-05-14
CN104364730A (zh) 2015-02-18
KR101644355B1 (ko) 2016-08-01
CN104364730B (zh) 2018-01-16
EP2823376A1 (en) 2015-01-14
US20130238921A1 (en) 2013-09-12
WO2013134507A1 (en) 2013-09-12
EP2823376A4 (en) 2015-10-28
JP5852271B2 (ja) 2016-02-03

Similar Documents

Publication Publication Date Title
KR101644355B1 (ko) 로케이션 정보에 기초한 저 전력 프로세싱을 위한 시스템 및 방법
EP2767125B1 (en) Power-aware tiered geofencing and beacon watchlists
US10212712B2 (en) Opportunistic resource sharing between devices
US9526067B2 (en) Method and apparatus for scanning for a wireless access point
US8948781B2 (en) Controlling operational states of a location sensing system of a mobile device
US8472973B2 (en) Adaptive energy-efficient location determination
US8452353B2 (en) Apparatus and methods for providing intelligent battery management
US8319685B2 (en) Mobile device battery management
US9470529B2 (en) Activating and deactivating sensors for dead reckoning
US10184798B2 (en) Multi-stage dead reckoning for crowd sourcing
US8812025B2 (en) Mobile terminal and control method for mobile terminal
US9654915B2 (en) Systems and methods for adjusting wireless scan rates
US20140179337A1 (en) Systems and methods for selecting an optimal location service
US20130018629A1 (en) Crowd sourcing based on dead reckoning
EP2757388B1 (en) Method and system for resource optimized, coarse and fine grained location tracking for planned journey
US9733361B2 (en) Low power positioning techniques for mobile devices
Wang et al. Energy efficiency on location based applications in mobile cloud computing: a survey
Gayatri et al. Localization Through Low Power Techniques

Legal Events

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