KR101554085B1 - 상황 인식 애플리케이션 관련 기능들을 센서 허브로 아웃소싱하기 위한 메커니즘 - Google Patents

상황 인식 애플리케이션 관련 기능들을 센서 허브로 아웃소싱하기 위한 메커니즘 Download PDF

Info

Publication number
KR101554085B1
KR101554085B1 KR1020137025897A KR20137025897A KR101554085B1 KR 101554085 B1 KR101554085 B1 KR 101554085B1 KR 1020137025897 A KR1020137025897 A KR 1020137025897A KR 20137025897 A KR20137025897 A KR 20137025897A KR 101554085 B1 KR101554085 B1 KR 101554085B1
Authority
KR
South Korea
Prior art keywords
sensor hub
primitives
processor
data
application processor
Prior art date
Application number
KR1020137025897A
Other languages
English (en)
Other versions
KR20130131458A (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 KR20130131458A publication Critical patent/KR20130131458A/ko
Application granted granted Critical
Publication of KR101554085B1 publication Critical patent/KR101554085B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0287Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level changing the clock frequency of a controller in the equipment
    • H04W52/0293Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level changing the clock frequency of a controller in the equipment having a sub-controller with a low clock frequency switching on and off a main controller with a high clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • 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

Abstract

상황 인식 애플리케이션 관련 활동들을 센서 허브로 아웃소싱하기 위한 메커니즘이 설명된다. 본 발명의 실시예들의 방법은 센서 허브의 센서 허브 프로세서를 구성함으로써 애플리케이션 프로세서로부터 센서 허브 프로세서로 복수의 기능을 아웃소싱하는 단계, 및 센서 허브 프로세서에 결합된 하나 이상의 센서를 이용하여 하나 이상의 상황 인식 애플리케이션을 실행하는 단계를 포함한다.

Description

상황 인식 애플리케이션 관련 기능들을 센서 허브로 아웃소싱하기 위한 메커니즘{MECHANISM FOR OUTSOURCING CONTEXT-AWARE APPLICATION-RELATED FUNCTIONALITIES TO A SENSOR HUB}
본 발명은 일반적으로 컴퓨팅 장치에 관한 것으로서, 구체적으로는 상황 인식 애플리케이션 관련 기능들을 센서 허브로 아웃소싱하기 위한 메커니즘의 이용에 관한 것이다.
상황 인식 소프트웨어 애플리케이션들은 핸드헬드 및 이동 컴퓨팅 장치들에서 보편화되고 있다. 상황 인식 애플리케이션들은 새로운 컴퓨트 패러다임을 제공하는데, 그 이유는 그러한 패러다임이 컴퓨팅과 장치 사용을 분리하며, 따라서 배터리 수명을 늘리기 위해 사용자가 장치들과 상호작용하지 않을 때 "장치들은 턴오프시키는" 기존의 접근법이 작동하지 않기 때문이다. 이것은 사용자의 상황이 사용자의 일상 생활 양상들(예를 들어, 사용자 활동, 사용자 위치, 사용자의 사회적 상호작용, 사용자 감정 상태 등)과 관련되고, 상황 인식 애플리케이션들을 갖는 이동 장치들은 (사용자가 "장치를 턴오프시킬" 때에도) 사용자의 상황을 계속 캡처해야 하며, 이는 컴퓨팅 장치들이 계속 작동하여 전력을 소비하게 하기 때문이다.
예를 들어, 보수계(pedometer) 애플리케이션은 보수계 애플리케이션을 가진 이동 장치가 어떻게 사용되는지에 관계없이 사용자가 하루 종일 행한 걸음들을 측정하도록 설계된다. 보수계 애플리케이션의 요구들을 충족시키기 위하여, 다양한 장치 센서들(예로서, 가속도계, 자이로스코프, 컴퍼스 등)은 이동 장치가 아마도 "턴오프"되어 사용자의 주머니 안에 있을 때에도 연장된 기간 동안 사용자의 이동(예를 들어, 걸음들)을 감지하고 있어야 할 것이다(따라서, 계속 전력을 소비할 것이다). 사용자가 전화와 상호작용하고 있지 않을 때 턴오프되는 통상적인 이동 전화와 달리, 상황 인식 애플리케이션들을 가진 이동 컴퓨팅 장치들은 하루 종일 센서 데이터를 계속 캡처하기 위해 온 상태로 유지되고 항상 사용중이어야 한다. 상황 인식 애플리케이션들은 많은 양의 전력을 소비하며, 이는 컴퓨팅 장치 배터리들이 하루에 몇 번씩 충전될 것을 요구한다.
본 발명의 실시예들은 첨부 도면들에서 한정이 아니라 예로서 도시되고, 도면들에서 동일한 참조 부호들은 유사한 요소들을 지시한다. 도면들에서:
도 1은 본 발명의 일 실시예에 따른 센서 허브를 사용하는 컴퓨팅 장치를 나타낸다.
도 2는 본 발명의 일 실시예에 따른 센서 허브 하드웨어를 갖는 센서 허브를 나타낸다.
도 3a 및 3b는 본 발명의 일 실시예에 따른 센서 허브 소프트웨어를 갖는 센서 허브의 일 실시예를 나타낸다.
도 4는 본 발명의 일 실시예에 따른, 프로세서 상황 인식 애플리케이션 관련 기능들을 센서 허브로 아웃소싱하기 위한 방법을 나타낸다.
도 5는 본 발명의 일 실시예에 따른 컴퓨팅 시스템을 나타낸다.
본 발명의 실시예들은 상황 인식 애플리케이션 관련 활동들을 센서 허브로 아웃소싱하기 위한 메커니즘을 제공한다. 본 발명의 실시예들의 방법은 센서 허브의 센서 허브 프로세서를 구성함으로써 애플리케이션 프로세서로부터 센서 허브 프로세서로 복수의 기능을 아웃소싱하는 단계, 및 센서 허브 프로세서에 결합된 하나 이상의 센서를 이용하여 하나 이상의 상황 인식 애플리케이션을 실행하는 단계를 포함한다.
일 실시예에서, 컴퓨팅 장치의 애플리케이션 프로세서가 수면 상태일 때 동작하고, 다수의 기능을 애플리케이션 프로세서로부터, 이러한 기능들이 애플리케이션 프로세서에서 수행되는 경우보다 훨씬 낮은 전력에서 센서 허브 프로세서로 오프로딩하는 것을 담당하는 저전력 감지 서브시스템(예로서, 프로세서, 센서, 하드웨어와 소프트웨어의 조합 등)으로 이루어진 센서 허브가 제공된다. 또한, 일 실시예에서, 센서 허브는 저전력 요구를 유지하면서 광범위한 상황 능력을 위한 센서 허브를 구성하는 데 필요한 유연성을 제공하기 위해 전력 효율적인 프리미티브(primitive)의 세트를 노출시킴으로써 광범위한 상황 인식 애플리케이션들을 지원한다. 새로운 센서 허브는 많은 양의 전력을 소비하여 배터리 수명을 크게 낮추는 애플리케이션 프로세서들에 상황 인식 애플리케이션 관련 센서들이 직접 접속될 것을 요구하는 전통적인 시스템들과 관련된 종래의 전력 관련 문제들을 해결한다.
도 1은 본 발명의 일 실시예에 따른 센서 허브(110)를 사용하는 컴퓨팅 장치(100)를 나타낸다. 컴퓨팅 장치(100)는 컴퓨팅 장치(100)의 임의의 하드웨어 또는 물리 자원들과 사용자 사이의 인터페이스의 역할을 하는 운영 체제(104)를 갖는 이동 장치(예로서, 스마트폰, 핸드헬드 장치, 태블릿, 랩탑 등)를 포함할 수 있다. 컴퓨팅 장치(100)는 프로세서(106), 메모리 장치들(102), 네트워크 장치들, 드라이버들 등을 더 포함할 수 있다. 프로세서(106)는 컴퓨팅 장치(100)를 서빙하기 위해 제공되는 애플리케이션 프로세서(회로)(108)를 포함할 수 있다. 애플리케이션 프로세서(108)는 향상된 상황 처리 등과 같은 다양한 작업들을 수행하기 위해, Atom® 프로세서 코어 등을 갖는 Lincroft SOC(system-on-a-chip)에 기초하는 Moorestown®과 같은 이동 인터넷 장치(MID)-가능 프로세서를 포함할 수 있다. 일 실시예에서, 본 명세서에서 후술하는 바와 같이, 애플리케이션 프로세서(108)는 (유사한 기능들이 애플리케이션 프로세서에 의해 수행될 때와 달리) 훨씬 더 적은 양의 전력을 이용하여 기능들을 수행하기 위해 센서 허브 프로세서에 결합된 다수의 센서를 이용하여 (애플리케이션 프로세서에 의해 수행되는) 다양한 상황 인식 애플리케이션 관련 기능들을 수행하기 위해, 요구 또는 필요에 따라, (센서 허브 하드웨어 및/또는 소프트웨어를 이용하여) 센서 허브를 구성하기 위한 권한 및 능력을 구비할 수 있다. "기계", "장치", "컴퓨터" 및 "컴퓨터 시스템"과 같은 용어들은 본 명세서 전반에서 교체 가능하게 그리고 동의어로 사용된다는 점에 유의한다.
일 실시예에서, 컴퓨팅 장치(100)는 프리미티브들로서 제공되는 센서 데이터 캡처링, 트리거링, 처리, 필터링, 스트리밍, 저장, 전송, 교정 등과 같은 다양한 상황 인식 애플리케이션 관련 기능들을 수행하기 위해 애플리케이션 프로세서(108)와 통신하는 하드웨어(아키텍처)(112) 및 소프트웨어(아키텍처)(114)를 갖는 센서 허브(110)를 더 포함한다. 이러한 기능들은 애플리케이션 프로세서(108)로부터 센서 허브(110)로 아웃소싱, 예를 들어 오프로딩되며, 상황 인식 애플리케이션들의 변화하는 요구를 허용할 만큼 충분히 유연한 방식으로 수행된다. 즉, 일 실시예에서, 프리미티브들은 센서 허브(110)에서 실행될 수 있지만, 센서 허브 애플리케이션 프로그래밍 인터페이스(API)와 같은 프로토콜을 통해 애플리케이션 프로세서(108)로부터 그리고 그에 의해 구성된다.
실생활 상황 인식 애플리케이션 예를 고려하면, 상황 인식 애플리케이션은 그것이 "제스처 인식"을 요청할 때 트리거된다. 이러한 요청은 상호작용 애플리케이션(IA) 애플리케이션 프로세서(108) 상에서 실행되는 미들웨어로 라우팅된다. 이어서, 미들웨어는 예를 들어 가속도계로부터 데이터를 캡처하고, 가속도계로부터 이동이 검출되는 경우에 자이로스코프를 트리거하고, 센서 허브(110) 상에서 제스처 스폿팅(gesture spotting)을 수행하고, 이러한 조건들이 충족되는 경우에 데이터를 미들웨어로 전송하도록 센서 허브(110)를 구성한다. 이어서, 애플리케이션 프로세서 상의 미들웨어는 그것이 데이터를 수신할 때마다 알고리즘(예로서, HMM(hidden Markov model) 알고리즘)을 실행하고, 최종 제스처 인식을 수행하고, 사용자가 방금 "쉐이크(shake)" 제스처를 수행한 것으로 결정한다. 즉, 일 실시예에서, 프리미티브들(예로서, 트리거, 캡처 및 처리)은 IA 애플리케이션 프로세서(108) 상에서 실행되는 미들웨어에 의해 구성되지만, 이들은 후속 도면들을 참조하여 설명되는 바와 같이 센서 허브(110)의 센서 허브 소프트웨어(114)에서 구현되고, 애플리케이션 프로세서(108)에서 센서 허브 API를 통해 노출되고, 애플리케이션 프로세서(108)를 통해 요청, 트리거 및 구성된다.
본 명세서에서 후술하는 바와 같이, 센서 허브 하드웨어(112)는 컴퓨팅 장치(100)의 전력 요구를 낮추도록 다양한 상황 인식 애플리케이션들과 관련된 기능들을 수행하기 위해 센서 허브 소프트웨어(114)와 연계하여 동작하는 다수의 센서(예로서, 3D 가속기, 자이로스코프, 컴퍼스, 기압계 등)에 결합되는 범용 저전력 프로세서(예로서, STMicro Cortex 등)를 포함할 수 있다.
도 2는 본 발명의 일 실시예에 따른 센서 허브 하드웨어(112)를 갖는 센서 허브(110)를 나타낸다. 일 실시예에서, 센서 허브(110)는 센서 허브 하드웨어(112) 및 센서 허브 소프트웨어(114)를 포함한다. 센서 허브 하드웨어(112)는 극히 낮은 전류(예를 들어, 마이크로 암페어 내지 밀리 암페어 범위)에서 동작하고 처리 요구에 기초하여 동적으로 스케일 업될 수 있는 범용 저전력 센서 허브 프로세서(202)(예로서, Cortex M3)를 포함한다. 일 실시예에서, 상황 인식 애플리케이션들과 관련된 다양한 센서들(214-228)이 예를 들어 집적 회로간(I2C) 인터페이스, 직렬 주변장치 인터페이스(SPI), 범용 입출력(GPIO), 유니버설 비동기 수신기/송신기(UART), 아날로그, 무선 등과 같은 표준 인터페이스들을 이용하여 센서 허브 프로세서(202)에 접속됨에 따라 센서 허브 하드웨어(112) 내에 배치된다. 또한, 일 실시예에서, 센서 허브 프로세서(202)는 한 세트의 인터페이스(예로서, SPI, 유니버설 직렬 버스(USB), GPIO 등)를 통해 애플리케이션 프로세서(108)에 접속되고, 그와 통신하도록 배치되며, 공유 메모리 공간에 대한 액세스를 유지한다. 도시된 실시예에서는 센서 허브 프로세서(202)가 개별 프로세서로서 도시되지만, 다른 실시예에서는 센서 허브 프로세서(202)는 애플리케이션 프로세서(108) 내에 코어 프로세서로서 배치되거나, 또는 또다른 실시예에서는 칩셋(예로서, Atom® 칩셋, 플랫폼 제어기 허브(PCH) 등) 내에 배치되거나 기타 등등일 수 있는 것이 고려된다.
일 실시예에서, 센서 허브 프로세서(202)는 처리 계층 구조 내에서, 예를 들어 센서들(214-228)과 애플리케이션 프로세서(108) 사이에서 중간 레벨 처리 에이전트의 역할을 한다. 이러한 중간 레벨 에이전트는, 애플리케이션 프로세서(108)로 하여금 센서 데이터와 관련된 전술한 작업들을 센서 허브 프로세서(202)로 아웃소싱할 수 있게 함으로써, 애플리케이션 프로세서(108)가 센서 데이터를 계속 폴링 및 처리(예를 들어, 센서 데이터의 수집 및 임계치와의 비교)해야 하는 필요성을 완화한다. 또한, 센서 허브 프로세서(202)는 센서들(214-228)이 센서 허브 프로세서(202) 없이 애플리케이션 프로세서(108)와 함께 직접 동작하도록 구성될 때, 센서들(214-228)에 의해 통상적으로 제공되는 것을 초과하는 유연성 및 프로그래밍 가능성을 제공한다.
센서 허브 프로세서(202)는 상황 인식 애플리케이션의 특성 및 기능에 따라 임의의 수 및 타입의 센서들(214-228)과 함께 동작하도록 사용될 수 있는 것이 고려된다. 예를 들어, 보수계 애플리케이션과 같은 상황 인식 애플리케이션은 (3d 가속도계(222), 3d 자이로스코프(220) 등과 같은) 소정의 센서들을 필요로 할 수 있는 반면, 카메라 애플리케이션과 같은 다른 상황 인식 애플리케이션들은 보수계 애플리케이션이 필요로 할 수 있는 것과 완전히 동일한 센서들을 필요로 하지 않을 수 있으며, 그 반대일 수도 있다. 일부 예들은 주변 마이크(216)와 센서 허브 프로세서(202), 3d 컴퍼스(218)(예로서, Honeywell 컴퍼스), 3d 자이로스코프(220)(예로서, Inverse 자이로스코프), 3d 가속도계(222)(예로서, STMicro 가속도계), 광 센서(224)(예로서, Intersil 광 센서), 기압계(226) 및 플래시(228) 등 사이의 데이터 변환을 위해 사용되는 코덱(214)(예를 들어, Maxim 코덱)과 관련된 주변 마이크(216)(예로서, Knowles 주변 마이크)를 포함한다. 전술한 물리 센서들(214-228)에 더하여, 다양한 가상 센서들이 센서 허브 프로세서(202)에 의해 지원될 수 있다. 이러한 가상 센서들(예를 들어, orientation_xy, orientation_z, 관성 측정으로부터의 헤딩, 잡음 레벨 등)은 물리 센서들(214-228)로부터 획득된 센서 데이터를 이용하여 계산 또는 획득될 수 있다.
도 3a-3b를 참조하여 더 설명되는 바와 같이, 일 실시예에서, 센서 허브 프로세서(202)가 다양한 기능들 또는 활동들을 수행하기 위한 소정 능력들을 동적으로 또는 요구시에 채택하는 것을 돕기 위해 임의의 수 및 타입의 소프트웨어 모듈이 애플리케이션 프로세서(108)에서 센서 허브 소프트웨어(114)의 일부로서 사용된다. 소프트웨어 모듈들을 통해 제공되는 이러한 기능들은 센서 허브 프리미티브들로서 지칭될 수 있다. 일 실시예에서, 센서 데이터 캡처링, 트리거링, 처리, 필터링, 스트리밍, 저장, 전송, 교정 등과 같은 다양한 상황 인식 애플리케이션 관련 기능들이 프리미티브들로서 제공되고, 애플리케이션 프로세서(108)로부터 센서 허브(110)로 아웃소싱, 예를 들어 오프로딩되며, 상황 인식 애플리케이션들의 변화하는 요구를 허용할 만큼 충분히 유연한 방식으로 수행된다. 즉, 일 실시예에서, 프리미티브들은 센서 허브(110)에서 실행될 수 있지만, 센서 허브 API와 같은 프로토콜을 통해 애플리케이션 프로세서(108)로부터 그리고 그것에 의해 구성된다. 즉, 일 실시예에서, 프리미티브들(예로서, 트리거, 캡처, 처리, 캡처링, 필터링 등)은 IA 애플리케이션 프로세서(108) 상에서 실행되는 미들웨어에 의해 구성되지만, 이들은 후속 도면들을 참조하여 설명되는 바와 같이 센서 허브(110)의 센서 허브 소프트웨어(114)에서 구현되고, 애플리케이션 프로세서(108)에서 센서 허브 API를 통해 노출되고, 애플리케이션 프로세서(108)를 통해 요청, 트리거 및 구성된다.
일 실시예에서, 소정의 디폴트 프리미티브들이 예를 들어 센서 허브(110) 및 애플리케이션 프로세서(108)를 갖는 컴퓨팅 장치의 제조시에 센서 허브(110)의 일부로서 최초 제공될 수 있다. 그러나, 시간이 지남에 따라, (이러한 기능들 또는 능력들에 대응하는) 소정 프리미티브들이 센서 허브 소프트웨어(114)에 추가될 수 있다(또는 그로부터 제거될 수 있다). 예를 들어, 새로운 기능(예로서, 추가할 능력)을 나타내는 새로운 프리미티브(예를 들어, 새로운 컴포넌트 추가)가 센서 허브 소프트웨어(114)에 추가되는 경우, 센서 허브 소프트웨어(114)는 애플리케이션 프로세서(108)가 상황 인식 애플리케이션들과 관련된 장래의 트랜잭션들에서 사용될 이 새로운 기능을 채택하도록 센서 허브 프로세서(202)를 동적으로 또는 요구시에 (재)구성하는 능력을 돕는다. 유사하게, 센서 허브 프로세서(202)는 대응하는 프리미티브(예를 들어, 교정기)가 센서 허브 소프트웨어(114)에 의해 제공되는 프리미티브들의 리스트로부터 제거되는 경우에 특정 기능(예를 들어, 교정)이 없도록 (센서 허브 소프트웨어(114)에 의해 도움을 받는 애플리케이션 프로세서(108)에 의해) 동적으로 또는 요구시에 (재)구성될 수 있다. 일 실시예에서, 동적 구성은 임의의 수 또는 조합의 프리미티브들의 동적 실행 및 중지를 지칭한다. 예를 들어, 데이터의 캡처는 가속도계(222)를 이용하여 시작된 후 임의의 시간에 중지될 수 있지만, 그럼에도 캡처 프리미티브(예로서, 도 3b의 캡처 모듈(322))는 본래대로 유지될 수 있고, 단지 실행되지 않을 뿐이다(예를 들어, 다시 필요할 때까지 유휴 상태로 유지된다). 또한, 이벤트가 개시되어 모니터링될 수 있지만, 예를 들어 가속도계 데이터가 특정 임계치에 도달하거나 초과하는 경우, 애플리케이션 프로세서(108)가 깨어날 수 있거나 이벤트가 제거될 수 있다. 더욱이, 센서 허브(110) 상에서 실행되는 센서 허브 소프트웨어(114)를 변경하고, API들(예를 들어, 도 3a의 센서 허브 API(310))에 새로운 프리미티브들을 추가하여 애플리케이션 프로세서(108)로 하여금 새로 추가된 프리미티브들에 액세스하여 이용할 수 있게 함으로써 센서 허브 기능들의 확장을 통해 소정 프리미티브들이 추가 또는 제거될 수 있다.
도 3a 및 3b는 본 발명의 일 실시예에 따른 센서 허브 소프트웨어(114)를 갖는 센서 허브(110)의 일 실시예를 나타낸다. 도 2를 참조하여 전술한 바와 같이, ("활동 모듈들", "능력 모듈들", "기능 모듈들" 등으로도 지칭되는) 다수의 프리미티브가 센서 허브 소프트웨어(114) 및 센서 허브 소프트웨어 모듈들(304)의 일부로서 사용되어, 애플리케이션(108)이 관련 능력들을 채택하고 다양한 대응하는 상황 인식 애플리케이션 관련 기능들을 수행하도록 센서 허브 프로세서(202)를 구성하는 것을 도울 수 있다.
일 실시예에서, 컴퓨팅 장치(100)는 센서 데이터 캡처링, 트리거링, 처리, 필터링, 스트리밍, 저장, 전송, 교정 등과 같은 다양한 상황 인식 애플리케이션 관련 기능들을 수행하기 위해 애플리케이션 프로세서(108)와 통신하는 하드웨어(아키텍처)(112) 및 소프트웨어(아키텍처)(114)를 갖는 센서 허브(110)를 더 포함한다. 이러한 기능들은 프리미티브들로서 제공되고 인식될 수 있다. 이러한 기능들은 애플리케이션 프로세서(108)로부터 센서 허브(110)로 아웃소싱, 예를 들어 오프로딩되며, 상황 인식 애플리케이션들의 변화하는 요구를 허용할 만큼 충분히 유연한 방식으로 수행된다. 즉, 일 실시예에서, 프리미티브들은 센서 허브(110)에서 실행되지만, 센서 허브 API와 같은 프로토콜을 통해 애플리케이션 프로세서(108)로부터 그리고 그것에 의해 구성된다. 즉, 일 실시예에서, 프리미티브들(예로서, 트리거, 캡처, 처리, 캡처링, 필터링 등)은 IA 애플리케이션 프로세서(108) 상에서 실행되는 미들웨어에 의해 구성되지만, 이들은 후속 도면들을 참조하여 설명되는 바와 같이 센서 허브(110)의 센서 허브 소프트웨어(114)에서 구현되고, 애플리케이션 프로세서(108)에서 센서 허브 API를 통해 노출되고, 애플리케이션 프로세서(108)를 통해 요청, 트리거 및 구성된다.
일 실시예에서, 프리미티브들을 이용하는 애플리케이션 프로세서(108)에 의한 센서 허브 프로세서(202)의 이러한 구성 또는 재구성은 동적으로 수행되거나(예를 들어, 상황 인식 애플리케이션 또는 사용자 제스처가 변경을 트리거할 때마다 프리미티브가 자동으로 추가, 편집 또는 삭제될 수 있거나), 주문시에 수행될 수 있다(예를 들어, 사용자가 센서 허브(110)를 이용하여 컴퓨팅 장치 상의 설정들을 변경함으로써 프리미티브들을 변경할 수 있다.
(도 3b를 참조하여 더 설명되는) 프리미티브들에 더하여, 다른 소프트웨어/하드웨어/펌웨어 컴포넌트들도 사용된다. 예를 들어, 센서 허브 애플리케이션 프로그래밍 인터페이스(310)("API" 또는 간단히 "인터페이스"로 지칭됨)는 IA(306)와 관련된 IA 드라이버(312)(콘텐츠 파서(314)를 가짐)가 예를 들어 센서 허브 프로세서(202)의 구성, 데이터의 구성 등을 위해 센서 허브 프로세서(202)와 상호작용하는 것을 가능하게 할 수 있다. 드라이버들(314)은 예를 들어 원시(raw) 센서 데이터가 필요한 경우에 예를 들어 추론 엔진(예를 들어, SSG(Skin-Skeleton-Guts) 추론 소프트웨어 개발자 키트(SDK))에 의해 또는 애플리케이션들 및 서비스들(316)에 의해 직접 사용될 수 있는 센서 API(308)를 노출시키는 데 사용될 수 있다. 일 실시예에서, 센서 API(308) 및/또는 센서 허브 API(310)는 센서 허브 소프트웨어(114)와 함께 추상화를 제공하며, 따라서 센서 허브 소프트웨어(114)가 시간에 걸쳐 상이한 센서들을 지원하는 것이 필요할 때, 각각의 센서 드라이버가 노출하는 센서 능력들은 센서 API(308) 및/또는 센서 허브 API(310)를 이용하여 추상화된다. 이와 같이, 예를 들어, 센서들(214-228)의 기존 가속도계가 새로운 가속도계로 교체되는 경우, 기존 가속도계와 관련된 센서 드라이버를 새로운 가속도계의 센서 드라이버로 간단히 교체하는 것이 기존의 것과 동일한 가속도계 API(예를 들어, 데이터 캡처, 전력 낮춤 등)를 노출시키기에 충분할 것이다.
또한, 미들웨어(370)는 데이터의 고레벨 상황 저장, 검색, 통지, 처리 등 및 추론 알고리즘 구현, 원시 센서 데이터의 저장(예로서, 높은 데이터 레이트) 등과 같은 다른 애플리케이션들, 서비스들 및 컴포넌트들(316)의 구현을 제공할 수 있다. 유사하게, 드라이버들(312), 파서들(314) 등과 같은 다양한 컴포넌트들을 이용하여, 추상적인 센서 허브 상세들을 제공하고, 다수의 소비자를 지원하고, 충돌 해결을 실행하고, 기타 등등을 행할 수 있다. 도 1을 참조하여 전술한 "제스처 인식" 예를 다시 참조하면, "제스처 인식" 요청이 애플리케이션 프로세서(108)에서 실행되는 미들웨어(370)로 라우팅되면, 미들웨어(370)는 예를 들어 가속도계로부터 데이터를 캡처하고, 가속도계로부터 이동이 검출되는 경우에 자이로스코프를 트리거하고, 센서 허브(110) 상에서 제스처 스폿팅을 수행하고, 이러한 조건들이 충족되는 경우에 데이터를 미들웨어(370)로 전송하도록 센서 허브(110)를 구성한다. 이어서, 애플리케이션 프로세서(108) 상의 미들웨어(370)는 그것이 데이터를 수신할 때마다 알고리즘(예로서, HMM 알고리즘)을 실행하고, 최종 제스처 인식을 수행하고, 사용자가 방금 예를 들어 "쉐이크" 제스처를 수행한 것으로 결정한다. 미들웨어(370)는 IA(306), 센서 API(308), 센서 허브 API(310), 드라이버들(312), 다른 애플리케이션들, 서비스들 및 컴포넌트들(316), CAC(call admission control) 애플리케이션들(352), CAC 프레임워크(354)(예로서, SSG 프레임워크), 추론 SDK(예로서, SSG 추론 SDK)(356), CAC 클라이언트 API(358), CAC 제공자 API(360) 등과 같은 도시된 컴포넌트들 중 일부를 포함할 수 있으며, 파서(314)는 드라이버들(312)과 관련되지만 센서 허브(110)에서 실행될 수 있다. 전술한 바와 같이, 일 실시예에서, 센서 허브 소프트웨어 모듈들(304)을 통해 제공되는 프리미티브들(예로서, 트리거, 캡처, 처리, 캡처링, 필터링 등)은 애플리케이션 프로세서(108) 상에서 실행되는 미들웨어(370)에 의해 구성되지만, 이들은 센서 허브(110)의 센서 허브 소프트웨어(114)에서 구현되고, 애플리케이션 프로세서(108)에서 센서 허브 API(310)를 통해 노출되고, 애플리케이션 프로세서(108)를 통해 요청, 트리거 및 구성된다.
이제, 도 3b를 참조하면, 다양한 능력들 및/또는 기능들을 참조하는 다수의 프리미티브(322-338)가 소프트웨어 모듈들(304)로서 제공되며, 센서 허브 API(310)를 통해 센서 허브 프로세서(202)와 연관되어, 애플리케이션 프로세서(108)로 하여금 상황 인식 애플리케이션의 다양한 필요들 및/또는 요구들에 기초하여 센서 허브 프로세서(202)를 (재)구성할 수 있게 한다. 도시된 프리미티브들(322-338)과 관련된 다양한 기능들은 이해를 간단하고 쉽게 하기 위한 예들로서 열거될 뿐이며, 임의의 수의 다른 기능들이 프리미티브들(322-338)의 리스트에 추가(또는 그로부터 제거)될 수 있는 것이 고려된다.
일 실시예에서, 센서 허브 프리미티브들(322-338)은 범위 및 원하는 샘플링 레이트를 구성하는 것에 더하여 여러 센서들(212-228) 중 어느 센서로부터 데이터를 캡처할지에 대한 선택을 가능하게 하는 캡처 모듈(322)을 포함한다. 캡처 모듈(322)은 또한 센서 허브 프로세서(202)가 불필요하거나 비활성인 임의의 센서들(214-228)을 저전력 모드가 되게 하여 전력을 보존하는 것을 가능하게 한다. 다른 프리미티브는 전송 효율을 여전히 유지하면서 지연을 최적화하도록 데이터를 애플리케이션 프로세서(108)로 스트리밍하기 위한 센서 허브 프로세서(202)의 구성을 돕는 데 사용되는 데이터 전달 모듈(324)을 포함한다. 데이터 전달 모듈(324) 또는 이러한 모드는 애플리케이션 프로세서(108)가 깨어나거나 활성일 때 사용될 수 있다. 대안으로서, 사용자(예를 들어, 이동 컴퓨팅 장치의 최종 사용자)가 (이동) 컴퓨팅 장치와 상호작용하고 있지 않은 경우, 애플리케이션 프로세서(108)는 수면 상태가 될 수 있으며, 배경에서 관련 데이터를 수집하고 데이터를 저장 매체에 수집 또는 유지하도록 센서 허브 프로세서(202)를 구성할 수 있다. 데이터 전달 모드 동안, 애플리케이션 프로세서(108)는 주기적으로 깨어나서, 저장 매체로부터 저장된 데이터를 검색하고, 상황 인식과 같은 필요한 작업들을 수행할 수 있다.
일 실시예에서, 다른 프리미티브는 센서들(214-228)로부터 획득된 센서 데이터에 소정의 데이터 처리 기능들을 적용하기 위한 센서 허브 프로세서(202)의 구성을 돕도록 애플리케이션 프로세서(108)를 트리거하는 데 사용되는 처리 모듈(326)을 포함한다. 이러한 처리 기능들은 유연성(예를 들어, 샘플들, 슬라이딩 윈도들 등의 수)을 향상시키기 위해 한 세트의 파라미터들을 통해 구성될 수 있다. 또한, 이러한 처리 기능들은 필요 또는 요구에 따라 프리미티브 조정기(338)를 이용하여 기존의 처리 모듈(326)을 확장함으로써 비교적 쉽게 확장될 수 있다. 프리미티브 조정기(338)는 처리 모듈(326)과 같은 기존 모듈의 기능들을 확장하거나 소프트웨어 프로그래밍을 통해 새로운 모듈을 추가하는 데 사용될 수 있는 능력 확장 모듈을 포함한다.
일 실시예에서, 프리미티브들(322-338)은 임의의 하나 이상의 센서(214-228)로부터의 센터 데이터를 결합하고 소정 조건들의 발생에 대해 센서 데이터를 평가하는 데이터 처리 기능들을 수행하기 위한 센서 허브 프로세서(202)의 구성을 촉진하는 것을 돕는 조건 평가기(328)를 더 포함한다. 이러한 조건들은 트리거될 때 다음 액션들, 즉 (1) 새로운 센서들로부터의 캡처의 트리거, (2) 데이터 저감 및 (3) 이벤트 검출 중 하나 이상을 유발할 수 있다. 새로운 센서들로부터의 캡처의 트리거는 상이한 센서로부터 캡처 모듈(322)을 이용하여 캡처를 트리거하기 위해 센서들(214-228)을 이용하는 것을 지칭하며, 이는 일부 센서들이 다른 센서들보다 전력을 더 많이 소비한다는 점에서 전력 효율을 향상시킨다. 예를 들어, 상황 인식 애플리케이션의 제스처 인식의 경우, 제스처 인식 관련 작업들을 수행하기 위해 가속도계, 자이로스코프 등과 같은 특정 센서들이 필요하다. 예를 들어, 가속도계로부터 획득된 데이터가 사용자의 이동을 검출하는 데 사용되고, 이는 (통상적으로 10배 더 많은 전력을 소비하는) 자이로스코프로부터의 캡처의 개시를 유발한다. 일 실시예에서, 애플리케이션 프로세서(108)의 능력이 센서 허브 프로세서(202)로 오프로딩 또는 아웃소싱되어, 낮은 지연의 액션들을 가능하게 하며, 이는 애플리케이션 프로세서(108)에 그러한 능력이 유지되는 경우에는 가능하지 않은데, 그 이유는 캡처가 트리거될 때마다 애플리케이션 프로세서(108)가 깨어나야 하기 때문이다.
데이터 저감 및 이벤트 검출과 관련하여, 연속 감지로 인해, 캡처 모듈(322)을 이용하여 소정 양의 데이터가 캡처되지만, 그러한 데이터의 대부분은 어떠한 중요한 의미도 포함하지 않을 수 있다. 예를 들어, 제스처 또는 음성 인식을 고려하면, 종종 가속도계 또는 마이크와 같은 센서들은 일부 쓸모없는 데이터를 수집할 수 있으며, 이러한 쓸모없는 데이터는 애플리케이션 프로세서(108)가 깨어나거나 그 쓸모없는 데이터를 수신하는 것을 요구하지 않는다. 소정 시점에서, 사용자는 제스처를 수행하거나 단어들을 말할 수 있으며, 센서 허브(110)는 (제스처 또는 음성을 반드시 이해할 필요는 없이) 가능한 제스처(또는 음성)가 수행된 것을 검출할 수 있을 때, 애플리케이션 프로세서(108)를 깨우고 데이터를 전달한다. 즉, 일 실시예에서, 애플리케이션 프로세서(108)는 수집된 데이터가 소정의 중요성을 갖는 경우에만 깨어나서 데이터를 수신하며, 그렇지 않은 경우에는 그러한 임무가 센서 허브(110)로 아웃소싱되고 그에 의해 수행됨으로써, 애플리케이션 프로세서(108)에 대한 활동 부하가 감소하고, 따라서 컴퓨팅 장치의 전력 소비가 낮아진다.
예를 들어, 제스처 인식의 경우, 제스처 인식 파이프라인의 처음 두 스테이지는 계산 집약적이 아니며, 센서 허브(110)로 오프로딩될 수 있다. 이들 스테이지는 제스처의 타입에 대한 지식 없이도 제스처를 닮은 이동이 수행되었는지에 대한 검출을 가능하게 한다. 그렇게 하는 것은 제스처가 수행되지 않을 때 오리지널 데이터의 95% 이상을 줄이며, 따라서 IA 애플리케이션 프로세서(108)를 훨씬 덜 자주 깨워도 된다. 나머지 5%의 데이터에 대해, 애플리케이션 프로세서(108)가 깨어날 수 있으며, 제스처 인식을 수행하는 고도로 계산 집약적인 스테이지가 IA에서 수행된다. 이러한 작업 부하 분산 접근법은 검출, 음성 인식, 스피커 식별 등을 포함하는 여러 인터페이스 파이프라인에 걸쳐 일반화될 수 있다.
프리미티브들(304)을 계속 설명하면, 가상 센서들(330)은 (센서들(214-228)로부터 획득되거나 그들에 의해 계산되는) 원시 센서 데이터와 달리 고레벨 데이터(예를 들어, 컴퓨팅 장치가 위로 향하는지의 여부 등)를 제공하는 데 사용될 수 있는 프리미티브로서 서빙한다. 일부 가상 센서들(330)(예로서, 배향, 헤딩 등)은 센서 허브(110)에서 효율적으로 계산될 수 있으며, 오리지널 센서 데이터가 필요하지 않은 경우에 데이터를 크게 줄인다. 또한, 이러한 가상 센서들(330)은 소정의 이벤트들을 트리거하고, 그에 따라 애플리케이션 프로세서(108)를 깨울 수 있다.
다른 프리미티브들(304)은 교정기(332), 타임 스탬핑 모듈(334), 전력 관리기(336) 및 프리미티브 조정기(338)를 포함한다. 일부 센서들(예로서, 컴퍼스)은 빈번한 교정을 필요로 할 수 있으므로, 교정기(332)는 그의 교정 기능들을 적용하여 다양한 교정 작업들을 수행하고, 교정(또는 교정된) 데이터를 애플리케이션 프로세서(108)로 전달하는 데 사용될 수 있다. 정확한 상황 인식을 가능하게 하기 위해 센서 샘플들의 정확한 타임 스탬프들을 유지하는 것이 중요할 수 있으므로, 타임 스탬핑 모듈(334)은 센서 허브 자신의 내장 클럭과 함께 시간 데이터와 애플리케이션 프로세서(108)를 주기적으로 동기화하여 상황 인식 애플리케이션과 관련된 다양한 활동들의 시간 샘플링을 수행하고 등록하는 데 사용될 수 있다. 시간 데이터는 시간 데이터 샘플들과 함께 전송되는 타임 스탬프들로서 애플리케이션 프로세서(108)와 공유될 수 있다. 전력 관리기(336)는 센서 허브(110)에서의 전력 관리를 용이하게 하며, 따라서 이것은 자율적으로 그리고 애플리케이션 프로세서(108)와 무관하게 행해진다. 예컨대, 전력 관리기(336)는 애플리케이션 프로세서(108)가 고전력 상태에 있을 수 있는 동안 (예를 들어, 연속적인 데이터 샘플 획득들 사이에서) 센서 허브(110)를 저전력 상태로 전환할 수 있다. 프리미티브 조정기(338)는 센서 허브 프리미티브들(304)의 리스트 내로의 새로운 프리미티브들의 프로그래밍 및/또는 소정의 능력들을 추가 또는 삭제하기 위한 기존 프리미티브들(304)의 (재)프로그래밍을 가능하게 한다.
도 4는 본 발명의 일 실시예에 따른, 프로세서 상황 인식 애플리케이션 관련 기능들을 센서 허브로 아웃소싱하기 위한 방법을 나타낸다. 방법(400)은 하드웨어(예로서, 회로, 전용 로직, 프로그래밍 가능 로직 등), 소프트웨어(처리 장치 상에서 실행되는 명령어 등) 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 일 실시예에서, 방법(400)은 도 1의 센서 허브(110)에 의해 수행된다.
방법(400)은 블록 405에서 시작되어, 센서 허브를 컴퓨팅 장치(예를 들어, 이동 또는 핸드헬드 컴퓨팅 장치)의 애플리케이션 프로세서와 연관시킨다. 컴퓨팅 장치는 하나 이상의 상황 인식 애플리케이션을 호스트한다. 일 실시예에서, 블록 410에서, 상황 인식 애플리케이션들과 관련된 복수의 센서가 센서 허브의 하드웨어 아키텍처의 센서 허브 프로세서와 연관된다. 일 실시예에서, 센서 허브는 애플리케이션 프로세서가 상주하는 칩셋의 동일 코어 상에 또는 다른 칩셋 상에 개별적으로 배치될 수 있다. 일 실시예에서, 블록 415에서, 한 세트의 소프트웨어 모듈이 센서 허브의 소프트웨어 아키텍처 내로 프리미티브들로서 프로그래밍되고, 컴퓨팅 시스템의 애플리케이션 프로세서에 제공된다. 전술한 바와 같이, 프리미티브들(예로서, 트리거, 캡처 및 처리)은 애플리케이션 프로세서 상에서 실행되는 미들웨어에 의해 구성되지만, 이들은 센서 허브 소프트웨어에서 구현되고, 애플리케이션 프로세서의 센서 허브 API를 통해 노출되며, 애플리케이션 프로세서를 통해 요청, 트리거 및 구성된다. 일 실시예에서, 도 3b를 참조하여 설명된 바와 같이, 센서 허브 소프트웨어 모듈들(304)에 의해 제공되는 바와 같은 프리미티브 조정기 또는 조정 모듈을 이용하여 프리미티브들에 대한 후속 갱신들이 행해질 수 있다. 이러한 프리미티브 변경들 또는 갱신들은 임의의 수의 기존 프리미티브들의 편집, 이동 및/또는 제거, 및 임의의 수 및 타입의 새로운 프리미티브들의 추가를 포함할 수 있다.
블록 420에서, 이러한 프리미티브들은 애플리케이션 프로세서로 제공되어, 컴퓨팅 시스템의 상황 인식 애플리케이션들과 관련된 활동들에 관한 다양한 기능들 및 작업들을 수행하도록 센서 허브 프로세서를 구성하는 새로운 능력을 애플리케이션 프로세서에 제공한다. 이와 같이, 일 실시예에서, 블록 425에서, 애플리케이션 프로세서에 의해 통상적으로 수행되는 기능들 또는 활동들이 센서 허브 프로세서로 아웃소싱된다. 예를 들어, 통상적으로 애플리케이션 프로세서에 의해 직접 관리되는 센서들은 일 실시예에서 센서 허브 프로세서에 의해 관리되며, 따라서 애플리케이션 프로세서로부터 상황 인식 애플리케이션들과 관련된 그의 작업들 중 다수가 경감된다. 이것은 애플리케이션 프로세서가 수면 상태에 있을 수 있게 하며, 결과적으로 전체 전력 소비를 줄인다.
블록 430에서, 임의의 기존 프리미티브가 갱신(예를 들어, 확장 또는 축소)되어야 하는지 그리고/또는 임의의 새로운 프리미티브가 추가되어야 하는지에 대한 결정이 이루어진다. 그러한 경우, 블록 435에서, 프리미티브 조정기를 이용하여 갱신 및/또는 추가가 수행되고, 블록 420에서 애플리케이션 프로세서에 의해 센서 허브 프로세서를 구성하는 프로세스가 계속된다. 그렇지 않은 경우, 프로세스는 블록 440에서 종료된다.
도 5는 본 발명의 일 실시예에 따른, 도 1의 센서 허브(110)를 이용할 수 있는 컴퓨팅 시스템(500)을 나타낸다. 도 5의 예시적인 컴퓨팅 시스템은 1) 적어도 하나가 전술한 특징들을 포함할 수 있는 하나 이상의 프로세서(501); 2) 메모리 제어 허브(MCH)(502); 3) 시스템 메모리(503)(이들 중에는 더블 데이터 레이트 RAM(DDR RAM), 확장 데이터 출력 RAM(EDO RAM) 등과 같은 상이한 타입들이 존재함); 4) 캐시(504); 5) 입출력(I/O) 제어 허브(ICH)(505); 6) 그래픽 프로세서(506); 7) 디스플레이/스크린(507)(이들 중에는 음극선관(CRT), 박막 트랜지스터(TFT), 액정 디스플레이(LCD), DPL 등과 같은 상이한 타입들이 존재함); 및 8) 하나 이상의 I/O 장치(508)를 포함한다.
하나 이상의 프로세서(501)는 컴퓨팅 시스템을 구현하는 임의의 소프트웨어 루틴들을 수행하기 위해 명령어들을 실행한다. 명령어들은 종종 데이터에 대해 수행되는 소정 유형의 동작을 포함한다. 데이터 및 명령어들 양자는 시스템 메모리(503) 및 캐시(504)에 저장된다. 캐시(504)는 통상적으로 시스템 메모리(503)보다 짧은 지연 시간을 갖도록 설계된다. 예를 들어, 캐시(504)는 프로세서(들)와 동일한 실리콘 칩(들) 상에 통합될 수 있고/있거나, 더 빠른 정적 RAM(SRAM) 셀들로 구성될 수 있는 반면, 시스템 메모리(503)는 더 느린 동적 RAM(DRAM) 셀들로 구성될 수 있다. 더 빈번하게 사용되는 명령어들 및 데이터를 시스템 메모리(503)가 아니라 캐시(504)에 저장함으로써 컴퓨팅 시스템의 전체 성능 효율이 향상된다.
시스템 메모리(503)는 의도적으로 컴퓨팅 시스템 내의 다른 컴포넌트들에 의해 이용될 수 있다. 예를 들어, 컴퓨팅 시스템에 대한 다양한 인터페이스(예를 들어, 키보드 및 마우스, 프린터 포트, 근거리 네트워크(LAN) 포트, 모뎀 포트 등)로부터 수신되거나 컴퓨터 시스템의 내부 저장 요소(예로서, 하드 디스크 드라이브)로부터 검색되는 데이터는 소프트웨어 프로그램의 구현에서 종종 하나 이상의 프로세서(들)(501)에 의한 조작 전에 시스템 메모리(503) 내에 임시로 큐잉(queuing)된다. 유사하게, 소프트웨어 프로그램이 컴퓨팅 시스템 인터페이스들 중 하나를 통해 컴퓨팅 시스템으로부터 외부 엔티티로 전송되거나 내부 저장 요소 내에 저장되어야 하는 것으로 결정하는 데이터는 종종 전송 또는 저장 전에 시스템 메모리(503) 내에 임시 큐잉된다.
ICH(505)는 그러한 데이터가 시스템 메모리(503)와 그의 적절한 대응하는 컴퓨팅 시스템 인터페이스(및 컴퓨팅 시스템이 그렇게 설계된 경우에는 내부 저장 장치) 사이에서 적절히 전달되는 것을 보증하는 것을 담당한다. MCH(502)는 서로 시간적으로 근접 발생할 수 있는 프로세서(들)(501), 인터페이스들 및 내부 저장 요소들 사이의 시스템 메모리(503) 액세스에 대한 다양한 충돌하는 요청들의 관리를 담당한다.
하나 이상의 I/O 장치(508)도 통상적인 컴퓨팅 시스템 내에 구현된다. I/O 장치들은 일반적으로 컴퓨팅 시스템으로의 그리고/또는 그로부터의 데이터 전송을 담당하거나(예로서, 네트워킹 어댑터); 컴퓨팅 시스템 내의 대규모 비휘발성 저장을 담당한다(예로서, 하드 디스크 드라이브). ICH(505)는 그 자신과 관찰되는 I/O 장치들(508) 간에 양방향 점대점 링크들을 갖는다.
본 발명의 다양한 실시예들의 부분들은 본 발명의 실시예들에 따른 프로세스를 수행하도록 컴퓨터(또는 다른 전자 장치들)를 프로그래밍하는 데 사용될 수 있는 컴퓨터 프로그램 명령어들을 저장한 컴퓨터 판독 가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품으로서 제공될 수 있다. 기계 판독 가능 매체는 플로피 디스켓, 광 디스크, 컴팩트 디스크 판독 전용 메모리(CD-ROM) 및 광자기 디스크, ROM, RAM, 소거 및 프로그래밍 가능한 판독 전용 메모리(EPROM), 전기적 EPROM(EEPROM), 자기 및 광학 카드, 플래시 메모리, 또는 전자 명령어들을 저장하는 데 적합한 다른 타입의 매체/기계 판독 가능 매체를 포함할 수 있지만, 이에 한정되지 않는다.
위의 명세서에서, 본 발명은 그의 특정 실시예들을 참조하여 설명되었다. 그러나, 첨부된 청구항들에 설명된 바와 같은 본 발명의 더 넓은 사상 및 범위로부터 벗어나지 않고, 실시예들에 대한 다양한 수정들 및 변경들이 이루어질 수 있다는 것이 명백할 것이다. 따라서, 명세서 및 도면들은 한정이 아니라 예시적인 것으로 간주되어야 한다.

Claims (23)

  1. 센서 허브의 센서 허브 프로세서를 구성함으로써 애플리케이션 프로세서로부터 상기 센서 허브 프로세서로 복수의 기능을 아웃소싱하는 단계; 및
    상기 센서 허브 프로세서에 결합된 하나 이상의 센서를 이용하여 하나 이상의 상황 인식 애플리케이션을 실행하는 단계
    를 포함하고,
    상기 센서 허브 프로세서를 구성하는 것은, 상기 하나 이상의 상황 인식 애플리케이션에 대응하는 처리에 연관된 트리거, 캡처 및 처리를 포함하는 상기 복수의 기능을 실행하도록, 복수의 프리미티브(primitive)에 기초하여 상기 센서 허브 프로세서를, 상기 애플리케이션 프로세서가, 동적으로 구성하는 것을 포함하는 컴퓨터 구현 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 복수의 프리미티브 중 하나 이상의 프리미티브를 갱신하여, 상기 복수의 프리미티브 중 상기 하나 이상의 프리미티브를 확장 또는 축소하는 단계를 더 포함하는 컴퓨터 구현 방법.
  4. 제3항에 있어서,
    상기 복수의 프리미티브에 하나 이상의 프리미티브를 추가하거나, 상기 복수의 프리미티브로부터 하나 이상의 프리미티브를 제거하는 단계를 더 포함하는 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 센서 허브 프로세서를 동적으로 구성하는 것은 상기 복수의 프리미티브 중 상기 하나 이상의 프리미티브의 갱신 또는 상기 하나 이상의 프리미티브의 추가에 기초하는 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    상기 아웃소싱된 복수의 기능은 상기 센서 허브 프로세서에 의해 수행되고, 상기 센서 허브 프로세서는 상기 하나 이상의 센서의 활동들을 관리하며, 상기 관리하는 것은 상기 애플리케이션 프로세서가 수면하는 동안 상기 하나 이상의 센서로부터 데이터를 획득하는 것을 포함하고, 상기 복수의 기능은 데이터를 캡처하는 기능, 상기 하나 이상의 센서를 트리거하는 기능, 상기 캡처된 데이터를 필터링하는 것을 포함하는 상기 캡처된 데이터를 처리하는 기능, 상기 처리된 데이터를 전달하는 기능, 교정 기능, 상기 캡처된 데이터를 타임 샘플링하는 기능 및 더 낮은 전력 소비를 포함하는 전력 관리 기능 중 하나 이상을 포함하는 컴퓨터 구현 방법.
  7. 제6항에 있어서,
    상기 활동들은 상기 하나 이상의 상황 인식 애플리케이션에 관련된 사용자 액션들에 기초하는 컴퓨터 구현 방법.
  8. 제1항에 있어서,
    상기 센서 허브 프로세서는 단일 칩셋 상에서 또는 개별 칩셋들 상에서 상기 애플리케이션 프로세서에 결합되는 컴퓨터 구현 방법.
  9. 센서 허브의 센서 허브 프로세서;
    상기 센서 허브 프로세서를 구성함으로써 애플리케이션 프로세서로부터 상기 센서 허브 프로세서로 복수의 기능을 아웃소싱하기 위한 제1 로직; 및
    상기 센서 허브 프로세서에 결합된 하나 이상의 센서를 이용하여 하나 이상의 상황 인식 애플리케이션을 실행하기 위한 제2 로직
    을 포함하고,
    상기 센서 허브 프로세서를 구성하는 것은, 상기 하나 이상의 상황 인식 애플리케이션에 대응하는 처리에 연관된 트리거, 캡처 및 처리를 포함하는 상기 복수의 기능을 실행하도록, 복수의 프리미티브에 기초하여 상기 센서 허브 프로세서를, 상기 애플리케이션 프로세서가, 동적으로 구성하는 것을 포함하는 시스템.
  10. 삭제
  11. 제9항에 있어서,
    상기 복수의 프리미티브 중 하나 이상의 프리미티브를 갱신하여, 상기 복수의 프리미티브 중 상기 하나 이상의 프리미티브를 확장 또는 축소하기 위한 제3 로직을 더 포함하는 시스템.
  12. 제11항에 있어서,
    상기 제3 로직은 상기 복수의 프리미티브에 하나 이상의 프리미티브를 추가하거나, 상기 복수의 프리미티브로부터 하나 이상의 프리미티브를 제거하는 시스템.
  13. 제9항에 있어서,
    상기 센서 허브 프로세서를 동적으로 구성하는 것은 상기 복수의 프리미티브 중 상기 하나 이상의 프리미티브의 갱신 또는 상기 하나 이상의 프리미티브의 추가에 기초하는 시스템.
  14. 제9항에 있어서,
    상기 센서 허브 프로세서는 상기 하나 이상의 센서의 활동들을 관리하며, 상기 관리하는 것은 상기 애플리케이션 프로세서가 수면하는 동안 상기 하나 이상의 센서로부터 데이터를 획득하는 것을 포함하고, 상기 복수의 기능은 데이터를 캡처하는 기능, 상기 하나 이상의 센서를 트리거하는 기능, 상기 캡처된 데이터를 필터링하는 것을 포함하는 상기 캡처된 데이터를 처리하는 기능, 상기 처리된 데이터를 전달하는 기능, 교정 기능, 상기 캡처된 데이터를 타임 샘플링하는 기능 및 더 낮은 전력 소비를 포함하는 전력 관리 기능 중 하나 이상을 포함하는 시스템.
  15. 제14항에 있어서,
    상기 활동들은 상기 하나 이상의 상황 인식 애플리케이션에 관련된 사용자 액션들에 기초하는 시스템.
  16. 기계에 의해 실행될 때 상기 기계로 하여금
    센서 허브의 센서 허브 프로세서를 구성함으로써 애플리케이션 프로세서로부터 상기 센서 허브 프로세서로 복수의 기능을 아웃소싱하고;
    상기 센서 허브 프로세서에 결합된 하나 이상의 센서를 이용하여 하나 이상의 상황 인식 애플리케이션을 실행하게 하는
    명령어들을 포함하고,
    상기 센서 허브 프로세서를 구성하는 것은, 상기 하나 이상의 상황 인식 애플리케이션에 대응하는 처리에 연관된 트리거, 캡처 및 처리를 포함하는 상기 복수의 기능을 실행하도록, 복수의 프리미티브에 기초하여 상기 센서 허브 프로세서를, 상기 애플리케이션 프로세서가, 동적으로 구성하는 것을 포함하는 비일시적 기계 판독 가능 매체.
  17. 삭제
  18. 제16항에 있어서,
    상기 명령어들은 실행될 때 상기 기계로 하여금 상기 복수의 프리미티브 중 하나 이상의 프리미티브를 갱신하여, 상기 복수의 프리미티브 중 상기 하나 이상의 프리미티브를 확장 또는 축소하게 하는 비일시적 기계 판독 가능 매체.
  19. 제18항에 있어서,
    상기 명령어들은 실행될 때 상기 기계로 하여금 상기 복수의 프리미티브에 하나 이상의 프리미티브를 추가하거나, 상기 복수의 프리미티브로부터 하나 이상의 프리미티브를 제거하게 하는 비일시적 기계 판독 가능 매체.
  20. 제16항에 있어서,
    상기 센서 허브 프로세서를 동적으로 구성하는 것은 상기 복수의 프리미티브 중 상기 하나 이상의 프리미티브의 갱신 또는 상기 하나 이상의 프리미티브의 추가에 기초하는 비일시적 기계 판독 가능 매체.
  21. 제1항에 있어서,
    상기 애플리케이션 프로세서는, 상기 상황 인식 애플리케이션으로서 제스처 인식을 요청하는 경우, 가속도계로부터 데이터를 캡처하고, 상기 가속도계로부터 이동이 검출되는 경우에 자이로스코프를 트리거하고, 상기 애플리케이션 프로세서에 데이터를 송신하도록, 상기 센서 허브를 구성하는 컴퓨터 구현 방법.
  22. 제9항에 있어서,
    상기 애플리케이션 프로세서는, 상기 상황 인식 애플리케이션으로서 제스처 인식을 요청하는 경우, 가속도계로부터 데이터를 캡처하고, 상기 가속도계로부터 이동이 검출되는 경우에 자이로스코프를 트리거하고, 상기 애플리케이션 프로세서에 데이터를 송신하도록, 상기 센서 허브를 구성하는 시스템.
  23. 제16항에 있어서,
    상기 명령어들은 실행될 때 상기 기계로 하여금, 상기 상황 인식 애플리케이션으로서 제스처 인식을 요청하는 경우, 가속도계로부터 데이터를 캡처하고, 상기 가속도계로부터 이동이 검출되는 경우에 자이로스코프를 트리거하고, 상기 애플리케이션 프로세서에 데이터를 송신하도록, 상기 센서 허브를 구성하게 하는 비일시적 기계 판독 가능 매체.
KR1020137025897A 2011-04-01 2011-11-21 상황 인식 애플리케이션 관련 기능들을 센서 허브로 아웃소싱하기 위한 메커니즘 KR101554085B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/078,268 2011-04-01
US13/078,268 US20120254878A1 (en) 2011-04-01 2011-04-01 Mechanism for outsourcing context-aware application-related functionalities to a sensor hub
PCT/US2011/061725 WO2012134546A1 (en) 2011-04-01 2011-11-21 Mechanism for outsourcing context-aware application-related functionalities to a sensor hub

Publications (2)

Publication Number Publication Date
KR20130131458A KR20130131458A (ko) 2013-12-03
KR101554085B1 true KR101554085B1 (ko) 2015-09-17

Family

ID=46929065

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137025897A KR101554085B1 (ko) 2011-04-01 2011-11-21 상황 인식 애플리케이션 관련 기능들을 센서 허브로 아웃소싱하기 위한 메커니즘

Country Status (7)

Country Link
US (1) US20120254878A1 (ko)
EP (1) EP2695056B1 (ko)
JP (1) JP5707598B2 (ko)
KR (1) KR101554085B1 (ko)
CN (1) CN102893257B (ko)
TW (1) TWI547878B (ko)
WO (1) WO2012134546A1 (ko)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892162B2 (en) * 2011-04-25 2014-11-18 Apple Inc. Vibration sensing system and method for categorizing portable device context and modifying device operation
US8934389B2 (en) 2012-01-18 2015-01-13 Microsoft Corporation Mechanism for connecting a mobile device to a network
US9191442B2 (en) * 2012-04-03 2015-11-17 Accenture Global Services Limited Adaptive sensor data selection and sampling based on current and future context
US9147057B2 (en) 2012-06-28 2015-09-29 Intel Corporation Techniques for device connections using touch gestures
KR102045511B1 (ko) * 2012-07-18 2019-11-15 삼성전자 주식회사 센서 허브를 포함하는 단말기 및 단말기의 제어 방법
US9063731B2 (en) * 2012-08-27 2015-06-23 Samsung Electronics Co., Ltd. Ultra low power apparatus and method to wake up a main processor
US10078900B2 (en) * 2012-09-10 2018-09-18 Intel Corporation Providing support for display articulation-related applications
US9152211B2 (en) 2012-10-30 2015-10-06 Google Technology Holdings LLC Electronic device with enhanced notifications
US9182903B2 (en) 2012-10-30 2015-11-10 Google Technology Holdings LLC Method and apparatus for keyword graphic selection
US9063564B2 (en) * 2012-10-30 2015-06-23 Google Technology Holdings LLC Method and apparatus for action indication selection
US9158372B2 (en) 2012-10-30 2015-10-13 Google Technology Holdings LLC Method and apparatus for user interaction data storage
JP6020092B2 (ja) * 2012-11-29 2016-11-02 ソニー株式会社 データ処理装置、データ処理方法、及び、プログラム
KR102179811B1 (ko) 2012-12-03 2020-11-17 엘지전자 주식회사 포터블 디바이스 및 음성 인식 서비스 제공 방법
US9746926B2 (en) 2012-12-26 2017-08-29 Intel Corporation Techniques for gesture-based initiation of inter-device wireless connections
US9541982B2 (en) 2013-01-25 2017-01-10 Wisconsin Alumni Research Foundation Reconfigurable event driven hardware using reservoir computing for monitoring an electronic sensor and waking a processor
US9542347B2 (en) * 2013-03-16 2017-01-10 Intel Corporation Host interface crossbar for sensor hub
US9430414B2 (en) 2013-03-16 2016-08-30 Intel Corporation Bus independent platform for sensor hub peripherals to provide coalescing of multiple reports
CN104102749B (zh) * 2013-04-11 2019-04-23 华为技术有限公司 终端设备
CN103324530A (zh) * 2013-06-08 2013-09-25 广东欧珀移动通信有限公司 手持移动设备的方位传感器调用方法及装置
US9313740B2 (en) * 2013-06-14 2016-04-12 Sony Corporation Power efficient sensor accessory management through sensor subsystem
US20150006616A1 (en) * 2013-06-28 2015-01-01 Broadcom Corporation Host Offloading Architecture
US9710413B2 (en) 2013-06-28 2017-07-18 Stmicroelectronics S.R.L. Integrated data concentrator for multi-sensor MEMS systems
KR20150017897A (ko) * 2013-08-08 2015-02-23 삼성전자주식회사 복수의 프로세서를 이용하여 센서 출력을 처리하는 사용자 기기 및 방법
US9223937B2 (en) * 2013-09-17 2015-12-29 Google Technology Holdings LLC Method and apparatus for extending an authentication timeout period
US20150127300A1 (en) * 2013-11-03 2015-05-07 Microsoft Corporation Sensor Selection Based on Context and Policy
US10079019B2 (en) 2013-11-12 2018-09-18 Apple Inc. Always-on audio control for mobile device
US9436214B2 (en) * 2013-11-12 2016-09-06 Qualcomm Incorporated System and methods of reducing energy consumption by synchronizing sensors
CN103619056B (zh) 2013-12-02 2018-01-12 华为终端(东莞)有限公司 一种上报传感器数据的方法和终端
US9836637B2 (en) * 2014-01-15 2017-12-05 Google Llc Finger print state integration with non-application processor functions for power savings in an electronic device
CN105117203A (zh) * 2014-04-30 2015-12-02 马维尔国际有限公司 传感器集中控制系统和方法
US10031000B2 (en) * 2014-05-29 2018-07-24 Apple Inc. System on a chip with always-on processor
US9778728B2 (en) 2014-05-29 2017-10-03 Apple Inc. System on a chip with fast wake from sleep
US9619377B2 (en) * 2014-05-29 2017-04-11 Apple Inc. System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode
US9954787B2 (en) 2014-06-23 2018-04-24 Huawei Technologies Co., Ltd. Intelligent terminal power-saving management method and apparatus
EP3161657B1 (en) 2014-06-24 2020-07-22 Intel Corporation Firmware sensor layer
WO2015196492A1 (en) * 2014-06-28 2015-12-30 Intel Corporation Virtual sensor hub for electronic devices related applications
US9479331B2 (en) 2014-08-20 2016-10-25 Apple Inc. Managing security in a system on a chip (SOC) that powers down a secure processor
US9396070B2 (en) * 2014-09-11 2016-07-19 Qualcomm Incorporated System and method for system-on-a-chip subsystem external access detection and recovery
US10416750B2 (en) * 2014-09-26 2019-09-17 Qualcomm Incorporated Algorithm engine for ultra low-power processing of sensor data
JP6365224B2 (ja) * 2014-10-21 2018-08-01 富士通株式会社 センシング制御プログラム及び携帯端末装置
US20180329713A1 (en) * 2014-12-10 2018-11-15 Intel Corporation Fitness sensor with low power attributes in sensor hub
TWI687657B (zh) 2014-12-18 2020-03-11 日商半導體能源研究所股份有限公司 半導體裝置、感測裝置和電子裝置
US9690361B2 (en) * 2014-12-24 2017-06-27 Intel Corporation Low-power context-aware control for analog frontend
GB2537420B (en) * 2015-04-17 2018-11-28 Suunto Oy Embedded computing device comprising processing units interfaced with a shared information space
DE102016106939B4 (de) 2015-04-17 2024-05-02 Suunto Oy Eingebettetes Rechengerät
FR3037415B1 (fr) * 2015-06-10 2018-07-06 Commissariat A L'energie Atomique Et Aux Energies Alternatives Procede de traitement des mesures d'au moins un capteur electronique loge dans un appareil portable
CN104978303B (zh) * 2015-06-19 2019-06-04 上海兆芯集成电路有限公司 单芯片整合的传感器集线器和多传感器管理方法
US10419540B2 (en) 2015-10-05 2019-09-17 Microsoft Technology Licensing, Llc Architecture for internet of things
EP3365746A2 (en) * 2015-10-23 2018-08-29 QUALCOMM Incorporated Apparatus and methods for synchronizing a controller and sensors
CN105242770B (zh) * 2015-11-03 2019-07-19 上海斐讯数据通信技术有限公司 一种安卓设备开合盖的实现方法和系统
CN106372491B (zh) * 2015-12-15 2021-03-02 北京智谷睿拓技术服务有限公司 传感器访问权限管理方法和设备
US10516651B2 (en) * 2015-12-22 2019-12-24 Intel IP Corporation Securely routing sensor data from sensors to a trusted execution environment (TEE)
US10433168B2 (en) * 2015-12-22 2019-10-01 Quanta Computer Inc. Method and system for combination wireless and smartcard authorization
US10928372B2 (en) * 2016-01-29 2021-02-23 Ams Sensors Uk Limited Electronic device
KR102514730B1 (ko) * 2016-02-18 2023-03-29 삼성전자주식회사 데이터와 시간 정보를 연관시키는 방법 및 장치
US10270815B1 (en) * 2016-06-07 2019-04-23 Amazon Technologies, Inc. Enabling communications between a controlling device and a network-controlled device via a network-connected device service over a mobile communications network
US10673917B2 (en) * 2016-11-28 2020-06-02 Microsoft Technology Licensing, Llc Pluggable components for augmenting device streams
JP6348163B2 (ja) * 2016-12-15 2018-06-27 ファナック株式会社 制御装置及び制御システム
DE102017204514A1 (de) 2017-03-17 2018-09-20 Robert Bosch Gmbh Verarbeitungssteuerung eines Sensorsystems
CN109388222A (zh) * 2017-08-04 2019-02-26 中兴通讯股份有限公司 省电处理方法、装置及移动终端和计算机可读存储介质
US10571989B2 (en) * 2017-09-07 2020-02-25 Verisilicon Microelectronics (Shanghai) Co., Ltd. Low energy system for sensor data collection and measurement data sample collection method
KR102568686B1 (ko) 2018-02-09 2023-08-23 삼성전자주식회사 컨텍스트 허브를 포함하는 모바일 장치 및 그것의 동작 방법
WO2020140184A1 (en) 2018-12-31 2020-07-09 Intel Corporation Methods and apparatus to implement always-on context sensor hubs for processing multiple different types of data inputs
KR20200090438A (ko) 2019-01-21 2020-07-29 삼성전자주식회사 디스플레이의 손상을 방지하기 위한 전자 장치 및 방법
CN111559327B (zh) * 2019-02-14 2022-05-24 华为技术有限公司 一种数据处理方法及对应的装置
WO2022030968A1 (ko) * 2020-08-04 2022-02-10 삼성전자 주식회사 제스처를 인식하는 전자 장치 및 그 동작 방법
KR20220028443A (ko) * 2020-08-28 2022-03-08 삼성전자주식회사 주변장치 인터페이스를 포함하는 장치 및 그것의 동작 방법
US20220278892A1 (en) * 2021-03-01 2022-09-01 Lenovo (Singapore) Pte. Ltd. Device and method for controlling communication of information
CN115515217A (zh) 2021-06-23 2022-12-23 联发科技(新加坡)私人有限公司 低功耗传感器系统中高精度时间戳打戳与同步方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070004436A1 (en) 2005-06-29 2007-01-04 Vlad Stirbu Local network proxy for a remotely connected mobile device operating in reduced power mode
US20080248789A1 (en) 2007-04-06 2008-10-09 Korea Advanced Institiute Of Science And Technology Mobile middleware supporting context monitoring and context monitoring method using the same
WO2010141878A1 (en) 2009-06-05 2010-12-09 Qualcomm Incorporated Controlling power consumption of a mobile device based on gesture recognition
US20120100895A1 (en) * 2010-10-26 2012-04-26 Microsoft Corporation Energy efficient continuous sensing for communications devices

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007033194A2 (en) * 2005-09-13 2007-03-22 Aware Technologies, Inc. Method and system for proactive telemonitor with real-time activity and physiology classification and diary feature
US7319908B2 (en) * 2005-10-28 2008-01-15 Microsoft Corporation Multi-modal device power/mode management
US20070214374A1 (en) * 2006-03-13 2007-09-13 Mark Hempstead Ultra low power system for sensor network applications
US20070238934A1 (en) * 2006-03-31 2007-10-11 Tarun Viswanathan Dynamically responsive mood sensing environments
US8952832B2 (en) * 2008-01-18 2015-02-10 Invensense, Inc. Interfacing application programs and motion sensors of a device
US8405505B2 (en) * 2009-05-26 2013-03-26 Qualcomm Incorporated Power management of sensors within a mobile device
US20110071759A1 (en) * 2009-09-22 2011-03-24 Texas Instruments Incorporated Performance of a Navigation Receiver Operating in a Power-Save Mode with the Aid of Sensors

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070004436A1 (en) 2005-06-29 2007-01-04 Vlad Stirbu Local network proxy for a remotely connected mobile device operating in reduced power mode
US20080248789A1 (en) 2007-04-06 2008-10-09 Korea Advanced Institiute Of Science And Technology Mobile middleware supporting context monitoring and context monitoring method using the same
WO2010141878A1 (en) 2009-06-05 2010-12-09 Qualcomm Incorporated Controlling power consumption of a mobile device based on gesture recognition
US20120100895A1 (en) * 2010-10-26 2012-04-26 Microsoft Corporation Energy efficient continuous sensing for communications devices

Also Published As

Publication number Publication date
TWI547878B (zh) 2016-09-01
US20120254878A1 (en) 2012-10-04
EP2695056A4 (en) 2015-02-18
TW201243728A (en) 2012-11-01
CN102893257B (zh) 2016-10-05
KR20130131458A (ko) 2013-12-03
WO2012134546A1 (en) 2012-10-04
CN102893257A (zh) 2013-01-23
JP5707598B2 (ja) 2015-04-30
JP2014509765A (ja) 2014-04-21
EP2695056A1 (en) 2014-02-12
EP2695056B1 (en) 2017-09-27

Similar Documents

Publication Publication Date Title
KR101554085B1 (ko) 상황 인식 애플리케이션 관련 기능들을 센서 허브로 아웃소싱하기 위한 메커니즘
US11079261B2 (en) System on a chip with always-on processor
US10915160B2 (en) System on a chip with fast wake from sleep
US8706172B2 (en) Energy efficient continuous sensing for communications devices
US10261894B2 (en) System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode
CN107003948B (zh) 电子设备及用于控制其可共享的高速缓存存储器的方法
CN108702421B (zh) 用于控制应用和组件的电子设备和方法
US9430028B2 (en) Systems and method for providing hierarchical computing in wearable processing units
WO2019128588A1 (zh) 进程处理方法和装置、电子设备、计算机可读存储介质
KR20210123901A (ko) 애플리케이션 기능들을 센서 허브로 전달하기 위한 방법
CN107908493B (zh) 冻屏监测与解决方法、移动终端及计算机可读存储介质
KR20180004956A (ko) 전자 장치 및 전자 장치의 동작 방법
KR20150084849A (ko) 콘텍스트 감지를 위한 방법

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
FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190829

Year of fee payment: 5