KR101069566B1 - 센서 인터페이스, 및 센서 인터페이스에 관한 방법 및 장치 - Google Patents

센서 인터페이스, 및 센서 인터페이스에 관한 방법 및 장치 Download PDF

Info

Publication number
KR101069566B1
KR101069566B1 KR1020087027347A KR20087027347A KR101069566B1 KR 101069566 B1 KR101069566 B1 KR 101069566B1 KR 1020087027347 A KR1020087027347 A KR 1020087027347A KR 20087027347 A KR20087027347 A KR 20087027347A KR 101069566 B1 KR101069566 B1 KR 101069566B1
Authority
KR
South Korea
Prior art keywords
data
sensor
requests
satisfy
request
Prior art date
Application number
KR1020087027347A
Other languages
English (en)
Other versions
KR20090029701A (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 KR20090029701A publication Critical patent/KR20090029701A/ko
Application granted granted Critical
Publication of KR101069566B1 publication Critical patent/KR101069566B1/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
    • 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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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
    • 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
    • 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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

다수의 센서 입력부들 및 다수의 클라이언트 입력부들을 지닌 센서 인터페이스가 제공된다. 클라이언트 입력부들은 다수의 클라이언트로부터 다수의 데이터 요청들을 수신하도록 구성된다. 그 다수의 데이터 요청들은 특정 타입의 데이터를 획득하는 데 사용될 특정 물리적 센서를 식별하는 것 없이, 리턴될 특정 타입의 데이터를 지정하는 적어도 하나의 데이터 요청을 포함한다. 프로세서는, i) 어떤 센서 데이터가 그 다수의 데이터 요청을 충족시키는 데 사용될 수 있는 지를 결정하고, ii) 다수의 물리적 센서들로부터 센서 데이터를 수신하기 위해서 센서 입력부들 중 일부를 구성하며, iii) 가능하다면, 수신된 센서 데이터를 사용해서 그 다수의 데이터 요청을 충족시키도록 구성된다. 그러한 센서 인터페이스에 속하는 방법들 및 장치가 또한 개시된다.
물리적 센서, 센서 인터페이스, 클라이언트 입력부

Description

센서 인터페이스, 및 센서 인터페이스에 관한 방법 및 장치{SENSOR INTERFACE, AND METHODS AND APPARATUS PERTAINING TO SAME}
35 U.S.C.§119 하의 우선권 주장
본 특허 출원은 2006 년 4 월 7 일 출원한, 발명 명칭이 "Sensor API: System Requirements Specification AMSS/DMSS/BREW" 이고, 본 양수인에게 양도되며 여기에서 참조로서 통합된 가출원 번호 제 60/790,252 호에 대한 우선권을 주장한다.
기술 분야
본 발명은 일반적으로 센서 인터페이스에 관한 것이며, 보다 상세하게는, 부분적으로 또는 전체적으로 센서-독립적 데이터 요청을 핸들링할 수 있는 확장 가능 센서 인터페이스에 관한 것이다.
배경
휴대용 이동 디바이스들 (이하 "이동 디바이스") 이 하나 이상의 물리적 센서들을 통합하는 것이 일반화되고 있다. 예로서, 다수의 물리적 센서들을 통합할 수 있는 이동 디바이스들의 타입들은 전화기, 스마트폰, 개인 휴대용 보조 단말기 (PDA), 게임 및 다른 장비 제어기들, 손목 시계, 및 바이오-피드백 디바이스들을 포함한다. 이러한 디바이스들이 통합할 수도 있는 물리적 센서들의 타입은 기압센서, 가속도 센서, 자계 센서 (예를 들어, 나침반), 자이로스코프 및 생체 계 측 센서를 포함하지만 그에 국한되지는 않는다. 여기에서 정의된 바와 같이, "물리적 센서" 는 물리적 현상을 측정할 수 있고 물리적 현상을 정량화하는 출력 신호 (통상적으로, 디지털 전기 신호) 를 제공할 수 있는 임의의 센서이다. 물리적 현상은, 예를 들어, 온도, 압력, 방향, 휘도 또는 박동수일 수도 있다.
더 많고 다양한 물리적 센서들로부터 데이터를 요구하는 애플리케이션을 이동 디바이스에 제공하려는 요구가 증가함에 따라, 및 물리적 센서들의 타입들, 모델들 및 구성들이 증가함에 따라, 상이한 하드웨어 플랫폼 (예를 들어, 상이한 센서들의 세트를 통합하는 플랫폼) 을 가진 이동 디바이스들로 포팅될 수 있는 애플리케이션을 애플리케이션 개발자들이 개발하는 것이 더욱 어려워진다. 다른 면에서 보면, 매우 다양한 애플리케이션들을 지원할 수 있는 하드웨어 플랫폼을 시스템 엔지니어들이 제공하는 것이 또한 더 어려워진다. 결과적으로, 특정 이동 디바이스를 위한 애플리케이션 및 감지 성능의 고유한 세트를 정의하기 위하여 시스템 엔지니어들 및 애플리케이션 개발자들이 협력하여 작업하는 것이 일반적이다. 고유한 세트가 개발된 경우에, 그 성능 및 애플리케이션의 고유한 세트는 변경된 또는 차세대 디바이스를 개발할 때 거의 쓸모없을 수도 있으며, 성능 및 애플리케이션의 세트가 개발된 디바이스들은 새로운 감지 성능 또는 애플리케이션을 통합하기에는 업그레이드가 불가능할 수도 있다. 따라서 더욱 플렉시블하고 확장가능한 센서 인터페이스에 대한 필요성이 존재한다.
요약
여기에서 설명된 실시형태들은 다수의 센서 입력부들 및 다수의 클라이언트 입력부들을 갖는 센서 인터페이스를 제공함으로써 상술한 필요성을 다루며, 그 다수의 클라이언트 입력부들은 다수의 클라이언트들로부터 다수의 데이터 요청들을 수신하도록 구성되며, 그 다수의 데이터 요청들은, 특정 타입의 데이터를 획득하는 데 사용될 특정 물리적 센서를 식별하지 않으면서, 리턴될 특정 타입의 데이터를 특정하는 적어도 하나의 데이터 요청을 포함한다. 센서 인터페이스에는 i) 어떤 센서 데이터가 다수의 데이터 요청들을 충족시키는 데 사용될 수 있는 지를 결정하고, ii) 다수의 물리적 센서들로부터 센서 데이터를 수신하기 위해서 그 센서 입력부들 중 일부를 구성하며/하거나 iii) 가능하다면, 그 수신된 센서 데이터를 사용해서 그 다수의 데이터 요청들을 충족시키도록 구성된 프로세서가 또한 제공된다.
도면의 간단한 설명
도 1 은 제 1 예시적 센서 인터페이스를 도시한다.
도 2 는 도 1 에서 도시된 센서 인터페이스 또는 도 3 에서 도시된 센서 인터페이스와 같은 센서 인터페이스를 사용하는 방법을 도시한다.
도 3 은 제 2 예시적 센서 인터페이스를 통합하는 디바이스를 도시한다.
상세한 설명
여기에서 "예시적인" 이라는 용어는 "예, 예시, 또는 예증으로서 기능하는"의 의미로 사용된다. "예시적인" 것으로서 여기에서 설명되는 임의의 실시형태는 다른 실시형태에 비하여 반드시 바람직하거나 유리한 것으로서 해석할 필요는 없다.
본 명세서의 배경 기술에 설명된 컨텍스트에서, 도 1 은 다수의 센서 입력부들 (106), 다수의 클라이언트 입력부들 (102) 및 프로세서 (104) 를 포함하는 센서 인터페이스 (100) 를 도시한다. 클라이언트 입력부들 (102) 은 다수의 클라이언트 (108, 110 및 112) 로부터 다수의 데이터 요청들을 수신하도록 구성되며, 프로세서 (104) 는 1) 어떤 센서 데이터가 그 다수의 데이터 요청들을 충족시키도록 사용될 수 있는 지를 결정하며, 2) 다수의 물리적 센서들 (114, 116, 118, 및 120) 로부터 센서 데이터를 수신하도록 센서 입력부들 (106) 의 일부를 구성하며, 3) 가능하다면, 수신된 센서 데이터를 사용해서 그 다수의 데이터 요청을 충족시키도록 구성된다.
여기에서 정의되는 바와 같이, "다수의 (a number of)" 는 "하나 이상" 을 의미하고, "복수의 (a plurality of)" 는 "두 개 이상" 을 의미한다. 상기 단락에서 언급되는 다수의 센서 입력부들 (106), 클라이언트 입력부들 (102), 클라이언트 (108, 110, 112), 데이터 요청들 및 물리적 센서들 (114, 116, 118, 120) 각각은 복수의 이러한 엘리먼트들을 다양하게 포함할 수도 있다.
센서 인터페이스 (100) 로부터 데이터를 요청하는 "클라이언트" (108, 110, 112) 는 다양한 형태를 취할 수도 있고, 다수의 소프트웨어 또는 펌웨어 기반 애플리케이션, 다수의 사용자 또는 시스템 애플리케이션, 또는 디바이스 운영 체제를 포함할 수 있지만, 그에 국한되지는 않는다. 주의할 것은, 클라이언트 (108, 110, 112) 는 여기에서 때때로 (상술한 바와 같이, 다양한 종류일 수 있는) "애플리케이션" 으로 불린다. 클라이언트 (108, 110, 112) 에 의해서 생성되는 데이 터 요청들의 일부 또는 전부는, 특정 타입의 데이터를 획득하는 데 사용되는 특정 물리적 센서 (114, 116, 118, 120) 를 식별하지 않으면서, 센서 인터페이스 (100) 에 의해서 리턴될 특정 타입의 데이터를 특정할 수도 있다. 따라서, 예를 들어, 클라이언트 (108) 는 선형 모션 데이터를 획득하는데 사용될 센서의 타입 또는 모델을 지정하는 것 없이, 이동 디바이스에 대한 선형 모션 데이터를 요청할 수도 있다. 또는, 클라이언트 (110) 는 방위 (orientation) 데이터를 획득하는 데 사용될 센서의 타입 또는 모델을 지정하는 것 없이, 이동 디바이스에 대한 방위 데이터를 요청할 수도 있다. 센서-독립 요청 (또는 적어도 부분적 센서-독립 요청) 의 이러한 종류들은, 그것들이 어떤 센서 데이터가 어떤 데이터 요청을 충족시키는 데 사용될 수 있는 지를 결정할 때 프로세서 (104) 에 더 적은 제약을 주기 때문에, 센서 인터페이스 (100) 가 보다 효율적으로 사용되는 것을 가능하게 한다. 이하에서는 이러한 점을 더 잘 설명하는 몇몇 예시가 주어진다.
먼저, 센서들이 센서 데이터의 특정 세트를 제공할 수 있는, 센서 타입들 및 모델들의 특정 세트를 가진 디바이스를 고려한다. 과거에는, 하나 이상의 디바이스의 특정 센서를 지원하도록 애플리케이션이 개발되지 않았다면, 애플리케이션은 디바이스의 센서 데이터를 획득하거나 사용할 수 없었다. 이것은, 디바이스가 애플리케이션에 의해서 필요한 특정 "데이터 타입" 을 획득할 수 있더라도, 애플리케이션은, 그에 대한 애플리케이션이 개발된 "특정 센서의 타입 및 모델" 에 의해서 데이터가 제공되지 않으면, 그 데이터를 사용할 수 없다는 것을 의미한다. 그것은 또한, 애플리케이션 개발자가 다양한 디바이스들과 호환 가능한 애플리 케이션을 원한다면, 애플리케이션 개발자들은 과도한 다른 센서 타입들 및 모델들에 대한 지원을 가진 애플리케이션을 제공해야한다는 것을 의미한다. 하지만, 애플리케이션이 센서 인터페이스 (100) 와 함께 작동되도록 개발될 때, 애플리케이션은 단순히 특정 타입의 데이터를 요청할 수도 있고, 센서 인터페이스로 하여금 1) 어떤 센서 데이터가 그 요청을 충족시키는 데 사용될 수 있는 지를 결정하고, 2) 센서 데이터를 수신하며, 3) 그 요청을 충족시킬 수 있도록 허용한다.
두번째로, 제 1 센서들의 세트로 초기에 설계되지만, 설계 변경 때문에, 제 2 센서들의 세트를 통합하도록 재구성되는 디바이스를 고려한다. 또는, 업그레이드가능한 센서 세트를 가진 디바이스를 고려한다. 과거에는, 디바이스의 센서 세트에서의 변화는 디바이스의 애플리케이션들에 대한 하나 이상의 패치들을 필요로 할 수 있었다. 하지만, 애플리케이션이 단지 특정 타입의 데이터를 요청할 때, (업그레이드가 적어도 필요하다면) 펌웨어 또는 소프트웨어 업그레이드는 센서 인터페이스 (100) 에 대해 아마도 분리될 수 있다.
세번째로, 무선 통신 인터페이스를 가진 디바이스를 고려한다. 센서 인터페이스 (100) 를 디바이스에 제공함으로써, 및 센서 인터페이스 (100) 가 (예를 들어, 무선 인터페이스를 통하여) 설치된 디바이스의 외부에 상주하는 물리적 센서들을 동적으로 발견하도록 프로세서 (104) 를 구성함으로써, 디바이스에는, 1) 디바이스의 제조자들에게 고려되지 않았던 센서들, 2) 디바이스에 통합되기에는 너무 크거나 비싼 센서들, 또는 3) 디바이스의 사용자들의 더 작은 서브세트에만 유용한 센서들에 대한 엑세스가 제공될 수도 있다.
센서 인터페이스 (100) 는 다양한 방식으로 사용될 수도 있지만, 하나의 예시적 방법이 도 2 에서 도시된다. 방법 (200)(도 2) 에 따르면, 센서 인터페이스 (100) 의 클라이언트 입력부들 (102) 은 다수의 클라이언트 (108, 110, 112) 로부터 데이터 요청들을 수신할 수도 있다 (블록 (202)). 상술한 바와 같이, 데이터 요청들은, 특정 타입의 데이터를 획득하는 데 사용될 특정 물리적 센서 (114, 116, 118, 120) 을 식별하는 것 없이, 리턴될 특정 타입의 데이터를 특정하는 적어도 하나의 데이터 요청을 포함할 수도 있다. 그후, 센서 인터페이스 (100) 는 그후 어떤 센서 데이터가 데이터 요청들을 충족시키는 데 사용될 수 있는 지를 결정하고, 센서 인터페이스 (100) 가 통합된 장치 (예를 들어, 디바이스) 가 센서 데이터를 현재 수신할 수 있는 다수의 물리적 센서들 (114, 116, 118, 120) 을 동적으로 발견한다 (블록 204, 206). 선택적으로, 물리적 센서들 (114, 116, 118, 120) 의 전부 또는 일부가 인에이블되거나 구성될 수도 있다 (블록 208, 210). 일 실시형태에서, 데이터 요청들의 현재 세트를 충족시키는 데 필요한 것으로 결정된 그 물리적 센서들만이 인에이블되며 구성된다.
어떤 센서 데이터가 데이터 요청을 충족시키는 데 필요한 지를 결정한 후에, 및 어떤 센서들 (108, 110, 112) 이 사용가능한 지를 발견한 후에, 방법 (200) 은 사용가능한 센서들 (114, 116, 118, 120) 의 일부 또는 전부로부터 센서 데이터를 수신하며, 가능하다면, 수신된 센서 데이터를 사용해서 데이터 요청들을 충족시킨다.
주의할 것은, 도 2 에 도시된 방법 (200) 의 단계들은 상이한 순서로 수행될 수도 있으며, 일부 단계들은 동시에 또는 반복적으로 수행될 수도 있다는 점이다.
일부 경우에서, 방법 (200) 은 하나 이상의 물리적 센서들 (114, 116, 118, 120) 로부터 수신된 미가공 센서 데이터가 데이터 요청을 충족시킬 수 없지만, 하나 이상의 물리적 센서들로부터 수신된 미가공 센서 데이터가 데이터 요청을 충족시키기 위해서 변환되거나 결합될 수 있다고 결정할 수도 있다. 이와 관련하여, 센서 인터페이스 (100) 는 하나 이상의 "가상 센서들" (122, 124) 을 제공하도록 프로그래밍될 수도 있다. 여기에서 정의된 바와 같이, "가상 센서" 는 하나 이상의 물리적 센서들 (114, 116, 118 120) 에 의해서 획득된 센서 데이터를 수신하고, 센서 데이터를 변환하거나 결합하며, 출력을 제공하는 센서이다. 예로서, 출력은 1) 물리적 현상을 정량화하고, 2) 물리적 현상 (예를 들어, 밝거나 어두운지) 의 판단 또는 평가를 제공하며, 또는 3) 이벤트의 발생을 알릴 수도 있다. 센서 데이터의 예시적 "변환" 및 "결합" 은 1) 센서 데이터의 제 2 부분을 정정하기 위해서 (예를 들어, 센서 데이터의 제 1 부분에 의해서 정량화된 상태의 존재에서, 센서 데이터의 제 2 부분의 정확성을 개선하기 위해서) 센서 데이터의 제 1 부분을 사용하는 것, 2) 다중의 물리적 센서들 (114, 116, 118, 120) 로부터의 출력들을 평균화하는 것, 3) 하나 이상의 물리적 센서들 (114, 116, 118, 120) 로부터의 출력을 정규화하는 것, 4) 센서 데이터의 단위들을 변환하는 것 또는 5) 하나 이상의 물리적 센서들 (114, 116, 118, 120) 의 출력들에 기초해서 판단 또는 평가를 하는 것을 포함한다. 센서 데이터는 또한 비-센서 소스로부터 획득된 데이터에 기초해서 변환되거나 결합될 수도 있다. 예를 들어, 다중의 센서 판독들 이 평균화되어야 하면, 평균으로부터 특정한 판독들을 폐기하기 위해서 현재 시간이 사용될 수도 있다. 다음은, 센서 데이터가 어떻게 센서 인터페이스 (100) 의 가상 센서들 (122, 124) 에 의해서 변환되거나 결합될 수도 있는 지를 보여주는 일부 특정 예가 주어진다.
가상 센서의 일 예는 틸트 보상형 나침반 (tilt-compensated compass) 이다. 가상 나침반은 3 차원 (3D) 가속계로부터의 틸트 데이터 뿐만 아니라 "실제" 물리적 나침반으로부터의 미가공 자계 헤딩 데이터를 수신할 수도 있다. 현재 사용가능한 수학적 알고리즘을 사용해서, 가상 센서가 그후 물리적 나침반의 틸트를 보상하기 위해서 가속계 데이터를 사용할 수 있다.
가상 센서의 다른 예시는 온도 정정 압력 센서 (temperature-corrected pressure sensor) 이며, 여기에서, 가상 센서는 압력 판독이 획득된 물리적 센서의 온도-의존적 특성에 대한 압력 판독을 정정하기 위해서 감지된 온도를 사용한다.
가상 센서의 다른 예시는 고도 센서 (altitude sensor) 이다. 예를 들어, 가상 고도 센서는 기압 판독을 수신하며, 대응하는 고도를 추정하기 위해서 룩업 테이블 또는 수학적 알고리즘을 사용할 수 있다.
가상 센서의 또 다른 예는 선형 모션 및 방위 센서 (linear motion and orientation sensor) 이다. 예시적 선형 모션 및 방위 센서들은, 발명 명칭이 "Sensor-Based Orientation System" 인, 미국 특허 출원 번호 제 11/686,945 호에서 설명되며, 그 출원은 참조로서 본 명세서에 통합된다.
가상 센서의 또 다른 예는 가속계 데이터를 수신하며, 디바이스가 경험하는 진동을 정량화하기 위해서 가속계 데이터를 사용하는 진동 센서 (vibration sensor) 이다.
가상 센서들의 서브세트는 "이벤트 센서들" 이다. 가상 이벤트 센서의 일 예시는 "제로 G" 또는 드롭 검출 센서이다. 그러한 센서는 가속계로부터 센서 데이터를 수신하고, 센서 데이터가 드롭 검출 임계값을 초과하는 지를 결정하기 위해서 센서 데이터를 모니터하고, 디바이스가 드롭되었는 지를 표시하는 출력을 제공한다. 다른 가상 "이벤트 센서들" 은 예를 들어, 디바이스가 이동되는 지의 여부; 온도 변화, 고도 또는 압력 변화; 속도 변화; 또는 디바이스가 소정의 거리를 진행했는 지의 여부를 결정하기 위해서 다양한 타입의 센서 데이터를 모니터할 수도 있다.
몇몇 가상 이벤트 센서들은 그래픽 사용자 인터페이스 (GUI) 의 엘리먼트들 사이를 네비게이션하는 데 사용될 수도 있다. 예를 들어, 가상 이벤트 센서는 GUI 의 특정 엘리먼트 또는 제어로 네비게이션하기 위해서 사용자의 소망과 디바이스의 사용자의 틸트 또는 방위를 상관시킬 수도 있다. 동시에, 가상 이벤트 센서는 "셰이크" 또는 "더블-탭" 의 증거로 가속계 데이터를 모니터하며 사용자가 네비게이션하는 GUI 엘리먼트 또는 제어를 선택하기 위해 사용자의 소망과 동일하게 해석할 수도 있다.
방법 (200) 으로 되돌아가서, 방법 (200) 에 의해서 발견된 물리적 센서들 (114, 116, 118, 120) 이 센서 인터페이스 (100) 에 의해서 수신된 데이터 요청들의 전부 또는 일부를 충족시킬 수 없는 시간이 존재할 수도 있다. 즉, 센서 데 이터가 필요하지만 획득될 수 없는 시간이 존재할 수도 있다. 이 경우에, 방법 (200) 은 클라이언트의 요청이 충족될 수 없는 그 클라이언트에 경고 또는 에러 통지를 리턴할 수도 있다. 또는, 방법 (200) 은 충족시킬 수 없는 그 요청들을 단순히 무시할 수도 있다.
발견된 센서들 (114, 116, 118, 120) 이 복수의 데이터 요청들을 충족시키는 데 필요한 데이터를 기술적으로 제공할 수 있지만 그 데이터 요청과 관련된 파라미터들이 상충되는 것으로 보이는 시간이 또한 존재할 수도 있다. 예를 들어, 초당 1 샘플의 레이트 (1 헤르츠) 에서 가속계 판독에 대한 제 1 요청, 및 초당 100 샘플의 레이트 (100 헤르츠) 에서 가속계 판독에 대한 제 2 요청을 고려한다. 이러한 요청들이 상충되더라도, 두 요청들 모두는 100 헤르츠의 레이트에서 가속계 판독을 획득하고, 그후 제 1 요청을 충족시키기 위해서 판독을 서브샘플링함으로써 충족될 수 있다. 데이터 요청들이 상충될 때, 센서 인터페이스 (100) 의 프로세서 (104) 는 어떻게 하나 이상의 물리적 센서들 (114, 116, 118, 120) 이 명백하게 상충하는 요청들을 병렬적으로 충족시키도록 구성될 수도 있는 지를 결정할 수도 있다. 어떠한 가능한 해결방법도 존재하지 않을 때, 프로세서 (104) 는 상충하는 센서 구성을 요구하는 데이터 요청의 충족을 중재할 수도 있다. 몇몇 경우에서, 중재는 어떤 요청이 먼저 충족될 것인지를 우선 순위화시키는 것을 포함한다. 다른 경우에서, 중재는 특정 요청에 대한 경고 또는 에러 통지의 리턴을 초래할 수도 있다.
센서 인터페이스 (100) 에 의해서 수신된 데이터 요청의 일부 또는 전부가 전체적 또는 부분적으로 센서-독립적이면, 센서 인터페이스의 프로세서 (104) 는 특정 요청을 충족시키는 2 개 이상의 방법들로부터 선택되도록 구성될 수도 있다. 예를 들어, 가속계 및 휠 스피드 센서는 이동의 방향을 독립적으로 표시할 수 있는 데이터를 제공할 수도 있다. 따라서, 하나의 센서가 사용불능이면, 데이터 요청은 다른 센서로부터 획득된 데이터를 사용해서 충족될 수도 있다. 또는, 두개의 데이터 요청들 사이에서의 상충이 조정될 수 없으면, 각각의 데이터 요청은 센서들 중 다른 센서로부터 획득된 데이터를 사용해서 충족될 수도 있다.
전체 또는 부분적으로 센서-독립적 데이터 요청들은 또한 데이터 요청들이 다른 표준에 따라 충족되는 것을 허용한다. 예를 들어, 센서들의 상이한 세트가 데이터 요청들의 세트를 충족시키는 데 사용될 수 있을 때, 데이터 요청들을 충족시키는 데 사용되는 센서들의 세트가 예를 들어 : 전력을 보존하고; 사용된 물리적 센서들의 개수를 최소화하고; (예를 들어, 더 정교한 물리적 센서들이 사용가능할 때 가상 센서들에 대한 의존을 최소화함으로써) 프로세서 사용을 최소화하고; 노이즈를 최소화하고; 응답 시간을 증가시키며; 또는 서비스 요청의 품질을 충족시키도록 선택될 수도 있다. 프로세서 사용은 또한 "스마트" 센서들에 더 다수의 업무를 부과함으로써 최소화할 수도 있다. 예를 들어, "스마트" 센서들은 센서를 자동 구성하고, QoS 요청 (후술함) 을 판독 및 응답하고, 하나 이상의 가상 센서들에 유사하게 데이터를 변환 또는 결합하고, 또는 "제로 G" 이벤트 (예를 들어, 제로 G 가속계를 가진 경우처럼) 와 같은 이벤트를 검출할 수도 있다.
일 실시형태에서, 센서 인터페이스 (100)(도 1) 는 입력, 출력 또는 양방향 품질 제어를 구현할 수도 있다. 예를 들어, 입력부 측에서, 프로세서 (104) 는 센서 인터페이스 (100) 에 의해서 수신된 하나 이상의 데이터 요청들과 관련된 서비스 품질 (QoS : Quality Of Service) 을 판독하도록 구성될 수도 있다. QoS 요청은 예를 들어: 측정의 정확성보다 측정 당 시간을 우선 순위화시키는 요청 (또는 그 역으로); 측정 당 시간 및 측정의 정확성을 어떻게 밸런싱하는 지의 표시; 측정 샘플링 레이트; 측정 지속 기간; 측정 캡처 트리거; 측정 리턴 트리거 (예를 들어, 센서 데이터가 프로세싱되거나 데이터 요청이 충족되기 전에 충족될 필요가 있는 임계값); 측정 필터링에 대한 시간 상수; 측정 분석; 대역폭 (예를 들어, 샘플 개수 또는 리턴 스피드) 및 데이터 분석을 어떻게 밸런싱하는 지의 방법에 대한 표시; 또는 가속계 g-범위 선택을 포함할 수도 있다.
여기에서 정의된 바와 같이, QoS 요청은 구성 요청이 센서 특정적이며 QoS 요청은 적어도 부분적으로 센서 독립적이라는 점에서 통상적 구성 요청과 상이하다. QoS 는 따라서 어떤 센서들이 사용가능하는 지 또는 어떻게 작용하는 지에 대한 지식없이도 센서 사용자 또는 애플리케이션 개발자에 의해서 생성될 수도 있다. 대신에, 센서 사용자 또는 애플리케이션 개발자는 어떤 종류의 데이터를 그들이 원하는 지 및 그것이 어떻게 획득될 수 있는 지를 오직 알 필요가 있다. 이와 관련하여, 애플리케이션 프로그래밍 인터페이스 (API) 는 센서 인터페이스 (100) 에 대해서 정의될 수도 있고, 애플리케이션 개발자는 어떤 종류의 데이터 및 QoS 요청이 센서 인터페이스 (100) 에 의해서 프로세싱될 수 있는 지를 결정하기 위해서 API 를 사용할 수도 있다.
프로세서 (104) 는 1) 어떤 센서 데이터가 QoS 요청을 충족시키는 데 사용될 수 있는 지를 결정하며, 2) 가능하다면, 임의의 관련된 QoS 요청에 따라서 하나 이상의 데이터 요청들을 충족시키도록 더 구성될 수 있다. 프로세서 (104) 는 다양한 방법으로 QoS 요청들을 사용할 수도 있다. 몇몇 경우에서, 프로세서 (104) 는 2 개 이상의 센서들 중 어느 것이 데이터 요청을 충족시키는 데 사용될 수 있는 지를 결정하기 위해서 QoS 요청을 사용할 수도 있다. 예를 들어, 두 개의 센서들이 데이터 요청을 충족시킬 수 있지만, 센서들 중 하나와 관련된 시간 또는 전력 절약이 존재하면, 프로세서는 시간 또는 전력을 절약하는 센서로부터 데이터를 통상적으로 획득하도록 구성될 수도 있다. 하지만, QoS 요청이 값비싼 센서로부터 데이터를 획득함으로써 오직 충족될 수 있으면, 프로세서는 값비싼 센서로부터 데이터를 획득함으로써 QoS 요청에 응답하도록 구성될 수도 있다. 다른 경우에서, 하나의 센서로부터 획득된 데이터를 다른 센서로부터 획득된 데이터와 결합함으로써 그 하나의 센서로부터 획득된 데이터를 "정정" 하거나 개선하는 것이 가능할 수도 있다. 이러한 경우에, QoS 요청은 클라이언트에 "비정정된" 것으로 통상 통과하는 데이터를 프로세서 (104) 가 정정하게 할 수도 있다.
몇몇 경우에서, 프로세서 (104) 는 그 관련된 서비스 품질 요청이 충족될 수 있을 때 데이터 요청을 오직 충족시키도록 구성될 수 있다. 다른 경우에서, 프로세서 (104) 는 가능하다면 언제든지 데이터 요청을 충족시키고, 그 관련된 QoS 요청을 충족시키기 위해서 "베스트 에포트 (best effort)" 를 수행하도록 구성될 수 있다.
출력 측에서, 프로세서 (104) 는 데이터, 및 데이터 품질의 하나 이상의 표시 모두를 리턴하도록 구성될 수도 있다. 데이터 품질의 표시자는 예를 들어, 데이터 정확성의 표시; 데이터 분석; 데이터 스큐잉 이벤트 (예를 들어, 디바이스 쇼크) 가 발생했다는 표시; 센서 한계가 도달되었다는 표시 (예를 들어, 1000g 초과의 가속도 크기가 검출된 경우); 데이터 샘플들이 손실되었다는 표시; 또는 데이터가 유효한 것으로 신뢰되는 지의 표시를 포함할 수도 있다. 데이터는 또한 타임스탬프를 가지고 리턴될 수도 있다.
QoS 요청을 판독하며 응답하도록 구성되는 것 이외에, 프로세서 (104) 는 특정 센서들 (114, 116, 118, 120) 에 관한 구성 요청들을 판독하고 응답하도록 구성될 수도 있다.
프로세서 (104) 는 1) 센서 인터페이스 (100) 의 존재, 또는 2) 센서 인터페이스 (100) 에 의해서 발견된 물리적 센서들 (114, 116, 118, 120) 중 적어도 하나의 존재의 브로드캐스트를 개시하거나 "광고 (advertise)" 하도록 더 구성될 수도 있다. 일 실시형태에서, 브로드캐스트는 센서 인터페이스 (100) 의 무선 인터페이스를 통하여 개시된다. 이러한 방식으로, 센서 인터페이스 (100) 가 설치된 "디바이스 A" 이외의 디바이스들 상에 설치된 클라이언트들은 "디바이스 A" 에 사용가능한 물리적 센서들에 엑세스하기 위해서 센서 인터페이스 (100) 를 사용할 수도 있다. 예를 들어, 복수의 이동 전화 또는 PDA 들 중 일부 또는 전부에 인터페이스 (100) 와 같은 센서 인터페이스가 제공되면, 몇몇 디바이스들은 다른 디바이스들의 클라이언트가 될 수도 있고, 그에 따라서 다른 디바이스(들) 의 센서 인터페이스(들) 을 통하여 사용가능한 물리적 또는 심지어 가상 센서들에 엑세스할 수도 있다.
센서 인터페이스 (100) 의 클라이언트 입력부들은 유선 및 무선 입력부 모두를 포함할 수도 있다. 일 실시형태에서, 적어도 하나의 클라이언트 입력부 (예를 들어, 유선 클라이언트 입력부) 은, 센서 인터페이스 (100) 가 물리적으로 설치된 이동 디바이스 상에서 설치된 클라이언트로부터 데이터 요청을 수신하는 데 전용될 수도 있고, 적어도 하나의 다른 클라이언트 입력부 (예를 들어, 무선 클라이언트 입력부) 은 센서 인터페이스 (100) 가 물리적으로 설치된 이동 디바이스 외부의 클라이언트로부터 데이터 요청을 수신하도록 구성될 수도 있다.
도 3 은 센서 인터페이스 (100) 의 하나의 예시적 구현형태 (302) 를 도시한다. 예로서, 센서 인터페이스 (302) 는 다수의 설치된 애플리케이션 (304, 306, 308, 310) 을 가진 디바이스 (300) 에서 구현된다. 디바이스 (300) 는 휴대용 이동 디바이스, 컴퓨터, 또는 운송 수단의 형태와 같은 다양한 형태를 취할 수도 있다. 설치된 애플리케이션들은 다양한 형태를 또한 취할 수 있고, 예를 들어, 웹 브라우저 (304), 카메라 (306), 보수계 (308), 글로벌 측위 시스템, Qualcomm uniOne 사용자 인터페이스 (310), 또는 디바이스 운영 체제를 포함할 수도 있다. 센서 인터페이스 (302) 는 일 실시형태에서 단일 COM 포트의 형태를 취하는 다수의 클라이언트 입력부들 (312) 을 포함할 수도 있다. ISensorPort API 에 대한 액세스는 COM 포트를 통하여 제공될 수도 있다.
ISensorPort API 는 다수의 물리적 및/또는 가상 센서들 (314, 316, 318, 320, 322, 324) 에 양방향 접속을 제공할 수도 있으며, 개방/판독/기록/폐쇄/ioctl과 같은 I/O 기능을 지원할 수도 있다. ISensorPort API 는 다수의 설치된 애플리케이션들 (304, 306, 308, 310) 로부터 데이터 요청을 수신하도록 구성되며, 미가공 또는 추상된 센서 데이터의 형태로 응답을 리턴하도록 구성된다. 설치된 애플리케이션들 (304, 306, 308, 310) 은, 다수의 ISensorPort 확장 (326) 을 통하여 추상화된 센서 데이터에 액세스할 수도 있고, 그 ISensorPort 확장은 다수의 가상 센서들 (324) 로의 액세스를 차례로 제공한다. 예로서, ISensorPort 확장 (326) 은 (예를 들어, 이미지 안정화 애플리케이션을 위한) 진동 정보 또는 방위 정보에 액세스하는 확장들 (328, 330) 을 포함할 수도 있다.
바람직하게는, 센서 인터페이스 클라이언트들 (304, 306, 308, 310) 은 ISensorPort API 를 통하여 특정 공지된 센서들 (예를 들어, 센서들의 특정 타입 및 모델) 과 통신하도록 허용되지 않는다. 대신에, 클라이언트들 (304, 306, 308, 310) 은 미가공 또는 추상된 센서 데이터의 특정 타입을 요청하도록 오직 허용된다. 이 방식으로, 및 상술한 바와 같이, 데이터 요청들이 어떻게 충족되는 지를 결정하는 데 더 다수의 플렉시블리티가 센서 인터페이스 (302) 에 제공된다. 하지만, 일 실시형태에서, 특정 센서들과 통신하는 것이 애플리케이션들이 허용된다.
일 실시형태에서, ISensorPort API 는, 직접 원격접속 가능 판독/기록 포트를 제공하는 Qualcomm BREW 4.0 Component Services' IPORT1 인터페이스를 승계하고 구현할 수도 있다.
센서 인터페이스 (100) 는 센서 드라이버 레이어 (332) 를 더 포함한다. 센서 드라이버 레이어 (332) 는 밴더-특정 센서 초기화, 교정 (calibration), 구성 및 판독/기록 동작을 수행하도록 역할을 하는 다수의 센서 드라이버들 (334, 336, 338) 을 포함한다. 센서 드라이버들 (334, 336, 338) 은 I2C, UART 및 블루투스 인터페이스와 같은, 하나 이상의 센서 통신 인터페이스들 (342, 344, 346) 로의 접속을 지원하는 센서 통신 레이어 (340) 를 통하여 그 동작을 수행할 수도 있다. 바람직하게는, 센서 드라이버 및 센서 통신 레이어들 (332, 340) 모두는 확장가능하며, 이것은 센서 드라이버들 (334, 336, 338) 및 센서 통신 인터페이스들 (342, 344, 346) 이 이러한 레이어들에 추가될 수 있다는 것을 의미한다.
예로서, 도 3 은 I2C 버스 (344) 를 통하여 통신 레이어 (340) 에 커플링된 한 쌍의 물리적 센서들 (314, 316); UART (346) 을 통하여 통신 레이어 (340) 에 차례대로 커플링되는 마이크로제어기 (350) 의 아날로그-디지털 변환기 (ADC)(348) 에 커플링된 다른 쌍의 센서들 (318, 320); 및 블루투스 접속 (342) 을 통하여 통신 레이어 (340) 에 커플링된 물리적 센서 (322) 를 도시한다.
센서 인터페이스 (100) 는 센서 관리 레이어 (352) 를 더 포함한다. 센서 관리 레이어 (352) 는 다중의 클라이언트 접속들 및 데이터 요청들을 관리하고, 물리적 센서들 (314, 316, 318, 320, 322) 에 대한 엑세스를 조정하며, 가상 센서 지원을 제공하도록 역할을 한다. 센서 관리 레이어 (352) 는 또한 데이터 요청이 어떻게 충족되는 지를 (예를 들어, 특정 데이터 요청을 특정 물리적 또는 가상 센서들 (314, 316, 318, 320, 322, 324) 에 맵핑함으로써) 결정한다. 센서 관 리 레이어 (352) 는 또한 도 2 에 도시된 방법 (200) 을 실행할 책임이 있을 수도 있다.
때때로, 다중의 클라이언트들 (304, 306, 308, 310) 은 하나 이상의 물리적 센서들 (314, 316, 318, 320, 322) 에 의해서 생성된 데이터에 대한 동시적 액세스를 요구할 수도 있다. 결과적으로, 물리적 센서로부터 획득된 데이터는, 다수의 소비자들 (예를 들어, 센서 인터페이스 클라이언트들 (304, 306, 308, 310) 또는 가상 센서들 (324)) 에 제공될 수 있도록, 버퍼링되고, 그후 카피될 필요가 있을 수도 있다. 몇몇 경우에서, 물리적 센서들의 데이터 버퍼는 단일 샘플을 홀딩하도록 크기 조절될 수도 있다. 다른 경우에서, 센서의 데이터 버퍼는 다중의 샘플들을 홀딩하도록 크기 조절될 수도 있다. 또 다른 경우에서, 센서의 데이터 버퍼는, 예를 들어, 3D 가속계에 의해서 생성된 x,y,z 가속도 값을 홀딩할 필요가 있을 수도 있기 때문에, 샘플의 어레이를 홀딩하도록 크기 조절될 수도 있다. 버퍼는 또한 특정 센서에 의해서 생성된 데이터 샘플들의 개수 및 크기, 데이터 샘플들이 획득되는 레이트, 또는 센서의 데이터에 대한 액세스를 요구하는 클라이언트 (304, 306, 308, 310) 의 개수와 같은 팩터들에 기초해서, 동적으로 크기 조절될 수도 있다.
물리적 센서로부터 획득된 데이터 카피들은 동일할 필요는 없다. 예를 들어, 센서 데이터는 상이한 개수의 샘플들을 가진 데이터 세트들을 산출하도록 서브샘플링될 수도 있다. 또는, 센서 데이터의 특정 카피는 저대역 필터링 또는 다른 사전 프로세싱 요건에 영향을 받을 수도 있다.
일 실시형태에서, 센서 인터페이스 (302) 의 클라이언트 (304) 는 ASCII 메시지를 통하여 QoS 또는 데이터 요청을 전송할 수도 있다. 이러한 메시지들은 다음과 같은 형태를 취할 수도 있다:
"set,<datatype1>=<attribute1>:<value1>[,<datatype2>=<attribute2>:<value2>]..."
"get,<attribute1>[,attribute2>]..."
상기 메시지들을 이용하여 x 축에서의 가속도를 요청하기 위해서, 사용자는 다음과 같이 소망하는 측정 주파수를 설정할 수도 있다:
"set,accelx:freq=10".
그후, 데이터 생성을 개시하기 위해서, 다음의 메시지가 전송될 수도 있다:
"get,accelx".
데이터 요청은 그후 다음 메시지를 포함하는 데이터의 스트림을 리턴함으로써 충족될 수도 있다:
"get,accelx=123,errorno=0"
"get,accelx=234,errorno=0".
데이터 스트림은 다음 메시지로 종료될 수도 있다:
"set,accelx:freq=0"
상기 예에서, 리턴된 데이터 스트림의 "errorno=0" 부분은 리턴된 데이터 샘플들에 어떠한 에러도 존재하지 않음을 표시한다. 데이터 샘플이, 예를 들어 센서 한계가 포화되었기 때문에 (또는 디바이스 쇼크가 판독과 간섭되는 경우), 오 류가 있는 것으로 여겨지면, "errorno=1" 또는 "errorno=2" 의 표시는 영향받은 샘플 또는 샘플들을 가지고 리턴될 수도 있다. 따라서, 에러 코드들은 (임의의 종류의) 에러가 존재하는 지 아닌지를 단순히 나타내는 데 사용될 수 있고, 또는 에러 코드는 다양한 상이한 타입의 에러를 나타내는 데 사용될 수도 있다.
당업자는 여기에서 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들 및 단계들을 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합으로 구현할 수도 있음을 이해할 것이다. 하드웨어와 소프트웨어의 이러한 교체 가능성을 분명히 설명하기 위하여, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 및 단계들을 주로 그들의 기능의 관점에서 상술하였다. 그러한 기능이 하드웨어로 구현될지 소프트웨어로 구현될지는 전체 시스템에 부과된 특정한 애플리케이션 및 설계 제약조건들에 의존한다. 당업자는 설명된 기능을 각각의 특정한 애플리케이션에 대하여 다양한 방식으로 구현할 수도 있지만, 그러한 구현의 결정이 본 발명의 범위로부터의 벗어남을 야기하는 것으로 해석되지는 않아야 한다.
여기에서 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들은 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA), 또는 기타 프로그래머블 로직 디바이스, 개별의 게이트 또는 트랜지스터 로직, 개별의 하드웨어 컴포넌트들, 또는 여기서 설명된 기능을 수행하도록 설계된 이들의 임의의 결합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 다른 방 법으로, 그 프로세서는 임의의 종래 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 결합, 예를 들어, DSP 와 마이크로프로세서의 결합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들 또는 임의의 기타 다른 구성물로 구현될 수도 있다.
여기에 개시된 실시형태들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 ASIC 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
개시되어 있는 실시형태들에 대한 이전의 설명은 당업자로 하여금 본 발명을 제조 또는 이용할 수 있도록 제공된다. 당업자는 이들 실시형태에 대한 다양한 변형들을 명백히 알 수 있으며, 여기에서 정의된 일반적인 원리들은 본 발명의 사상 또는 범위를 벗어나지 않고도 다른 실시형태들에 적용될 수도 있다. 따라 서, 본 발명은 여기에서 설명된 실시형태들에 제한되는 것이 아니라, 여기에서 개시된 원리 및 신규한 특징들과 부합하는 최광의 범위를 부여하려는 것이다.

Claims (43)

  1. 다수의 센서 입력부들;
    다수의 클라이언트들로부터 다수의 데이터 요청들을 수신하도록 구성된 다수의 클라이언트 입력부들로서, 상기 다수의 데이터 요청들은, 특정 타입의 데이터를 획득하는 데 사용될 특정 물리적 센서를 식별하지 않으면서, 리턴될 상기 특정 타입의 데이터를 특정하는 적어도 하나의 데이터 요청을 포함하는, 상기 다수의 클라이언트 입력부들; 및
    상기 적어도 하나의 데이터 요청에 응답하여, i) 어떤 센서 데이터가 상기 다수의 데이터 요청들을 충족시키는 데 사용될 수 있는 지를 결정하고, ii) 다수의 물리적 센서들을 동적으로 발견하며, iii) 상기 다수의 물리적 센서들로부터 센서 데이터를 수신하도록 상기 센서 입력부들 중 적어도 하나를 구성하고, iv) 상기 수신된 센서 데이터를 사용해서 상기 다수의 데이터 요청들의 일부 또는 전부를 충족시키고, 데이터 요청을 충족시킬 수 없다면 경고 또는 에러를 리턴하거나 상기 데이터 요청을 무시하도록 구성된 프로세서를 포함하는, 센서 인터페이스.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 프로세서는, 상기 센서 인터페이스가 설치된 디바이스의 외부에 상주하 는 적어도 하나의 물리적 센서를 동적으로 발견하도록 구성되는, 센서 인터페이스.
  4. 제 1 항에 있어서,
    상기 다수의 센서 입력부들은 복수의 센서 입력부들인, 센서 인터페이스.
  5. 제 1 항에 있어서,
    상기 다수의 물리적 센서들은 복수의 물리적 센서들인, 센서 인터페이스.
  6. 제 1 항에 있어서,
    상기 다수의 클라이언트 입력부들은 복수의 클라이언트 입력부들인, 센서 인터페이스.
  7. 제 1 항에 있어서,
    상기 다수의 클라이언트들은 복수의 클라이언트들인, 센서 인터페이스.
  8. 제 1 항에 있어서,
    상기 프로세서는, 상기 센서 데이터의 적어도 일부를 결합함으로써 상기 데이터 요청들 중 적어도 하나를 충족시키도록 구성되는, 센서 인터페이스.
  9. 제 1 항에 있어서,
    상기 프로세서는, 상기 센서 데이터의 적어도 하나의 피스 (piece) 를 변환함으로써 상기 데이터 요청들 중 적어도 하나를 충족시키도록 구성되는, 센서 인터페이스.
  10. 제 1 항에 있어서,
    상기 프로세서는, 상기 센서 데이터를 사용하여 데이터 요청을 충족시키기 위해 2 개 이상의 방식들 중에서 선택하도록 구성되는, 센서 인터페이스.
  11. 제 1 항에 있어서,
    상기 프로세서는, 상기 센서 데이터를 사용하여 데이터 요청을 충족시키기 위해 2 개 이상의 방식들 중에서 선택하도록 구성되며, 상기 선택은 상기 다수의 물리적 센서들에 제공된 전력을 보존하도록 행해지는, 센서 인터페이스.
  12. 제 1 항에 있어서,
    상기 프로세서는, 상기 데이터 요청들을 충족시키는데 필요한 단지 상기 다수의 물리적 센서들 중 하나 이상을 인에이블하도록 구성되는, 센서 인터페이스.
  13. 제 1 항에 있어서,
    상기 프로세서는, 상기 데이터 요청들을 충족시키는 데 필요한 것으로서, 상기 다수의 물리적 센서들 중 적어도 하나의 물리적 센서를 구성하도록 구성되는, 센서 인터페이스.
  14. 제 13 항에 있어서,
    상기 프로세서는, 상기 프로세서가 구성하도록 구성된 상기 적어도 하나의 물리적 센서의 상충적 구성을 요구하는 데이터 요청들의 충족을 중재하도록 구성되는, 센서 인터페이스.
  15. 제 1 항에 있어서,
    상기 프로세서는, 상기 데이터 요청들 중 다중의 경합 데이터 요청들을 동시에 충족시키기 위해서, 상기 다수의 물리적 센서들 중 적어도 하나의 물리적 센서를 구성하도록 구성되는, 센서 인터페이스.
  16. 제 1 항에 있어서,
    상기 프로세서는, i) 상기 하나 이상의 데이터 요청들과 연관된 서비스 품질 요청들을 판독하고, ii) 어떤 센서 데이터가 상기 서비스 품질 요청들을 충족시키는 데 사용될 수 있는 지를 결정하며, iii) 임의의 관련 서비스 품질 요청들에 따라서 상기 하나 이상의 데이터 요청들의 일부 또는 전부를 충족시키고, 데이터 요청을 충족시킬 수 없다면 경고 또는 에러를 리턴하거나 상기 데이터 요청을 무시하도록 구성되는, 센서 인터페이스.
  17. 제 16 항에 있어서,
    상기 프로세서는, 상기 서비스 품질 요청들 중 적어도 하나에 응답하여, 상기 데이터 요청들 중 적어도 하나를 충족시키기 위해서 상기 센서 데이터들 중 적어도 일부를 결합시키도록 구성되는, 센서 인터페이스.
  18. 제 16 항에 있어서,
    상기 프로세서는, 데이터, 및 상기 데이터의 품질의 표시자 모두를 리턴함으로써 상기 데이터 요청들 중 적어도 하나를 충족시키도록 구성되는, 센서 인터페이스.
  19. 제 16 항에 있어서,
    상기 프로세서는, 데이터, 및 상기 데이터의 유효성 (validity) 의 표시자 모두를 리턴함으로써 상기 데이터 요청들 중 적어도 하나를 충족시키도록 구성되는, 센서 인터페이스.
  20. 제 1 항에 있어서,
    상기 프로세서는, 데이터, 및 상기 데이터의 품질의 표시자 모두를 리턴함으로써 상기 데이터 요청들 중 적어도 하나를 충족시키도록 구성되는, 센서 인터페이스.
  21. 제 1 항에 있어서,
    상기 프로세서는, 데이터, 및 상기 데이터의 유효성의 표시자 모두를 리턴함으로써 상기 데이터 요청들 중 적어도 하나를 충족시키도록 구성되는, 센서 인터페이스.
  22. 제 1 항에 있어서,
    무선 인터페이스를 더 포함하며,
    상기 프로세서는, 상기 물리적 센서들 중 적어도 하나의 존재의 브로드캐스트를 상기 무선 인터페이스를 통하여 개시하도록 구성되는, 센서 인터페이스.
  23. 제 1 항에 있어서,
    무선 인터페이스를 더 포함하며,
    상기 프로세서는, 상기 센서 인터페이스의 존재의 브로드캐스트를 상기 무선 인터페이스를 통하여 개시하도록 구성되는, 센서 인터페이스.
  24. 제 1 항에 있어서,
    상기 다수의 클라이언트 입력부들은, i) 상기 센서 인터페이스가 물리적으로 설치된 이동 디바이스 상에 설치된 클라이언트들로부터 데이터 요청들을 수신하도록 전용된 적어도 하나의 유선 클라이언트 입력부, 및 ii) 상기 센서 인터페이스가 물리적으로 설치된 상기 이동 디바이스의 외부의 클라이언트들로부터 데이터 요청들을 수신하도록 구성된 적어도 하나의 무선 클라이언트 입력부를 포함하는, 센서 인터페이스.
  25. 휴대용 디바이스에 의해 수행되는 방법으로서,
    다수의 클라이언트들로부터 데이터 요청들을 수신하는 단계로서, 상기 데이터 요청들은, 특정 타입의 데이터를 획득하는 데 사용될 특정 물리적 센서를 식별하지 않으면서, 리턴될 상기 특정 타입의 데이터를 특정하는 적어도 하나의 데이터 요청을 포함하는, 상기 수신 단계;
    어떤 센서 데이터가 상기 데이터 요청들을 충족시키는 데 사용될 수 있는 지를 결정하는 단계;
    상기 적어도 하나의 데이터 요청에 응답하여, 디바이스가 센서 데이터를 현재 수신할 수 있는 다수의 물리적 센서들을 동적으로 발견하는 단계;
    상기 다수의 물리적 센서들 중 적어도 하나로부터, 상기 데이터 요청들을 충족시키는 데 사용될 수 있는 센서 데이터의 일부 또는 전부를 수신하는 단계; 및
    상기 수신된 센서 데이터를 사용해서 상기 데이터 요청들의 일부 또는 전부를 충족시키고, 데이터 요청을 충족시킬 수 없다면 경고 또는 에러를 리턴하거나 상기 데이터 요청을 무시하는 단계를 포함하는, 방법.
  26. 제 25 항에 있어서,
    상기 데이터 요청들을 충족시키는 데 사용되는 상기 다수의 물리적 센서들 중 하나 이상을 인에이블하는 단계를 더 포함하는, 방법.
  27. 제 25 항에 있어서,
    상기 데이터 요청들을 충족시키는 데 필요한 것으로서, 상기 다수의 물리적 센서들 중 적어도 하나의 물리적 센서를 구성하는 단계를 더 포함하는, 방법.
  28. 제 25 항에 있어서,
    상기 수신된 센서 데이터 중 적어도 일부를 결합시키는 단계를 더 포함하는, 방법.
  29. 제 25 항에 있어서,
    상기 수신된 센서 데이터 중 적어도 일부를 변환시키는 단계를 더 포함하는, 방법.
  30. 제 25 항에 있어서,
    상기 동적으로 발견된 물리적 센서들 중 적어도 하나의 존재를 브로드캐스팅하는 단계를 더 포함하는, 방법.
  31. 다수의 설치된 애플리케이션들;
    다수의 센서 통신 인터페이스들; 및
    센서 인터페이스를 포함하며,
    상기 센서 인터페이스는,
    i) 상기 다수의 설치된 애플리케이션들로부터 데이터 요청들을 수신하며, ii) 상기 데이터 요청들에 대한 응답을 상기 다수의 설치된 애플리케이션으로 리턴하도록 구성된 애플리케이션 프로그래밍 인터페이스 (API) 를 제공하고;
    적어도 하나의 데이터 요청에 응답하여 다수의 물리적 센서들을 동적으로 발견하며;
    상기 다수의 센서 통신 인터페이스들을 통해 다수의 물리적 센서와 통신하도록 구성된 다수의 센서 드라이버를 호스팅하고;
    i) 적어도 하나의 데이터 요청에 응답하여, 어떤 센서 데이터가 상기 데이터 요청들을 충족시키기 위해 사용될 수 있는 지를 결정하고, ii) 상기 데이터 요청들을 충족시키기 위해 사용될 수 있는 센서 데이터의 일부 또는 전부를 획득하기 위해 상기 센서 드라이버 중 적어도 하나를 사용하며, iii) 상기 데이터 요청의 일부 또는 전부를 충족시키기 위해 상기 획득된 센서 데이터를 사용하며, 데이터 요청을 충족시킬 수 없다면 경고 또는 에러를 리턴하거나 상기 데이터 요청을 무시하도록 구성되는, 휴대용 이동 디바이스.
  32. 제 31 항에 있어서,
    상기 다수의 설치된 애플리케이션들은 웹 브라우저, 카메라, 보수계 (pedometer) 및 글로벌 측위 시스템 중 적어도 하나를 포함하는, 휴대용 이동 디바이스.
  33. 제 31 항에 있어서,
    상기 센서 인터페이스는, i) 상기 수신된 센서 데이터 중 적어도 일부를 결합하는 가상 센서를 제공하고, ii) 상기 가상 센서의 출력을 사용해서 상기 데이터 요청들 중 적어도 하나를 충족시키는, 휴대용 이동 디바이스.
  34. 제 31 항에 있어서,
    상기 센서 인터페이스는, i) 상기 수신된 센서 데이터 중 적어도 일부를 변환하는 가상 센서를 제공하고, ii) 상기 가상 센서의 출력을 사용해서 상기 데이터 요청들 중 적어도 하나를 충족시키는, 휴대용 이동 디바이스.
  35. 휴대용 이동 디바이스에 의해 실행시, 상기 휴대용 이동 디바이스로 하여금 동작을 수행하도록 하는 명령들을 포함하는 컴퓨터-판독가능 저장 매체로서,
    상기 명령들은,
    클라이언트로부터 데이터 요청을 수신하는 코드로서, 상기 데이터 요청은 리턴될 특정 타입의 데이터를 특정하는 다수의 데이터 요청을 포함하는, 수신 코드;
    어떤 센서 데이터가 상기 다수의 데이터 요청을 충족시키는데 사용될 수 있는 지를 결정하는 코드;
    상기 데이터 요청에 응답하여 다수의 물리적 센서들을 발견하는 코드;
    상기 다수의 물리적 센서들 중 적어도 하나로부터, 상기 데이터 요청을 충족시키는데 사용될 수 있는 센서 데이터의 일부 또는 전부를 수신하는 코드; 및
    상기 데이터 요청을 충족하는 데이터를 리턴하는 코드를 포함하는, 컴퓨터-판독가능 저장 매체.
  36. 제 35 항에 있어서,
    상기 데이터 요청은, 상기 특정 타입의 데이터를 획득하는데 사용될 특정 물리적 센서를 식별하지 않는, 컴퓨터-판독가능 저장 매체.
  37. 제 35 항에 있어서,
    상기 데이터 요청을 충족시키는 데 사용되는 상기 다수의 물리적 센서들 중 하나 이상을 인에이블하는 코드를 더 포함하는, 컴퓨터-판독가능 저장 매체.
  38. 제 35 항에 있어서,
    상기 수신된 센서 데이터의 적어도 일부를 조합하는 코드를 더 포함하는, 컴퓨터-판독가능 저장 매체.
  39. 제 35 항에 있어서,
    다수의 수신된 센서 데이터를 변환시키는 코드를 더 포함하는, 컴퓨터-판독가능 저장 매체.
  40. 제 35 항에 있어서,
    상기 클라이언트는 애플리케이션을 포함하는, 컴퓨터-판독가능 저장 매체.
  41. 제 35 항에 있어서,
    가상 센서를 생성하는 코드를 더 포함하는, 컴퓨터-판독가능 저장 매체.
  42. 제 35 항에 있어서,
    하나 이상의 데이터 요청과 연관된 서비스 품질 요청을 제공하는 코드 및 상기 서비스 품질 요청을 충족시키는데 사용될 수 있는 센서 데이터를 결정하는 코드를 더 포함하는, 컴퓨터-판독가능 저장 매체.
  43. 다수의 클라이언트들로부터 데이터 요청들을 수신하는 수단으로서, 상기 데이터 요청들은, 특정 타입의 데이터를 획득하는 데 사용될 특정 물리적 센서를 식별하지 않으면서, 리턴될 상기 특정 타입의 데이터를 특정하는 적어도 하나의 데이터 요청을 포함하는, 상기 수신 수단;
    어떤 센서 데이터가 상기 데이터 요청들을 충족시키는 데 사용될 수 있는 지를 결정하는 수단;
    상기 적어도 하나의 데이터 요청에 응답하여, 디바이스가 센서 데이터를 현재 수신할 수 있는 다수의 물리적 센서들을 동적으로 발견하는 수단;
    상기 다수의 물리적 센서들 중 적어도 하나로부터, 상기 데이터 요청들을 충족시키는 데 사용될 수 있는 센서 데이터의 일부 또는 전부를 수신하는 수단; 및
    상기 수신된 센서 데이터를 사용해서 상기 데이터 요청들의 일부 또는 전부를 충족시키고, 데이터 요청을 충족시킬 수 없다면 경고 또는 에러를 리턴하거나 상기 데이터 요청을 무시하는 수단을 포함하는, 휴대용 이동 디바이스.
KR1020087027347A 2006-04-07 2007-04-09 센서 인터페이스, 및 센서 인터페이스에 관한 방법 및 장치 KR101069566B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US79025206P 2006-04-07 2006-04-07
US60/790,252 2006-04-07
US11/733,130 2007-04-09
US11/733,130 US9626238B2 (en) 2006-04-07 2007-04-09 Sensor interface, and methods and apparatus pertaining to same

Publications (2)

Publication Number Publication Date
KR20090029701A KR20090029701A (ko) 2009-03-23
KR101069566B1 true KR101069566B1 (ko) 2011-10-05

Family

ID=38566962

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087027347A KR101069566B1 (ko) 2006-04-07 2007-04-09 센서 인터페이스, 및 센서 인터페이스에 관한 방법 및 장치

Country Status (6)

Country Link
US (1) US9626238B2 (ko)
EP (2) EP2054804B1 (ko)
JP (2) JP5318750B2 (ko)
KR (1) KR101069566B1 (ko)
CN (1) CN101410805B (ko)
WO (1) WO2007118247A2 (ko)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10213754A1 (de) * 2002-03-18 2003-12-04 Sick Ag Sensor-Maschinen-Interface und Verfahren zu dessen Betrieb
TWI237202B (en) * 2003-08-27 2005-08-01 Wen-Shiang Yue MP3 player with exercise meter
US7839279B2 (en) * 2005-07-29 2010-11-23 Dp Technologies, Inc. Monitor, alert, control, and share (MACS) system
US8864663B1 (en) 2006-03-01 2014-10-21 Dp Technologies, Inc. System and method to evaluate physical condition of a user
US8725527B1 (en) 2006-03-03 2014-05-13 Dp Technologies, Inc. Method and apparatus to present a virtual user
US7841967B1 (en) 2006-04-26 2010-11-30 Dp Technologies, Inc. Method and apparatus for providing fitness coaching using a mobile device
US8902154B1 (en) 2006-07-11 2014-12-02 Dp Technologies, Inc. Method and apparatus for utilizing motion user interface
US7647195B1 (en) 2006-07-11 2010-01-12 Dp Technologies, Inc. Method and apparatus for a virtual accelerometer system
US8462109B2 (en) 2007-01-05 2013-06-11 Invensense, Inc. Controlling and accessing content using motion processing on mobile devices
US8250921B2 (en) 2007-07-06 2012-08-28 Invensense, Inc. Integrated motion processing unit (MPU) with MEMS inertial sensing and embedded digital electronics
US8141424B2 (en) 2008-09-12 2012-03-27 Invensense, Inc. Low inertia frame for detecting coriolis acceleration
US8952832B2 (en) 2008-01-18 2015-02-10 Invensense, Inc. Interfacing application programs and motion sensors of a device
US7934423B2 (en) 2007-12-10 2011-05-03 Invensense, Inc. Vertically integrated 3-axis MEMS angular accelerometer with integrated electronics
US8508039B1 (en) 2008-05-08 2013-08-13 Invensense, Inc. Wafer scale chip scale packaging of vertically integrated MEMS sensors with electronics
US8620353B1 (en) 2007-01-26 2013-12-31 Dp Technologies, Inc. Automatic sharing and publication of multimedia from a mobile device
US8949070B1 (en) 2007-02-08 2015-02-03 Dp Technologies, Inc. Human activity monitoring device with activity identification
US8555282B1 (en) 2007-07-27 2013-10-08 Dp Technologies, Inc. Optimizing preemptive operating system with motion sensing
US8320578B2 (en) 2008-04-30 2012-11-27 Dp Technologies, Inc. Headset
US8285344B2 (en) 2008-05-21 2012-10-09 DP Technlogies, Inc. Method and apparatus for adjusting audio for a user environment
US8996332B2 (en) 2008-06-24 2015-03-31 Dp Technologies, Inc. Program setting adjustments based on activity identification
US8872646B2 (en) 2008-10-08 2014-10-28 Dp Technologies, Inc. Method and system for waking up a device due to motion
US9529437B2 (en) 2009-05-26 2016-12-27 Dp Technologies, Inc. Method and apparatus for a motion state aware device
US8276159B2 (en) 2009-09-23 2012-09-25 Microsoft Corporation Message communication of sensor and other data
US9107040B2 (en) * 2010-09-29 2015-08-11 Apple Inc. Systems, methods, and computer readable media for sharing awareness information
US20130096831A1 (en) * 2011-10-18 2013-04-18 International Business Machines Corporation Automatic, adaptive and optimized sensor selection and virtualization
WO2013068873A1 (en) * 2011-11-11 2013-05-16 Sony Mobile Communications Ab System and method for the assisted calibration of sensors distributed across different devices
US9389681B2 (en) 2011-12-19 2016-07-12 Microsoft Technology Licensing, Llc Sensor fusion interface for multiple sensor input
CN102722742B (zh) * 2011-12-21 2015-07-01 北京时代凌宇科技有限公司 传感器的接入装置
US20130247663A1 (en) * 2012-03-26 2013-09-26 Parin Patel Multichannel Gyroscopic Sensor
US9641266B2 (en) 2012-07-17 2017-05-02 Qualcomm Incorporated Sensor with concurrent data streaming using various parameters
US9462632B2 (en) * 2012-07-17 2016-10-04 Qualcomm Incorporated Concurrent data streaming using various parameters from the same sensor
US9256222B2 (en) * 2012-07-18 2016-02-09 International Business Machines Corporation Sensor virtualization through cloud storage and retrieval mechanisms
CN103927221B (zh) * 2013-01-14 2017-11-24 联想(北京)有限公司 传感器数据获取方法和电子设备
WO2015069420A1 (en) 2013-10-17 2015-05-14 Utc Fire And Security Americas Corporation, Inc. Security panel with virtual sensors
EP2950058B1 (en) * 2014-05-28 2018-03-28 Axis AB Calibration data in a sensor system
CN104216735A (zh) * 2014-07-31 2014-12-17 北京升哲科技有限公司 Beacon设备的控制方法和Beacon设备
US20160077892A1 (en) * 2014-09-12 2016-03-17 Microsoft Corporation Automatic Sensor Selection Based On Requested Sensor Characteristics
GB2533319A (en) * 2014-12-16 2016-06-22 Isis Innovation Sensor assembly
WO2017023957A1 (en) * 2015-08-04 2017-02-09 Convida Wireless, Llc Service element host selection
EP3166353A1 (en) * 2015-11-06 2017-05-10 Nokia Solutions and Networks Oy Method and network components and self-organizing network
US10072951B2 (en) 2015-12-04 2018-09-11 International Business Machines Corporation Sensor data segmentation and virtualization
US10051060B2 (en) 2015-12-04 2018-08-14 International Business Machines Corporation Sensor data segmentation and virtualization
KR102525295B1 (ko) * 2016-01-06 2023-04-25 삼성전자주식회사 데이터 관리 방법 및 장치
US10157058B2 (en) * 2016-09-23 2018-12-18 Analog Devices Global Adaptive self-configuring sensor node
JP6778760B2 (ja) * 2016-11-18 2020-11-04 株式会社日立製作所 制御装置、制御方法、および制御プログラム
US10440086B2 (en) * 2016-11-28 2019-10-08 Microsoft Technology Licensing, Llc Reading multiplexed device streams
US10924376B2 (en) * 2016-12-30 2021-02-16 Google Llc Selective sensor polling
JP6677828B2 (ja) * 2017-02-03 2020-04-08 株式会社日立製作所 センサネットワーク管理システムおよびセンサネットワーク管理方法
TWI623865B (zh) * 2017-03-24 2018-05-11 一種軟體定義輸入操作感測系統
WO2019239456A1 (ja) 2018-06-11 2019-12-19 三菱電機株式会社 環境情報管理システム、環境情報管理方法および環境情報管理プログラム
IT201900000082A1 (it) 2019-01-04 2020-07-04 St Microelectronics Srl Dispositivo, sistema, metodo e prodotto informatico di rilevamento e valutazione di grandezze ambientali ed eventi ad approccio modulare e complessita' variabile
JP7105745B2 (ja) * 2019-08-26 2022-07-25 株式会社日立ビルシステム 機械設備の検査装置
EP4029305B1 (en) * 2019-09-13 2024-08-07 Nokia Technologies Oy Apparatus for radio access network data collection
CN114430439A (zh) * 2020-10-29 2022-05-03 中兴通讯股份有限公司 获取传感器数据的方法和装置、电子设备、可读存储介质
JP2022115644A (ja) * 2021-01-28 2022-08-09 パナソニックホールディングス株式会社 可搬型仮想IoT装置、それを用いた仮想デバイスデータの生成方法、及びそのプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389491B1 (en) 1999-03-23 2002-05-14 Agilent Technologies, Inc. Test instrumentation I/O communication interface and method

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182010B1 (en) * 1999-01-28 2001-01-30 International Business Machines Corporation Method and apparatus for displaying real-time visual information on an automobile pervasive computing client
JP2000270384A (ja) * 1999-03-12 2000-09-29 Omron Corp センサ及びコントローラ並びにセンサシステム
US6559653B2 (en) * 1999-07-27 2003-05-06 Becs Technology, Inc. Three wire interface for field wiring of on/off sensors
WO2002069300A1 (en) * 2001-02-22 2002-09-06 Koyo Musen America, Inc. Collecting, analyzing, consolidating, delivering and utilizing data relating to a current event
US6714778B2 (en) * 2001-05-15 2004-03-30 Nokia Corporation Context sensitive web services
EP1490736A1 (de) * 2002-03-18 2004-12-29 Sick AG Sensor-maschinen schnittstelle und verfahren zu deren betrieb
JP4074988B2 (ja) * 2002-11-12 2008-04-16 ソニー株式会社 情報処理装置、通信処理装置、および方法、並びにコンピュータ・プログラム
US20040266480A1 (en) * 2003-06-27 2004-12-30 Hjelt Kari Tapani System and method for implementing sensor functionality in mobile devices
CN2662383Y (zh) * 2003-09-15 2004-12-08 北京众大永泰科技有限公司 Gprs消防无线网络用户报警器
JP4483259B2 (ja) * 2003-10-16 2010-06-16 富士ゼロックス株式会社 応用プログラム実行システム、そのセンサ、その第1のサーバ、その第2のサーバ、そのオブジェクト及び応用プログラム実行方法
US7248964B2 (en) * 2003-12-05 2007-07-24 Honeywell International Inc. System and method for using multiple aiding sensors in a deeply integrated navigation system
EP1542137A1 (en) 2003-12-11 2005-06-15 Sony International (Europe) GmbH Dynamic information source management
US7429936B2 (en) * 2004-08-26 2008-09-30 Massachusetts Institute Of Technology Parasitic mobility in dynamically distributed sensor networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389491B1 (en) 1999-03-23 2002-05-14 Agilent Technologies, Inc. Test instrumentation I/O communication interface and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Proceedings of the 38th Hawaii International Conference on System Sciences, Big Island, Hawaii, Jan. 03-06, Srdjan Krco 외 2인 "P2P Mobile Sensor Networks"(2005.01.03-06.)*

Also Published As

Publication number Publication date
US9626238B2 (en) 2017-04-18
JP5318750B2 (ja) 2013-10-16
WO2007118247A3 (en) 2008-01-03
JP2012213192A (ja) 2012-11-01
EP2054804B1 (en) 2017-05-17
US20070239399A1 (en) 2007-10-11
JP5539443B2 (ja) 2014-07-02
EP2523112B1 (en) 2017-10-18
KR20090029701A (ko) 2009-03-23
EP2054804A2 (en) 2009-05-06
EP2523112A1 (en) 2012-11-14
JP2009533906A (ja) 2009-09-17
WO2007118247A2 (en) 2007-10-18
CN101410805A (zh) 2009-04-15
CN101410805B (zh) 2013-03-27

Similar Documents

Publication Publication Date Title
KR101069566B1 (ko) 센서 인터페이스, 및 센서 인터페이스에 관한 방법 및 장치
US8638230B2 (en) Hardware attitude detection implementation of mobile devices with MEMS motion sensors
KR102395832B1 (ko) 운동 정보 제공 방법 및 이를 지원하는 전자 장치
US9342154B2 (en) Interfacing application programs and motion sensors of a device
US9462632B2 (en) Concurrent data streaming using various parameters from the same sensor
KR102348693B1 (ko) 어플리케이션 프로그램을 제어하는 전자 장치 및 그 제어 방법
US10530511B2 (en) Sensor with concurrent data streaming using various parameters
EP2846135A2 (en) Portable Electronic Device with Environmental Sensor
KR20170138667A (ko) 어플리케이션을 활성화하는 방법 및 이를 제공하는 전자 장치
US10223381B2 (en) Sensor information using method and electronic device using the same
US11029414B2 (en) Electronic devices and methods for providing location information
WO2014126727A1 (en) Method and apparatus for determining location using a smart meter as a location reference
KR20170053702A (ko) 요청된 센서 특성에 기초한 자동 센서 선택
JP2014130551A (ja) 情報表示装置、情報表示システム、それらの制御方法、及びプログラム
CN111796055B (zh) 测量空气质量的便携式设备及显示空气质量的信息的方法
US11549927B2 (en) Method and electronic device for correcting and generating data related to outside air on basis of movement
CN102183232A (zh) 定向传感器
CN106161540B (zh) 泛用型多功能传感器服务平台
KR102275297B1 (ko) 실내 네비게이션 방법 및 그 시스템
KR20120056473A (ko) 내비게이션 장치, 내비게이션 진단 장치, 시스템 및 내비게이션 진단 서비스 제공 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20140828

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 8