KR102370508B1 - 에너지 효율적인 무선 데이터 전송 - Google Patents
에너지 효율적인 무선 데이터 전송 Download PDFInfo
- Publication number
- KR102370508B1 KR102370508B1 KR1020177020338A KR20177020338A KR102370508B1 KR 102370508 B1 KR102370508 B1 KR 102370508B1 KR 1020177020338 A KR1020177020338 A KR 1020177020338A KR 20177020338 A KR20177020338 A KR 20177020338A KR 102370508 B1 KR102370508 B1 KR 102370508B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- power consumption
- connection characteristic
- low power
- data transfer
- Prior art date
Links
- 230000005540 biological transmission Effects 0.000 title claims description 98
- 230000015654 memory Effects 0.000 claims abstract description 156
- 238000000034 method Methods 0.000 claims abstract description 107
- 238000012546 transfer Methods 0.000 claims abstract description 105
- 230000008569 process Effects 0.000 claims description 69
- 230000004044 response Effects 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 230000036541 health Effects 0.000 description 9
- 239000008280 blood Substances 0.000 description 4
- 210000004369 blood Anatomy 0.000 description 4
- 230000036772 blood pressure Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000012806 monitoring device Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0251—Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0225—Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
- H04W52/0229—Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal where the received signal is a wanted signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/183—Processing at user equipment or user record carrier
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
- Power Sources (AREA)
- Transceivers (AREA)
Abstract
본 명세서에서 설명된 기술들 및 시스템들은 무선 데이터 전송과 관련하여 직접 메모리 액세스를 구현한다. 하나의 예시에서, 데이터 유닛(data unit)들이 디바이스에서 수신되고, 이러한 데이터 유닛들은 저전력 소모 데이터 전송을 통해 전송되었다고 결정되며, 데이터 유닛들은 디바이스의 미리 결정된 메모리(예를 들어, 전용 메모리)에 직접 저장될 것이라고 결정된다. 다른 예시에서, 파트너 디바이스의 메인 프로세서를 인터럽트하지 않고서 특정 저장 장소(들)로부터 데이터가 검색될 수 있도록, 제1 디바이스는 특정 저장 장소(들)에 데이터를 저장하라는 명령을 파트너 디바이스에게 제공한다. 데이터는 또한, 제1 디바이스의 메인 프로세서를 인터럽트하지 않고서 제1 디바이스의 미리 결정된 메모리에 직접 저장될 수 있다.
Description
오늘날, 스마트폰과 같은 무선 디바이스들은 무선 연결(예컨대, 네트워크 연결)을 통해 많은 양의 데이터를 교환하는데 사용된다. 무선 디바이스는 데이터를 전송하는 사전 설치형 애플리케이션들(예컨대, 음성 통신 기능, 메시징 기능 등) 및/또는 데이터를 전송하는 사용자 설치형 애플리케이션들(예컨대, 이메일 클라이언트, 소셜 네트워크 애플리케이션 등)을 작동하도록 구성될 수 있다.
무선 디바이스는 일반적으로 무선 디바이스로부터의 그리고 무선 디바이스로의 데이터 전송과 관련하여 메인 프로세서를 사용한다. 그러나, 메인 프로세서를 사용함으로써, 기존의 무선 디바이스들은 데이터 전송과 관련하여 많은 양의 전력을 소모한다.
본 명세서에서 설명된 기술들 및 시스템들은 무선 데이터 전송과 관련하여 직접 메모리 액세스(direct memory access)를 구현한다. 하나의 예시에서, 데이터 유닛(data unit)들이 디바이스에서 무선 수신되고, 이러한 데이터 유닛들이 저전력 소모 데이터 전송을 통해 전송되었다고 결정된다. 그런 후, 데이터 유닛들은 디바이스의 미리 결정된 메모리(예를 들어, 전용 메모리)에 직접 저장된다. 나중에, 미리 결정된 메모리에 저장된 데이터 유닛들을 처리하도록 무선 디바이스의 메인 프로세서를 인터럽트하는 조건이 존재한다고 결정된다.
다른 예시에서, 파트너 디바이스의 메인 프로세서를 인터럽트하지 않고서 파트너 디바이스의 메모리의 특정 저장 장소(specific storage location)(들)로부터 데이터가 검색될 수 있도록, 제1 디바이스는 파트너 디바이스의 메모리의 특정 저장 장소(들)에 데이터를 저장하라는 명령을 파트너 디바이스에게 제공한다. 데이터는 또한, 제1 디바이스의 메인 프로세서를 인터럽트하지 않고서 제1 디바이스의 전용 메모리에 직접 저장될 수 있다.
본 요약은 아래의 상세한 설명에서 보다 상세하게 설명되는 개념들의 선택을 단순한 형태로 소개하기 위해 제공된 것이다. 본 요약은 청구된 발명내용의 중요하거나 또는 필수적인 특징들을 식별시키려는 의도는 없으며, 또한 청구된 발명내용의 범위를 결정하는데 도움을 주려고 의도된 것도 아니다. 예를 들어, 용어 "기술들"은 위의 문맥에 의해 그리고 명세서 전반에 걸쳐서 허용되는 시스템(들), 방법(들), 컴퓨터로 판독가능한 명령어들, 알고리즘들, 컴포넌트들, 모듈들, 및/또는 엘리먼트(들)을 지칭할 수 있다.
상세한 설명이 첨부 도면들을 참조하여 제공된다. 도면들에서, 참조번호의 가장 좌측의 숫자(들)은 해당 참조번호가 처음 나타나는 도면을 식별한다. 상이한 도면들에서의 동일한 참조번호들의 이용은 유사하거나 또는 동일한 아이템들을 나타낸다.
도 1은 본 명세서에서 설명된 기술들 및 시스템들이 구현될 수 있는 예시적인 환경을 나타내며, 여기서 디바이스는 무선 연결(들)을 통해 다양한 파트너 디바이스들과 데이터를 교환하도록 구성된다.
도 2는 (i) 데이터 수신 디바이스의 네트워크 인터페이스, (ii) 데이터 송신 파트너 디바이스, 및 (iii) 데이터 수신 디바이스의 네트워크 인터페이스와 데이터 송신 파트너 디바이스 간의 저전력 소모 무선 데이터 전송의 보다 상세한 모습을 나타낸다.
도 3은 수신된 데이터 유닛이 저전력 소모 전송을 통해 전송되었는지를 결정하고, 그러한 경우, 메인 프로세서를 인터럽트하지 않고서 직접 메모리 액세스를 통해 데이터 유닛을 저장하는 예시적인 프로세스를 나타낸다.
도 4는 저전력 소모 데이터 전송 세팅들을 구성하고 전달하는 예시적인 프로세스를 나타낸다.
도 5는 추가적인 저전력 소모 데이터 전송 세팅들을 결정하는 예시적인 프로세스를 나타낸다.
도 6은 저전력 소모 전송에 따라 데이터를 구성해서 무선 디바이스에게 전송하는 예시적인 프로세스를 나타낸다.
도 7은 데이터 유닛들을 처리하도록 메인 프로세서를 인터럽트하기 위한 조건이 존재하는지를 결정하기 위해 데이터 유닛들을 저장하는 전용 메모리를 모니터링하는 예시적인 프로세스를 나타낸다.
도 8은 전용 메모리에 저장된 데이터 유닛들을 처리하도록 메인 프로세서를 인터럽트하기 위한 조건이 존재하는지를 결정하기 위해 전력 공급기를 모니터링하는 예시적인 프로세스를 나타낸다.
도 1은 본 명세서에서 설명된 기술들 및 시스템들이 구현될 수 있는 예시적인 환경을 나타내며, 여기서 디바이스는 무선 연결(들)을 통해 다양한 파트너 디바이스들과 데이터를 교환하도록 구성된다.
도 2는 (i) 데이터 수신 디바이스의 네트워크 인터페이스, (ii) 데이터 송신 파트너 디바이스, 및 (iii) 데이터 수신 디바이스의 네트워크 인터페이스와 데이터 송신 파트너 디바이스 간의 저전력 소모 무선 데이터 전송의 보다 상세한 모습을 나타낸다.
도 3은 수신된 데이터 유닛이 저전력 소모 전송을 통해 전송되었는지를 결정하고, 그러한 경우, 메인 프로세서를 인터럽트하지 않고서 직접 메모리 액세스를 통해 데이터 유닛을 저장하는 예시적인 프로세스를 나타낸다.
도 4는 저전력 소모 데이터 전송 세팅들을 구성하고 전달하는 예시적인 프로세스를 나타낸다.
도 5는 추가적인 저전력 소모 데이터 전송 세팅들을 결정하는 예시적인 프로세스를 나타낸다.
도 6은 저전력 소모 전송에 따라 데이터를 구성해서 무선 디바이스에게 전송하는 예시적인 프로세스를 나타낸다.
도 7은 데이터 유닛들을 처리하도록 메인 프로세서를 인터럽트하기 위한 조건이 존재하는지를 결정하기 위해 데이터 유닛들을 저장하는 전용 메모리를 모니터링하는 예시적인 프로세스를 나타낸다.
도 8은 전용 메모리에 저장된 데이터 유닛들을 처리하도록 메인 프로세서를 인터럽트하기 위한 조건이 존재하는지를 결정하기 위해 전력 공급기를 모니터링하는 예시적인 프로세스를 나타낸다.
본 명세서에서 설명된 기술들 및 시스템들은 무선 데이터 전송과 관련하여 직접 메모리 액세스를 구현한다. 직접 메모리 액세스의 구현은 디바이스가 (i) 착신 데이터를 수신하고 처리하고/처리하거나, (ii) 발신 데이터에 액세스하고 이를 송신하기 위해 소모되는 전력량을 감소시키고, 이에 따라, 직접 메모리 액세스는 디바이스의 전력 공급기의 수명을 연장시킨다. 달리 말하면, 본 명세서에서 설명된 기술들 및 시스템들을 구현하는 것과 관련하여, 본 디바이스의 사용자는 (i) 전력이 다 떨어진(예를 들어, 불통의) 무선 디바이스, 및/또는 (ii) 부적절한 순간에 무선 디바이스를 재충전해야하는 것과 관련된 불편함을 경험할 가능성이 적다.
적어도 하나의 예시에서, 본 기술들 및 시스템들은 무선 연결 특성에 기초한 저전력 소모 데이터 전송을 통해, 데이터가 무선 전송되었거나, 또는 무선 전송될 것이라고 결정한다. 이러한 결정에 응답하여, 데이터는 직접 메모리 액세스를 통해 기록되거나 판독될 수 있다. 적어도 다른 예시에서, 본 기술들 및 시스템들은, 데이터가 직접 메모리 액세스를 사용하여 특정 저장 장소(들)로부터 판독될 수 있고/있거나 직접 메모리 액세스를 사용하여 전용 메모리에 기록될 수 있도록, 특정 저장 장소(들)에 데이터를 저장하라는 명령들에 기초하여 저전력 소모 데이터 전송을 구현한다. 따라서, 데이터는, (i) 데이터를 보내준 디바이스 및/또는 (ii) 데이터를 수신하고 저장하는 디바이스의 메인 프로세서를 인터럽트하지 않고서 전송될 수 있다. 본 기술들 및 시스템들은 데이터 전송 세팅들을 구성하고, 예를 들어, 위에서 제공된 예시들에 따라, 직접 메모리 액세스가 이후에 구현될 수 있도록, 이 데이터 전송 세팅들을 하나의 디바이스로부터 다른 디바이스로 미리 전달한다.
본 명세서에서 사용된 바와 같이, 데이터는 하나 이상의 데이터 유닛들을 통해 무선 디바이스로/로부터 전송될 수 있다. 데이터 유닛은 데이터 패킷, 데이터그램, 데이터 세그먼트, 데이터 블록, 데이터 프레임, 또는 데이터의 세트 또는 서브세트를 시퀀스로 또는 순서 정해서 송신하도록 구성될 수 있는 임의의 다른 데이터 구조 또는 데이터 분할을 포함할 수 있고/있거나 이것들로서 지칭될 수 있다. 여기에서 논의된 데이터 유닛은 다양한 무선 통신 프로토콜들에 따라 구성되고 전송될 수 있다. 다양한 예시들에서, 데이터 유닛은 이메일 메시지, 인스턴트 메시지, 단문 메시지, 소셜 애플리케이션 메시지 또는 통지, 게임 정보, 웹 정보, 또는 디바이스들 간에 무선 통신되는 다른 정보와 관련이 있을 수 있다. 추가적인 예시들에서, 데이터 유닛은 하나 이상의 센서들(예를 들어, 이미지 캡처 센서, 온도 센서, 노이즈 센서, 신체/건강 센서, 움직임 센서 등)을 포함하거나 또는 이에 결합된 디바이스에서 검출된 정보(예를 들어, 값들)와 관련이 있을 수 있다. 예를 들어, 착용식 디바이스는 걷거나 달리기 하는 동안의 심장 박동수, 혈당치, 혈압, 취해진 발걸음 수 등을 모니터링하는 센서(들)로 구성되거나 또는 이에 결합될 수 있다. 착용식 디바이스는 모니터링된 값들을 저장하고 모니터링된 값들을 다른 디바이스(예를 들어, 사용자의 스마트폰)에 무선 전달하기 위한 데이터 유닛들을 생성하는 로직으로 구성될 수 있다.
본 명세서에서 설명된 직접 메모리 액세스를 이용함으로써, 본 기술들 및 시스템들은, 적어도 메인 프로세서를 우회하여 네트워크 요청을 처리할 수 있기 때문에, 무선 네트워크 요청(예를 들어, 데이터 유닛들의 수신 및/또는 데이터 유닛들의 송신)에 응답하여 데이터를 판독하거나 기록할 때 무선 디바이스의 메인 프로세서의 전력 소모율을 감소시킬 수 있다. 결론적으로, 본 명세서에서 설명된 기술들 및 시스템들은 전력 공급기가 보충(예를 들어, 충전)될 필요가 있기 전에 전력 공급기가 지속되는 시간량을 연장시킬 수 있다.
본 명세서에서 설명된 기술들 및 시스템들은 무선 전력 공급기(예컨대, 배터리)를 통해 동작하는 적어도 하나의 디바이스를 수반한 무선 데이터 전송과 관련된 전력 소모를 감소시키는 것에 관한 것이다.
본 기술들 및 시스템들은, 무선 연결들을 이용하여, 메인 프로세서의 개입없이 각각의 메모리에 데이터를 직접 기록하거나 메모리로부터 데이터를 직접 판독함으로써 데이터 송신 디바이스의 메모리로부터 데이터 수신 디바이스의 메모리로 데이터를 무선 전송하도록 구성된다. 적어도 하나의 예시에서, 데이터 수신 디바이스는 데이터 송신 디바이스(예를 들어, 파트너 디바이스 또는 피어 디바이스)로부터 데이터 유닛을 수신하고, 상기 데이터 유닛과 연관된 무선 연결 특성을 분석하여 상기 데이터 유닛이 저전력 소모 데이터 전송을 사용하여 전송되었는지를 결정할 수 있다. 저전력 소모 데이터 전송은, 데이터 송신 디바이스, 데이터 수신 디바이스, 또는 둘 다에서 전력이 보존될 수 있도록, 직접 메모리 액세스를 통해 데이터가 판독되고/판독되거나 기록되는 것과 관련이 있다. 저전력 소모 전송을 사용하여 데이터 유닛이 전송되는 경우, 데이터 수신 디바이스는 데이터 유닛을 데이터 수신 디바이스의 미리 결정된 메모리(예를 들어, 전용 메모리)에 직접 저장할 수 있다. 데이터 유닛이 저전력 소모 전송을 사용하여 전송되지 않는 경우(즉, 정규 데이터 전송), 데이터 수신 디바이스는 메인 프로세서를 인터럽트함으로써 정규적으로 데이터 유닛을 저장하고 처리할 수 있으며, 이는 더 많은 전력의 소모를 야기시킨다.
적어도 하나의 다른 예시에서, 데이터 송신 디바이스는, 데이터 송신 디바이스와 데이터 수신 디바이스에 의해 미리 합의된 저전력 소모 전송 세팅들에 적어도 부분적으로 기초하여, 예를 들어, 하나 이상의 센서들로부터 데이터를 수집할 수 있다. 다양한 구현예들에서, 이를 발행 가입 관계(publish-subscribe relationship)라고 부를 수 있으며, 여기서는 데이터 수신 디바이스(예를 들어, 스마트폰)는 데이터 송신 디바이스(예를 들어, 데이터를 수집 및 저장하고, 이를 스마트폰에 전송하도록 구성된 착용식 디바이스)에 의해 발행된 데이터에 가입한다. 합의된 저전력 소모 전송 세팅들에 기초하여, 데이터 송신 디바이스는 메모리 내의 특정 장소들(예를 들어, 정의된 어드레스 범위)에 데이터를 저장할 수 있어서, 데이터 수신 디바이스는 데이터 송신 디바이스의 메인 프로세서의 개입없이 특정 장소들로부터 판독될 데이터 유닛들을 검색하고/검색하거나 요청(예를 들어, 풀링)하고/하거나 메인 프로세서의 개입없이 데이터 수신 디바이스에서 직접 메모리 액세스들을 통해 데이터 유닛들을 저장할 수 있다.
도 1은 본 명세서에서 설명된 기술들 및 시스템들이 구현될 수 있는 예시적인 환경(100)을 나타낸다. 예시적인 환경(100)에서, 제1 디바이스(102)는 무선 연결(들)(108)을 통해 다양한 파트너 디바이스(들)(106)와 데이터(104)(예를 들어, 하나 이상의 데이터 유닛들)를 교환한다. 다양한 구현예들에서, 제1 디바이스(102)는 데이터 수신 디바이스일 수 있고, 파트너 디바이스(106)는 데이터 송신 디바이스일 수 있다.
제1 디바이스(102)는, 비제한적인 예시로서, 스마트폰, 휴대 전화기, 태블릿 컴퓨터, 랩톱 컴퓨터, PDA(personal digital assistant), 전자 북 디바이스, 휴대용 네비게이션 디바이스, 휴대용 게임 디바이스, 착용식 디바이스, 개인용 미디어 플레이어 디바이스, 자동차 컴퓨팅 디바이스, 데스크톱 컴퓨터 디바이스, 게임 콘솔 디바이스, 서버 디바이스, 또는 데이터를 무선적으로 교환(예를 들어, 수신 및/또는 송신)할 수 있는 임의의 다른 전자 디바이스를 포함할 수 있다. 다양한 예시들에서, 제1 디바이스(102)는 전력 공급기 유닛(110)(예를 들어, 소모성 배터리 또는 제1 디바이스(102)의 동작 동안에 고갈될 수 있는 임의의 다른 전력 공급기)에 의해 전력을 공급받을 수 있다.
제1 디바이스(102)는 하나 이상의 프로세서(들)(112), 메모리(114), 네트워크 인터페이스(116), 및 전술한 전력 공급기 유닛(110)을 포함할 수 있다. 프로세서(들)(112)은 단일 처리 유닛 또는 복수의 유닛들일 수 있고, 이 유닛들 각각은 복수의 상이한 처리 유닛들을 포함할 수 있다. 프로세서(들)(112)은 마이크로프로세서, 마이크로컴퓨터, 마이크로제어기, 디지털 신호 프로세서, 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU) 등을 포함할 수 있다. 다양한 예시들에서, 프로세서(들)(112)을 메인 프로세서(들)이라고 칭할 수 있다. 다른 능력들 중에서도, 프로세서(들)(112)은 메모리(114)에 저장된 컴퓨터로 판독가능한 명령어들을 가져와서 실행하도록 구성될 수 있다.
메모리(114)는 하나 이상의 "모듈들"로서 구성된 소프트웨어 기능을 포함할 수 있다. 본 명세서에서 사용되는 "모듈"이라는 용어는 논의의 목적상 소프트웨어의 예시적인 일부분을 나타내려는 것이며, 임의의 유형의 요건이나 또는 요구되는 방법, 방식, 또는 조직을 나타내려는 의도를 갖는 것은 아니다. 따라서, 다양한 "모듈들"이 논의되지만, 이들의 기능 및/또는 유사한 기능은 다르게 배열될 수 있다(예를 들어, 보다 적은 수의 모듈로 결합됨, 더 많은 수의 모듈로 분리됨 등). 또한, 여기서는 프로세서 상에서 실행가능한 소프트웨어 및/또는 펌웨어에 의해 구현되는 것으로서 일정한 기능들 및 모듈들을 설명하지만, 다른 실시예들에서는, 이러한 모듈들 모두 또는 그 중 임의의 것이 여기서 설명된 기능들을 실행하기 위해 그 전체가 또는 그 일부분이 (예컨대, ASIC(Application-Specific Integrated Circuit), 특수 프로세싱 유닛 등으로서) 하드웨어에 의해 구현될 수 있다. 몇몇 경우들에서, 기능들 및/또는 모듈들은 운영 체제의 일부로서 또는 그와 관련하여 구현된다. 다른 경우들에서, 기능들 및/또는 모듈들은 디바이스 드라이버, 펌웨어 등의 일부로서 구현된다. 다양한 예시들에서, 메모리(114)는 메인 메모리로서 지칭될 수 있다.
메모리(114)는 컴퓨터로 판독가능한 하나의 매체 또는 그 조합을 포함할 수 있다. 컴퓨터로 판독가능한 매체는 컴퓨터 저장 매체 및/또는 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터로 판독가능한 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터와 같은, 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성의, 탈착가능 및 탈착불가능 매체를 포함한다. 컴퓨터 저장 매체는, 비제한적인 예시로서, 상 변화 메모리(phase change memory; PRAM), 정적 랜덤 액세스 메모리(static random-access memory; SRAM), 동적 랜덤 액세스 메모리(dynamic random-access memory; DRAM), 다른 유형의 랜덤 액세스 메모리(random-access memory; RAM), 판독 전용 메모리(read-only memory; ROM), 전기적 소거가능 프로그래머블 판독 전용 메모리(electrically erasable programmable read-only memory; EEPROM), 플래시 메모리 또는 다른 메모리 기술, CD-ROM(compact disk read-only memory), 또는 컴퓨팅 디바이스에 의한 액세스에 대한 정보를 저장하기 위해 이용될 수 있는 임의의 다른 비 전송 매체를 포함한다.
그에 반해서, 통신 매체는 컴퓨터로 판독가능한 명령어들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터를 반송파와 같은 변조 데이터 신호 또는 다른 전송 메커니즘 내에 포함시킬 수 있다. 여기서 정의된 바와 같이, 컴퓨터 저장 매체는 통신 매체를 포함하지 않는다.
네트워크 인터페이스(116)는, 무선 연결(들)(108)을 통해 다양한 유형들의 통신들에 따라, 제1 디바이스(102)가 파트너 디바이스(106)로부터 데이터(104)를 수신하고/수신하거나 파트너 디바이스(106)에 데이터(104)를 전송할 수 있게 해준다. 예를 들어, 다양한 유형들의 통신들은 Wi-Fi, 3G, 블루투스, 롱 텀 에볼루션(예컨대, 4G LTE), 무선 USB, 지그비(ZigBee) 등을 포함할 수 있다. 따라서, 무선 연결(들)(108)은 셀룰러 또는 모바일 네트워크, 근거리 통신망(LAN), 광역 통신망(WAN), 개인 영역 네트워크(PAN), 단거리 통신 네트워크 등을 통해 구축될 수 있다.
파트너 디바이스(106)는, 비제한적인 예시로서, 착용식 디바이스(예를 들어, 시계, 전자 안경, 활동 또는 피트니스 모니터링 디바이스 등), 가정용 디바이스(예컨대, 카메라와 같은 촬영 디바이스, 온도조절 장치, 차고 도어 장치, 기기 모니터링 장치 등), 스마트폰, 휴대 전화기, 태블릿 컴퓨터, 랩톱 컴퓨터, PDA(personal digital assistant), 전자책 디바이스, 휴대형 내비게이션 디바이스, 휴대형 게임 디바이스, 개인용 미디어 플레이어 디바이스, 자동차 컴퓨팅 디바이스, 데스크탑 컴퓨팅 디바이스, 게임 콘솔, 서버 디바이스(예를 들어, 클라우드 환경 또는 서버 팜에서 구성됨), 또는 제1 디바이스(102)와 무선적으로 데이터를 교환(예를 들어, 수신 및/또는 송신)할 수 있는 임의의 다른 전자 디바이스 일 수 있는 임의의 다른 전자 디바이스를 포함할 수 있다. 따라서, 파트너 디바이스(106)는 모바일 디바이스 또는 고정 디바이스일 수 있다.
메모리(114)는 직접 메모리 액세스를 구현하기 위한 데이터 처리 모듈(118), 애플리케이션 모듈(들)(120), 및/또는 전용 메모리(122)를 포함할 수 있으며, 이들 각각은 본 명세서에서 더 논의된다. 다양한 구현예들에서, 데이터 처리 모듈(118)은 데이터를 처리하기 위해 프로세서(들)(112)에 의해 또는 그와 관련하여 실행가능한 무선 디바이스(102)의 운영 체제의 일부일 수 있다. 애플리케이션 모듈(들)(120)은 데이터 통신에 부분적으로 기초하여 동작할 수 있는 사전 설치형 및/또는 사용자 설치형 실행가능 기능 및/또는 애플리케이션(예를 들어, "앱")을 포함할 수 있다. 예를 들어, 애플리케이션 모듈(들)(120)은, 비제한적인 예시로서, 이메일 애플리케이션, 인스턴트 메시징 애플리케이션, 소셜 네트워킹 애플리케이션, 게임 애플리케이션, 건강 모니터링 애플리케이션(예컨대, 심장 박동수, 혈당치, 혈압 등을 모니터링하고 보고하기 위한 것), 운동 모니터링 애플리케이션(예컨대, 이동 거리, 발걸음 수, 이동 속도, 소모된 칼로리 수 등을 모니터링하고 보고하기 위한 것), 홈 모니터링 애플리케이션(예컨대, 온도, 보안, 홈 기기, 차고 문, 애완동물 메카니즘 등을 모니터링하고 제어하기 위한 것), 및/또는 데이터(104)를 전송하도록 구성된 다른 데이터 교환 애플리케이션들을 포함할 수 있다.
네트워크 인터페이스(116)는 직접 메모리 액세스를 구현하기 위한 저전력 데이터 전송 모듈(124) 및/또는 전용 메모리(126)를 포함할 수 있다. 전용 메모리(126)는 전용 메모리(122)의 대안구성일 수도 있고, 전용 메모리(122)에 대한 추가구성일 수도 있다. 적어도 메모리는 공유되지 않을 수 있기 때문에 메모리를 "전용" 메모리라고 칭할 수 있다. 예를 들어, 전용 메모리(122) 및/또는 전용 메모리(126)는 네트워크 인터페이스(116)가 직접 메모리 액세스를 통해 데이터 유닛들을 저장하고/저장하거나 액세스하는 것(예를 들어, 저전력 소모 전송을 통해 수신된 데이터 또는 저전력 소모 데이터 전송을 통해 전송될 데이터)에 대해서만 예약될 수 있다. 따라서, 네트워크 인터페이스(116)는 운영 체제가 무선 디바이스(102)의 다른 기능들 또는 프로세스들에 할당하지 않을 전용 또는 개인용 메모리를 갖고 있다라고 결정하도록 구성된다.
다양한 예시들에서, 저전력 데이터 전송 모듈(124)은 하나 이상의 하드웨어 로직 컴포넌트들을 포함할 수 있거나, 또는 어떤식으로든 이들과 연관될 수 있다. 비제한적인 예시로서, 사용될 수 있는 예시적인 유형들의 하드웨어 로직 컴포넌트들은 ASIC, FPGA(Field-Programmable Gate Array), 상태 머신, CPLD(Complex Programmable Logic Device), 다른 로직 회로, SoC(system on chip), 및/또는 정보, 예컨대, 파트너 디바이스(106)로부터 수신된 데이터 유닛을 동작 명령어들에 기초하여 조작하고 분석할 수 있는 임의의 다른 디바이스 컴포넌트들을 포함한다. 따라서, 네트워크 인터페이스(116)는, 예를 들어, 명령어들(예컨대, 펌웨어)을 저장한 ROM 또는 일부 판독가능 메모리, 및 본 명세서에서 설명된 기능들을 수행하기 위한 명령어들을 실행하기 위한 제어기/프로세서를 포함할 수 있다.
저전력 데이터 전송 모듈(124)은 메인 프로세서(112)를 인터럽트하지 않고서 데이터 유닛들의 저전력 소모 전송을 구현하도록 구성된다. 적어도 하나의 예시에서, 저전력 데이터 전송 모듈(124)은 무선 연결 특성에 기초하여 무선 전송된 데이터가 직접 메모리 액세스를 통해 저장될 것이라고 결정한다. 적어도 하나의 다른 예시에서, 저전력 데이터 전송 모듈(124)은 데이터가 파트너 디바이스(106)에서의 특정 저장 장소(들)로부터 판독되는지의 여부(예컨대, 발행 가입 관계)에 기초하여 무선 전송된 데이터를 직접 메모리 액세스를 통해 저장한다. 적어도 하나의 추가적인 예시에서, 제1 디바이스(102)의 저전력 데이터 전송 모듈(124)로부터의 판독 요청에 응답하여 데이터는 직접 메모리 액세스를 통해 파트너 디바이스의 네트워크 인터페이스에 의해 특정 저장 장소(들)로부터 판독될 수 있다. 따라서, 적어도 저전력 데이터 전송 모듈(124)이 메인 프로세서를 인터럽트하지 않고서 애플리케이션 모듈(들)(120)에 대한 착신 데이터 유닛들을 처리하고 직접 저장할 수 있기 때문에, 네트워크 인터페이스(116)에서의 저전력 데이터 전송 모듈(124)의 구현은 전력 공급기 유닛(110)의 전력을 보존시킨다(예를 들어, 전력 소모율을 감소시킨다). 추가적으로, 저전력 데이터 전송 모듈(124)은 메인 프로세서를 인터럽트하지 않고서 직접 메모리 액세스를 통해 데이터 판독 요청을 처리할 수 있다. 예를 들어, 메인 프로세서(112)는 슬립 모드에 있을 수 있고, 저전력 데이터 전송 모듈(124)은 착신 데이터 유닛들의 수신시 메인 프로세서를 슬립 모드로부터 웨이크 업(wake up)하기 위한 통지를 보내지 않고서 애플리케이션 모듈(들)(120)에 대한 착신 데이터 유닛들을 처리하고 직접 저장할 수 있다.
저전력 데이터 전송 모듈(124)은 착신 데이터 유닛들을 전용 메모리(122) 또는 전용 메모리(126) 중 적어도 하나에 일시적 시구간 동안 직접 저장할 수 있다. 예를 들어, 저전력 데이터 전송 모듈(124)은 전용 메모리(122), 전용 메모리(126) 및/또는 전력 공급기(110)를 모니터링하고, 전용 메모리(122) 또는 전용 메모리(126) 중 적어도 하나에 일시적으로 저장되었던 데이터 유닛들을 메인 프로세서(112)가 처리할 수 있도록 메인 프로세서(112)가 인터럽트되게 하는 조건이 존재한다고 결정하도록 구성될 수 있다. 제1 예시에서, 상기 조건은 저장된 데이터 유닛들의 개수가 데이터 유닛들의 미리 정의된 임계 개수를 초과한다는 것을 나타낼 수 있고, 이에 따라 저전력 데이터 전송 모듈(124)은 메인 프로세서(112)가 데이터 유닛들을 처리할 수 있도록 메인 프로세서(112)를 인터럽트하기 위한 통지를 생성한다. 제2 예시에서, 상기 조건은 전용 메모리(122) 또는 전용 메모리(126)에서 가용 저장 공간이 미리 정의된 임계 저장 공간 미만이라는 것을 나타낼 수 있고, 이에 따라 저전력 데이터 전송 모듈(124)은 메인 프로세서(112)가 데이터 유닛들을 처리할 수 있도록 메인 프로세서(112)를 인터럽트하기 위한 통지를 생성한다. 전용 메모리(122) 또는 전용 메모리(126)가 휘발성 메모리를 포함하고 정전시(예를 들어, 제1 디바이스(102)가 정지됨) 정보의 손실을 방지하기 위한 제3 예시에서, 상기 조건은 전력 공급기(110)의 가용 전력이 임계 가용 전력량 미만(예를 들어, 5% 배터리 수명 남음, 10% 배터리 수명 남음)인 것을 나타낼 수 있고, 이에 따라, 메인 프로세서(112)가 데이터 유닛들을 처리할 수 있도록(예를 들어, 데이터 유닛들이 전용 메모리(122) 또는 전용 메모리(126)로부터 플러싱(flush)됨) 저전력 데이터 전송 모듈(124)은 메인 프로세서(112)를 인터럽트하기 위한 통지를 생성한다.
도 2는 도 1과 관련하여 전술한 바와 같은, 네트워크 인터페이스(116), 파트너 디바이스(106), 및 네트워크 인터페이스(116)와 파트너 디바이스(106) 간의 저전력 소모 무선 데이터 전송의 보다 상세한 모습을 나타낸다.
상술한 바와 같이, 적어도 하나의 예시에서, 저전력 데이터 전송 모듈(124)은 무선 연결 특성에 기초하여, 무선 전송된 데이터가 직접 메모리 액세스를 통해 저장될 것이라고 결정할 수 있다. 예를 들어, 저전력 데이터 전송 모듈(124)은 다양한 상이한 무선 연결 특성들(202(1) ... 202(N))(여기서, N은 정수임)을 통해 데이터를 교환하도록 구성될 수 있으며, 저전력 데이터 전송 모듈(124)은, 데이터 유닛들이 (예컨대, 더 많은 전력을 소모하는) 메인 프로세서(112)의 인터럽트없이 직접 메모리 액세스를 통해 저장될 수 있도록, 특정 연결 특성(예를 들어, 202(N))을 저전력 소모 데이터 전송에 할당할 수 있다. 따라서, 수신된 데이터 유닛이 저전력 소모 데이터 전송에 할당된 연결 특성(예를 들어, 202(N))에 따라 무선 통신되는 경우, 저전력 데이터 전송 모듈(124)은 수신된 데이터 유닛이 메인 프로세서(112)를 인터럽트하지 않고서 저장될 데이터 유닛이라고 결정하도록 구성된 연결 특성 결정 모듈(204)을 포함할 수 있다.
파트너 디바이스(106)가 할당된 연결 특성(예를 들어, 202(N))을 통지받아서 알게 되도록, 저전력 소모 데이터 전송에 할당된 연결 특성(예컨대, 202(N))은 파트너 디바이스(106) 상에서 동작하는 저전력 데이터 전송 모듈(208)에게 저전력 데이터 전송 모듈(124)에 의해 전달될 수 있다(206). 할당된 연결 특성(예컨대, 202(N))에 따라 저전력 데이터 전송 모듈(208)이 무선 디바이스(102)의 네트워크 인터페이스(116)로의 전달(214)을 위해 후에 데이터(212)를 구성할 수 있도록, 저전력 데이터 전송 모듈(208)은 할당된 연결 특성(202(N))을 데이터 전송 세팅(210)으로서 저장할 수 있다. 일부 구현예들에서, 제1 디바이스(102)의 저전력 데이터 전송 모듈(124)이 제1 디바이스(102)의 메인 프로세서(112)의 개입없이 데이터를 직접 액세스하고 이 데이터를 파트너 디바이스(106)에게 제공하는 것을 요청하기 위해 파트너 디바이스(106)는 할당된 연결 특성(예컨대, 202(N))을 사용할 수 있다.
다양한 구현예들에서, 할당된 연결 특성(예컨대, 202(N))은 데이터 전송을 위해 네트워크 인터페이스(116)에 의해 사용되는 다양한 가용 포트들 중 특정 포트를 포함할 수 있다. 예를 들어, 네트워크 포트는 데이터 교환을 위한 통신 엔드포인트로서 역할을 할 수 있고, 네트워크 포트는 무선 디바이스(102) 상에서 구동중인 상이한 애플리케이션들 및/또는 프로세스들을 고유하게 식별할 수 있다. 따라서, 특정 네트워크 포트는 메인 프로세서의 개입없이 메모리에 직접 액세스하는 것에 할당될 수 있다. 예시적인 인터넷 프로토콜(Internet Protocol; IP) 환경에서, 포트는 호스트(예를 들어, 제1 디바이스(102))의 IP 어드레스 및/또는 전송 제어 프로토콜(Transmission Control Protocol; TCP)과 같은 통신을 위해 사용되는 프로토콜의 유형과 관련이 있을 수 있다. 네트워크 포트는 16 비트 번호(예를 들어, 포트 번호)에 의해 식별될 수 있다. IP 어드레스에 추가된 포트 번호는 메인 프로세서(112)를 인터럽트하지 않고서 직접 메모리 액세스를 통해 저장될 데이터 유닛들에 대한 목적지 어드레스를 완성할 수 있다. 다른 예시적인 상황에서, 블루투스 포트는 블루투스 가능 디바이스들을 위한 연결들이 구축되게 해준다. 블루투스 통신을 사용하여, 착신 블루투스 포트는 메인 프로세서(112)를 인터럽트하지 않고서 직접 메모리 액세스를 통해 저장될 데이터 유닛들의 수신을 가능하게 하며, 발신 블루투스 포트는 메인 프로세서(112)를 인터럽트하지 않고서 직접 메모리 액세스를 통해 판독되는 데이터 유닛들의 송신을 가능하게 한다.
다양한 구현예들에서, 할당된 연결 특성(예컨대, 202(N))은 데이터를 교환하기 위해 네트워크 인터페이스(116)에 의해 사용되는 다양한 데이터 전송 프로토콜들의 특정 데이터 전송 프로토콜(예를 들어, 블루투스)을 포함할 수 있다. 따라서, 연결 특성 결정 모듈(204)은, 특정 데이터 전송 프로토콜(예를 들어, 블루투스)을 통해 전달된 데이터는 메인 프로세서(112)를 인터럽트하지 않고서 직접 메모리 액세스를 통해 저장될 것인 반면에 다른 데이터 전송 프로토콜(예를 들어, TCP)을 통해 전달된 다른 데이터는 메인 프로세서(112)를 인터럽트함으로써 정규적으로 저장되고 처리될 것이라고 결정할 수 있다.
다양한 구현예들에서, 연결 특성 결정 모듈(204)은 TCP를 통해 데이터 유닛을 수신한 것에 응답하여 TCP 레벨 "SYN" 또는 TCP 레벨 "ACK"를 파트너 디바이스(106)에 전송하도록 구성될 수 있다. 따라서, 연결 특성 결정 모듈(204)은, 데이터 유닛들의 시퀀스에서 두번째 데이터 유닛의 수신이, 이 두번째 데이터 유닛 전에 전달된, 시퀀스에서의 첫번째 데이터 유닛을 메인 프로세서(112)가 처리하였다라는 확인에 의존하지 않도록 TCP 스택의 적어도 일부를 실행하는 TCP 오프로드 엔진으로서 구성될 수 있다. 오히려, 첫번째 데이터 유닛의 수신은 네트워크 인터페이스(116) 내의 연결 특성 결정 모듈(204)에 의해 확인될 수 있고, 이에 따라 메인 프로세서(112)를 인터럽트할 필요없이 데이터 유닛들의 시퀀스에서의 후속 데이터 유닛들의 수신을 가능하게 한다.
다양한 구현예들에서, 할당된 연결 특성(예컨대, 202(N))은 데이터 유닛의 식별가능한 플래그일 수 있다. 예를 들어, 저전력 소모 데이터 전송을 나타내는 비트 세트를 포함하도록, 예를 들어, 파트너 디바이스(106)에 의해 TCP/IP 헤더가 구성될 수 있다. 다른 예시에서, 데이터 유닛은 저전력 소모 데이터 전송을 나타내는 시그너처 및/또는 지문을 포함하도록, 예를 들어, 파트너 디바이스(106)에 의해 구성될 수 있다.
적어도 하나의 추가적인 예시에서, 저전력 데이터 전송 모듈(124)은 데이터가 파트너 디바이스(106)에서의 특정 저장 장소(들)(216)로부터 검색(예컨대, 풀링)되는지의 여부에 기초하여 직접 메모리 액세스를 통해 무선 전송된 데이터를 저장한다. 예를 들어, 저전력 데이터 전송 모듈(124)은 (i) 직접 메모리 액세스를 통해 그리고 파트너 디바이스의 메인 프로세서를 인터럽트하지 않고서 특정 저장 장소(들)(216)(예를 들어, 어드레스, 파티션, 로직 저장 유닛들 등)에 저장된 데이터를 요청하고/요청하거나 판독하고(220), 및/또는 (ii) 제1 디바이스(102)의 메인 프로세서(112)를 인터럽트하지 않고서 직접 메모리 액세스를 통해 데이터를 저장하도록 구성된 데이터 검색 모듈(218)을 포함할 수 있다. 일부 예시들에서, 이 검색은, 발행된 데이터가 저전력 소모 데이터 전송에 따라 다른 디바이스들(예를 들어, 제1 디바이스(102))에 의해 가입될 수 있도록 파트너 디바이스(106)가 자신의 메모리 내의 특정 저장 장소(들)(216)에서 데이터를 발행하도록 구성된 발행 가입 구현이라고 할 수 있다. 예를 들어, 파트너 디바이스(106)는, 신체에 부착되고 사용자의 건강과 관련된 정보(예를 들어, 심장 박동수, 혈당치 등)를 수집하고 모니터링하기 위한 센서(들)(222)을 구비하도록 구성된 착용식 디바이스일 수 있다. 저전력 데이터 전송 모듈(208)은 특정 저장 장소(들)(216)에서 센서들에 의해 검출된 값들을 발행하여, 이 값들이 파트너 디바이스의 메인 프로세서를 인터럽트하지 않고서 직접 액세스(예를 들어, 판독)될 수 있도록 한다. 결과적으로, 이 값들은 가입된 디바이스들에게 제공될 수 있고, 가입된 디바이스들은 또한 메인 프로세서(112)를 인터럽트하지 않고서 이 값들을 직접 저장할 수 있다. 따라서, 건강 모니터링 애플리케이션을 실행하는 가입된 디바이스는 저전력 소모 데이터 전송을 통해 신체 상에 위치한 다양한 착용식 디바이스들로부터 그리고 일정 시구간에 걸쳐 집계된 센서 값들을 수신하고, 이 수신된 센서 값들 모두를 전력을 보존하기 위해 나중에(예를 들어, 10 마일 달리기가 완료된 후) 처리할 수 있다.
디바이스들이 특정 저장 장소(들)(216)을 통보받아서 인식하도록 특정 저장 장소(들)(216)의 식별정보가 파트너 디바이스(106) 상에서 동작하는 저전력 데이터 전송 모듈(208)과 저전력 데이터 전송 모듈(124) 간에 교환될 수 있다. 그런 후, 저전력 데이터 전송 모듈(208)은, 저전력 데이터 전송 모듈(208)이 특정 저장 장소(들)(216)을 통한 저전력 소모 검색을 위한 데이터를 나중에 저장하거나, 또는 발행할 수 있도록, 데이터 전송 세팅(210)으로서 특정 저장 장소(들)(216)을 저장할 수 있다.
전술한 바와 같이, 데이터 전송 세팅들(210)은 저전력 소모 데이터 전송이 구현될 수 있도록 특정 연결 특성(예를 들어, 202(N)) 및/또는 특정 저장 장소(들)(216)을 포함할 수 있다. 추가적으로 또는 대안적으로, 데이터 전송 세팅들(210)은 저전력 소모 데이터 전송을 통해 전송될 데이터의 유형(예를 들어, 사용자는 자신의 스마트폰이 달리기 동안 심장 박동수와 관련된 값들을 집계하기를 원하지만 체온과 관련된 값들은 원하지 않을 수 있음), 저전력 소모 데이터 전송을 통해 전송될 임계 데이터 크기 또는 양(예를 들어, 64 킬로바이트 미만의 데이터가 전송될 경우에는 저전력 소모 데이터 전송이 구현될 것이만, 64 킬로바이트 이상의 데이터가 전송될 경우에는 정규 데이터 전송이 수행될 것임), 및, 데이터 전송이 저전력 소모 데이터 전송으로부터 정규 데이터 전송으로 전환되게 하는 하나 이상의 트리거들(예를 들어, 검출된 심장 박동수 값이 미리 정의된 한계 또는 임계치를 초과했다라는 통지를 사용자에게 생성하기 위해 메인 프로세서(112)를 즉시 인터럽트시킴)을 포함할 수 있다. 데이터 전송 세팅들(210)은 제1 디바이스(102)의 운영 체제 또는 애플리케이션 모듈(120)(예를 들어, 디폴트 세팅들)에 의해 결정될 수 있거나, 또는 데이터 전송 세팅들은 디바이스의 사용자로부터 수신된 입력(예를 들어, 특정 애플리케이션 모듈(120)의 실행에 적용가능한 사용자 정의된 세팅들)에 기초하여 구성될 수 있다.
다양한 예시들에서, 저전력 데이터 전송 모듈(124)은 전용 메모리 모니터링 모듈(224)을 포함할 수 있다. 전용 메모리 모니터링 모듈(224)은 전용 메모리(126)(예를 들어, 또는 전용 메모리(122))를 모니터링하고, 메인 프로세서(112)의 인터럽트를 야기하는 조건이 존재하는지를 결정하도록 구성된다. 하나의 구현예에서, 이러한 조건은 저장된 데이터 유닛들의 개수가 임계 개수(예를 들어, 10개, 100개, 1000개 등)를 초과한다는 결정과 관련이 있을 수 있다. 도 2에서, 참조번호 226은, 예로서, 12개의 데이터 유닛들이 전용 메모리(126)에 저장된 것을 나타내는데, 이 때 임계 개수가 12개인 경우, 12개의 데이터 유닛들을 처리하도록 메인 프로세서(112)를 인터럽트하는 조건이 존재한다고 전용 메모리 모니터링 모듈(224)은 결정한다. 저장된 데이터 유닛들의 개수는 처리될 데이터의 총량과 상관될 수 있으므로, 데이터 유닛들의 임계 개수는 처리될 임계 데이터 량(예를 들어, 500 킬로바이트, 1000 킬로바이트 등)과 상관될 수 있다. 다른 구현예에서, 조건은 전용 메모리(126)에서의 가용 메모리 공간이 임계 공간량 미만이라는 결정과 관련이 있을 수 있다. 도 2에서, 참조 번호 228은, 예로서, 20% 미만의 용량이 남아 있는 것을 나타내며(예를 들어, 6개의 메모리 유닛들 중 5개가 이미 저전력 소모 데이터를 저장하고 있음), 이에 따라 임계 공간량이 20%인 경우, 전용 메모리(126)에 저장된 데이터 유닛들을 처리하도록 메인 프로세서(112)를 인터럽트하는 조건이 존재한다고 전용 메모리 모니터링 모듈(224)은 결정한다.
다양한 예시들에서, 저전력 데이터 전송 모듈(124)은 전력 공급기 모니터링 모듈(230)을 포함할 수 있다. 전력 공급기 모니터링 모듈(230)은 전력 공급기 유닛(110)을 모니터링하고 메인 프로세서(112)의 인터럽트를 야기시키는 조건이 존재하는지를 결정하도록 구성된다. 이 조건은 가용 전력 공급량이 임계 전력 공급량 미만이라는 결정과 관련이 있을 수 있다. 도 2에서, 참조 번호 232는, 예시로서, 전력 공급기 수명의 10%만이 남아있는 것을 나타내며(예를 들어, 10개의 전력 공급기 유닛들 중 하나만이 이용가능함), 이에 따라, 임계 전력 공급량이 11%인 경우, 전력 공급기 모니터링 모듈(230)은 전용 메모리(126)에 저장된 데이터 유닛들을 처리하도록 메인 프로세서(112)를 인터럽트하는 조건이 존재한다고 결정한다.
적어도 하나의 추가적인 예시에서, 전용 메모리(126)에 저장된 데이터 유닛들은 사용자 액션(예를 들어, 이메일 수신함을 업데이트하라는 사용자 요청, 무선 디바이스 상에서 실행중인 애플리케이션과의 사용자 상호작용 등)에 응답하여 처리될 수 있다.
도 3 내지 도 8은 본 명세서에서 설명된 기술들 및 시스템들을 사용하기 위한 예시적인 프로세스들을 나타낸다. 예시의 용이함을 위해, 예시적인 프로세스들은 도 1, 도 2, 또는 도 1과 도 2의 조합의 환경에서 수행되는 것으로서 설명된다. 예를 들어, 예시적인 프로세스들의 하나 이상의 개별 동작들은 제1 디바이스(102) 및/또는 파트너 디바이스(106)에 의해 수행될 수 있다. 그러나, 프로세스들은 다른 환경들에서 그리고 다른 디바이스들에서도 수행될 수 있다.
예시적인 프로세스들은 논리 흐름 그래프로서 예시되며, 그 각각의 동작은 하드웨어로, 소프트웨어로, 또는 이들의 조합으로 구현될 수 있는 동작들의 시퀀스를 나타낸다. 소프트웨어의 환경에서, 동작들은, 하나 이상의 프로세서들에 의해 실행될 때, 열거된 동작들을 수행하도록 디바이스를 구성하는, 하나 이상의 컴퓨터로 판독가능한 저장 매체 상에 저장된 컴퓨터로 실행가능한 명령어들을 나타낸다. 일반적으로, 컴퓨터로 실행가능한 명령어들은 특정 기능들을 수행하는, 루틴들, 프로그램들, 오브젝트들, 컴포넌트들, 데이터 구조들 등을 포함한다. 동작들을 설명하는 순서는 제한적 사항으로서 해석되고자 하는 의도는 없으며, 프로세스를 이행하기 위해 설명한 동작들 중의 임의의 개수의 동작들은 임의적인 순서로 및/또는 병렬적으로 결합될 수 있다. 또한, 임의의 개별 동작들은 생략될 수 있다.
도 3은 데이터 유닛이 저전력 소모 데이터 전송을 이용하여 전송되었는지를 결정하고, 그러한 경우, 메인 프로세서를 인터럽트하지 않고서 직접 메모리 액세스를 통해 데이터 유닛을 저장하는 예시적인 프로세스(300)를 나타낸다.
동작(302)에서, 데이터 유닛이 수신된다. 예를 들어, 제1 디바이스(102)의 네트워크 인터페이스(116)는 파트너 디바이스(106)로부터 데이터 유닛을 수신할 수 있다. 적어도 하나의 예시적인 구현예에서, 파트너 디바이스(106)는, 제1 디바이스(102)(예를 들어, 스마트폰 디바이스) 상에서 실행되는 애플리케이션(예를 들어, 건강 및/또는 피트니스 애플리케이션)이 검출된 값들에 기초하여 기능을 구현하게끔, 센서들에 의해 검출된 값들을 수집하고 집계하도록 구성된 착용식 디바이스이다.
결정(304)에서, 저전력 소모 데이터 전송을 사용하여 데이터 유닛이 전송되었는지가 결정된다. 예를 들어, 연결 특성 결정 모듈(204)은, 도 2와 관련하여 전술한 바와 같이, 데이터 유닛이 저전력 소모 데이터 전송에 할당된 특정 연결 특성으로 전달되었는지를 결정할 수 있다.
데이터 유닛이 저전력 소모 데이터 전송을 통해 전송되지 않았다고 결정(304)에서 결정되는 경우(즉, 결정(304)에서 "아니오"), 프로세스는, 저전력 소모 데이터 전송에 비해 더 많은 전력을 소모하는 정규 데이터 전송을 통해 전송된 데이터 유닛을 처리하도록 메인 프로세서가 인터럽트되는 동작(306)으로 진행한다. 예를 들어, 저전력 데이터 전송 모듈(124)은 메인 프로세서(112) 및/또는 데이터 처리 모듈(118)을 웨이크 업시켜서 데이터 유닛을 처리하게 하는 통지를 생성할 수 있다. 동작(306)으로부터, 프로세스는 다른 데이터 유닛이 수신될 수 있는 동작(302)으로 복귀할 수 있다.
데이터 유닛이 저전력 소모 데이터 전송을 통해 전송되었다고 결정(304)에서 결정되는 경우(즉, 결정(304)에서 "예"), 프로세스는 메인 프로세서를 인터럽트하지 않고서 데이터 유닛이 전용 메모리에 직접 저장되는 동작(308)으로 진행한다. 예를 들어, 저전력 데이터 전송 모듈(124)은 데이터 유닛을 전용 메모리(122) 또는 전용 메모리(126)에 직접 저장할 수 있다. 무선 전송된 데이터 유닛을 직접 저장함으로써, 메인 프로세서(112)는 데이터 유닛 또는 데이터 유닛들의 세트가 수신될 때마다 웨이크 업되도록 전력을 소모하지 않고 슬립 상태로 되돌아간다. 오히려, 메인 프로세서(112)를 웨이크 업하는 것과 관련된 전력 소모는 복수의 (예를 들어, 수십 개, 수백 개, 수천 개 등) 데이터 유닛들 또는 복수 세트들의 데이터 유닛들에 걸쳐 분산된다. 예를 들어, 메인 프로세서(112)는, 메시지, 통지, 또는 검출된 값이 수신될 때마다 인터럽트되는 것 대신에, 일정 시구간에 걸쳐(예를 들어, 30분, 1시간 등) 수신된 복수의 메시지들, 통지들 및/또는 검출된 값들을 처리하도록 인터럽트될 수 있다. 동작(308)으로부터, 프로세스는 다른 데이터 유닛이 수신될 수 있는 동작(302)으로 복귀할 수 있다.
동작(310)에서는, 직접 메모리 액세스를 통해 저장된 데이터 유닛들을 처리하도록 메인 프로세서를 인터럽트하는 조건이 존재한다고 결정된다. 예를 들어, 이 조건은 데이터 유닛들의 개수가 임계 개수를 초과하거나 또는 직접 메모리 액세스를 통해 저장된 데이터의 총량이 임계 총량을 초과하는 것을 규정할 수 있다. 다른 예시에서, 이 조건은 전용 메모리(예를 들어, 참조번호 122 또는 126)에서의 가용 메모리 공간이 임계 가용 메모리 공간량 아래로 떨어지는 것을 규정할 수 있다. 또다른 예시에서, 이 조건은, 가용 전력 공급이 임계 가용 전력 공급 아래로 떨어지고, 정보가 손실되지 않도록 저전력 소모 데이터 유닛들이 처리되어야 한다는 것을 규정할 수 있다(예를 들어, 전용 메모리가 휘발성이고 전력이 곧 바닥날 수 있는 경우).
동작(312)에서, 메인 프로세서는 데이터 유닛들을 처리하도록 인터럽트된다. 예를 들어, 저전력 데이터 전송 모듈(124)은 메인 프로세서(112) 및/또는 데이터 처리 모듈(118)을 웨이크 업시켜서, 전용 메모리에 이전에 저장되었던 데이터 유닛들을 처리하게 하는 통지를 생성할 수 있다.
예시적인 시나리오로서, 프로세스(300)는, 사용자가 운동 중에 있는 동안(예를 들어, 10마일 달리기) 사용자의 스마트폰의 메인 프로세서를 인터럽트하지 않고서 블루투스 인에이블드 착용식 디바이스에 의해 수집된 건강 및 피트니스 데이터가 수신되고 직접 저장될 수 있도록, 사용자의 스마트폰에 의해 구현될 수 있다. 또한, 착용식 디바이스의 네트워크 인터페이스는 착용식 디바이스의 메인 프로세서를 인터럽트하지 않고서 직접 메모리 액세스를 통해 건강 및 피트니스 데이터를 제공할 수 있다. 사용자가 운동을 마친 후, 스마트폰은 수신된 데이터를 처리하고 활동과 관련된 건강 및 피트니스 정보를 디스플레이할 수 있다. 이것은, 스마트폰의 메인 프로세서가 데이터 유닛을 수신할 때마다 인터럽트되지 않기 때문에, 스마트폰의 전력을 보존시킨다. 일부 경우들에서, 스마트폰은 중요한 메시지와 관련된 통지와 같이, 10마일 달리기 동안 다른 데이터를 처리하도록 메인 프로세서를 즉시 인터럽트(예컨대, 웨이크 업)하도록 구성될 수 있다. 예시로서, 이 통지는, 연결 특성 결정 모듈(204)이 저전력 소모 데이터 전송과 정규 데이터 전송을 구별할 수 있도록, 블루투스 대신에 이동 전화 네트워크를 통한 TCP를 통해 전달될 수 있다.
도 4는 저전력 소모 데이터 전송 세팅들을 구성하고 전달하는 예시적인 프로세스(400)를 나타낸다.
동작(402)에서, 저전력 소모 데이터 전송 세팅들이 구성된다. 예를 들어, 저전력 소모 데이터 전송 세팅은 저전력 소모 데이터 유닛들이 특정 연결 특성(402(A))에 따라 전송될 것이거나, 또는 파트너 디바이스가 저전력 소모 전송을 위한 데이터를 특정 저장 장소(들)(402(B))에서 발행할 것이라는 것을 규정할 수 있다. 저전력 데이터 전송 모듈(124)은 데이터 처리 모듈(118) 및/또는 애플리케이션 모듈(들)(120)로부터 수신된 명령들에 기초하여 저전력 소모 데이터 전송 세팅들을 정의할 수 있다. 예를 들어, 애플리케이션 모듈(120)은, 파트너 디바이스(106)의 센서들에 의해 검출된 값들이 특정 연결 특성(예를 들어, 네트워크 포트, 블루투스와 같은 통신 프로토콜 등)에 기초하여 저전력 소모 데이터 전송을 통해 전송될 것이라는 것을 규정하는 디폴트 세팅 또는 사용자 정의 세팅으로 구성될 수 있다.
동작(404)에서, 저전력 소모 데이터 전송 세팅들이 하나의 디바이스로부터 다른 디바이스로 전달된다. 예를 들어, 제1 디바이스(102)에서 직접 메모리 액세스를 인에이블시켜서 제1 디바이스(102)의 전력을 보존하게 하도록 데이터가 구성되고/구성되거나 저장될 수 있도록 제1 디바이스(102)는 저전력 소모 데이터 전송 세팅들을 하나 이상의 파트너 디바이스들(106)에게 전달할 수 있다. 다른 예시에서, 파트너 디바이스(106)(예컨대, 특정 저장 장소들로부터의 직접 판독)와 제1 디바이스(102)(전용 메모리로의 직접 기록)에서 직접 메모리 액세스를 인에이블시켜서 제1 디바이스(102) 또는 파트너 디바이스(106)의 전력 공급기의 전력을 보존하게 하도록 데이터가 구성되고/구성되거나 저장될 수 있도록 제1 디바이스(102)와 파트너 디바이스(106)는 저전력 소모 데이터 전송 세팅들에 합의할 수 있다.
동작(406)에서, 저전력 소모 데이터 유닛들이 저전력 소모 데이터 전송 세팅들에 따라 전송된다. 예를 들어, 연결 특성 결정 모듈(204)은, 데이터 유닛이 데이터 유닛과 관련된 연결 특성(예를 들어, 네트워크 포트, 특정 통신 프로토콜 등)에 기초하여 저전력 소모 데이터 전송을 통해 전송되었다고 결정할 수 있다. 다른 예시에서, 데이터 검색 모듈(218)은 파트너 디바이스(106)의 특정 저장 장소(들)(216)로부터 데이터를 요청할 수 있고, 제1 디바이스(102)의 메인 프로세서(112) 및/또는 파트너 디바이스(106)의 메인 프로세서를 인터럽트하지 않고서 직접 메모리 액세스를 통해 요청된 데이터를 전용 메모리(예를 들어, 참조번호 122 또는 126)에 저장할 수 있다.
도 5는 도 4와 관련하여 전술한 것들에 더하여 저전력 소모 데이터 전송 세팅들을 결정하는 예시적인 프로세스(500)를 나타낸다.
동작(502)에서, 저전력 소모 데이터 전송을 통해 전송될 데이터의 유형이 저전력 소모 데이터 전송 세팅으로서 결정된다. 예를 들어, 애플리케이션 모듈(120)의 개시는, 애플리케이션 모듈(120)의 실행과 관련된 전력 소모 세팅들이 데이터의 전송에 기초하여 결정될 수 있도록, 입력을 제공할 것을 사용자에게 문의하는 프롬프트와 관련이 있을 수 있다. 다양한 구현예들에서, 프롬프트는, 어떤 유형의 데이터를 제1 디바이스(106)가 수신하고 처리하기를 사용자가 원하는지(예를 들어, 착용식 디바이스에 의해 검출된 심장 박동수 데이터는 원하지만, 혈당치 데이터는 원하지 않음) 및/또는 수신되고 처리된 데이터를 얼마나 자주 사용자가 보기를 원하는지를 문의할 수 있다(예를 들어, 달리기 매 30초마다, 달리기 매 5분마다, 달리기 종료시 등). 데이터가 자주 처리되고 보여질 필요가 없는 경우 전력 공급기의 전력이 보존될 수 있다는 표시와 함께 프롬프트가 제공될 수 있다. 사용자로부터의 입력은 저전력 소모의 데이터 전송을 통해 어떤 유형의 데이터가 전송되고 직접 메모리 액세스를 통해 저장될지를 결정하는 것을 도울 수 있다. 예를 들어, 수신되거나 또는 검색된 데이터 유닛들이 사용자에게 보여질 수 있게끔 메인 프로세서(112)가 이들 데이터 유닛들을 처리하도록 즉시 인터럽트되도록, 사용자가 자주 (예를 들어, 10마일 달리기시 30초마다) 보고싶어하는 정보는 정규 데이터 전송을 통해 전송될 수 있다. 메인 프로세서(112)를 즉시 인터럽트하지 않고서 직접 메모리 액세스를 통해 데이터가 저장될 수 있도록, 사용자가 자주 보고싶어 하지 않는 (예를 들어, 10마일 달리기의 종료시에 보고싶어 하는) 정보는 저전력 소모 데이터 전송을 통해 전송될 수 있다.
동작(504)에서, 예를 들어, 특정 유형의 데이터의 전송이 저전력 소모 데이터 전송으로부터 정규 데이터 전송으로 전환되게 하는 트리거(들)이 저전력 소모 데이터 전송 세팅으로서 결정된다. 예를 들어, 애플리케이션 모듈(120)은 일정 시구간(예를 들어, 10마일 달리기) 동안 사용자의 심장 박동수와 관련된 정보를 처리하도록 구성될 수 있으며, 애플리케이션 모듈(120)은 파트너 디바이스(106)인 착용식 디바이스와 통신할 수 있다. 전력을 보존하기 위해, 착용식 디바이스에서 검출된 심장 박동수 값들이 나중에(예를 들어, 10마일 달리기의 종료시에) 사용자에 의해 처리되고 보여질 수 있도록, 이들 값들은 저전력 소모 데이터 전송을 통해 전송될 수 있다. 그러나, 사용자가 감속하거나 휴식을 취할 수 있도록, 사용자는 검출된 심장 박동수 값이 임계 값을 초과하는지(예를 들어, 건강하지 못하거나 심지어 건강에 위협적이여서 낮출 필요가 있는 값)를 즉시 통보받기를 원할 수 있다. 따라서, 저전력 소모 데이터 전송 세팅은, 데이터를 처리하고 사용자에게 디스플레이가능한 통지 또는 경고를 생성하도록 메인 프로세서(112)를 즉시 인터럽트하는 정규 데이터 전송을 통해, 예컨대, 건강하지 못하거나 또는 건강에 위협적인 심장 박동수 값과 관련된 데이터 유닛이 전송될 것임을 표시하는 트리거를 정의할 수 있다. 그러므로, 사용자 및 애플리케이션 모듈(120)에 의해 정의되고 착용식 디바이스에 전달되는 저전력 소모 데이터 전송 세팅에 따라, 착용식 디바이스는 이러한 트리거를 검출하고, 특정 유형의 데이터(예컨대, 심장 박동수 값들)의 전송을 저전력 소모 데이터 전송으로부터 정규 데이터 전송으로 전환하도록 구성된다.
동작(506)에서, 파트너 디바이스들은 동작(502) 및/또는 동작(504)에서 결정된 저전력 소모 데이터 전송 세팅들을 구현하도록 명령받는다. 예를 들어, 데이터가 파트너 디바이스들(106)에서 수집되고 파트너 디바이스들(106)에 의해 전송되기 전에, 제1 디바이스(102)는 명령들을 파트너 디바이스들(106)에 보낼 수 있다.
도 6은 저전력 소모 데이터 전송에 따라 데이터를 구성하고 전송하는 예시적인 프로세스(600)를 나타낸다.
동작(602)에서, 데이터(예를 들어, 측정된 값들)는 파트너 디바이스의 일부이거나 또는 이에 결합된 센서들로부터 수집된다. 상술한 바와 같이, 수집된 데이터는 파트너 디바이스(106)와 무선 통신하는 제1 디바이스(102) 상에서 실행되는 애플리케이션 모듈(120)에 의해 수행되는 기능과 관련지어질 수 있거나, 또는 이에 의해 사용될 수 있다.
동작(604)에서, 제1 유형의 데이터가 이전에 수신된 데이터 전송 세팅들에 적어도 부분적으로 기초하여 저전력 소모 전송을 위해 저장되고/저장되거나 구성된다. 예를 들어, 애플리케이션 모듈(120)과 연관된 사용자 입력은, 사용자가 10마일 달리기 동안 검출되는 심장 박동수 정보를 보는 것에 관심이 있지만, 10마일 달리기가 완료될 때까지는 사용자가 심장 박동수 정보를 보지 않을 것임을 나타낼 수 있다.
동작(606)에서, 데이터가 저전력 소모 전송을 통해 전송되지 않도록 제2 유형의 데이터가 이전에 수신된 데이터 전송 세팅들에 적어도 부분적으로 기초하여 저장되고/저장되거나 구성된다. 예를 들어, 제2 유형의 데이터는 정규 데이터 전송을 통해 전송될 수 있거나 또는 제2 유형의 데이터는 전혀 전송될 필요가 없을 수 있다. 따라서, 제2 유형의 데이터는 저전력 소모 데이터 전송을 위해 지정된 특정 저장 장소들(216) 이외의 다른 저장 장소들에서 파트너 디바이스 상에 저장될 수 있다. 또는, 제2 유형의 데이터는 저전력 소모 데이터 전송에 할당된 특정 네트워크 포트 이외의 다른 네트워크 포트를 사용하여 전송되도록 구성될 수 있다.
동작(608)에서, 제1 유형의 데이터가 저전력 소모 데이터 전송을 통해 전송된다. 예를 들어, 제1 유형의 데이터를 전송하도록 구성된 데이터 유닛들은 특정 연결 특성에 따라 전송될 수 있다. 다른 예시에서, 제1 디바이스(102)로부터 수신된 판독 요청에 응답하여 제1 유형의 데이터는 (예를 들어, 파트너 디바이스(106)의 메인 프로세서를 인터럽트하지 않고서) 직접 액세스되고 전송될 수 있으며, 이 판독 요청은 파트너 디바이스(106)의 특정 저장 장소들(216)을 식별한다.
결정(610)에서, 저전력 소모 전송으로부터 정규 전송으로 전환하기 위한 트리거가 존재하는지가 결정된다. 상술한 바와 같이, 트리거는 저전력 소모 데이터 전송 세팅을 통해 정의될 수 있다. 예를 들어, 제1 유형의 데이터의 검출된 값이 임계 값을 만족하거나 또는 이를 초과하면(예를 들어, 사용자는 건강하지 못한 심장 박동수 값을 통지받기를 원할 수 있다), 전환이 트리거될 수 있도록, 트리거는 임계 값과 관련이 있을 수 있다.
결정(610)에서 "아니오"이면, 프로세스는 동작(602)으로 복귀하고, 제1 유형의 데이터가 저전력 소모 데이터 전송을 통해 계속해서 수집되고, 저장되고/저장되거나 전송된다. 결정(610)에서 "예"이면, 프로세스는, 전송된 정보가 즉시 처리될 수 있도록(예를 들어, 스마트폰은 10마일 달리기하고 있는 사용자에게 디스플레이될 높은 심장 박동수의 통지를 생성할 수 있다), 제1 유형의 데이터의 전송이 저전력 소모 데이터 전송으로부터 정규 데이터 전송으로 전환되는 동작(612)으로 진행한다.
도 7은 데이터 유닛들을 처리하기 위한 조건이 존재하는지를 결정하기 위해 데이터 유닛들을 저장하는 전용 메모리를 모니터링하는 예시적인 프로세스(700)를 나타낸다.
동작(702)에서, 전용 메모리가 모니터링된다. 예를 들어, 전용 메모리 모니터링 모듈(224)은 전용 메모리(122) 또는 전용 메모리(126)를 모니터링할 수 있다.
결정(704)에서, 전용 메모리에 저장된 데이터 유닛들의 개수가 데이터 유닛들의 임계 개수를 초과하는지가 결정된다. 결정(704)에서 "예"이면, 프로세스는, 전용 메모리에 저장된 데이터 유닛들을 처리하도록 메인 프로세서가 인터럽트(예를 들어, 웨이크 업)되는 동작(706)으로 진행한다.
결정(704)에서 "아니오"이면, 프로세스는, 전용 메모리의 가용 메모리 공간량이 임계 메모리 공간량 미만인지가 결정되는 결정(708)으로 진행한다. 결정(708)에서 "예"이면, 프로세스는, 전용 메모리에 저장된 데이터 유닛들을 처리하도록 메인 프로세서가 인터럽트(예를 들어, 웨이크 업)되는 동작(706)으로 진행한다. 결정(708)에서 "아니오"이면, 프로세스는 동작(702)으로 복귀하고 전용 메모리를 계속해서 모니터링한다.
도 8은 전용 메모리에 저장된 데이터 유닛들을 처리하기 위한 조건이 존재하는지를 결정하도록 전력 공급기를 모니터링하는 예시적인 프로세스(800)를 나타낸다.
동작(802)에서, 무선 디바이스의 전력 공급기가 모니터링된다. 예를 들어, 전력 공급기 모니터링 모듈(230)은 무선 디바이스의 전력 공급기(110)를 모니터링한다.
결정(804)에서, 가용 전력 공급량이 임계 전력 공급량 미만인지(예를 들어, 배터리 수명의 10%만이 남아있음)가 결정된다. 결정(804)에서 "예"이면, 프로세스는, 전용 메모리에 저장된 데이터 유닛들을 처리하도록 메인 프로세서가 인터럽트(예를 들어, 웨이크 업)되는 동작(806)으로 진행한다. 결정(804)에서 "아니오"이면, 프로세스는 동작(802)으로 복귀하고 무선 디바이스의 전력 공급기를 계속해서 모니터링한다.
예시적인 조항들
예시 A. 방법에 있어서, 하나 이상의 데이터 유닛들을 수신하는 단계; 무선 디바이스에 의해, 상기 하나 이상의 데이터 유닛들이 저전력 소모 전송을 이용하여 전송되었다고 결정하는 단계; 상기 하나 이상의 데이터 유닛들이 저전력 소모 데이터 전송을 이용하여 전송되었다고 결정한 것에 응답하여, 상기 무선 디바이스의 미리 결정된 메모리에 상기 하나 이상의 데이터 유닛들을 직접 저장하는 단계; 상기 무선 디바이스의 상기 미리 결정된 메모리에 직접 저장된 상기 하나 이상의 데이터 유닛들을 처리하도록 상기 무선 디바이스의 메인 프로세서를 인터럽트하는 조건이 존재한다고 결정하는 단계; 및 상기 결정에 적어도 부분적으로 기초하여, 상기 무선 디바이스의 상기 미리 결정된 메모리에 직접 저장된 상기 하나 이상의 데이터 유닛들을 처리하도록 상기 무선 디바이스의 메인 프로세서를 인터럽트하는 단계를 포함하는 방법.
예시 B. 예시 A에 있어서, 상기 미리 결정된 메모리는 전용 메모리이고, 네트워크 인터페이스에 의한 상기 무선 디바이스의 전용 메모리에 대한 액세스는 메인 프로세서를 개입시키지 않고서 상기 하나 이상의 데이터 유닛들의 직접 저장을 위해 인에이블되는 것인 방법.
예시 C. 예시 A 또는 예시 B에 있어서, 상기 하나 이상의 데이터 유닛들이 특정 연결 특성에 따라 전송되었다고 결정하는 단계를 더 포함하며, 상기 하나 이상의 데이터 유닛들이 저전력 소모 전송을 이용하여 전송되었다고 결정하는 단계는 상기 특정 연결 특성에 적어도 부분적으로 기초한 것인 방법.
예시 D. 예시 C에 있어서, 상기 저전력 소모 전송을 이용하여 전송되게끔 상기 하나 이상의 데이터 유닛들을 상기 파트너 디바이스가 구성하는 것이 가능하도록 상기 특정 연결 특성의 표시를 상기 무선 디바이스로부터, 상기 하나 이상의 데이터 유닛들을 보내준 파트너 디바이스로 전달하는 단계를 더 포함하는 방법.
예시 E. 예시 C 또는 예시 D에 있어서, 상기 특정 연결 특성은 특정 네트워크 포트를 포함하는 것인 방법.
예시 F. 예시 C 또는 예시 D에 있어서, 상기 특정 연결 특성은 특정 데이터 전송 프로토콜을 포함하는 것인 방법.
예시 G. 예시 A 내지 예시 F 중 어느 하나의 예시에 있어서, 상기 조건의 적어도 일부로서, 상기 미리 결정된 메모리에 저장된 미처리된 데이터 유닛들의 개수가 미처리된 데이터 유닛들의 임계 개수를 초과한다고 결정하는 단계를 더 포함하는 방법.
예시 H. 예시 A 내지 예시 F 중 어느 하나의 예시에 있어서, 상기 조건의 적어도 일부로서, 상기 미리 결정된 메모리에 저장된 미처리된 데이터의 총량이 미처리된 데이터의 임계 총량을 초과한다고 결정하는 단계를 더 포함하는 방법.
예시 I. 예시 A 내지 예시 F 중 어느 하나의 예시에 있어서, 상기 조건의 적어도 일부로서, 상기 미리 결정된 메모리의 가용 저장공간량이 임계 저장공간량 미만이라고 결정하는 단계를 더 포함하는 방법.
예시 J. 예시 A 내지 예시 F 중 어느 하나의 예시에 있어서, 상기 조건의 적어도 일부로서, 상기 무선 디바이스의 전력 공급기의 가용 잔여 전력량이 임계 전력량 미만이라고 결정하는 단계를 더 포함하는 방법.
예시 A 내지 예시 J는 방법과 관련하여 상술되었지만, 본 명세서의 문맥에서, 예시 A 내지 예시 J의 내용은 또한 디바이스 및/또는 컴퓨터 저장 매체와 관련하여 구현될 수 있다는 것이 이해된다.
예시 K. 무선 디바이스에 있어서, 무선 네트워크 인터페이스; 하나 이상의 프로세서들; 및 명령어들을 저장한 하나 이상의 메모리들을 포함하고, 상기 명령어들은, 상기 하나 이상의 프로세서들 상에서 실행될 때, 상기 무선 네트워크 인터페이스로 하여금, 상기 무선 디바이스와 통신하는 다른 디바이스에게, 상기 다른 디바이스의 메모리의 하나 이상의 특정 저장 장소들에 데이터를 저장하라는 명령을 제공하게 하고, 상기 다른 디바이스의 메모리의 특정 저장 장소로부터 상기 데이터를 검색하게 하며, 상기 무선 디바이스의 메인 프로세서를 인터럽트하지 않고서 상기 무선 디바이스의 전용 메모리에 상기 데이터를 직접 저장하게 하는 것인 무선 디바이스.
예시 L. 예시 K에 있어서, 상기 명령어들은 또한 상기 무선 네트워크 인터페이스로 하여금, 상기 데이터를 처리하도록 상기 무선 디바이스의 메인 프로세서를 인터럽트하기 위한 조건이 존재한다고 결정하게 하며; 상기 데이터를 처리하도록 상기 무선 디바이스의 메인 프로세서를 인터럽트하게 하는 것인 무선 디바이스.
예시 M. 예시 L에 있어서, 상기 명령어들은 또한 상기 무선 네트워크 인터페이스로 하여금, 상기 조건의 적어도 일부로서, 상기 전용 메모리의 가용 저장 공간량이 임계 저장 공간량 미만이라고 결정하게 하는 것인 무선 디바이스.
예시 N. 예시 L에 있어서, 상기 명령어들은 또한 상기 무선 네트워크 인터페이스로 하여금, 상기 조건의 적어도 일부로서, 상기 무선 디바이스의 전력 공급기의 가용 잔여 전력량이 임계 전력량 미만이라고 결정하게 하는 것인 무선 디바이스.
예시 K 내지 예시 N은 무선 디바이스와 관련하여 상술되었지만, 본 명세서의 문맥에서, 예시 K 내지 예시 N의 내용은 또한 방법 및/또는 컴퓨터 저장 매체와 관련하여 구현될 수 있다는 것이 이해된다.
예시 O. 실행시, 디바이스로 하여금 동작들을 수행하게 하는 컴퓨터로 실행가능한 명령어들이 저장되어 있는 하나 이상의 컴퓨터 저장 매체에 있어서, 상기 동작들은, 다른 디바이스로부터 데이터 전송 세팅들을 수신하는 동작; 상기 다른 디바이스로부터 수신된 상기 데이터 전송 세팅들에 적어도 부분적으로 기초하여 하나 이상의 센서들로부터 값들을 수집하는 동작 - 상기 데이터 전송 세팅들은 상기 값들의 적어도 일부를 저전력 소모 데이터 전송을 통해 상기 디바이스로부터 상기 다른 디바이스로 전송할 것을 상기 디바이스에게 명령함 -; 및 상기 데이터 전송 세팅들에 적어도 부분적으로 기초하여, 상기 값들의 적어도 일부를 상기 저전력 소모 데이터 전송을 통한 상기 다른 디바이스로의 전송을 위해 구성하는 동작을 포함한 것인 하나 이상의 컴퓨터 저장 매체.
예시 P. 예시 O에 있어서, 상기 구성하는 동작은 상기 저전력 소모 데이터 전송에 할당된 특정 연결 특성에 따라 전송될 하나 이상의 데이터 유닛들을 생성하는 동작을 포함한 것인 하나 이상의 컴퓨터 저장 매체.
예시 Q. 예시 O에 있어서, 상기 구성하는 동작은 상기 디바이스의 메모리의 하나 이상의 특정 저장 장소들에 상기 값들의 적어도 일부를 저장하여 상기 하나 이상의 특정 저장들로부터의 상기 값들의 적어도 일부에 대한 직접 메모리 액세스를 가능하게 하는 동작을 포함한 것인 하나 이상의 컴퓨터 저장 매체.
예시 R. 예시 O 내지 예시 Q 중 어느 하나의 예시에 있어서, 상기 데이터 전송 세팅들은 특정 유형의 데이터가 상기 저전력 소모 데이터 전송을 통해 수집되고 전송되는 것을 정의하고, 상기 값들의 적어도 일부는 상기 특정 유형의 데이터와 연관이 있는 것인 하나 이상의 컴퓨터 저장 매체.
예시 S. 예시 R에 있어서, 상기 동작들은, 상기 특정 유형의 데이터의 전송을, 상기 저전력 소모 데이터 전송으로부터, 상기 다른 디바이스의 메인 프로세서를 즉시 인터럽트하는 정규 데이터 전송으로 전환시키기 위한 트리거를 검출하는 동작; 및 상기 트리거에 적어도 부분적으로 기초하여, 상기 특정 유형의 데이터의 추가적인 값들을 상기 정규 데이터 전송을 통해 전송하는 동작을 더 포함한 것인 하나 이상의 컴퓨터 저장 매체.
예시 T. 예시 S에 있어서, 상기 트리거는 임계값을 초과하는 상기 특정 유형의 데이터의 검출된 값을 포함한 것인 하나 이상의 컴퓨터 저장 매체.
예시 O 내지 예시 T는 하나 이상의 컴퓨터 저장 매체와 관련하여 상술되었지만, 본 명세서의 문맥에서, 예시 O 내지 예시 T의 내용은 또한 디바이스 및/또는 방법과 관련하여 구현될 수 있다는 것이 이해된다.
결론
본 발명내용은 구조적 특징들 및/또는 방법론적 동작들에 특유적인 용어로 기술되었지만, 청구항들에서 정의된 발명내용은 위에서 설명된 이러한 특정한 특징들 또는 동작들로 반드시 제한될 필요는 없다는 것을 이해하여야 한다. 이보다는, 위에서 설명된 특정한 특징들 및 동작들은 청구항들을 구현하는 예시 형태들로서 설명된 것이다.
Claims (19)
- 방법에 있어서,
파트너 디바이스가 저전력 소모 데이터 전송을 사용하여 전송될 하나 이상의 데이터 유닛을 구성할 수 있도록 하는 제1 연결 특성의 표시를 무선 디바이스로부터 상기 파트너 디바이스에 전달하는 단계 - 상기 제1 연결 특성은 복수의 상이한 연결 특성들 중 하나임 -;
상기 제1 연결 특성을 상기 저전력 소모 데이터 전송에 할당하는 단계;
시구간에 걸쳐, 상기 하나 이상의 데이터 유닛을 상기 제1 연결 특성을 통해 수신하는 단계 - 개별 데이터 유닛은 상기 파트너 디바이스에 의해 검출된 하나 이상의 값을 포함함 -;
상기 무선 디바이스에 의해, 상기 하나 이상의 데이터 유닛을 상기 제1 연결 특성을 통해 수신한 것에 기초하여 상기 하나 이상의 데이터 유닛이 상기 저전력 소모 데이터 전송을 사용하여 전송되었다고 결정하는 단계;
상기 하나 이상의 데이터 유닛이 상기 저전력 소모 데이터 전송을 사용하여 전송되었다고 결정한 것에 응답하여, 상기 무선 디바이스의 메인 프로세서를 인터럽트(interrupt)하지 않고서 상기 하나 이상의 데이터 유닛을 상기 무선 디바이스의 미리결정된 메모리에 직접 저장하는 단계;
후속 데이터 유닛을 상기 복수의 상이한 연결 특성들 중 제2 연결 특성을 통해 수신하는 단계 - 상기 제2 연결 특성은 상기 제1 연결 특성과는 상이하고, 상기 제2 연결 특성은 정규 전력 소모 전송과 연관되어 있으며, 상기 후속 데이터 유닛은 미리결정된 문턱값을 초과하는, 상기 파트너 디바이스에 의해 검출된 개별 값을 포함함 -; 및
상기 후속 데이터 유닛을 상기 제2 연결 특성을 통해 수신한 것에 적어도 부분적으로 기초하여, 상기 무선 디바이스의 메인 프로세서를, 상기 무선 디바이스의 상기 미리결정된 메모리에 직접 저장된 상기 하나 이상의 데이터 유닛을 처리하도록 인터럽트하는 단계
를 포함하는 방법. - 제1항에 있어서,
상기 미리결정된 메모리는 전용 메모리이고, 네트워크 인터페이스에 의한 상기 무선 디바이스의 상기 전용 메모리에 대한 액세스는 상기 메인 프로세서를 개입시키지 않고서 상기 하나 이상의 데이터 유닛의 직접 저장을 위해 인에이블되는 것인 방법. - 제1항에 있어서,
상기 제1 연결 특성을 식별하는 개별 데이터 유닛 내의 플래그에 적어도 부분적으로 기초하여 상기 하나 이상의 데이터 유닛이 상기 제1 연결 특성을 통해 전송되었다고 결정하는 단계
를 더 포함하는 방법. - 제1항에 있어서,
상기 제1 연결 특성은 특정 네트워크 포트를 포함하는 것인 방법. - 제1항에 있어서,
상기 제1 연결 특성은 특정 데이터 전송 프로토콜을 포함하는 것인 방법. - 제1항에 있어서,
상기 무선 디바이스와 상기 파트너 디바이스는 상기 하나 이상의 데이터 유닛을 전송하기 전에 상기 제1 연결 특성을 상기 저전력 소모 데이터 전송에 할당하는 것에 동의한 것인 방법. - 제1항에 있어서,
상기 제1 연결 특성과 상기 제2 연결 특성은 상이한 네트워크 포트들을 포함하는 것인 방법. - 제1항에 있어서,
상기 제1 연결 특성과 상기 제2 연결 특성은 상이한 데이터 전송 프로토콜들을 포함하는 것인 방법. - 무선 디바이스에 있어서,
하나 이상의 프로세서; 및
명령어들을 저장한 하나 이상의 메모리
를 포함하고,
상기 명령어들은, 상기 하나 이상의 프로세서 상에서 실행될 때, 상기 무선 디바이스로 하여금,
데이터 전송 세팅들을 다른 디바이스로부터 수신하는 것 - 상기 데이터 전송 세팅들은, 특정 유형의 데이터가 복수의 상이한 연결 특성들 중 제1 연결 특성을 사용하는 저전력 소모 데이터 전송을 통해 수집되고 전송될 것이라고 정의함 -;
상기 다른 디바이스로부터 수신된 상기 데이터 전송 세팅들에 적어도 부분적으로 기초하여 상기 특정 유형의 데이터의 값들을 하나 이상의 센서로부터 수집하는 것 - 상기 데이터 전송 세팅들은 상기 무선 디바이스에게, 상기 값들 중의 적어도 하나 이상을 상기 저전력 소모 데이터 전송을 통해 상기 무선 디바이스로부터 상기 다른 디바이스에 전송할 것을 명령함 -;
상기 데이터 전송 세팅들에 적어도 부분적으로 기초하여, 상기 값들 중의 하나 이상을 상기 저전력 소모 데이터 전송을 통해 상기 다른 디바이스에 전송하는 것;
상기 특정 유형의 데이터의 전송을, 상기 저전력 소모 데이터 전송으로부터, 상기 복수의 상이한 연결 특성들 중 상기 제1 연결 특성과는 상이한 제2 연결 특성을 사용하는 정규 전력 소모 데이터 전송으로 전환시키기 위한 트리거를 검출하는 것 - 상기 제2 연결 특성은 상기 다른 디바이스의 메인 프로세서의 즉시적 인터럽트를 야기시킴 -; 및
상기 트리거에 적어도 부분적으로 기초하여, 상기 특정 유형의 데이터의 추가적인 값들을 상기 정규 전력 소모 데이터 전송을 통해 전송하는 것을 수행하게 하는 것인 무선 디바이스. - 제9항에 있어서,
상기 트리거는 미리결정된 문턱값을 초과하는 상기 특정 유형의 데이터의 검출된 값을 포함하는 것인 무선 디바이스. - 제9항에 있어서,
상기 무선 디바이스와 상기 다른 디바이스는 상기 하나 이상의 값을 전송하기 전에 상기 제1 연결 특성을 상기 저전력 소모 데이터 전송에 할당하는 것에 동의한 것인 무선 디바이스. - 제9항에 있어서,
상기 제1 연결 특성과 상기 제2 연결 특성은 상이한 네트워크 포트들을 포함하는 것인 무선 디바이스. - 제9항에 있어서,
상기 제1 연결 특성과 상기 제2 연결 특성은 상이한 데이터 전송 프로토콜들을 포함하는 것인 무선 디바이스. - 컴퓨터 실행가능한 명령어들을 저장한 하나 이상의 비일시적 컴퓨터 저장 매체에 있어서, 상기 명령어들은, 실행될 때, 디바이스로 하여금,
데이터 전송 세팅들을 다른 디바이스로부터 수신하는 동작 - 상기 데이터 전송 세팅들은, 특정 유형의 데이터가 복수의 상이한 연결 특성들 중 제1 연결 특성을 사용하는 저전력 소모 데이터 전송을 통해 수집되고 전송될 것이라고 정의함 -;
상기 다른 디바이스로부터 수신된 상기 데이터 전송 세팅들에 적어도 부분적으로 기초하여 상기 특정 유형의 데이터의 값들을 하나 이상의 센서로부터 수집하는 동작 - 상기 데이터 전송 세팅들은 상기 디바이스에게, 상기 값들 중의 적어도 하나 이상을 상기 저전력 소모 데이터 전송을 통해 상기 디바이스로부터 상기 다른 디바이스에 전송할 것을 명령함 -;
상기 데이터 전송 세팅들에 적어도 부분적으로 기초하여, 전송을 위한 상기 값들 중의 하나 이상을 상기 저전력 소모 데이터 전송을 통해 상기 다른 디바이스에 전송하는 동작;
상기 특정 유형의 데이터의 전송을, 상기 저전력 소모 데이터 전송으로부터, 상기 복수의 상이한 연결 특성들 중 상기 제1 연결 특성과는 상이한 제2 연결 특성을 사용하는 정규 전력 소모 데이터 전송으로 전환시키기 위한 트리거를 검출하는 동작 - 상기 제2 연결 특성은 상기 다른 디바이스의 메인 프로세서의 즉시적 인터럽트를 야기시킴 -; 및
상기 트리거에 적어도 부분적으로 기초하여, 상기 특정 유형의 데이터의 추가적인 값들을 상기 정규 전력 소모 데이터 전송을 통해 전송하는 동작
을 포함하는 동작들을 수행하게 하는 것인 하나 이상의 비일시적 컴퓨터 저장 매체. - 제14항에 있어서,
상기 동작들은, 상기 값들 중의 하나 이상을, 상기 하나 이상의 특정 저장 장소들로부터의 상기 값들 중의 하나 이상에 대한 직접적 메모리 액세스를 인에이블하는 상기 디바이스의 메모리의 하나 이상의 특정 저장 장소들에 저장하는 동작을 더 포함하는 것인 하나 이상의 비일시적 컴퓨터 저장 매체. - 제14항에 있어서,
상기 트리거는 미리결정된 문턱값을 초과하는 상기 특정 유형의 데이터의 검출된 값을 포함하는 것인 하나 이상의 비일시적 컴퓨터 저장 매체. - 제14항에 있어서,
상기 디바이스와 상기 다른 디바이스는 상기 하나 이상의 값을 전송하기 전에 상기 제1 연결 특성을 상기 저전력 소모 데이터 전송에 할당하는 것에 동의한 것인 하나 이상의 비일시적 컴퓨터 저장 매체. - 제14항에 있어서,
상기 제1 연결 특성과 상기 제2 연결 특성은 상이한 네트워크 포트들을 포함하는 것인 하나 이상의 비일시적 컴퓨터 저장 매체. - 제14항에 있어서,
상기 제1 연결 특성과 상기 제2 연결 특성은 상이한 데이터 전송 프로토콜들을 포함하는 것인 하나 이상의 비일시적 컴퓨터 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/580,767 US10064138B2 (en) | 2014-12-23 | 2014-12-23 | Energy efficient wireless data transfer |
US14/580,767 | 2014-12-23 | ||
PCT/US2015/064356 WO2016105923A2 (en) | 2014-12-23 | 2015-12-08 | Energy efficient wireless data transfer |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170098289A KR20170098289A (ko) | 2017-08-29 |
KR102370508B1 true KR102370508B1 (ko) | 2022-03-03 |
Family
ID=55069097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177020338A KR102370508B1 (ko) | 2014-12-23 | 2015-12-08 | 에너지 효율적인 무선 데이터 전송 |
Country Status (12)
Country | Link |
---|---|
US (1) | US10064138B2 (ko) |
EP (3) | EP3337249B1 (ko) |
JP (1) | JP2018509015A (ko) |
KR (1) | KR102370508B1 (ko) |
CN (1) | CN107113730B (ko) |
AU (1) | AU2015370065A1 (ko) |
BR (1) | BR112017010328A2 (ko) |
CA (1) | CA2967989A1 (ko) |
ES (1) | ES2706284T3 (ko) |
MX (1) | MX2017008411A (ko) |
RU (1) | RU2017121796A (ko) |
WO (1) | WO2016105923A2 (ko) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10708842B2 (en) * | 2016-01-13 | 2020-07-07 | Locus Control LLC | Low power communications system |
KR102578648B1 (ko) * | 2016-03-14 | 2023-09-13 | 삼성전자주식회사 | 모뎀 데이터에 따라 코어 스위칭이 수행되는 애플리케이션 프로세서 및 이를 포함하는 시스템 온 칩 |
DK3261357T3 (en) | 2016-06-23 | 2019-03-11 | Hoffmann La Roche | PROCEDURE FOR A WIRELESS DATA COMMUNICATION BETWEEN A SENSOR SYSTEM AND A RECEIVER, A SYSTEM FOR A WIRELESS DATA COMMUNICATION AND COMPUTER PROGRAM PRODUCT |
US10999793B2 (en) | 2016-07-18 | 2021-05-04 | Netgear, Inc. | Power management techniques for a power sensitive wireless device |
US11184851B2 (en) * | 2016-07-18 | 2021-11-23 | Netgear, Inc. | Power management techniques for a power sensitive wireless device |
CN110009767B (zh) * | 2017-11-08 | 2023-04-28 | 开利公司 | 使用对等消息用于接待实体的网状联网 |
CN110231895A (zh) * | 2019-04-25 | 2019-09-13 | 努比亚技术有限公司 | 一种图像通知方法、可穿戴设备及计算机可读存储介质 |
CN110139260A (zh) * | 2019-05-21 | 2019-08-16 | 深圳云里物里科技股份有限公司 | 一种蓝牙通信的数据处理方法及相关装置 |
CN110958580B (zh) * | 2019-12-11 | 2021-10-15 | 中国科学院计算机网络信息中心 | 一种低功耗的多功能数据汇聚网关及其数据汇聚传输方法 |
US11232049B2 (en) * | 2019-12-13 | 2022-01-25 | Micron Technology, Inc. | Memory module with computation capability |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050177712A1 (en) * | 2003-12-19 | 2005-08-11 | Zafer Kadi | Directly writing data to a memory |
US20100070652A1 (en) * | 2008-09-17 | 2010-03-18 | Christian Maciocco | Synchronization of multiple incoming network communication streams |
US20110134906A1 (en) * | 2009-12-03 | 2011-06-09 | Qualcomm Incorporated | Method and apparatus for distributed processing for wireless sensors |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7149817B2 (en) | 2001-02-15 | 2006-12-12 | Neteffect, Inc. | Infiniband TM work queue to TCP/IP translation |
US7415723B2 (en) | 2002-06-11 | 2008-08-19 | Pandya Ashish A | Distributed network security system and a hardware processor therefor |
US7376755B2 (en) | 2002-06-11 | 2008-05-20 | Pandya Ashish A | TCP/IP processor and engine using RDMA |
US7631107B2 (en) | 2002-06-11 | 2009-12-08 | Pandya Ashish A | Runtime adaptable protocol processor |
US7565454B2 (en) | 2003-07-18 | 2009-07-21 | Microsoft Corporation | State migration in multiple NIC RDMA enabled devices |
US7450959B2 (en) | 2003-12-31 | 2008-11-11 | Qualcomm Incorporated | Wireless multiprocessor system-on-chip with unified memory and fault inhibitor |
US8504795B2 (en) | 2004-06-30 | 2013-08-06 | Intel Corporation | Method, system, and program for utilizing a virtualized data structure table |
US8458280B2 (en) | 2005-04-08 | 2013-06-04 | Intel-Ne, Inc. | Apparatus and method for packet transmission over a high speed network supporting remote direct memory access operations |
US8433770B2 (en) | 2005-07-29 | 2013-04-30 | Broadcom Corporation | Combined local and network storage interface |
US20070214374A1 (en) | 2006-03-13 | 2007-09-13 | Mark Hempstead | Ultra low power system for sensor network applications |
US20080219151A1 (en) * | 2007-03-07 | 2008-09-11 | Nokia Corporation | System and method for using a peer to peer mechanism to repair broadcast data in wireless digital broadcast networks |
CN101588602B (zh) * | 2009-05-22 | 2011-07-13 | 中兴通讯股份有限公司 | 降低wapi移动终端功耗的方法及wapi移动终端 |
CN101925160A (zh) * | 2009-06-11 | 2010-12-22 | 上海易狄欧电子科技有限公司 | 无线数据收发方法及其系统 |
US8412798B1 (en) | 2009-10-03 | 2013-04-02 | Frank C. Wang | Content delivery system and method |
US9331963B2 (en) | 2010-09-24 | 2016-05-03 | Oracle International Corporation | Wireless host I/O using virtualized I/O controllers |
US20120213118A1 (en) * | 2011-02-18 | 2012-08-23 | Lindsay Steven B | Method and system for network interface controller (nic) address resolution protocol (arp) batching |
KR101515359B1 (ko) | 2011-09-30 | 2015-04-29 | 인텔 코포레이션 | 시스템 코-프로세서에 대한 직접 i/o 액세스 |
US8676851B1 (en) | 2012-08-30 | 2014-03-18 | Google Inc. | Executing transactions in distributed storage systems |
CA2885704A1 (en) | 2012-09-21 | 2014-03-27 | Proteus Digital Health, Inc. | Wireless wearable apparatus, system, and method |
US9055390B2 (en) * | 2012-10-19 | 2015-06-09 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | Apparatus, system, and method for peer group formation for mobile devices by proximity sensing |
AU2013334489A1 (en) * | 2012-10-24 | 2015-05-14 | Or Technologies Pty Ltd | A device control node, an interface node and a hybrid control system |
US9176911B2 (en) | 2012-12-11 | 2015-11-03 | Intel Corporation | Explicit flow control for implicit memory registration |
KR102019717B1 (ko) * | 2013-01-29 | 2019-09-09 | 삼성전자 주식회사 | 휴대 단말기의 메모리 관리 장치 및 방법 |
US20150127738A1 (en) * | 2013-11-05 | 2015-05-07 | Proteus Digital Health, Inc. | Bio-language based communication system |
US10473684B2 (en) * | 2014-10-17 | 2019-11-12 | Nokia Technologies Oy | Method and apparatus for providing movement detection based on air pressure data |
-
2014
- 2014-12-23 US US14/580,767 patent/US10064138B2/en active Active
-
2015
- 2015-12-08 BR BR112017010328A patent/BR112017010328A2/pt not_active Application Discontinuation
- 2015-12-08 CN CN201580070097.6A patent/CN107113730B/zh active Active
- 2015-12-08 CA CA2967989A patent/CA2967989A1/en not_active Abandoned
- 2015-12-08 WO PCT/US2015/064356 patent/WO2016105923A2/en active Application Filing
- 2015-12-08 JP JP2017529266A patent/JP2018509015A/ja active Pending
- 2015-12-08 EP EP18154787.8A patent/EP3337249B1/en active Active
- 2015-12-08 MX MX2017008411A patent/MX2017008411A/es unknown
- 2015-12-08 AU AU2015370065A patent/AU2015370065A1/en not_active Abandoned
- 2015-12-08 RU RU2017121796A patent/RU2017121796A/ru not_active Application Discontinuation
- 2015-12-08 KR KR1020177020338A patent/KR102370508B1/ko active IP Right Grant
- 2015-12-08 ES ES15819941T patent/ES2706284T3/es active Active
- 2015-12-08 EP EP15819941.4A patent/EP3238489B1/en active Active
- 2015-12-08 EP EP18154788.6A patent/EP3337250B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050177712A1 (en) * | 2003-12-19 | 2005-08-11 | Zafer Kadi | Directly writing data to a memory |
US20100070652A1 (en) * | 2008-09-17 | 2010-03-18 | Christian Maciocco | Synchronization of multiple incoming network communication streams |
US20110134906A1 (en) * | 2009-12-03 | 2011-06-09 | Qualcomm Incorporated | Method and apparatus for distributed processing for wireless sensors |
Also Published As
Publication number | Publication date |
---|---|
EP3238489A2 (en) | 2017-11-01 |
EP3337250A1 (en) | 2018-06-20 |
EP3337250B1 (en) | 2019-07-24 |
CN107113730A (zh) | 2017-08-29 |
KR20170098289A (ko) | 2017-08-29 |
WO2016105923A2 (en) | 2016-06-30 |
JP2018509015A (ja) | 2018-03-29 |
EP3238489B1 (en) | 2018-10-17 |
US10064138B2 (en) | 2018-08-28 |
CN107113730B (zh) | 2020-06-12 |
AU2015370065A1 (en) | 2017-05-25 |
ES2706284T3 (es) | 2019-03-28 |
MX2017008411A (es) | 2017-11-28 |
US20160183191A1 (en) | 2016-06-23 |
WO2016105923A3 (en) | 2016-08-18 |
CA2967989A1 (en) | 2016-06-30 |
RU2017121796A (ru) | 2018-12-24 |
BR112017010328A2 (pt) | 2017-12-26 |
EP3337249A1 (en) | 2018-06-20 |
EP3337249B1 (en) | 2019-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102370508B1 (ko) | 에너지 효율적인 무선 데이터 전송 | |
US9648097B2 (en) | Cloud-to-device messaging for application activation and reporting | |
US9141504B2 (en) | Presenting status data received from multiple devices | |
JP6054238B2 (ja) | 電子機器および通信制御方法 | |
US8402174B2 (en) | Handling sensors in a context-aware platform with hint signals | |
US9703353B2 (en) | Method and electronic device for reducing current consumption by the electronic device | |
US20180039519A1 (en) | Systems and methods for managing processing load | |
JP2014225238A5 (ko) | ||
JP2017514209A (ja) | マルチプロセス・アプリケーションのための動的リソース管理 | |
US20170245217A1 (en) | Electronic device and method for controlling application and component | |
US10491409B2 (en) | Operating method of semiconductor device performing intelligence negotiation | |
CN108551668B (zh) | 信息传输方法、装置、设备及存储介质 | |
US10432731B2 (en) | Electronic device and method of controlling sensors connected through network | |
KR20170017643A (ko) | 콘텐츠 전송 제어 방법 및 이를 지원하는 전자 장치 | |
US20180206187A1 (en) | Method and apparatus for saving power in a gateway network | |
US20180375739A1 (en) | Cache based on dynamic device clustering | |
JP6286601B1 (ja) | IoTデバイス管理システム | |
US9681328B2 (en) | Multiple modem device including notification modem | |
US9877285B2 (en) | Method and system for device aware power save | |
JP6336689B1 (ja) | IoTデバイス管理システム | |
CN117453377A (zh) | 模型调度方法、终端设备以及服务器 | |
CN113438263A (zh) | 可穿戴按摩仪的数据处理方法、装置、设备和存储介质 |
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 |