Over ten years ago Mark Weiser identified the goal of future computing to be ubiquitous computing. In the very near future, this goal will be realized as computation and communication capability will be embedded in virtually every appliance. The exponential increase in the numbers, types, and middleware of networked appliances will soon present a diversity of execution environments for applications. Therefore, developers have to redevelop the applications in order to deploy an identical application to another home even though that application is not changed. Moreover, since basic applications that control only a single appliance do not of for much added value compared to traditional appliances in future home, applications are likely to be powerful enough to integrate the control of multiple appliances tough re-configuring appliance interactions at any point during a service.
This situation raises interoperability issues that need to be resolved before networked appliances can be successfully mass-marked. Interoperability allows for the discovery, self-configuration, and control of appliances by dynamically binding the appliances without user intervention and modification of application logic under heterogeneous middleware. Interoperability will fulfill consumer's expectations about being able to access appliances anywhere and anytime, and make applications adjust their behavior intelligently with considering the heterogeneity of appliances through abstracting the diversity of functions of appliance at a high-level.
However, since current middleware, such as HAVi, Jini, UPnP, and LonWorks typically assume a static and a well-administrated environment, these applications cannot provide interoperability among heterogeneous appliances. Developing an application that can accommodate a diversity of execution environments in individual home without any modifications to the application, even if the predefined or user-defined preferences are changed, will not be an easy task. There are several approaches to provide the interoperability among heterogeneous home network middleware. Each approach is either a one-to-one or a one-to-any protocol conversion, based either on bridges or on defining the meta-protocol, respectively. However, since these approaches assume the static and well-administrated home network, these approaches cannot accommodate diversity of execution environment of future home and cannot support context-aware applications efficiently. Moreover, since these do not define the abstraction of functions of appliance, appliances cannot be replaced with other appliances dynamically.
This thesis identifies the interoperability framework that will be necessary for the future home environment. The Uniform Home Interoperability Framework (UHIF), as defined in this thesis, can integrate any middleware more simply and can also deploy applications without specifically considering the diversity of appliances. UHIF has following features. UHIF seamlessly enables interoperability among appliances through defining meta-protocol under heterogeneity. Furthermore, UHIF provides scalability by simply adding an adaptor for newly coming middleware, when new middleware will be developed one after another. Therefore, cost of implementation is cheap even though there are several middleware. UHIF accommodates the new appliances and diversities of the execution environment without any modification to the existing appliance by defining the high-level abstractions of functions of appliances. Since the abstraction of functions is defined as the mandatory set, and as the user-defined set, UHIF enables the application to dynamically substitute the appliances at during its execution according to its execution environment without any modification of the application code. Furthermore, UHIF can efficiently handle appliance specific functions.
Therefore, UHIF will reinforce consumers' expectations about accessing their contents anytime and anywhere, creating new appliance categories, adding functionality to existing appliances. As well, it offers numerous opportunities for content providers, manufacturers, retailers, and service providers to profit from advances in technology. Additional benefits from the interoperability are that consumers will have greater flexibility in selecting their appliances, which will drive consumer demand for more contents, appliances, and services. Moreover, for developers, interoperability will fuel more demand for appliances and applications in the home, creating numerous business opportunities, and stimulating the development of new product features and customized interfaces for market differentiation.
1990년 초에 Mark Weiser가 21세기에는 유비쿼터스 컴퓨팅 환경이 도래할 것이라 예측하였다. 즉, 가까운 미래에 계산과 통신 능력이 대부분의 디바이스에 내장될 것이며, 네트워크에 연결되는 디바이스의 수, 타입 그리고 이를 위한 미들웨어의 수가 증가됨에 따라 홈네트워크 응용 서비스들이 수행되는 환경이 다양해 질 것이다. 따라서, 개발자들은 동일한 응용 서비스일지라도 다른 집에 적용하기 위해서는 응용 프로그램을 다시 개발해야 한다. 이와 더불어, 하나의 디바이스를 원격에서 제어하는 기본적인 서비스는 미래의 홈에서 홈네트워크에 연결되지 않은 디바이스에서 제공하는 서비스와 비교하여 새로운 가치를 제공하지 못할 것임으로, 미래의 서비스는 다수의 디바이스에서 제공하는 기능을 조합해야만 새로운 가치를 창출할 수 있을 것이다.
이러한 상황이 디바이스간 상호호환성과 서비스 재구성에 대한 필요성을 야기하고 있다. 상호호환성은 이종의 미들웨어 환경에서 디바이스들을 자동으로 찾아서 구성하고 제어할 수 있으며 사용자의 개입이나 응용 프로그램을 수정하지 않고 디바이스들을 동적으로 조합할 수 있는 기능이다. 상호호환성은 사용자들이 언제, 어디서나 디바이스에 접근할 수 있기를 바라는 기대를 충족시키기 위해 상위계층에서 디바이스의 기능을 추상화시킴으로써 응용 프로그램이 다양한 디바이스에 따라 스스로 적응할 수 있게 하는 기능도 제공해야 한다.
그러나, 현재 HAVi, Jini, UPnP와 같은 미들웨어들은 정적이고 잘 관리되는 컴퓨팅 환경을 기반으로 한다. 따라서, 시스템 차원에서 자동적으로 실행환경 변화에 따른 대처를 하지 못하고 서비스 개발자들이 사전에 다양한 실행환경을 예상하여 서비스를 개발해야 한다. 즉, 미리 정의되었거나 사용자가 정의한 조건이 바뀌는 경우 서비스를 수정하지 않고 변화에 재구성 가능한 서비스를 개발하는 것은 쉬운 일이 아니다. 이종 홈네트워크 미들웨어간에 상호호환성을 제공하기 위한 연구들이 수행되고 있다. 이들 연구는 one-to-one방식의 브릿지와 one-to-any 프로토콜 변환을 제공하는 메타 프로토콜 방식이다. 그러나 이들 방식은 정적으로 잘 정의된 홈네트워크를 가정하고 있어 미래 가정의 다양한 실행 환경을 수용하지 못하며 상황-인지 응용을 효과적으로 지원하지 못한다. 더욱이, 이들은 디바이스의 기능을 추상화지 않음으로써 동적으로 디바이스를 다른 디바이스로 대체하는데 한계를 갖고 있다.
본 논문에서는 미래의 홈 환경을 위한 프레임워크인 UHIF (Unified Home Network Middleware)을 정의한다. UHIF 은 보다 쉽게 기존에 존재하거나 미래에 나타날 미들웨어를 수용하여 상호호환성을 보장하고 다양한 디바이스를 고려하지 않고 서비스를 확산시킬 수 있게 한다. 이를 위해 UHIF은 메타 프로토콜을 정의하여 단순히 프로토콜 변환 모듈을 개발함으로써, 새로 나오는 디바이스들을 손쉽게 수용할 수 있는 기반을 제공한다. 이와 더불어 UHIF 은 디바이스의 기능을 추상화하여 서비스 로직을 수정하지 않고 실행환경 변화에 따라 디바이스의 기능을 동적으로 조합할 수 있도록 한다. 특히, UHIF 은 디바이스의 기능을 mandatory-set 과 user-defined-set 으로 분리하고 디바이스의 기능을 동적으로 매핑시킴으로써 특정한 디바이스에서만 제공되는 기능도 지원할 수 있는 메커니즘을 제공한다. 즉, 서비스에서 이용하는 디바이스의 기능이 잘 추상화됨으로써 서비스를 수행할 때, 디바이스 상태를 고려하여 가장 적합한 디바이스 선택이 가능하며 디바이스 상태 변화에 따라 디바이스를 자동으로 바꿀 수 있는 환경을 제공한다.
UHIF 는 사용자들이 서비스를 언제, 어디서나 이용하기를 바라는 기대를 충족시키며, 새로운 디바이스 유형을 만들 수 있고 기존 디바이스에 새로운 기능을 추가할 수 있으며, 개발자들이 새로운 기술을 개발해 나갈 수 있는 기반을 제공한다. 상호호환성이 제공됨에 따라 사용자들은 디바이스 선택의 폭이 넓어졌으며, 이로 인해 사용자들의 새로운 디바이스와 서비스에 대한 요구가 증가할 것이다. 또한 상호호환성이 개발자들에게 제공하는 이득은 사용자의 새로운 요구에 따라 새로운 비즈니스 기회가 만들어지고 이를 위해 새로운 기능과 맞춤형 서비스 개발을 통해 타 업체와의 차별화를 가능하게 하는 기반을 제공할 것이다.