KR20110138547A - 상황 모니터링을 지원하는 모바일 장치, 이를 이용하는 상황 모니터링 방법 및 이를 포함하는 상황 모니터링 시스템 - Google Patents

상황 모니터링을 지원하는 모바일 장치, 이를 이용하는 상황 모니터링 방법 및 이를 포함하는 상황 모니터링 시스템 Download PDF

Info

Publication number
KR20110138547A
KR20110138547A KR1020100058482A KR20100058482A KR20110138547A KR 20110138547 A KR20110138547 A KR 20110138547A KR 1020100058482 A KR1020100058482 A KR 1020100058482A KR 20100058482 A KR20100058482 A KR 20100058482A KR 20110138547 A KR20110138547 A KR 20110138547A
Authority
KR
South Korea
Prior art keywords
plan
mobile device
sensor
resource
final
Prior art date
Application number
KR1020100058482A
Other languages
English (en)
Other versions
KR101183124B1 (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 한국과학기술원
Priority to KR1020100058482A priority Critical patent/KR101183124B1/ko
Priority to US13/036,521 priority patent/US8599710B2/en
Publication of KR20110138547A publication Critical patent/KR20110138547A/ko
Application granted granted Critical
Publication of KR101183124B1 publication Critical patent/KR101183124B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • 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

Abstract

모바일 장치는 프로세싱 플래너 및 플랜 처리기를 포함한다. 프로세싱 플래너는 애플리케이션의 상황 모니터링 쿼리(Context Monitoring Query, 이하 CMQ)에 응답하여 복수의 자원 이용 플랜들을 생성하고, 자원 이용 플랜들 중 상기 CMQ의 요구 사항을 만족하는 최종 플랜을 선택한다. 플랜 처리기는 상기 최종 플랜을 실행한다. 따라서 자원 효율적인 상황 모니터링을 지원할 수 있다.

Description

상황 모니터링을 지원하는 모바일 장치, 이를 이용하는 상황 모니터링 방법 및 이를 포함하는 상황 모니터링 시스템 {MOBILE APPARATUS SUPPORTING CONTEXT MONITORING, METHOD OF CONTEXT MONITORING USING THE SAME AND CONTEXT MONITORING SYSTEM INCLUDING THE SAME}
본 발명은 모바일 장치에 관한 것으로, 보다 상세하게는 자원 사용을 적극적으로 조율하는 상황 모니터링을 지원하는 모바일 장치, 이를 포함하는 상황 모니터링 시스템 및 이를 이용하는 상황 모니터링 방법에 관한 것이다.
최근의 정보통신 패러다임은 유비쿼터스 컴퓨팅(Ubiquitos Computing), 유비쿼터스 네트워크(Ubiquitos Network), 퍼배시브 컴퓨팅(Pervasive Computing) 등이라 할 수 있다. 이는 모두 동일한 개념으로서, 유비쿼터스가 의미하는 것은 사용자가 언제, 어디서라도 원하는 정보를 손쉽게 얻을 수 있음을 말한다. 향후 도래할 유비쿼터스 시대에는 컴퓨팅 및 커뮤니케이션 능력을 가진 스마트 객체들이 동적인 환경 변화를 인식하고 이에 적응할 수 있는 특성, 즉 상황 인식 특성을 갖게 될 것이다.
개인 영역 네트워크(Personal Area Network; 이하 PAN이라 칭함)는 상황 인식 특성을 갖게 될 유비쿼터스 네트워크를 구현하는 핵심기술이다. PAN은 개인을 중심으로 근거리 이내에서 사용할 수 있는 네트워크 기술을 가리키는데, 이는 네트워크를 사용할 개인을 중심으로 10여 미터 정도까지 네트워크로 다양한 장비들을 연결할 수 있는 기술을 의미한다.
개인이 중심이 된 PAN은 사용자의 행동, 몸 상태, 환경 등과 관련된 상황들에 맞춰 적절한 서비스를 제공하는 상황 인식 애플리케이션(Context Aware Application)들에 적합하다. PAN 환경에서는 개인을 중심으로 네트워크가 구성되므로, 휴대가 가능한 모바일 장치는 다양한 센서들로부터 데이터를 받아 상황 인식 애플리케이션들에게 사용자 상황 정보를 제공하는 핵심 플랫폼이 될 수 있다. 예를 들어, 이동통신 단말기 내에서 상황 정보 수집 및 교환을 통해 사용자가 처한 상황을 인식하고, 해석 및 추론과 같은 처리 과정을 거쳐 상황 인식 애플리케이션들에게 정보를 제공하고, 상황 인식 애플리케이션들은 사용자에게 상황에 적합한 서비스를 제공할 수 있다. 이때에, 다수의 상황 인식 애플리케이션을 동시에 효율적으로 지원할 수 있는 모바일 장치가 필요하다.
PAN 환경의 컴퓨팅 플랫폼에서 상황 인식 애플리케이션을 지원하는 모바일 장치는 휴대 가능한 장치이므로 컴퓨팅 자원(resource)이 열악하다. 종래의 모바일 장치는 상황 인식 애플리케이션이 요청한 장치에 요청한 자원을 바인딩(binding)하는 역할을 할 뿐, 사용 가능한 여러 장치 및 사용 가능한 자원을 살펴보면서, 유연하게 자원을 이용하는 기술은 미비하다. 그리하여 여러 종류의 상황 인식 애플리케이션이 동시에 자원을 요청할 때, 여러 장치의 자원이 불균형적이고 비효율적으로 이용되고, 상황 인식 애플리케이션이 장시간 서비스를 제공하지 못하는 문제점이 있다.
따라서 자원의 제약이 심한 모바일 장치 환경에서 전체 자원을 균형적이고 효율적으로 이용하고, 오랜 시간 동안 지속적으로 상황 인식 애플리케이션의 서비스를 제공할 수 있는 자원 효율적인 모바일 장치가 요구된다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 자원 이용 플랜들을 생성하고, 상기 자원 이용 플랜들 중 최종 플랜을 선택 및 실행하여 전체 자원을 균형적이고 효율적으로 이용하고, 오랜 시간 동안 지속적으로 서비스를 제공할 수 있는 상황 모니터링을 지원하는 모바일 장치를 제공하는 것이다.
본 발명의 다른 목적은 상기 모바일 장치를 이용하는 상황 모니터링 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 상기 모바일 장치를 포함하는 상황 모니터링 시스템을 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 모바일 장치는 프로세싱 플래너 및 플랜 처리기를 포함한다. 상기 프로세싱 플래너는 애플리케이션의 상황 모니터링 쿼리(Context Monitoring Query, 이하 CMQ)에 응답하여 복수의 자원 이용 플랜들을 생성하고, 상기 자원 이용 플랜들 중 상기 CMQ의 요구 사항을 만족하는 최종 플랜을 선택한다. 상기 플랜 처리기는 상기 최종 플랜을 실행한다.
본 발명의 일 실시예에서, 상기 모바일 장치는 개인 영역 네트워크(Personal Area Network, PAN) 환경에서 사용될 수 있다.
본 발명의 일 실시예에서, 상기 모바일 장치는 상기 애플리케이션과 통신하기 위한 애플리케이션 브로커를 더 포함할 수 있다.
본 발명의 일 실시예에서, 상기 모바일 장치는 센싱 데이터를 제공하는 센서와 통신하기 위한 센서 브로커를 더 포함할 수 있다.
본 발명의 일 실시예에서, 상기 자원 이용 플랜은 로지컬 플랜 및 피지컬 플랜을 포함할 수 있다. 상기 로지컬 플랜은 센싱 데이터 검출, 상기 센싱 데이터로부터의 특성값 추출 및 상기 특성값으로부터의 상황 인식의 정보를 포함할 수 있다. 상기 피지컬 플랜은 상기 센싱 데이터 검출, 상기 특성값 추출 및 상기 상황 인식을 수행하는 주체에 대한 정보를 포함할 수 있다.
본 발명의 일 실시예에서, 상기 주체는 상기 모바일 장치 및 센서일 수 있다.
본 발명의 일 실시예에서, 상기 프로세싱 플래너는 이용 가능한 센서를 실시간으로 검출하고, 상기 검출된 센서를 기초로 하여 상기 자원 이용 플랜들을 생성할 수 있다.
본 발명의 일 실시예에서, 상기 프로세싱 플래너는 상기 모바일 장치의 자원 이용 상태를 실시간으로 모니터링하는 리소스 모니터를 더 포함할 수 있다. 상기 리소스 모니터가 모니터링한 상기 자원 이용 상태에 기초하여 상기 최종 플랜을 선택할 수 있다.
본 발명의 일 실시예에서, 상기 프로세싱 플래너는 네트워크 내의 상기 모바일 장치 및 센서의 가용 자원 행렬(Resource Availability Matrix, 이하 RAM) 및 상기 자원 이용 플랜들의 자원 수요 행렬(Resource Demand Matrix, 이하 RDM)을 비교하여 상기 최종 플랜을 선택할 수 있다.
본 발명의 일 실시예에서, 상기 프로세싱 플래너는 상기 RDM이 상기 RAM보다 작은 상기 최종 플랜을 선택할 수 있다.
본 발명의 일 실시예에서, 상기 RAM은 상기 네트워크 내의 상기 모바일 장치 및 상기 센서의 사용가능한 중앙 처리 장치(CPU), 주파수 대역폭, 메모리, 에너지의 정보를 포함할 수 있다.
본 발명의 일 실시예에서, 상기 RDM은 상기 자원 이용 플랜에서 사용되는 모바일 장치 및 상기 센서의 중앙 처리 장치(CPU), 주파수 대역폭(BANDWIDTH), 메모리, 에너지의 정보를 포함할 수 있다.
본 발명의 일 실시예에서, 상기 프로세싱 플래너는 상기 자원 이용 플랜들 중 상기 최종 플랜을 선택하기 위한 자원 이용 정책(Policy)을 저장하는 정책 관리기를 더 포함할 수 있다. 상기 정책 관리기에 저장된 상기 자원 이용 정책에 기초하여 상기 최종 플랜을 선택할 수 있다.
본 발명의 일 실시예에서, 상기 프로세싱 플래너는 복수의 CMQ가 있을 때, 상기 자원 이용 플랜들을 포함하는 플랜 세트들을 생성하고, 상기 플랜 세트들 중 동시에 많은 CMQ를 수행하는 1차 플랜 세트들을 선택하며, 상기 1차 플랜 세트들 중 최소의 자원을 이용하는 최종 플랜 세트를 선택할 수 있다.
본 발명의 일 실시예에서, 상기 플랜 처리기는 특성값 추출기 및 상황 인식기를 포함할 수 있다. 상기 특성값 추출기는 센서에 의해 검출된 센싱 데이터로부터 특성값을 추출할 수 있다. 상기 상황 인식기는 상기 추출한 특성값으로부터 상황을 인식할 수 있다.
본 발명의 일 실시예에서, 상기 CMQ는 모니터링할 상황(Context), 상기 상황 인식의 정확도(Accuracy) 및 모니터링 기간(Duration)을 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 상황 모니터링 방법에서는 애플리케이션의 상황 모니터링 쿼리(Context Monitoring Query, 이하 CMQ)에 응답하여 복수의 자원 이용 플랜들을 생성한다. 상기 자원 이용 플랜들 중 상기 CMQ의 요구 사항을 만족하는 최종 플랜을 선택한다. 상기 최종 플랜을 실행한다.
본 발명의 일 실시예에서, 상기 상황 모니터링 방법은 개인 영역 네트워크(Personal Area Network, PAN) 환경에서 사용될 수 있다.
본 발명의 일 실시예에서, 상기 자원 이용 플랜들을 생성하는 단계는 로지컬 플랜을 생성하는 단계 및 피지컬 플랜을 생성하는 단계를 포함할 수 있다. 상기 로지컬 플랜은 센싱 데이터 검출, 상기 센싱 데이터로부터의 특성값 추출 및 상기 특성값으로부터의 상황 인식의 정보를 포함할 수 있다. 피지컬 플랜은 상기 센싱 데이터 검출, 상기 특성값 추출 및 상기 상황 인식을 수행하는 주체에 대한 정보를 포함할 수 있다.
본 발명의 일 실시예에서, 상기 주체는 모바일 장치 및 센서일 수 있다.
본 발명의 일 실시예에서, 상기 복수의 자원 이용 플랜들을 생성하는 단계는 이용 가능한 센서를 실시간으로 검출하고, 상기 검출된 센서를 기초로 하여 상기 자원 이용 플랜들을 생성할 수 있다.
본 발명의 일 실시예에서, 상기 최종 플랜을 선택하는 단계는 실시간으로 모니터링한 자원 이용 상태에 기초하여 상기 최종 플랜을 선택할 수 있다.
본 발명의 일 실시예에서, 상기 최종 플랜을 선택하는 단계는 네트워크 내의 모바일 장치 및 센서의 가용 자원 행렬(Resource Availability Matrix, 이하 RAM) 및 상기 자원 이용 플랜들의 자원 수요 행렬(Resource Demand Matrix, 이하 RDM)을 비교할 수 있다.
본 발명의 일 실시예에서, 상기 최종 플랜을 선택하는 단계는 상기 RDM이 상기 RAM보다 작은 상기 최종 플랜을 선택할 수 있다.
본 발명의 일 실시예에서, 상기 RAM은 상기 네트워크 내의 상기 모바일 장치 및 상기 센서의 사용가능한 중앙 처리 장치(CPU), 주파수 대역폭, 메모리, 에너지의 정보를 포함할 수 있다.
본 발명의 일 실시예에서, 상기 RDM은 상기 자원 이용 플랜에서 사용되는 모바일 장치 및 상기 센서의 중앙 처리 장치(CPU), 주파수 대역폭(BANDWIDTH), 메모리, 에너지의 정보를 포함할 수 있다.
본 발명의 일 실시예에서, 최종 플랜을 선택하는 단계는 상기 자원 이용 플랜들 중 상기 최종 플랜을 선택하기 위한 자원 이용 정책(Policy)에 기초하여 상기 최종 플랜을 선택할 수 있다.
본 발명의 일 실시예에서, 상기 최종 플랜을 선택하는 단계는 복수의 CMQ가 있을 때, 상기 자원 이용 플랜들을 포함하는 플랜 세트들을 생성하는 단계, 상기 플랜 세트들 중 동시에 많은 CMQ를 수행하는 1차 플랜 세트들을 선택하는 단계 및 상기 1차 플랜 세트들 중 최소의 자원을 이용하는 최종 플랜 세트를 선택하는 단계를 포함할 수 있다.
본 발명의 일 실시예에서, 상기 최종 플랜을 실행하는 단계는 상기 최종 플랜에 의해 정해진 주체가 각각, 센싱 데이터를 검출하는 단계, 상기 센싱 데이터로부터 특성값을 추출하는 단계 및 상기 추출한 특성값으로부터 상황을 인식하는 단계를 포함할 수 있다.
본 발명의 일 실시예에서, 상기 CMQ는 모니터링할 상황(Context), 상기 상황 인식의 정확도(Accuracy) 및 모니터링 기간(Duration)을 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따른 상황 모니터링 시스템은 애플리케이션, 모바일 장치 및 센서를 포함할 수 있다. 상기 애플리케이션은 상황 모니터링 쿼리(Context Monitoring Query, 이하 CMQ)를 요청하고, 상기 CMQ를 만족하는 경우 이벤트를 수신한다. 상기 모바일 장치는 프로세싱 플래너 및 플랜 처리기를 포함한다. 상기 프로세싱 플래너는 상기 애플리케이션의 CMQ에 응답하여 복수의 자원 이용 플랜들을 생성하고, 상기 자원 이용 플랜들 중 상기 CMQ의 요구 사항을 만족하는 최종 플랜을 선택한다. 상기 플랜 처리기는 상기 최종 플랜을 실행한다. 상기 센서는 상기 최종 플랜을 실행한다.
본 발명의 일 실시예에서, 상기 상황 모니터링 시스템은 개인 영역 네트워크(Personal Area Network, PAN) 환경에서 사용될 수 있다.
본 발명의 일 실시예에서, 상기 센서는 모바일 장치 브로커, 플랜 처리기 및 리소스 모니터를 포함할 수 있다. 상기 모바일 장치 브로커는 모바일 장치와 통신할 수 있다. 상기 플랜 처리기는 상기 최종 플랜을 실행할 수 있다. 상기 리소스 모니터는 상기 센서의 자원 이용 상태를 실시간으로 모니터링할 수 있다.
상기 플랜 처리기는 센싱부 및 특성값 추출부를 포함할 수 있다. 상기 센싱부는 센싱 데이터를 검출할 수 있다. 상기 특성값 추출부는 상기 센싱 데이터로부터 특성값을 추출할 수 있다.
상기와 같은 본 발명의 실시예에 따른 모바일 장치, 상황 모니터링 방법 및 상황 모니터링 시스템은 자원 이용 플랜들을 생성하고, 상기 자원 이용 플랜들 중 애플리케이션의 CMQ의 요구 사항을 만족하는 최종 플랜을 선택 및 실행하여 제한된 자원을 균형적이고 효율적으로 이용할 수 있다. 또한, 오랜 시간 동안 지속적으로 서비스를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 상황 모니터링 시스템을 나타내는 블록도이다.
도 2는 도 1의 상황 모니터링 시스템에 포함되는 모바일 장치를 나타내는 블록도이다.
도 3은 도 2의 모바일 장치에 포함되는 애플리케이션 브로커를 나타내는 블록도이다.
도 4는 도 2의 모바일 장치에 포함되는 프로세싱 플래너를 나타내는 블록도이다.
도 5는 도 4의 플랜 생성기에서 생성하는 자원 이용 플랜을 나타내는 개념도이다.
도 6은 도 5의 자원 이용 플랜에 포함되는 로지컬 플랜의 일례를 나타내는 개념도이다.
도 7은 도 5의 자원 이용 플랜에 포함되는 피지컬 플랜의 일례를 나타내는 개념도이다.
도 8은 도 4의 플랜 선택기에서 최종 플랜을 선택하기 위해 이용하는 가용 자원 행렬(Resource Availability Matrix, 이하 RAM)의 일례를 나타내는 개념도이다.
도 9는 도 4의 플랜 선택기에서 최종 플랜을 선택하기 위해 이용하는 자원 수요 행렬(Resource Demand Matrix, 이하 RDM)의 일례를 나타내는 개념도이다.
도 10은 도 2의 모바일 장치에 포함되는 플랜 처리기를 나타내는 블록도이다.
도 11은 도 2의 모바일 장치에 포함되는 센서 브로커를 나타내는 블록도이다.
도 12는 도 1의 상황 모니터링 시스템에 포함되는 센서를 나타내는 블록도이다.
도 13은 도 12의 센서에 포함되는 플랜 처리기를 나타내는 블록도이다.
도 14는 도 1의 모바일 장치를 이용하는 상황 모니터링 방법을 나타내는 흐름도이다.
도 15는 도 14의 자원 이용 플랜들을 생성하는 단계를 자세히 나타내는 흐름도이다.
도 16은 도 14의 최종 플랜을 선택하는 단계를 자세히 나타내는 흐름도이다.
도 17은 도 14의 최종 플랜을 실행하는 단계를 자세히 나타내는 흐름도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면 상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 상황 모니터링 시스템을 나타내는 블록도이다.
도 1을 참조하면, 상황 모니터링 시스템은 모바일 장치(100), 센서(200) 및 애플리케이션(300)을 포함한다.
상기 모바일 장치(100)는 상황 인식 기능을 수행하는 상기 애플리케이션(300)으로부터 상황 모니터링 쿼리(Context Monitoring Query, 이하, CMQ)를 요청 받아 등록하고, 상기 센서(200)로부터 센싱 데이터(SDATA)를 수신하여 상기 CMQ의 만족 여부를 모니터링한다. 상기 CMQ의 결과가 '참'에서 '거짓' 또는 '거짓'에서 '참'으로 변경되는 경우, 상기 애플리케이션(300)에 이벤트(EVENT)를 제공하고, 상기 모바일 장치(100)의 자원 이용 플랜들 중 선택된 최종 플랜(PLAN)을 상기 센서(200)에 제공한다. 상기 모바일 장치(100)는 상기 최종 플랜(PLAN)의 일부를 실행한다.
상기 센서(200)는 상기 모바일 장치(100)로부터 상기 최종 플랜(PLAN)을 수신하여 상기 최종 플랜(PLAN)의 일부를 실행한다. 상기 센서(200)는 상기 최종 플랜(PLAN)에 따라 센싱 데이터(SDATA) 또는 상기 센싱 데이터(DATA)로부터 추출된 특성값(FEATURE)을 상기 모바일 장치(100)에 전달한다. 상기 센서(200)는 상기 센서(200)의 자원 이용 상태(STATUS)를 상기 모바일 장치(100)에 제공할 수 있다.
예를 들어, 상기 센서(200)는 복수 개의 센서들(200)일 수 있다. 상기 센서(200)는 빛 센서, 온도 센서, 가속도 측정기 등이 될 수 있고, 각각의 센서(200)들이 센싱하는 상황 요소는 빛, 온도, 가속도 등이 될 수 있다. 상기 센서(200)는 사용자의 신체에 착용하는 웨어러블(Wearable) 센서일 수 있다.
상기 센서(200)에서 측정한 상기 센싱 데이터(SDATA)는 상기 모바일 장치(100)에 제공되어 상기 상황 인식 애플리케이션(300)이 요구한 상기 상황(CONTEXT)의 만족 여부를 모니터링하는 데 활용된다.
상기 애플리케이션(300)은 프로그램 목적에 따른 상기 CMQ를 상기 모바일 장치(100)에 요청한다. 상기 모바일 장치(100)는 상기 CMQ를 등록하고, 상기 CMQ가 '참'(true) 또는 '거짓'(false)이 되는 지를 모니터링한다. CMQ의 결과가 변경되면 모바일 장치(100)는 상기 애플리케이션(300)에 이벤트(EVENT)를 제공한다. 상기 CMQ는 모니터링할 상황(CONTEXT), 상기 상황 인식의 정확도(Accuracy) 및 모니터링 기간(Duration)을 포함할 수 있다.
예를 들어, 상기 애플리케이션(300)은 사용자의 활동을 모니터링하여 운동량, 운동 패턴에 대한 정보를 제공하는 운동 보조 애플리케이션일 수 있다. 상기 애플리케이션(300)은 심박수를 모니터링하여 위급 상황에 알람 서비스를 제공하는 건강 경보 애플리케이션일 수 있다.
도 2는 도 1의 상황 모니터링 시스템에 포함되는 모바일 장치를 나타내는 블록도이다.
도 1 및 도 2를 참조하면, 상기 모바일 장치(100)는 애플리케이션 브로커(110), 프로세싱 플래너(130), 플랜 처리기(150) 및 센서 브로커(170)를 포함한다.
상기 애플리케이션 브로커(110)는 상기 애플리케이션(300)과 통신한다. 상기 애플리케이션 브로커(110)는 상기 애플리케이션(300)으로부터 상기 CMQ를 수신하여, 상기 프로세싱 플래너(130)에게 전달한다. 상기 애플리케이션 브로커(110)는 상기 플랜 처리기(150)의 결과(RESULT)를 수신하여, 상기 결과(RESULT)에 대응하는 이벤트(EVENT)를 상기 애플리케이션(300)에 전달한다.
상기 프로세싱 플래너(130)는 상기 애플리케이션 브로커(110)로부터 상기 CMQ를 수신하여, 상기 CMQ에 대응하는 자원 이용 플랜들을 생성하고, 상기 자원 이용 플랜들 중 최종 플랜(PLAN)을 선택하여, 상기 플랜 처리기(150) 및 상기 센서 브로커(170)에 전달한다.
상기 프로세싱 플래너(130)는 상기 센서 브로커(170)로부터 센서(200)의 자원 이용 상태(STATUS)를 수신하여, 상기 자원 이용 플랜들의 생성 및 상기 최종 플랜(PLAN)의 선택에 이용할 수 있다.
상기 플랜 처리기(150)는 상기 프로세싱 플래너(130)로부터 상기 최종 플랜(PLAN)을 수신하여, 상기 최종 플랜(PLAN)을 실행한다. 상기 센서 브로커(170)로부터 상기 센싱 데이터(SDATA)를 수신하여, 상기 센싱 데이터(SDATA)의 특성값(FEATURE)을 추출할 수 있다. 또는 상기 센서 브로커(170)로부터 상기 센서(200)에 의해 추출된 특성값(FEATURE)을 수신할 수 있다.
상기 플랜 처리기(150)는 상기 추출한 특성값(FEATURE) 또는 상기 수신한 특성값(FEATURE)을 근거로 하여 상황(CONTEXT)을 인식할 수 있다. 상기 인식한 상황(CONTEXT)에 대한 정보를 포함하는 상기 결과(RESULT)를 상기 애플리케이션 브로커(110)에 전달한다.
상기 센서 브로커(170)는 상기 센싱 데이터(SDATA)를 제공하는 센서(200)와 통신한다. 상기 센서 브로커(170)는 상기 센서(200)로부터 상기 센싱 데이터(SDATA) 및 상기 특성값(FEATURE)을 수신하여, 상기 플랜 처리기(150)로 전달한다. 상기 센서 브로커(170)는 상기 센서(200)로부터 상기 센서(200)의 자원 이용 상태(STATUS)를 수신하여, 상기 프로세싱 플래너(130)로 전달한다.
또한, 상기 센서 브로커(170)는 상기 프로세싱 플래너(130)로부터 상기 최종 플랜(PLAN)을 수신하여, 상기 센서(200)에 전달한다.
도 3은 도 2의 모바일 장치에 포함되는 애플리케이션 브로커를 나타내는 블록도이다.
상기 도 1 내지 도 3을 참조하면, 상기 애플리케이션 브로커(110)는 애플리케이션 인터페이스(API, 111), 결과 관리기(113) 및 메시지 분석기(115)를 포함할 수 있다.
상기 애플리케이션 인터페이스(111)는 상기 애플리케이션(300)을 개발할 때 이용하는 개발 언어나 메시지 형식을 의미한다. 상기 애플리케이션 인터페이스(111)는 상기 애플리케이션(300)이 수행될 수 있도록 하는 복수 개의 함수를 포함한다. 상기 결과 관리기(113)는 상기 플랜 처리기(150)의 상기 결과(RESULT)를 수신하여, 상기 애플리케이션(300)에 상기 이벤트(EVENT)를 출력한다. 상기 메시지 분석기(115)는 상기 CMQ와 같은 상기 애플리케이션(300)의 메시지를 파싱하여 상기 프로세싱 플래너(130)에 전달한다.
도 4는 도 2의 모바일 장치에 포함되는 프로세싱 플래너를 나타내는 블록도이다.
상기 도 1, 도 2 및 도 4를 참조하면, 상기 프로세싱 플래너(130)는 플랜 생성기(131), 플랜 선택기(133), 리소스 모니터(135) 및 정책 관리기(137)를 포함할 수 있다.
상기 플랜 생성기(131)는 상기 애플리케이션 브로커(110)로부터 상기 CMQ를 수신하여, 상기 CMQ의 상황(CONTEXT) 정보에 응답하여 복수 개의 자원 이용 플랜들을 생성한다.
상기 플랜 선택기(133)는 상기 자원 이용 플랜들 중에서 상기 CMQ의 요구 사항을 만족하는 최종 플랜(PLAN)을 선택한다. 예를 들어, 상기 CMQ의 요구 사항은 상황 인식의 정확도(Accuracy)일 수 있다. 또한, 상기 CMQ의 요구 사항은 전체 자원의 이용에 대한 다양한 정보를 포함할 수 있다. 예를 들어, 상기 CMQ의 요구 사항은 중앙 처리 장치(Central Processing Unit, 이하, CPU), 주파수 대역폭, 메모리 사용량, 에너지 사용량 등의 범위를 포함할 수 있다.
상기 리소스 모니터(135)는 상기 모바일 장치(100)의 자원 이용 상태를 실시간으로 모니터링한다. 상기 플랜 선택기(133)는 상기 모바일 장치(100)의 자원 이용 상태에 기초하여 상기 최종 플랜(PLAN)을 선택할 수 있다.
상기 정책 관리기(137)는 상기 플랜 선택기(133)의 상기 최종 플랜(PLAN)의 선택 기준을 정의하는 자원 이용 정책(Policy)을 포함한다. 상기 자원 이용 정책은 사용자가 직접 입력 및 수정할 수 있도록 형성된다.
예를 들어, 상기 자원 이용 정책은 복수의 상기 CMQ들이 있을 때, 동시에 많은 상기 CMQ를 수행하는 상기 최종 플랜(PLAN)을 선택하도록 작성될 수 있다. 또한, 상기 자원 이용 정책은 상기 CPU의 이용률을 최저로 하는 상기 최종 플랜(PLAN)을 선택하도록 작성될 수 있다. 상기 자원 이용 정책은 상기 주파수 대역폭을 최저로 하는 상기 최종 플랜(PLAN)을 선택하도록 작성될 수 있다. 상기 자원 이용 정책은 상기 메모리 사용량을 최저로 하는 상기 최종 플랜(PLAN)을 선택하도록 작성될 수 있다. 상기 자원 이용 정책은 상기 에너지 사용량을 최저로 하는 상기 최종 플랜(PLAN)을 선택하도록 작성될 수 있다. 상기 자원 이용 정책은 상기 상황 인식의 정확도(Accuracy)를 최대로 하는 상기 최종 플랜(PLAN)을 선택하도록 작성될 수 있다. 상기 자원 이용 정책은 상기 애플리케이션(300)의 실행 시간을 최대로 하는 상기 최종 플랜(PLAN)을 선택하도록 작성될 수 있다. 상기 자원 이용 정책은 특정 장치 또는 센서의 자원 이용의 우선권을 정의할 수 있다.
상기 정책 관리기(137)는 복수의 상기 자원 이용 정책들을 포함할 수 있고, 상기 자원 이용 정책들의 적용 순서를 포함할 수 있다.
도 5는 도 4의 플랜 생성기에서 생성하는 자원 이용 플랜을 나타내는 개념도이다.
도 4 및 도 5를 참조하면, 상기 플랜 생성기(131)는 상기 CMQ의 정보 중 상기 상황(CONTEXT)에 응답하여, 상기 자원 이용 플랜들을 형성한다. 상기 자원 이용 플랜은 로지컬 플랜(Logical Plan, LPLAN) 및 피지컬 플랜(Physical Plan, PPLAN)을 포함한다. 상기 로지컬 플랜(LPLAN)은 상기 상황(CONTEXT)을 인식하기 위하여 어떠한 처리 과정이 필요한 지에 대한 정보를 담고 있다. 상기 피지컬 플랜(PPLAN)은 상기 로지컬 플랜(LPLAN)의 처리 과정을 어떤 장치가 수행하는 지에 대한 정보를 추가로 담고 있다.
예를 들어, 상기 로지컬 플랜(LPLAN)은 센싱 데이터(SDATA) 검출, 상기 센싱 데이터로부터의 특성값(FEATURE) 추출 및 상기 특성값으로부터의 상황(CONTEXT) 인식의 정보를 포함한다. 상기 피지컬 플랜(PPLAN)은 상기 센싱 데이터 검출, 상기 특성값 추출 및 상기 상황 인식을 수행하는 주체에 대한 정보를 포함한다.
도 5에서 보듯이, 하나의 상기 상황(CONTEXT)에 대해서 복수의 상기 로지컬 플랜(LPLAN)들이 존재할 수 있다. 또한 하나의 상기 로지컬 플랜(LPLAN)에 대해서 복수의 피지컬 플랜(PPLAN)들이 존재할 수 있다. 그러므로, 상기 상황(CONTEXT), 상기 로지컬 플랜(LPLAN), 상기 피지컬 플랜(PPLAN)은 계층적 트리 구조를 가질 수 있다.
예를 들어, 상기 상황(CONTEXT)에 대해서 제1 로지컬 플랜(LPLAN1), 제2 로지컬 플랜(LPLAN2) 및 제3 로지컬 플랜(LPLAN3)이 존재할 수 있다. 예를 들어, 상기 제1 로지컬 플랜(LPLAN1)에 대해서 제1 피지컬 플랜(PPLAN1), 제2 피지컬 플랜(PPLAN2) 및 제3 피지컬 플랜(PPLAN3)을 가질 수 있고, 상기 제2 로지컬 플랜(LPLAN2)에 대해서 제4 피지컬 플랜(PPLAN4) 및 제5 피지컬 플랜(PPLAN5)을 가질 수 있으며, 상기 제3 로지컬 플랜(LPLAN3)에 대해서 제6 피지컬 플랜(PPLAN6) 및 제7 피지컬 플랜(PPLAN7)을 가질 수 있다.
도 6은 도 5의 자원 이용 플랜에 포함되는 로지컬 플랜의 일례를 나타내는 개념도이다. 도 7은 도 5의 자원 이용 플랜에 포함되는 피지컬 플랜의 일례를 나타내는 개념도이다.
상기 도 4 내지 도 7을 참조하여, 상기 로지컬 플랜(LPLAN) 및 피지컬 플랜(PPLAN)에 대한 구체적인 일례를 설명한다.
상기 애플리케이션(300)의 상기 CMQ의 상황(CONTEXT)이 RUNNING이라고 가정하면, 상기 모바일 장치(100)는 사용자가 달리고 있는지 여부를 판단하여, 상기 애플리케이션(300)에 상기 이벤트(EVENT)를 전달한다.
도 6은 상기 RUNNING의 상황(CONTEXT)에 응답하여 생성된 상기 제1 로지컬 플랜(LPLAN1) 및 상기 제2 로지컬 플랜(LPLAN2)을 예시한다.
상기 제1 로지컬 플랜(LPLAN1)은 Window 128을 이용하고, 50Hz의 주파수로 센싱하는 손목부 가속도 센서(Accel_wrist)를 이용하여 센싱 데이터(SDATA)를 검출하는 정보를 포함한다. 상기 제1 로지컬 플랜(LPLAN1)은 통계적 특성값 추출기(Frequency domain feature extractor)를 이용하여 상기 센싱 데이터(SDATA)로부터 특성값(FEATURE)을 추출하는 정보를 포함한다. 상기 제1 로지컬 플랜(LPLAN1)은 디시젼 트리 분류기(Decision tree classifier)를 이용하여 상기 특성값(FEATURE)으로부터 상기 RUNNING 상황(CONTEXT)을 인식하는 정보를 포함한다. 상기 제1 로지컬 플랜(LPLAN1)은 91%의 정확성을 보장한다.
상기 제2 로지컬 플랜(LPLAN2)은 Window 64를 이용하고, 50Hz의 주파수로 센싱하는 대퇴부 가속도 센서(Accel_thigh)를 이용하여 센싱 데이터(SDATA)를 검출하는 정보를 포함한다. 상기 제2 로지컬 플랜(LPLAN2)은 통계적 특성값 추출기(Statistical feature extractor)를 이용하여 상기 센싱 데이터(SDATA)로부터 특성값(FEATURE)을 추출하는 정보를 포함한다. 상기 제2 로지컬 플랜(LPLAN2)은 나이브 베이즈 분류기(Naive Bayes classifier)를 이용하여 상기 특성값(FEATURE)으로부터 상기 RUNNING 상황(CONTEXT)을 인식하는 정보를 포함한다. 상기 제2 로지컬 플랜(LPLAN2)은 95%의 정확성을 보장한다.
도 7은 상기 제1 로지컬 플랜(LPLAN1)에 대응하여 생성된 상기 제1 피지컬 플랜(PPLAN1), 상기 제2 피지컬 플랜(PPLAN2) 및 상기 제3 피지컬 플랜(PPLAN3)을 예시한다.
상기 제1 피지컬 플랜(PPLAN1)은 상기 센싱 데이터(SDATA)의 검출은 웨어러블 시계 센서에서 수행하는 정보, 상기 특성값(FEATURE)의 추출은 상기 웨어러블 시계 센서에서 수행하는 정보 및 상기 RUNNING 상황(CONTEXT)의 인식은 상기 모바일 장치(100)에서 수행하는 정보를 포함한다.
상기 제2 피지컬 플랜(PPLAN2)은 상기 센싱 데이터(SDATA)의 검출은 웨어러블 시계 센서에서 수행하는 정보, 상기 특성값(FEATURE)의 추출은 상기 모바일 장치(100)에서 수행하는 정보 및 상기 RUNNING 상황(CONTEXT)의 인식은 상기 모바일 장치(100)에서 수행하는 정보를 포함한다.
상기 제3 피지컬 플랜(PPLAN3)은 상기 센싱 데이터(SDATA)의 검출은 옷소매 센서에서 수행하는 정보, 상기 특성값(FEATURE)의 추출은 상기 모바일 장치(100)에서 수행하는 정보 및 상기 RUNNING 상황(CONTEXT)의 인식은 상기 모바일 장치(100)에서 수행하는 정보를 포함한다.
도 8은 도 4의 플랜 선택기에서 최종 플랜을 선택하기 위해 이용하는 가용 자원 행렬(Resource Availability Matrix, 이하 RAM)의 일례를 나타내는 개념도이다. 도 9는 도 4의 플랜 선택기에서 최종 플랜을 선택하기 위해 이용하는 자원 수요 행렬(Resource Demand Matrix, 이하 RDM)의 일례를 나타내는 개념도이다.
도 4, 도 8 및 도 9를 참조하여, 상기 플랜 선택기(133) 및 상기 플랜 선택기(133)가 상기 최종 플랜(PLAN)을 선택하는 일례에 대해 이하에서 구체적으로 설명한다.
본 실시예에서는 하나의 상기 애플리케이션(300)으로부터 복수의 CMQ가 있는 경우 또는 복수의 상기 애플리케이션(300)들로부터 복수의 CMQ가 있는 경우를 가정한다. 상기 복수의 CMQ들에 응답하여 상기 자원 이용 플랜들이 생성된다.
예를 들어, 제1 상황(CONTEXT A)은 사용자가 달리고 있는지를 나타내는 RUNNING이고, 제2 상황(CONTEXT B)은 사용자의 자세를 나타내는 STANDING POSTURE이며, 제3 상황(CONTEXT C)은 사용자의 심박수를 나타내는 HEART BEAT인 경우를 가정한다.
먼저, 상기 플랜 생성기(131)는 상기 제1 상황(CONTEXT A)을 인식하기 위해 세 개의 피지컬 플랜들(PPLAN A1, PPLAN A2, PPLAN A3)을 생성하고, 상기 제2 상황(CONTEXT B)을 실행할 수 있는 네 개의 피지컬 플랜들(PPLAN B1, PPLAN B2, PPLAN B3, PPLAN B4)을 생성하고, 제3 상황(CONTEXT C)을 실행할 수 있는 두 개의 피지컬 플랜들(PPLAN C1, PPLAN C2)을 생성할 수 있다.
상기 피지컬 플랜들은 피지컬 플랜 세트를 이룬다. 상기 피지컬 플랜 세트는 {PPLAN A1}, {PPLAN A2}, {PPLAN B2}와 같이 하나의 상황만을 인식할 수 있는 경우가 있고, {PPLAN A1, PPLAN B1}, {PPLAN A2, PPLAN B2}, {PPLAN A3, PPLAN C1}과 같이 두 개의 상황을 동시에 인식할 수 있는 경우가 있으며, {PPLAN A1, PPLAN B1, PPLAN C1}, {PPLAN A1, PPLAN B2, PPLAN C2}, {PPLAN A3, PPLAN B1, PPLAN C2}와 같이 세 개의 상황을 동시에 인식할 수 있는 경우가 있다. 상기 피지컬 플랜 세트의 개수는 2P일 수 있다. 여기서, P는 상기 피지컬 플랜의 개수이다. 본 실시예에서, 상기 피지컬 플랜 세트들은 2(3+4+2), 즉 512개가 있을 수 있다.
첫째로, 상기 플랜 선택기(133)는 상기 자원 이용 플랜들 중 가장 많은 CMQ를 동시에 수행할 수 있는 1차 피지컬 플랜 세트들을 선택한다. 예를 들어, 상기 플랜 선택기(133)는 {PPLAN A1, PPLAN B1, PPLAN C1}, {PPLAN A1, PPLAN B2, PPLAN C2}, {PPLAN A3, PPLAN B1, PPLAN C2}와 같이 세 개의 상황을 동시에 인식할 수 있는 상기 1차 피지컬 플랜 세트들을 선택한다. 이론상으로 상기 1차 피지컬 플랜 세트는 3ㅧ 4ㅧ 2 즉 24개가 있을 수 있다.
상기 RAM은 네트워크 내에 존재하는 상기 모바일 장치(100), 상기 센서들(200) 등의 장치들이 실시간으로 사용 가능한 자원을 나타내는 행렬이다. 상기 RAM은 상기 모바일 장치(100) 및 상기 센서(200)의 중앙 처리 장치(CPU), 주파수 대역폭, 메모리, 에너지의 정보를 포함할 수 있다.
도 8을 보면, 현재 네트워크 내에는 모바일 장치(MOBILE), 손목 시계 가속도 센서(ACCEL on watch) 및 허리 가속도 센서(ACCEL on waist)가 존재한다. 상기 모바일 장치(MOBILE)의 현재 사용가능한 상기 CPU는 63.22%, 상기 메모리(Mem)는 56,285KB, 상기 주파수 대역폭은 25.5pkt/s, 상기 에너지는 9,256J임을 알 수 있다. 상기 손목 시계 가속도 센서(ACCEL on watch)의 현재 사용가능한 상기 CPU는 97.83%, 상기 메모리(Mem)는 1.064KB, 상기 주파수 대역폭은 25.5pkt/s, 상기 에너지는 8,253J임을 알 수 있다. 상기 허리 가속도 센서(ACCEL on waist)의 현재 사용가능한 상기 CPU는 85.25%, 상기 메모리(Mem)는 1.925KB, 상기 주파수 대역폭은 25.5pkt/s, 상기 에너지는 10,258J임을 알 수 있다.
상기 RDM은 상기 자원 이용 플랜에서 사용되는 상기 모바일 장치(100)및 상기 센서(200)들이 실행될 때 필요로 하는 자원 수요 행렬이다. 상기 RDM은 상기 모바일 장치(100) 및 상기 센서(200)의 중앙 처리 장치(CPU), 주파수 대역폭, 메모리, 에너지의 사용량 정보를 포함할 수 있다.
도 9를 보면, 본 자원 이용 플랜은 모바일 장치(MOBILE), 좌측 손목 가속도 센서(ACCEL on L.Wrist) 및 우측 대퇴부 가속도 센서(ACCEL on R.Thigh)에서 실행된다. 상기 모바일 장치(MOBILE)가 플랜을 실행하기 위해 필요로 하는 상기 CPU는 3.32%, 상기 메모리(Mem)는 4,571KB, 상기 주파수 대역폭은 24.125pkt/s, 상기 에너지는 6,621mJ/s임을 알 수 있다. 상기 좌측 손목 가속도 센서(ACCEL on L.Wrist)가 플랜을 실행하기 위해 필요로 하는 상기 CPU는 11.71%, 상기 메모리(Mem)는 20B, 상기 주파수 대역폭은 21pkt/s, 상기 에너지는 29.28mJ/s임을 알 수 있다. 상기 우측 대퇴부 가속도 센서(ACCEL on R.Thigh)가 플랜을 실행하기 위해 필요로 하는 상기 CPU는 3.43%, 상기 메모리(Mem)는 768B, 상기 주파수 대역폭은 4.125pkt/s, 상기 에너지는 25.64mJ/s임을 알 수 있다.
상기 플랜 선택기(133)는 상기 RDM은 RAM 보다 작은 상기 최종 플랜을 선택할 수 있다. 또한, 복수의 CMQ가 있는 본 실시예에서, 상기 플랜 선택기(133)는 상기 RDM이 상기 RAM 보다 작은 상기 1차 피지컬 플랜 세트들을 선택할 수 있다. 만약 현재 이용 가능한 자원보다 상기 플랜 또는 상기 피지컬 플랜 세트가 요구하는 자원이 큰 경우, 상기 플랜 또는 상기 피지컬 플랜 세트가 정상적으로 실행될 수 없기 때문이다. 즉, 자원 제약(Resource Constraint)을 위반하게 된다.
둘째로, 플랜 선택기(133)는 상기 1차 피지컬 플랜 세트들 중 최소의 자원을 이용하는 최종 피지컬 플랜 세트를 선택한다. 상기 플랜 선택기(133)는 상기 최종 피지컬 플랜 세트를 선택함에 있어, 상기 정책 관리기(137)의 자원 이용 정책(Policy)을 이용할 수 있다.
예를 들어, 상기 플랜 선택기(133)는 상기 1차 피지컬 플랜 세트들 중 최소의 에너지를 이용하는 상기 최종 피지컬 플랜 세트를 선택할 수 있다. 상기 플랜 선택기(133)는 상기 상황(Context) 인식의 정확도(Accuracy)를 최대로 높이는 상기 최종 피지컬 플랜 세트를 선택할 수 있다. 상기 플랜 선택기(133)는 상기 애플리케이션(300)의 실행 시간을 최대로 하는 상기 최종 피지컬 플랜 세트를 선택할 수 있다.
도 10은 도 2의 모바일 장치에 포함되는 플랜 처리기를 나타내는 블록도이다.
도 1, 도 2 및 도 10을 참조하면, 상기 플랜 처리기(150)는 상황 인식기(151) 및 특성값 추출기(153)를 포함한다.
상기 특성값 추출기(153)는 상기 센서 브로커(170)로부터 상기 센싱 데이터(SDATA)를 수신하여, 상기 센싱 데이터(SDATA)로부터 특성값(FEATURE)을 추출한다. 상기 특성값 추출기(153)는 상기 특성값(FEATURE)을 상기 상황 인식기(151)에 전달한다.
예를 들어, 상기 특성값 추출기(153)는 주파수 영역 특성값 추출을 수행할 수 있고, 통계적 특성값 추출을 수행할 수 있다. 상기 특성값 추출기(153)는 상기 최종 플랜(PLAN)에 의해, 특성값 추출을 상기 모바일 장치(100)가 수행하지 않고 상기 센서(200)가 수행하는 경우, 동작하지 않을 수 있다.
상기 상황 인식기(151)는 상기 특성값 추출기(153) 또는 상기 센서 브로커(170)로부터 상기 특성값(FEATURE)을 수신하여, 상기 특성값(FEATURE)으로부터 상황(CONTEXT)을 인식한다. 상기 상황 인식기(151)는 상기 상황(CONTEXT)을 상기 애플리케이션 브로커(110)에 전달한다.
예를 들어, 상기 상황 인식기(151)는 디시젼 트리 분류기(Decision tree classifier)를 이용하여 상기 상황(CONTEXT)을 인식할 수 있고, 나이브 베이즈 분류기(Naive Bayes classifier)를 이용하여 상기 상황을 인식할 수 있다.
도 11은 도 2의 모바일 장치에 포함되는 센서 브로커를 나타내는 블록도이다.
상기 도 1, 도 2 및 도 11을 참조하면, 상기 센서 브로커(170)는 메시지 번역기(171), 통신 관리기(173) 및 센서 검출기(175)를 포함한다.
상기 메시지 번역기(171)는 상기 모바일 장치(100) 및 상기 센서(200) 사이에 주고받는 메시지를 번역한다. 예를 들면, 상기 메시지는 상기 센싱 데이터(SDATA), 상기 특성값(FEATURE) 및 상기 센서(200)의 자원 이용 상태(STATUS)를 포함할 수 있다.
상기 통신 관리기(173)는 상기 모바일 장치(100) 및 상기 센서(200) 사이의 통신을 관리한다.
상기 센서 검출기(175)는 네트워크 내에 존재하는 센서(200)들의 온/오프 상태를 실시간으로 검출한다. 상기 센서 검출기(175)는 상기 검출된 센서(200)들의 온/오프 상태를 상기 프로세싱 플래너(130)에 전달한다. 상기 프로세싱 플래너(130)는 상기 검출된 센서를 기초로 하여 상기 자원 이용 플랜들을 생성할 수 있다.
도 12는 도 1의 상황 모니터링 시스템에 포함되는 센서를 나타내는 블록도이다.
도 1 및 도 12를 참조하면, 상기 센서(200)는 모바일 장치 브로커(210), 플랜 처리기(230) 및 리소스 모니터(250)를 포함한다.
상기 모바일 장치 브로커(210)는 상기 모바일 장치(100)와 통신한다. 상기 모바일 장치 브로커(210)는 상기 모바일 장치(100)로부터 상기 최종 플랜(PLAN)을 수신하여, 상기 플랜 처리기(230)에 전달한다. 상기 모바일 장치 브로커(210)는 상기 플랜 처리기의 상기 센싱 데이터(SDATA) 또는 상기 특성값(FEATURE)을 수신하여, 상기 모바일 장치(100)에 전달한다. 상기 모바일 장치 브로커(210)는 상기 리소스 모니터(250)로부터 상기 센서(200)의 상기 자원 이용 상태(STATUS)를 수신하여, 상기 모바일 장치(100)에 전달한다.
상기 플랜 처리기(230)는 상기 모바일 장치 브로커(210)로부터 상기 최종 플랜(PLAN)을 수신하여, 상기 최종 플랜(PLAN)을 실행한다. 상기 플랜 처리기(230)는 상기 센싱 데이터(SDATA)를 검출한다. 또한, 상기 플랜 처리기(230)는 상기 센싱 데이터(SDATA)로부터 특성값(FEATURE)을 추출할 수 있다. 상기 플랜 처리기(230)는 상기 센싱 데이터(SDATA) 및 상기 특성값(FEATURE)을 상기 모바일 장치 브로커(210)에 전달한다.
상기 리소스 모니터(250)는 상기 센서(200)의 자원 이용 상태(STATUS)를 실시간으로 모니터링한다. 상기 리소스 모니터(250)는 상기 자원 이용 상태(STATUS)를 상기 모바일 장치 브로커(210)에 전달한다.
도 13은 도 12의 센서에 포함되는 플랜 처리기를 나타내는 블록도이다.
도 1, 도 12 및 도 13을 참조하면, 상기 플랜 처리기(230)는 센싱부(231) 및 특성값 추출기(233)를 포함한다.
상기 센싱부(231)는 상기 최종 플랜(PLAN)에 응답하여 상기 센싱 데이터(SDATA)를 검출한다. 상기 센싱부(231)는 상기 최종 플랜(PLAN)에 따라, 상기 센싱 데이터(SDATA)를 상기 특성값 추출기(233)에 전달할 수 있고, 상기 센싱 데이터(SDATA)를 상기 모바일 장치 브로커(210)에 전달할 수 있다.
상기 특성값 추출기(233)는 상기 센싱부(231)로부터 상기 센싱 데이터(SDATA)를 수신하여, 상기 센싱 데이터(SDATA)로부터 특성값(FEATURE)을 추출한다. 상기 특성값 추출기(233)는 상기 특성값(FEATURE)을 상기 모바일 장치 브로커(210)에 전달한다.
예를 들어, 상기 특성값 추출기(233)는 주파수 영역 특성값 추출을 수행할 수 있고, 통계적 특성값 추출을 수행할 수 있다. 상기 특성값 추출기(233)는 상기 최종 플랜(PLAN)에 따라, 특성값 추출을 상기 센서(200)가 수행하지 않고 상기 모바일 장치(100)가 수행하는 경우, 동작하지 않을 수 있다.
도 14는 도 1의 모바일 장치를 이용하는 상황 모니터링 방법을 나타내는 흐름도이다.
도 1 및 도 14를 참조하면, 상기 모바일 장치(100)를 이용하는 상기 상황 모니터링 방법에서, 상기 모바일 장치(100)는 상기 애플리케이션(300)의 CMQ에 응답하여 복수의 자원 이용 플랜들을 생성한다(단계 S100). 상기 모바일 장치(100)는 상기 자원 이용 플랜들 중에서 상기 CMQ의 요구 사항을 만족하는 하나의 최종 플랜(PLAN)을 선택한다(단계 S200). 상기 모바일 장치(100) 및 상기 센서(200)는 선택된 상기 최종 플랜(PLAN)을 협력적으로 실행한다(단계 S300).
도 15는 도 14의 자원 이용 플랜들을 생성하는 단계를 자세히 나타내는 흐름도이다.
도 4, 도 5 및 도 15를 참조하면, 상기 자원 이용 플랜들을 생성하는 단계(S100)에서, 상기 모바일 장치(100)의 상기 플랜 생성기(131)는 상기 로지컬 플랜을 생성한다(단계 S110). 상기 플랜 생성기(131)는 상기 피지컬 플랜을 생성한다(단계 S120).
상기 로지컬 플랜(LPLAN)은 상기 상황(CONTEXT)을 인식하기 위하여 어떠한 처리 과정이 필요한 지에 대한 정보를 담고 있다. 상기 피지컬 플랜(PPLAN)은 상기 로지컬 플랜(LPLAN)의 처리 과정을 어떤 장치가 수행하는 지에 대한 정보를 추가로 담고 있다.
예를 들어, 상기 로지컬 플랜(LPLAN)은 센싱 데이터(SDATA) 검출, 상기 센싱 데이터로부터의 특성값(FEATURE) 추출 및 상기 특성값으로부터의 상황(CONTEXT) 인식의 정보를 포함한다. 상기 피지컬 플랜(PPLAN)은 상기 센싱 데이터 검출, 상기 특성값 추출 및 상기 상황 인식을 수행하는 주체에 대한 정보를 포함한다.
도 16은 도 14의 최종 플랜을 선택하는 단계를 자세히 나타내는 흐름도이다.
도 4, 도 8, 도 9 및 도 16을 참조하면, 상기 최종 플랜(PLAN)을 선택하는 단계(S200)에서, 상기 모바일 장치(100)의 상기 플랜 선택기(133)는 상기 CMQ의 요구 사항을 만족시키는 플랜을 선택한다(단계 S210). 예를 들어, 상기 CMQ의 요구 사항은 상황 인식의 정확도(Accuracy)일 수 있다. 또한, 상기 CMQ의 요구 사항은 전체 자원의 이용에 대한 다양한 정보를 포함할 수 있다. 예를 들어, 상기 CMQ의 요구 사항은 CPU, 주파수 대역폭, 메모리 사용량, 에너지 사용량 등의 범위를 포함할 수 있다.
상기 플랜 선택기(133)는 상기 리소스 모니터(135)가 모니터링하는 상기 모바일 장치(100)의 자원 이용 상태에 기초하여 상기 플랜을 선택한다(단계 S220). 예를 들어, 상기 플랜 선택기(133)는 상기 RDM이 상기 RAM 보다 작은 상기 플랜을 선택할 수 있다. 만약 현재 이용 가능한 자원보다 상기 플랜이 요구하는 자원이 큰 경우, 상기 플랜이 정상적으로 실행될 수 없기 때문이다. 즉, 자원 제약(Resource Constraint)을 위반하게 된다.
상기 RAM은 상기 모바일 장치(100) 및 상기 센서(200)의 중앙 처리 장치(CPU), 주파수 대역폭, 메모리, 에너지의 정보를 포함할 수 있다. 상기 RDM은 상기 모바일 장치(100) 및 상기 센서(200)의 중앙 처리 장치(CPU), 주파수 대역폭, 메모리, 에너지의 정보를 포함할 수 있다.
상기 플랜 선택기(133)는 상기 정책 관리기(137)에 저장된 자원 이용 정책(Policy)에 기초하여 상기 최종 플랜(PLAN)을 선택한다(단계 S230). 예를 들어, 상기 자원 이용 정책은 복수의 상기 CMQ들이 있을 때, 동시에 많은 상기 CMQ를 수행하는 상기 최종 플랜(PLAN)을 선택하도록 작성될 수 있다. 또한, 상기 자원 이용 정책은 상기 CPU의 이용률을 최저로 하는 상기 최종 플랜(PLAN)을 선택하도록 작성될 수 있다. 상기 정책 관리기(137)는 복수의 상기 자원 이용 정책들을 포함할 수 있고, 상기 자원 이용 정책들의 적용 순서를 포함할 수 있다.
실시예에 따라, 상기 최종 플랜을 선택하는 단계(S200)의 각 세부 단계들(S210, S220, S230)은 일부 단계가 생략될 수 있고, 각 세부 단계들(S210, S220, S230)의 적용 순서가 바뀔 수 있다.
도 17은 도 14의 최종 플랜을 실행하는 단계를 자세히 나타내는 흐름도이다.
도 10, 도 13 및 도 17을 참조하면, 상기 최종 플랜(PLAN)을 실행하는 단계(S300)에서, 상기 센서(200)의 상기 센싱부(231)는 센싱 데이터(SDATA)를 검출한다(단계 S310). 상기 모바일 장치(100)의 특성값 추출기(153) 또는 상기 센서(200)의 특성값 추출기(233)는 상기 센싱 데이터(SDATA)로부터 특성값(FEATURE)을 추출한다(단계 S320). 상기 모바일 장치(100)의 상황 인식기(151)는 상기 특성값(FEATURE)으로부터 상황(CONTEXT)을 인식한다(단계 S330).
상기한 바와 같이, 상기 최종 플랜(PLAN)에 따라 상기 특성값 추출 단계(S320)는 상기 모바일 장치(100) 측 또는 상기 센서(200) 측에서 선택적으로 실행될 수 있다.
본 발명의 다른 실시예에서, 상기 모바일 장치(100)가 센싱부를 포함하여, 상기 최종 플랜(PLAN)에 따라 상기 센싱 데이터 검출 단계(S310)는 상기 모바일 장치(100) 측 또는 상기 센서(200) 측에서 선택적으로 실행될 수 있다.
본 발명의 다른 실시예에서, 상기 센서(200)가 상황 인식기를 포함하여, 상기 최종 플랜(PLAN)에 따라 상기 상황 인식 단계(S310)는 상기 모바일 장치(100) 측 또는 상기 센서(200) 측에서 선택적으로 실행될 수 있다.
본 발명에 따르면, 자원 이용 플랜들을 생성하고, 상기 자원 이용 플랜들 중 애플리케이션의 CMQ의 요구 사항을 만족하는 최종 플랜을 선택 및 실행하여 제한된 자원을 균형적이고 효율적으로 이용할 수 있다. 또한, 오랜 시간 동안 지속적으로 서비스를 제공할 수 있다.
상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (34)

  1. 애플리케이션의 상황 모니터링 쿼리(Context Monitoring Query, 이하 CMQ)에 응답하여 복수의 자원 이용 플랜들을 생성하고, 상기 자원 이용 플랜들 중 상기 CMQ의 요구 사항을 만족하는 최종 플랜을 선택하는 프로세싱 플래너; 및
    상기 최종 플랜을 실행하는 플랜 처리기를 포함하는 모바일 장치.
  2. 제1항에 있어서, 상기 모바일 장치는
    개인 영역 네트워크(Personal Area Network, PAN) 환경에서 사용되는 것을 특징으로 하는 모바일 장치.
  3. 제1항에 있어서, 상기 모바일 장치는
    상기 애플리케이션과 통신하기 위한 애플리케이션 브로커를 더 포함하는 것을 특징으로 하는 모바일 장치.
  4. 제1항에 있어서, 상기 모바일 장치는
    센싱 데이터를 제공하는 센서와 통신하기 위한 센서 브로커를 더 포함하는 것을 특징으로 하는 모바일 장치.
  5. 제1항에 있어서, 상기 자원 이용 플랜은
    센싱 데이터 검출, 상기 센싱 데이터로부터의 특성값 추출 및 상기 특성값으로부터의 상황 인식의 정보를 포함하는 로지컬 플랜; 및
    상기 센싱 데이터 검출, 상기 특성값 추출 및 상기 상황 인식을 수행하는 주체에 대한 정보를 포함하는 피지컬 플랜을 포함하는 것을 특징으로 하는 모바일 장치.
  6. 제5항에 있어서, 상기 주체는
    상기 모바일 장치 및 센서인 것을 특징으로 하는 모바일 장치.
  7. 제1항에 있어서, 상기 프로세싱 플래너는
    이용 가능한 센서를 실시간으로 검출하고, 상기 검출된 센서를 기초로 하여 상기 자원 이용 플랜들을 생성하는 것을 특징으로 하는 모바일 장치.
  8. 제1항에 있어서, 상기 프로세싱 플래너는
    상기 모바일 장치의 자원 이용 상황을 실시간으로 모니터링하는 리소스 모니터를 더 포함하고,
    상기 리소스 모니터가 모니터링한 상기 자원 이용 상황에 기초하여 상기 최종 플랜을 선택하는 것을 특징으로 하는 모바일 장치.
  9. 제8항에 있어서, 상기 프로세싱 플래너는
    네트워크 내의 상기 모바일 장치 및 센서의 가용 자원 행렬(Resource Availability Matrix, 이하 RAM) 및 상기 자원 이용 플랜들의 자원 수요 행렬(Resource Demand Matrix, 이하 RDM)을 비교하여 상기 최종 플랜을 선택하는 것을 특징으로 하는 모바일 장치.
  10. 제9항에 있어서, 상기 프로세싱 플래너는
    상기 RDM이 상기 RAM보다 작은 상기 최종 플랜을 선택하는 것을 특징으로 하는 모바일 장치.
  11. 제9항에 있어서, 상기 RAM은
    상기 네트워크 내의 상기 모바일 장치 및 상기 센서의 사용가능한 중앙 처리 장치(CPU), 주파수 대역폭, 메모리, 에너지의 정보를 포함하는 것을 특징으로 하는 모바일 장치.
  12. 제9항에 있어서, 상기 RDM은
    상기 자원 이용 플랜에서 사용되는 모바일 장치 및 상기 센서의 중앙 처리 장치(CPU), 주파수 대역폭(BANDWIDTH), 메모리, 에너지의 정보를 포함하는 것을 특징으로 하는 모바일 장치.
  13. 제1항에 있어서, 상기 프로세싱 플래너는
    상기 자원 이용 플랜들 중 상기 최종 플랜을 선택하기 위한 자원 이용 정책(Policy)을 저장하는 정책 관리기를 더 포함하고,
    상기 정책 관리기에 저장된 상기 자원 이용 정책에 기초하여 상기 최종 플랜을 선택하는 것을 특징으로 하는 모바일 장치.
  14. 제1항에 있어서, 상기 프로세싱 플래너는
    복수의 CMQ가 있을 때, 상기 자원 이용 플랜들을 포함하는 플랜 세트들을 생성하고,
    상기 플랜 세트들 중 동시에 많은 CMQ를 수행하는 1차 플랜 세트들을 선택하며,
    상기 1차 플랜 세트들 중 최소의 자원을 이용하는 최종 플랜 세트를 선택하는 것을 특징으로 하는 모바일 장치.
  15. 제1항에 있어서, 상기 플랜 처리기는
    센서에 의해 검출된 센싱 데이터로부터 특성값을 추출하는 특성값 추출기; 및
    상기 추출한 특성값으로부터 상황을 인식하는 상황 인식기를 포함하는 것을 특징으로 하는 모바일 장치.
  16. 제1항에 있어서, 상기 CMQ는
    모니터링할 상황(Context), 상기 상황 인식의 정확도(Accuracy) 및 모니터링 기간(Duration)을 포함하는 것을 특징으로 하는 모바일 장치.
  17. 애플리케이션의 상황 모니터링 쿼리(Context Monitoring Query, 이하 CMQ)에 응답하여 복수의 자원 이용 플랜들을 생성하는 단계;
    상기 자원 이용 플랜들 중 상기 CMQ의 요구 사항을 만족하는 최종 플랜을 선택하는 단계; 및
    상기 최종 플랜을 실행하는 단계를 포함하는 상황 모니터링 방법.
  18. 제17항에 있어서, 상기 상황 모니터링 방법은
    개인 영역 네트워크(Personal Area Network, PAN) 환경에서 사용되는 것을 특징으로 하는 상황 모니터링 방법.
  19. 제17항에 있어서, 상기 자원 이용 플랜들을 생성하는 단계는
    센싱 데이터 검출, 상기 센싱 데이터로부터의 특성값 추출 및 상기 특성값으로부터의 상황 인식의 정보를 포함하는 로지컬 플랜을 생성하는 단계; 및
    상기 센싱 데이터 검출, 상기 특성값 추출 및 상기 상황 인식을 수행하는 주체에 대한 정보를 포함하는 피지컬 플랜을 생성하는 단계를 포함하는 것을 특징으로 하는 상황 모니터링 방법.
  20. 제19항에 있어서, 상기 주체는
    모바일 장치 및 센서인 것을 특징으로 하는 상황 모니터링 방법.
  21. 제17항에 있어서, 상기 복수의 자원 이용 플랜들을 생성하는 단계는
    이용 가능한 센서를 실시간으로 검출하고, 상기 검출된 센서를 기초로 하여 상기 자원 이용 플랜들을 생성하는 것을 특징으로 하는 상황 모니터링 방법.
  22. 제17항에 있어서, 상기 최종 플랜을 선택하는 단계는
    실시간으로 모니터링한 자원 이용 상황에 기초하여 상기 최종 플랜을 선택하는 것을 특징으로 하는 상황 모니터링 방법.
  23. 제22항에 있어서, 상기 최종 플랜을 선택하는 단계는
    네트워크 내의 모바일 장치 및 센서의 가용 자원 행렬(Resource Availability Matrix, 이하 RAM) 및 상기 자원 이용 플랜들의 자원 수요 행렬(Resource Demand Matrix, 이하 RDM)을 비교하는 것을 특징으로 하는 상황 모니터링 방법.
  24. 제23항에 있어서, 상기 최종 플랜을 선택하는 단계는
    상기 RDM이 상기 RAM보다 작은 상기 최종 플랜을 선택하는 것을 특징으로 하는 상황 모니터링 방법.
  25. 제24항에 있어서, 상기 RAM은
    상기 네트워크 내의 상기 모바일 장치 및 상기 센서의 사용가능한 중앙 처리 장치(CPU), 주파수 대역폭, 메모리, 에너지의 정보를 포함하는 것을 특징으로 하는 상황 모니터링 방법.
  26. 제24항에 있어서, 상기 RDM은
    상기 자원 이용 플랜에서 사용되는 모바일 장치 및 상기 센서의 중앙 처리 장치(CPU), 주파수 대역폭(BANDWIDTH), 메모리, 에너지의 정보를 포함하는 것을 특징으로 하는 상황 모니터링 방법.
  27. 제17항에 있어서, 상기 최종 플랜을 선택하는 단계는
    상기 자원 이용 플랜들 중 상기 최종 플랜을 선택하기 위한 자원 이용 정책(Policy)에 기초하여 상기 최종 플랜을 선택하는 것을 특징으로 하는 상황 모니터링 방법.
  28. 제17항에 있어서, 상기 최종 플랜을 선택하는 단계는
    복수의 CMQ가 있을 때, 상기 자원 이용 플랜들을 포함하는 플랜 세트들을 생성하는 단계;
    상기 플랜 세트들 중 동시에 많은 CMQ를 수행하는 1차 플랜 세트들을 선택하는 단계; 및
    상기 1차 플랜 세트들 중 최소의 자원을 이용하는 최종 플랜 세트를 선택하는 단계를 포함하는 것을 특징으로 하는 상황 모니터링 방법.
  29. 제17항에 있어서, 상기 최종 플랜을 실행하는 단계는
    상기 최종 플랜에 의해 정해진 주체가 각각,
    센싱 데이터를 검출하는 단계;
    상기 센싱 데이터로부터 특성값을 추출하는 단계; 및
    상기 추출한 특성값으로부터 상황을 인식하는 단계를 포함하는 것을 특징으로 하는 상황 모니터링 방법.
  30. 제17항에 있어서, 상기 CMQ는
    모니터링할 상황(Context), 상기 상황 인식의 정확도(Accuracy) 및 모니터링 기간(Duration)을 포함하는 것을 특징으로 하는 모바일 장치.
  31. 상황 모니터링 쿼리(Context Monitoring Query, 이하 CMQ)를 요청하고, 상기 CMQ를 만족하는 경우 이벤트를 수신하는 애플리케이션;
    상기 애플리케이션의 CMQ에 응답하여 복수의 자원 이용 플랜들을 생성하고, 상기 자원 이용 플랜들 중 상기 CMQ의 요구 사항을 만족하는 최종 플랜을 선택하는 프로세싱 플래너, 및 상기 최종 플랜을 실행하는 플랜 처리기를 포함하는 모바일 장치; 및
    상기 최종 플랜을 실행하는 센서를 포함하는 상황 모니터링 시스템.
  32. 제31항에 있어서, 상기 상황 모니터링 시스템은
    개인 영역 네트워크(Personal Area Network, PAN) 환경에서 사용되는 것을 특징으로 하는 상황 모니터링 시스템.
  33. 제31항에 있어서, 상기 센서는
    모바일 장치와 통신하는 모바일 장치 브로커;
    상기 최종 플랜을 실행하는 플랜 처리기; 및
    상기 센서의 자원 이용 상황을 실시간으로 모니터링하는 리소스 모니터를 포함하는 것을 특징으로 하는 상황 모니터링 시스템.
  34. 제33항에 있어서, 상기 플랜 처리기는
    센싱 데이터를 검출하는 센싱부; 및
    상기 센싱 데이터로부터 특성값을 추출하는 특성값 추출부를 포함하는 것을 특징으로 하는 상황 모니터링 시스템.
KR1020100058482A 2010-06-21 2010-06-21 상황 모니터링을 지원하는 모바일 장치, 이를 이용하는 상황 모니터링 방법 및 이를 포함하는 상황 모니터링 시스템 KR101183124B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100058482A KR101183124B1 (ko) 2010-06-21 2010-06-21 상황 모니터링을 지원하는 모바일 장치, 이를 이용하는 상황 모니터링 방법 및 이를 포함하는 상황 모니터링 시스템
US13/036,521 US8599710B2 (en) 2010-06-21 2011-02-28 Mobile apparatus supporting context monitoring, method of monitoring context using the same and context monitoring system having the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100058482A KR101183124B1 (ko) 2010-06-21 2010-06-21 상황 모니터링을 지원하는 모바일 장치, 이를 이용하는 상황 모니터링 방법 및 이를 포함하는 상황 모니터링 시스템

Publications (2)

Publication Number Publication Date
KR20110138547A true KR20110138547A (ko) 2011-12-28
KR101183124B1 KR101183124B1 (ko) 2012-09-14

Family

ID=45328576

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100058482A KR101183124B1 (ko) 2010-06-21 2010-06-21 상황 모니터링을 지원하는 모바일 장치, 이를 이용하는 상황 모니터링 방법 및 이를 포함하는 상황 모니터링 시스템

Country Status (2)

Country Link
US (1) US8599710B2 (ko)
KR (1) KR101183124B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014046369A1 (ko) * 2012-09-24 2014-03-27 한국과학기술원 협동적 상황 모니터링을 수행하는 모바일 장치, 이를 이용하는 협동적 상황 모니터링 방법 및 이를 포함하는 협동적 상황 모니터링 시스템
KR101403949B1 (ko) * 2013-02-26 2014-06-09 한국과학기술원 모바일 상황 모니터링을 위한 효율적 데이터 처리를 수행하는 모바일 장치, 이를 이용하는 데이터 처리 방법, 이를 이용하는 상황 모니터링 방법 및 이를 포함하는 상황 모니터링 시스템

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8731537B2 (en) * 2011-01-04 2014-05-20 Qualcomm Incorporated Wireless communication devices in which operating context is used to reduce operating cost and methods for operating same
KR102060703B1 (ko) 2013-03-11 2020-02-11 삼성전자주식회사 모바일 시스템의 최적화 방법
US10108964B2 (en) * 2015-07-10 2018-10-23 Sugarcrm Inc. Smart user feedback
CN107861814B (zh) * 2017-10-31 2023-01-06 Oppo广东移动通信有限公司 资源配置方法及设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065568B2 (en) * 2000-11-30 2006-06-20 Microsoft Corporation System and method for managing states and user context over stateless protocols
US7091851B2 (en) * 2002-07-02 2006-08-15 Tri-Sentinel, Inc. Geolocation system-enabled speaker-microphone accessory for radio communication devices
US7450959B2 (en) * 2003-12-31 2008-11-11 Qualcomm Incorporated Wireless multiprocessor system-on-chip with unified memory and fault inhibitor
US7907934B2 (en) * 2004-04-27 2011-03-15 Nokia Corporation Method and system for providing security in proximity and Ad-Hoc networks
KR100682995B1 (ko) * 2004-12-16 2007-02-15 한국전자통신연구원 유비쿼터스 기반의 상황 정보 제공 서비스 시스템 및 그방법
US20060241954A1 (en) * 2005-04-22 2006-10-26 International Business Machines Corporation Method and system for adaptive action management for business solutions
US8073436B2 (en) * 2006-01-31 2011-12-06 Toshiba America Research, Inc. Applications and/or situation responsive utilization of silent periods
KR100793057B1 (ko) * 2006-09-01 2008-01-10 한국전자통신연구원 이기종 센서 네트워크 기반의 정보 서비스 생성을 위한usn 미들웨어 장치 및 그 방법과, 그를 이용한 정보서비스 제공 시스템
KR100861329B1 (ko) * 2007-04-06 2008-10-01 한국과학기술원 상황 모니터링을 지원하는 상황 모니터링 장치 및 상황 모니터링 방법
WO2008151818A2 (en) * 2007-06-14 2008-12-18 Stichting Imec Nederland A method of and a system for sensor signal data analysis
US7855639B2 (en) * 2007-06-25 2010-12-21 Motorola, Inc. Dynamic resource assignment and exit information for emergency responders
US20090089078A1 (en) * 2007-09-28 2009-04-02 Great-Circle Technologies, Inc. Bundling of automated work flow
US20100076777A1 (en) * 2008-09-23 2010-03-25 Yahoo! Inc. Automatic recommendation of location tracking privacy policies
US20100081411A1 (en) * 2008-09-29 2010-04-01 John Mathew Montenero, III Multifunctional telemetry alert safety system (MTASS)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014046369A1 (ko) * 2012-09-24 2014-03-27 한국과학기술원 협동적 상황 모니터링을 수행하는 모바일 장치, 이를 이용하는 협동적 상황 모니터링 방법 및 이를 포함하는 협동적 상황 모니터링 시스템
US9756095B2 (en) 2012-09-24 2017-09-05 Korea Advanced Institute Of Science And Technology Mobile device for performing monitoring on cooperative situation, method of performing monitoring on cooperative situation using said mobile device, and system for performing monitoring on cooperative situation including said mobile device
KR101403949B1 (ko) * 2013-02-26 2014-06-09 한국과학기술원 모바일 상황 모니터링을 위한 효율적 데이터 처리를 수행하는 모바일 장치, 이를 이용하는 데이터 처리 방법, 이를 이용하는 상황 모니터링 방법 및 이를 포함하는 상황 모니터링 시스템

Also Published As

Publication number Publication date
US20110310751A1 (en) 2011-12-22
US8599710B2 (en) 2013-12-03
KR101183124B1 (ko) 2012-09-14

Similar Documents

Publication Publication Date Title
US11363953B2 (en) Methods and systems for managing medical anomalies
KR101183124B1 (ko) 상황 모니터링을 지원하는 모바일 장치, 이를 이용하는 상황 모니터링 방법 및 이를 포함하는 상황 모니터링 시스템
Khowaja et al. Contextual activity based Healthcare Internet of Things, Services, and People (HIoTSP): An architectural framework for healthcare monitoring using wearable sensors
Bellifemine et al. SPINE: a domain‐specific framework for rapid prototyping of WBSN applications
Lee et al. Mobicon: a mobile context-monitoring platform
CN111459060A (zh) 一种机器人软件系统及其机器人
KR20200046191A (ko) 실시간 사용자 행위 분석에 의한 계층적 상황인지 및 디바이스 자율 구성 장치 및 그 방법
Sanchez-Valdes et al. Dynamic linguistic descriptions of time series applied to self-track the physical activity
Zhuang et al. Tradeoffs in cross platform solutions for mobile assistive technology
Zhang et al. On-demand deployment for IoT applications
CN112288231B (zh) 人工智能产品的配置生成方法、装置、电子设备及存储介质
KR102143579B1 (ko) 블록체인망을 이용한 헬스케어 관제 시스템
CN107276856B (zh) 网络检测方法、网络检测装置及智能终端
CN103167012A (zh) 实时动态决策系统及其方法
KR101319603B1 (ko) 모바일 클라우드 환경에서 추천 서비스를 위한 능동적 상황인식 시스템
Mrozek et al. Fuzzy intelligence in monitoring older adults with wearables
KR100656372B1 (ko) 로봇 서비스 가용성 평가 방법 및 시스템
CN111522269A (zh) 一种实验监控方法和相关装置
Liu A Bayesian deep learning network system based on edge computing
US20210166082A1 (en) Data analysis system and data analysis method
CN112543195B (zh) 面向智能网联汽车的信息安全评估方法、装置及电子设备
Bhatti et al. Learning distributed deployment and configuration trade-offs for context-aware applications in Intelligent Environments
Vidigal et al. Elder falls detection based on artificial neural networks
US11557898B2 (en) Method and devices for processing sensor data by applying one or more processing pipelines to the sensor data
CN113360908A (zh) 数据处理方法、违规识别模型训练方法及相关设备

Legal Events

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

Payment date: 20150826

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee