Emerging personal mobile environment will incorporate a number of diverse sensors and a powerful mobile device. In the environment, diverse sensor-based applications continuously process sensor data, recongnize personal contexts and proactively provide services best fit to users’ contexts. The major challenge in developing such applications lies in the dynamic changes in sensor availability and status. Sensors may dynamically join and leave the personal mobile environment due to users’ mobility. Also, sensor resource usages such as energy and bandwith consumption continue to change while applications are running. To address the challenge, we propose bOM, a novel system orchestration framework that supports the applications to seamlessly run in the dynamic environment. bOM first translates application requests to candidate processing pipelines, each of which determines which sensors are to be utilized. While monitoring the resource availability and status in real-time, bOM dynamically chooses the best candidate pipeline to meet diverse resource requirements complying with system policies. We implement bOM as a prototype system on off-the-shelf mobile phone (Nokia N96) and sensors (MicaZ). Experimental results show that bOM enables more number of application requests to be processed with higher evaluation success ratio under the dynamic changes in sensor availability.
모바일 디바이스의 발전에 따라 주변의 다양한 센서를 활용한 다양한 어플리케이션들이 개발되고 있다. 이런 환경에서 다양한 센서 기반의 어플리케이션들은 지속적으로 센서 값을 읽어 들이고 개인의 상황을 인지하며 사용자의 상황에 맞는 서비스를 제공하게 된다. 이런 어플리케이션의 개발에 있어서 센서의 가용 여부와 상황의 지속적 변화는 큰 걸림돌이 된다. 센서들은 사용자의 이동성에 따라 개인 모바일 환경에 연결되기도 하고 연결이 끊기기도 한다. 또한 네트워크나 에너지와 같은 센서 자원 사용도 어플리케이션이 실행되는 동안 지속적으로 변화한다. 이런 문제점을 해결하기 위해 우리는 센서 상황 변화에 따라 동적 환경에서도 지속적으로 어플리케이션의 실행을 지원도록 시스템을 조율하는 프레임워크인 bOM을 제안한다. bOM은 먼저 어플리케이션들의 요구사항에 따라 어떤 센서를 사용할지를 결정하는 프로세싱 파이프라인들을 결정한다. 이 후에 센서 자원 상황을 실시간으로 모니터링하여 이의 변화에 따라 어플리케이션들의 요구사항을 만족하면서 시스템 정책에 맞는 최선의 파이프라인을 선택하고 이에 맞게 어플리케이션들을 실행한다. 우리는 프로토타입 시스템으로써 bOM을 상용 폰(Nokia N96)과 MicaZ 센서를 이용하여 실제 구현하였다. 실험을 통해 bOM이 센서 상황의 변화에 따라 더 높은 확률로 어플리케이션들을 실행하도록 지원한다는 것을 보였다.