11155724
Non-modularity in aspect-oriented languages: integration as a crosscutting concern for AspectJ
Aspect-oriented (AO) methods and languages seek to enable the preservation of design modularity through mappings to program structures, especially where common (object-oriented) languages fail to do so. The general claim is made that AO approaches enable the modularization of crosscutting concerns. The problem that we address is that it is unclear to what extent such claims are valid. We argue that there are meaningful bounds on the abilities of past, present, and future languages to succeed in this regard---bounds that we need to understand better. To make this idea concrete we exhibit a significant bound: Component integration (Sullivan & Notkin 1992, 1994) is not adequately modularizable in AspectJ
7788842
Information hiding interfaces for aspect-oriented design
The growing popularity of aspect-oriented languages, such as AspectJ, and of corresponding design approaches, makes it important to learn how best to modularize programs in which aspect-oriented composition mechanisms are used. We contribute an approach to information hiding modularity in programs that use quantified advising as a module composition mechanism. Our approach rests on a new kind of interface: one that abstracts a crosscutting behavior, decouples the design of code that advises such a behavior from the design of the code to be advised, and that can stipulate behavioral contracts. Our interfaces establish design rules that govern how specific points in program execution are exposed through a given join point model and how conforming code on either side should behave. In a case study of the HyperCast overlay network middleware system, including a real options analysis, we compare the widely cited oblivious design approach with our own, showing significant weaknesses in the former and benefits in the latter.
271858
Providing scalable on-demand video services for heterogeneous receivers
To provide scalable video-on-demand services, precious system bandwidth must be shared among video requests. Although many efficient bandwidth-sharing techniques have been proposed, they are all designed for homogeneous receivers, i.e., the clients are assumed to have the same receiving bandwidth. For networks with client heterogeneity, these techniques either cannot work or have to compromise their performance. In this paper, we address this problem and propose an efficient solution allowing each client to use its whole receiving bandwidth to download data. To serve a client, the server first selects a set of serving channels for the client according to its actual receiving bandwidth. The video data needed for this client are then scheduled and dynamically adjusted for delivery over these channels. We evaluate the performance of the new technique using simulation and compare it with an existing scheme. Our study shows that by effectively leveraging client heterogeneity, the new technique achieves significantly smaller service latency
16856059
An Area-Based Collaborative Sleeping Protocol for Wireless Sensor Networks
An effective approach for energy conservation in wireless sensor networks is putting redundant sensor nodes to sleep while the active nodes provide certain degree of coverage. This paper presents an Area-based Collaborative Sleeping protocol (ACOS) that can control the degree of coverage for diverse applications. The ACOS protocol, based on the net sensing area of a sensor, controls the mode of sensors to maximize the coverage, minimize the energy consumption, and to extend the lifetime of the sensor network. The net sensing area of a sensor is the area of the region exclusively covered by the sensor itself. We study the parameter tuning in ACOS to guide to configure the network for diverse applications. The simulation shows that our protocol has better coverage of the surveillance area while waking fewer sensors than other sleeping protocols. It extends the lifetime of sensor networks significantly
28503947
An integrated approach with feedback control for robust Web QoS design
There is a growing demand for provisioning of different levels of quality of service (QoS) on scalable Web servers to meet changing resource availability and to satisfy different client requirements. In this paper, we investigate the problem of providing proportional QoS differentiation with respect to response time on Web servers. We first present a processing rate allocation scheme based on the foundations of queueing theory. It provides different processing rates to requests of different client classes so as to achieve the differentiation objective. At application level, process is used as the resource allocation principal for achieving processing rates on Apache Web servers. We design and implement an adaptive process allocation approach, guided by the queueing-theoretical rate allocation scheme, on an Apache server. This application-level implementation, however, shows weak QoS predictability because it does not have fine-grained control over the consumption of resources that the kernel consumes and hence the processing rate is not strictly proportional to the number of processes allocated. We then design a feedback controller and integrate it with the queueing-theoretical approach. It adjusts process allocations according to the difference between the target response time and the achieved response time using a proportional integral derivative controller. Experimental results demonstrate that this integrated approach can enable Web servers to provide robust proportional response time differentiation.
6754979
Real-time processing of range-monitoring queries in heterogeneous mobile databases
Unlike conventional range queries, a range-monitoring query is a continuous query. It requires retrieving mobile objects inside a user-defined region and providing continuous updates as the objects move into and out of the region. In this paper, we present an efficient technique for real-time processing of such queries. In our approach, each mobile object is associated with a resident domain, and when an object moves, it monitors its spatial relationship with its resident domain and the monitoring areas inside it. An object reports its location to the server when it crosses over some query boundary or moves out of its resident domain. In the first case, the server updates the affected query results accordingly, while in the second case, the server determines a new resident domain for the object. This distributive approach achieves an accurate and real-time monitoring effect with minimal mobile communication and server processing costs. Our approach also allows a mobile object to negotiate a resident domain based on its computing capability. By having a larger resident domain, a more capable object has less of a chance of moving out of it and having to request a new one. As a result, both communication and server processing costs are reduced. Our comprehensive performance study shows that the proposed technique can be highly scalable in supporting location-based services in a wireless environment that consists of a large number of mobile devices.
6311601
An adaptive process allocation strategy for proportional responsiveness differentiation on Web servers
There is a growing demand for provisioning of different levels of quality of service (QoS) on scalable Web servers to meet changing resource availability and satisfy different client requirements. The proportional differentiation model is getting momentum because of its fairness and differentiation predictability. It states that QoS of different traffic classes should be kept proportional to their pre-specified differentiation parameters, independent of the class loads. In this paper, we present a processing rate allocation scheme for providing proportional response time differentiation on Web servers. A challenging issue is how to achieve processing rates for different request classes in the implementation. We propose a process allocation strategy, which dynamically and adaptively changes the number of processes allocated for handling different request classes while ensuring the ratios of process allocation specified by the processing rate allocation scheme. We implement the process allocation strategy at application level on Apache Web servers. Experimental results show that the processing rate can be achieved by the adaptive process allocation strategy and the Web servers can provide predictable and controllable proportional response time differentiation.