The number of handheld users will reach 2.6 billion this year and 4 billion by 2010. This is due to recent developments in portable low-cost lightweight devices and emergent short range, and low power wireless communication networks. Pervasive computing makes computation and communications transparent to the users. The pervasive computing environment is comprised of numerous mobile devices that include PDAs, cell phones, smart phones, laptops, sensors, etc. In this environment, mobile devices around us will be able to communicate with each other and also have the capability to collect, process, and transport information. There is no fixed computer infrastructure support. The devices communicate with each other directly or via another mobile device and are responsible for maintaining computations by themselves. Although middleware is a reality in traditional distributed computing, the challenges in middleware design are relevantly different in this open and dynamic pervasive environment. Devices usually depend on each other for resources because, due to physical constraints, they do not have the luxury of containing all of the required resources. Resource discovery addresses the issue of determining a device capable of optimally offering a specific resource. This can be done at the middleware level. Despite the exponential growth in the use of handheld devices, these devices still have a number of limitations, some of which are inadequate processing capability, restricted battery life, limited memory space, slow expensive connections, frequent line disconnection, and confined host bandwidth. Lack of fixed infrastructure support is a natural phenomenon in the open and dynamic pervasive computing environment, which leads to dependency on other devices for resources. These devices interact with other devices in an ad hoc manner. The nature of devices, communication patterns, and dependency on others are all causes of security threats. In addition, due to the ad hoc and ephemeral nature of the network, one cannot expect to get service from any particular device for a long span of time. The list of neighboring devices needs to be up-to-date and self sustainable to thwart malicious devices and their attacks. Moreover, multiple devices may concurrently request one specific resource. There is usually a desire to maintain privacy and sometimes anonymity for service discovery due to an open and dynamic environment. The devices join and leave in an ad hoc manner. All of the aforementioned issues can be addressed at the middleware level and several researchers are working on it, even if there are still open issues calling for future work.
展开▼