%0 Journal Article %T QoS-Aware Middleware for Ubiquitous Environment: A Review and Proposed Solution %A Anas Al-Roubaiey %A M. AL-Rhman Alkhiaty %J Journal of Computational Engineering %D 2014 %R 10.1155/2014/725960 %X Ubiquitous computing has introduced a new era of computing. Compared to traditional distributed systems, ubiquitous computing systems feature increased dynamism and heterogeneity. In traditional computing environments (mainframe and PC), users actively choose to interact with computers. Ubiquitous computing applications are likely to be different, where computing systems are available anywhere but not visible. The underlying ubiquitous computing infrastructures are more complex and bring up many issues. In this work we survey the literature to demonstrate, in detail, the characteristics and the challenges of the ubiquitous computing as well as the requirements for building ubiquitous software that brings these characteristics into reality. Furthermore we present some existing middleware solutions for ubiquitous environments, and propose our middleware-based architecture to facilitate the user interaction in such environment. To the best of our knowledge this is the first work proposing DDS-based solution for ubiquitous computing as a unified middleware. 1. Introduction ¡°The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it.¡± Mark Weiser, 1991. Mark Weiser, by stating this, was dreaming of a world that would be flooded with embedded devices, note pads, and electronic dust. The remarkable advances that have been achieved over the past ten years in the manufacturing of semiconductor devices and microsystems have shown that there can be no doubt about the question whether or not Mark¡¯s dream will come true [1, 2]. At that time, Weiser [3] was searching for a term to describe his vision of an embedded computing world within which computers would be an invisible part of our everyday lives. Ahead of their time, Weiser and colleagues used the terms ubiquitous and pervasive computing interchangeably to describe how computing was going to change from desktop, personal computing to a more distributed, mobile, and embedded form. But what does the term ubiquitous actually mean? Despite being used interchangeably with the term ¡°pervasive,¡± they do refer to different forms of computing. Ubiquitous computing refers to building a global computing environment where seamless and invisible access to computing resources is provided to the user. It deals with giving users the ability to access information services, applications, and resources globally available through any device over different kinds of networks all the time and irrespective to their location. Pervasive %U http://www.hindawi.com/journals/jcengi/2014/725960/