• 沒有找到結果。

Dealing with Inconsistent Service Effects

Background and Related Work

2.3 Pervasive Service Composition

2.3.2 Dealing with Inconsistent Service Effects

Services that work perfectly when they are isolated do not guarantee that they can still work perfectly when several services co-exist in the same environment. Usually, compatibility issues arise due to resource competing and interferences among different effects of services. This issue is traditionally referred to as the ”Feature Interaction Problems (FIP)” [86], which is first observed in 1980s in telecommunications systems.

FIP refers to some unexpected side-effects caused by interactions between or within services. It is important to note that from the users’ point of view, not all interactions are unacceptable. Therefore, the pervasive service composition mechanisms should be able to distinguish acceptable interactions from undesired ones according to user preferences.

Earlier research that set their theme on telecommunications systems focuses on res-olution after interferences occur rather than avoiding them in advance. The resres-olution processes usually involve rolling back the whole transaction of business calls [35, 81].

However, in pervasive environments such as smart homes, resolution approaches are usually infeasible, and hence, how to prevent service interferences becomes important in pervasive environments. Tsang et al. [134] propose a learning approach to cap-ture sequences of behaviors and then detect service interferences. Low [93] propose a rule-based approach to detect interferences and improved the performance by using a cache. Kolberg et al. [86] divide service interference problems into several categories:

1) conflicting accesses to single device at the same time, 2) undesirable effects among activated devices, and 3) unexpected consequences caused by sequential connections among devices. Nevertheless, they only provide an architectural approach to handle the first two categories. Nakamura et al. [107] claim that there are two types of service interferences, namely, appliance interferences and environment interferences, depend-ing on whether the interference takes place due to direct conflict among appliances or

via the environment. Existing prevention approaches take care of resource confliction, but in pervasive environments, the presences of interferences are usually dependent on users’ perceptions, which are vague and subjective. Hence, it appears that fuzzy-based approaches which account for human’s linguistic ambiguity can be promising.

It follows from the above discussions that there is still much space for further in-vestigation on the consistency issues of pervasive service compositions. Currently, the scope of this thesis concentrates on dealing with two inconsistency issues of perva-sive service composition, namely, inconsistent user preferences and inconsistent service effects.

2.4 Summary

Tables 2.2, 2.3 and 2.4 summarize the investigated systems with regard to the design issues this thesis has discussed so far. The expected contributions of this work are appended in the last row in the tables. As mentioned in previous sub-sections, in respect of flexibility (including extensibility and interoperability) of a pervasive system, data-centric architecture appears superior to process-centric architecture; standard-based wiring format is more interoperable than proprietary ones. Among the systems investigated so far, UPnP, Gaia, and CoBra are more interoperable. Strictly speaking, although CTK and Aura use XML, they are only ”potentially interoperable” since the syntax and semantic of the XML-based wiring formats are still proprietary.

It is also important to point out that all systems being investigated except UPnP use TCP-based service management (see Table 2.3). Nevertheless, contrary to me-dia streaming protocols, the packet size of service management is typically small (for example, most of the SSDP packets range from 200 bytes to 450 bytes), and can be transmitted by single UDP-based packet, since theoretical size of an UDP datagram is 65507 bytes, and empirical size is 576 bytes. Consequently, adopting UDP for service

management is more efficient.

Generally speaking, directory-based approach has better scalability and perfor-mance, but is poor in reliability because the directory can become single point of failure.

On the contrary, non-directory-based approaches are more robust, but produce more network traffic. As reported by Meshkova et al., the design of service discovery systems depends on the scale of their deployment [102]. According to their classification, enter-prise scale service discovery systems such as Jini, COBRA Trading Object Service, and JADE typically are designed based on directory-based approaches to reduce the traffic.

On the other hand, small scale systems such as UPnP and Bluetooth are more suitable for non-directory-based approaches, since it avoids the single point of failure problem, and is easier to be implemented in embedded devices [148]. Nevertheless, in Table 2.3, all systems except for SSDP (UPnP) use directory-based approach for service discov-ery. This is because that these systems are designed for generality. The UPnP has been customized for home network. Therefore, its non-directory-based design is more suitable for the smart home.

CoBra and One.world deal with the single-point-of-failure problem by automatic recovery of directory servers and by re-electing directory servers, respectively. However, recovering the discovery server does not guarantee the reliability of services. Among the systems, only Aura is capable of recovering a failed service by re-composing the service. As for service consistency, only Gaia and Aura partially deal with the con-sistency problem which includes the concon-sistency between service specification and the consistency between the effects caused by components.

Among four key qualities of the Smart Home systems (i.e. flexibility, reliability, consistency, efficiency), SSDP is superior to other mechanisms in flexibility but lacks of supports in reliability, consistency, and efficiency. Over the last few years, several mechanisms have been proposed to enhance UPnP/SSDP. Nakamura et al. [106]

stud-ied the efficiency problems of the interconnecting UPnP gateways. They proposed to store SSDP Presence Announcement messages in the caches of UPnP gateways in order to reduce the service discovery traffic. Knauth et al. [85] proposed to reduce traffic by introducing proxies among UPnP Devices that serve as cache in LAN. In [100, 73], the authors enhanced GENA (General Event Notification Architecture), a TCP-based sub-protocol of UPnP used for event notification by realizing GENA based on IP mul-ticast. IP multicast mechanism is UDP-based, which is considered unreliable yet more efficient than TCP. However, these enhancements do not deal with service composition and recovery issues directly, which are critical for achieving high reliability, consistency, and efficiency.

To sum up, SSDP (of UPnP) tends to be very competitive in respect of flexibility, and none of existing systems fully address the reliability and consistency issues of service management. As a result, SSDP should be a good starting point based on which one can design more sophisticated mechanisms to address the reliability and consistency issues. This research proposes a self-organizing and self-healing service management protocol for smart homes by enhancing reliability of services (Chapter 3) and consistency of service composition (Chapter 5). Furthermore, efficient service management mechanisms in decentralized protocols are hard to design since it is apt to drain out bandwidths with a lot of heartbeat or polling messages. Hence, this research deals with efficiency issues by striking a balance between the robustness of system and the overhead of communication complexity by designing, analyzing and evaluating mechanisms to eliminate unnecessary network traffics. The details are elaborated in Chapter 4.

Table 2.2: Architectural styles and service management functionalities of Pervasive systems

Name Architectural Wiring (Service Management Functionalities)

Style Format Discovery Recovery Composition

CTK Process-Centric XML X - X

UPnP Process-Centric XML (SOAP) X -

-Gaia OS Process-Centric IIOP X(COBRA) - X

Aura Process-Centric

Table 2.3: Detailed comparisons among Service Discovery mechanisms of Pervasive systems

Name Category Recovery Network

Scale

Transport Layer

CTK Directory-based - LAN TCP

UPnP Non-directory-based

- LAN UDP

Gaia Directory-based Component Internet TCP

Aura Directory-based Service LAN TCP

CoBra Directory-based Backbone Internet TCP SOCAM Directory-based

(Local)

- -

-One.world Directory-based Backbone LAN TCP Event Heap Directory-based Backbone LAN TCP

LIME Directory-based - Internet TCP

Solar Directory-based Component LAN TCP

MIRES - - -

-This work Non-directory-based

Service LAN UDP

Table 2.4: Detailed comparisons among Service Composition mechanisms of Pervasive

-This work X X Enumerate and

Numeric; Manda-tory and Nego-tiable

X X

Chapter 3

Flexible and Robust Service Management