• Keine Ergebnisse gefunden

Backtracking (BT)

4.6. Summary and Discussion

resource information at the strong devices and is capable to drop the configuration latencies, as parts of the configuration work are performed before an actual con-figuration process is initiated. The efficient support of exchangeable concon-figuration algorithms is established by a simple selection strategy which is, however, easily extendable to support additional configuration schemes in the future. Most of the commonly known clustering schemes try to equally distribute the load among all nodes or aim at extending the overall network lifetime and, thus, frequently merge or split clusters, which leads to rather low cluster stability. In contrast, our new scheme balances the load only among the subset of strong infrastructure devices to minimize the (re-)configuration latencies. It performs re-clustering processes only when they are needed to obtain the balanced configuration load among the strong devices.

Decentralized configuration is usually considered to be the right choice for homoge-neousMANETscenarios where the availability of any device cannot be guaranteed.

However, when an additional strong device is available, e.g., a desktop PC in an of-fice environment, decentralized algorithms calculate configurations in an inefficient way, as they distribute the configuration load among all devices. A strong device, though, has much higher computation power than the weak mobile devices. Thus, performing the configuration calculations locally on the strong device increases the efficiency and reduces the communication overhead during the configuration phase.

To efficiently exploit this increased computation power of a single device in config-uration calculations, we have presented Direct Backtracking (DBT, [SHR08b]), an advanced centralized configuration algorithm which features two mechanisms to ren-der configuration processes more efficiently than standard backtracking algorithms from the research area of distributed artificial intelligence: the proactive backtrack-ing avoidance of DBT helps to reduce the number of needed adaptations within a configuration by carefully selecting the components to be instantiated based on their resource consumption and the currently available resources. DBT’s intelli-gent backtracking performs unavoidable adaptation processes with lower overhead than its closest competitor, Synchronous Backtracking, by considering the cause of a backtracking process and choosing the backtracking goal according to the expected adaptation overhead.

Direct Backtracking relies on the clustering framework presented in Section 4.3.2 and the established Virtual Containers, which enable completely local calculations without the need of any remote communication during the configuration phase.

After a valid configuration has been found by Direct Backtracking, the configuration results are distributed to all devices whose components are part of the configuration.

Compared to its most related competitors like Synchronous Backtracking [BM04]

or Dynamic Backtracking [Gin93], DBT does not rely on a large set of no-goods, considers the cause of adaptation processes, cautiously chooses the components to be instantiated to avoid adaptations, and does not need to change the value ordering of its variables, giving it an advantage over related approaches.

Centralized configuration using DBT performs fine in weakly heterogeneous en-vironments where exactly one strong device is available. However in strongly het-erogeneous environments, it does not distribute the configuration load on several

4.6. Summary and Discussion 141 strong devices and, thus, cannot be applied in parallel. For such scenarios, we have presented an advanced hybrid configuration scheme [SHR10] which combines the advantages of decentralized and centralized configuration: The configuration is cal-culated only on the subset of strong devices in a decentralized manner, whereas the strong devices gain access to the resources of the weak devices via Virtual Contain-ers and, thus, perform centralized configuration for the weak devices. Therefore, the hybrid scheme relies on the previously developed decentralized [HBR05] and central-ized [SHR08b] schemes. To uniquely identify which strong device is responsible for the configuration calculation of a weak device, we have presented an advanced clus-tering scheme which relies on the clusclus-tering framework discussed in Section4.3.2, but establishes several clusters around the strong devices (which represent the cluster heads) and maps each weak device to exactly one strong device. This ensures a strict task sharing among the strong devices within configuration calculations. Further-more, the new clustering scheme balances the configuration load among the strong devices by mapping similar numbers of weak devices. Because of this, bottlenecks for the configuration are avoided and the degree of parallelism within configuration calculations is maximized.

With the introduced centralized and hybrid configuration approaches and the de-veloped framework to automatically select the configuration algorithm that is most appropriate for a specific environment, our solution reduces configuration latencies compared to standard decentralized configuration by more than 35 % in average, as our evaluation results have shown. Moreover, our system exceeds the related projects dealing with service composition and application configuration concerning the flexibility and the support of a broad range of possible Pervasive Computing scenarios by far: While many projects such as Gaia [RHC+02] or BEACH [Tan01]

provide system-level composition for resource-rich environments, they cannot be ap-plied to Ad Hoc scenarios, as they rely on an existing infrastructure. Some projects for infrastructure-based environments like iRoom [JFW02] or MEDUSA [DGIR11]

even rely on manual composition by users or application programmers. Manual composition is also supplied by projects such as P2PComp [FHMO04] or Speakeasy [ENS+02], which are however at least applicable in pure Ad Hoc scenarios, but are not capable to efficiently exploit the device heterogeneity. Automatic configuration in Ad Hoc scenarios without efficient heterogeneity support is provided by systems such as Aura [SG02] or a previous version of our system PCOM [BHSR04]. In summary, it can be seen that only our system provides such an efficient support of various typical Pervasive Computing environments.

5

Partial Application Configurations

In this chapter, we introduce a completely new approach that integrates the results from configuration processes that have taken place before to reduce the number of contracts which actually need to be configured [SHRB13]. Thus, the configuration latency is significantly reduced in all of the scenarios and algorithms introduced in Section 4, as we will show in our evaluations. In Section 5.1, we give a motivation for the use of Partial Application Configurations (PACs). Following in Section 5.2, we discuss the challenges that come along with the partial application configura-tion concept and have to be addressed by the aspired soluconfigura-tion. After discussing the structure of the PACs in Section 5.3, we suggest a solution which is based on the introduction of utility values for each partial application configuration (Sec-tion 5.4). As the partial application configurations are stored in a cache of limited size, the maintenance of the cache entries is addressed in Section 5.5. Following in Section 5.6, we illustrate the integration of thePAC concept into the existing con-figuration approaches. After presenting the results of our evaluation measurements in Section 5.7, we summarize this chapter in Section 5.8 and discuss the developed approach.