Summer 2006
Summer 2007
Summer 2008

REU Projects

The research theme of the REU program is Autonomic Computing. Autonomic computing promises to solve the management problem for today’s complex computing systems by embedding the management of such systems inside the systems themselves. Instead of requiring low-level instructions from system administrators in an interactive and tightly coupled fashion, such self-managing systems require only high-level human guidance – defined by goals and policies – to work as expected. An autonomic system must be able to automatically and dynamically respond and adapt to changing environment, including workload shifts as well as internal system changes such as failures.

For the proposed REU site program at FIU, the undergraduate students will address clear-cut subproblems within the domain of Autonomic Computing. The PI team at FIU has a strong background in autonomic computing research and has published a number of research papers in various areas of autonomic computing including knowledge discovery, adaptive software techniques, network monitoring, software testing, and operating systems. They recently received a 2005 IBM Faculty Award and a 2005 IBM Shared University Research (SUR) award for their research efforts on building autonomic systems. These awards are highly competitive and show the quality and importance of their research program. They are in an ideal position to initiate undergraduate students into autonomic computing research, exposing the students to diverse research issues in autonomic computing.

The scopes of the projects for the REU program are carefully defined so that each project can be accomplished by a small group of undergraduate students within the given timeframe of the REU session. The students will have a clear understanding of how their work fits into the big picture of building autonomic computing systems. Below, we outline envisioned undergraduate research projects that tie together several aspects of autonomic computing. Each project is expected to involve sub-projects and we expect to assign at least two students per project. The diversity and breadth of these research projects promises to expose each participant to several aspects of autonomic computing research.

Project 1: Self-Management in Mobile Computing

This research project explores the use of knowledge discovery and adaptive software techniques to support mobile computing. Nodes at the “wireless edge” of the Internet experience operating conditions that are greatly different from those in wired networks. Software on such systems must adapt to the highly dynamic conditions found in wireless networks (e.g., dynamic packet loss rate), protect against security threats (e.g., as the user roams between different wireless domains), and implement dynamic energy management policies to conserve battery power. Our prior experimental studies demonstrate that dynamically recomposable software provides an effective way for these systems to adapt to changing conditions. However, the decision making is not a trivial task considering the large number of inputs including multiple parameters in each of several areas: channel conditions, energy status, security policies, memory and processor usage, application requirements, characteristics of networked data, and user preferences. Data mining techniques are then needed to discover interesting patterns (e.g., abrupt changes, cluster structures, and abnormal behaviors) to help the decision making process. During the course of this project, we introduce mobile computing and data mining to the undergraduate students and will help them to conduct a number of experiments containing a variety of mobile computing devices (e.g., laptops, PDAs, cell phones, wearable computers), wireless networks (e.g., 802.11b and 802.11g), and testing tools.

Project 2: Autonomic Anomaly and Misuse Detection and Response

This project explores the use of data mining and adaptive software techniques in intrusion detection systems. An intruder may attempt to compromise the integrity, confidentiality, or availability of network services. We note that many network intrusions have distinct attack signatures. Such intrusions typically comprise unique and observable characteristics that enable their positive identification by traditional network intrusion detection systems using a misuse detection approach. Unfortunately, a slight variation in attack signature is often sufficient to prevent detection. In addition, new attack types often do not have a known attack signature (e.g., those that exploit recently disclosed or unpublicized software vulnerabilities). We will use data mining techniques to automatically detect normal/abnormal application behaviors. To perform real-time classification of application behavior, we will investigate efficient methods to collect features including various packet fields, composite features, and features constructed from “windows” of multiple packets.

Project 3: Adaptive Network Traffic Monitoring and Management

While the end-to-end design principle of the Internet enables new applications to flourish without modifications to the network, it also makes network management significantly challenging. Therefore, analyzing patterns of network utilization is very important to operating IP networks. In particular, identifying the root cause of traffic activities and responding to such activities plays an important role in network management. The major challenge for traffic monitoring is the size of monitoring data and the requirement for processing speed. Furthermore, for realtime network monitoring, there is always a sampling-based tradeoff between information accuracy and processing overhead. In this project, we will investigate knowledge discovery techniques to automatically and efficiently extract interesting or significant patterns from large and diverse monitoring data. The participants will be developing an adaptive toolkit to monitor and analyze the traffic.

Project 4: Autonomic Storage Systems

Storage systems play an important role in computing environments. They store all of the data and are used within critical applications such as file systems, databases, backup, Internet Services at data centers, etc. Studies have pointed out that storage cost is dominated by storage management rather than hardware cost. In the past, researchers have studied storage systems in more detail using profiling and control techniques. However, these techniques are static, built for specific systems, and typically cannot adapt to changing environments and requirements. Storage PACER is a novel autonomic approach to solving the self-management problem in storage systems. PACER stands for Profile, Analyze, Control, Evaluate, Reconfigure, the five essential stages of the proposed approach, through which the storage system iterates periodically. PACER builds on our previous work on semi-automatic profiling and control in storage and operating systems. The model of periodic iterations of understanding, controlling, and reconfiguring in PACER is required for optimal performance in a storage system. This accounts for dynamic changes in the storage system over time, including workload changes, system upgrades (including hardware and software reconfiguration), data (and workload) migration, as well as temporary faults and failures. Students working on this project will be exposed to various tools and techniques developed earlier that partially address the profile, analyze, and control stages within PACER. They will further these technologies and work on new tools and techniques to address the “evaluate” and “reconfigure” stages, thereby developing insight about and bringing new ideas into the PACER model for autonomic storage.

Project 5: Testing and Autonomic Computing Systems

Verification and validation (V&V) of autonomic computing systems plays a critical role during both development and deployment. Therefore to make autonomic systems a reality, extensive V&V is required in the process. Current automated V&V techniques are not scalable and still depend heavily on the intuition of the human performing the V&V. There are several challenges in the V&V phase of the development process for autonomic elements, the basic components of autonomic computing systems. These challenges include: (1) anticipating the environment in which these elements will be deployed, and (2) building a test environment for autonomic computing systems that captures the complexity of the deployment environment. After deployment, there are also a number of challenges, including: (1) identifying the appropriate regression tests to run after reconfiguration, (2) evaluating the results of the regression tests after reconfiguration since some number of failed test cases will be acceptable, and (3) managing the sheer volume of self-tests that will be performed continuously during the life time of the autonomic element. In this project we will investigate: (1) the development of specification-based models to test the functionality of autonomic elements, (2) define structural test criteria for the specification-based test models, and (3) create test suites that associates each test case with the tested functionality, coverage criteria, and expected output. Part (3) will be used to support selective regression testing after the reconfiguration of autonomic elements.

The individual projects mentioned above address diverse issues in building autonomic computing systems. The students in the REU program will initially be introduced to each project and its place in the autonomic computing big picture. They will be exposed to each project in the REU program during the various group meetings and presentations. They will also work in a strongly integrated fashion fostering teamwork skills and learning from each other's strengths, thereby learning significantly more than the scope of their individual projects. We believe that our research program, where the individual research projects being carried out are parts of an overarching theme (i.e., autonomic computing), provides an environment to facilitate such synergistic learning and teamwork .