The goal of self-optimization is to distribute the services of an application in such a way that the considered resources are utilized evenly. This paper describes an approach that uses data streams to enable self-optimization of a deployed information system. This functionality is provided by self-adaptive middleware.
The first step is to deploy a stream composition framework, represented as a data-flow graph. Next, the system continuously processes information and reconfigures the data-flow graph to maximize usefulness, despite the changing load in nodes and the network. The case study used is an object-oriented input system (OIS) from Delta Air Lines.
While the approach is quite interesting and well described, there are several points in the paper that remain unclear, particularly in the experimental part. First, Figure 1 is never referred to or explained in the paper. Second, the caption of Figure 3 is unclear--it mentions a centralized versus partitioning approach, while the figure compares distributed deployment with optimal deployment. Furthermore, it appears that the proposed approach provides approximately ten percent worse business utility, which is considered “not much worse” than the centralized approach. Figure 4 then compares business utility with and without self-optimization. A similar ten percent difference is considered “clearly better,” and a clear trend cannot be observed in the curves. Finally, Figure 5 shows deviations of approximately 20 percent as a value that “closely follows the maximum achievable utility.”
Overall, the paper describes a feasible approach to introducing self-optimization of an OIS with respect to business utility. With the exception of the aforementioned issues, it is well written and offers a nice real-world application of adaptive computing and self-configuration.