High-Performance Storage and Delivery

Our research is focused on high-performance storage and delivery over networks. It includes (a) systems research to better support storage, and (b) network research to provide high-performance delivery of data, (c) protecting such network and systems infrastructure. Papers and technical reports

Current Projects

Non Volatile Memory

As part of our NSF IURC Center CRIS-TAMU we are looking at NVM from systems, architecture and device angles.

Hybrid Storage Systems

Flash memory and other emerging nonvolatile memories (NVMs) based on Phase Change Memory (PCM) and Resistive-RAM (RRAM) and other technologies are significantly impacting storage system organizations. Flash based Solid State Devices (SSDs) are being used in storage systems along with magnetic disk drives.

We built a file system SCMFS that could run on top of future nonvolatile memories. SCMFS exploits memory management hardware and was shown to provide up to 70% of memory bus bandwidth. While SCMFS assumed all data could reside in NVM, our recent work NVMFS was designed to work with both NVM and other storage devices such as Flash SSDs.

Our work on reliability of flash SSDs has shown that conventional techniques such as ECC and RAID could not be directly applied to SSD based systems.

We have proposed Umbrella File System to organize the data in such hybrid systems. UmbrellaFS allows individual file requirements to be matched to device level performance characteristics through a system wide policy while allowing a common name space across multiple underlying file systems.

We proposed techniques to match read/write characteristics of data to the read/write performance of flash and magnetic disk drives. We proposed a dynamic, adaptive technique to exploit concurrency in such a system to improve performance. Such techniques are shown to outperform traditional caching hierarchies.

Network Protocols

We extended our previously proposed transport protocol PERT to compete with TCP in current Internet so that it can be incrementally deployed. We showed that PERT can be better at delivering video than TCP or other high-performance TCP protocols.

We continue our work on designing algorithms for designing alternate paths for tolerating failures and for multi-path routing .

Network Security

We are studying the analysis of DNS traffic for detecting anomalies in network traffic. We have developed a tool to detect misdirected DNS queries . This tool enables detection of DNS cache poisoning and misdirection attacks.

We developed a technique to detect botnets by analyzing DNS traffic. Our approach analyzes DNS traffic at various levels of aggregation. The analysis is based on information-theoretic techniques and evaluates the queried DNS names. This allows us to detect algorithmically generated names of botnets and thus help identifying the presence of bots in the network and their Command and Control servers. Domain fluxing and IP fluxing techniques employed by botnets can cause many DNS failures. We exploit this property to further speed up botnet detection by analysing DNS failures

Past Projects

IP based smart storage

This project is looking at the various architecture and performance issues in interconnecting storage devices and controllers on IP-based networks. We are currently evaluating the performance implications of moving devices from traditional interconnects such as SCSI to IP-based networks. We have recently developed a Linux based prototype that enables multiple “views” of data to be presented to the application. This Multi-View Storage System (MVSS) offers a single framework for deploying device-level enhancements such as encryption and compression and application-specific data filters such as MPEG-based QOS. MVSS exploits device-level parallelism and allows multiple views of underlying (single-copy) data to coexist in the server’s memory. In our earlier work, we provided views through device “ports”.

We are currently extending this work to enable third party transfers at networked storage devices. Our approach retains the file system control at a server and the devices do not need to understand file-system specific details. Our approach is file system agnostic and can be easily ported to any OS. Our approach enables third party transfers on a file by file basis, driven by user’s choice.

Protocols for extreme network environments

This project is trying to develop protocols for extreme network environments such as high-speed networks, high-loss, low-connectivity networks. Our recent work developed PERT (Probabilistic Early Response TCP) -a delay-based congestion protocol for high-speed links. PERT uses observed delays as congestion signals and employs probabilitic response to counter the uncertainty of congestion in the delay signals (due to traffic burstiness). PERT is shown to utilize the links well, with zero packet losses and low queuing delays. PERT is designed to compete with TCP fairly and utilize high-speed, high-delay links fully. You can find PERT ns-2 code here.

We have proposed “delayed congestion response” as a mechanism to deal with channel errors in high-loss wireless networking environments. TCP-DCR proposes to explicitly delay TCP’s congestion response to allow toleraing channel errors in wireless networks and reodering events in general networks. TCP-DCR is simple to implement, requiring minor changes to TCP stack, yet powerful to make TCP robust to different forms on noncongestion events. We recently developed Layered-TCP (LTCP) for high-speed networks. LTCP employs ideas from layered video transmission and adapts TCP to work well in high-speed networks. LTCP can adapt to any link bandwidth and is shown to perform as well as the previous proposals. LTCP’s strength lies in its simplicity and in its ability to coexist with unmodified TCP in low-banwidth networks. LTCP provides a general architectural framework for modifying TCP for high-bandwidth networks. Please see associated web site for ns-2 code etc.

Routing protocols for improving service availability

A link failure in a network results in interruption of service until the routing tables are recomputed, which may take several seconds. This effect is significant in high-bandwidth networks and more critical when voice calls are supported on IP networks. We proposed a simple alternate routing technique to improve the service availability during such failure transients. The proposed alternate routing methodology makes simple modifications to existing routing protocols and is shown to improve service availability significantly.

Statistical techniques for traffic analysis

We are developing tools based on statistical techniques for analyzing network traffic in order to detect, identify and contain traffic anomalies. Our current work is looking at traffic at the egress of a campus. We hypothesize that traffic at a campus egress will be highly correlated over time and changes in correlations can be used to signal traffic anomalies. We are employing a number of packet header fields (addresses, port numbers, traffic volume) as signals and employing statistical, signal-processing based and image-processing based techniques to analyze such signals. Our initial work shows that such analysis of aggregate packet header data can lead to simple and effective indicators of traffic anomalies.

Secure devices on network processors

With Intel’s funding, we are exploring approaches for employing network processors in improving security at the network edges. As a first step, we have implemented partial-state routers on network processors and shown that such devices can be built with little impact on packet-forwarding throughput. We are in the process of implementing statistical traffic analysis on such network processors.

Multimedia Storage

This project focueses on building a scalable multimedia server based on a network of PCs. The emphasis is on providing integrated support for Variable Bit Rate (VBR) video streams along with interactive requests and regular file system requests. We are building a system based on Linux platform. Our approach tries to minimize modifications within the base file system. A user application provides an indication of the QOS required at the time of file open. The I/O library can run an admission control program to see if this request can be admitted. When admitted, the file descriptor of the opened file contains the QOS tag. The kernel is modified to to merely recognize the different QOS tags and to pass them down to the device. Most of the scheduling support is provided within a layered driver on top of the disk driver.

We have developed a technique for providing deterministic gurantees to VBR streams that allows exploiting statistical multiplexing of many streams.

Disks and data are distributed across the cluster to provide scalability. Data will be striped across the cluster to provide higher throughput and better load balance.

Data copies will be minimized to increase performance during disk and network I/O. Our multimedia library will incorporate mechanisms for copyless disk tranfers. A packet filter is being designed to work with this library to transfer data across the cluster, during a remote I/O, such that copies can be avoided at the receiving node.

Network QOS

QOS enhancement in Differentiated-Services Networks Diff-serv architecture is gaining momentum as a platform for providing QOS differentiation in the next generation Internet. We are exploring various questions in the diff-serv framework: (a) how to provide predictable end-to-end throughput to applications? (b) how can aggregate sources manage resources to achieve specific performance objectives of individual flows? (c) how can we estimate resource demands within the network? (d) how can we exploit routing to enhance QOS within the network? (e) what kind of support can the network provide for better end-to-end delays?

QOS enhancement with Partial State Current approaches to provide network QOS can be broadly classified into two categories: (a) approaches that require maintaining per-flow state within the network such as the Integrated Services architecture (b) approaches that require maintaing no state within the network such as the Differentiated Services architecture. Both approaches have their advantages and proponents. In this research, we are exploring ways to exploit partial state within the network for improving QOS. What if the network components can provide support for maintaining state for a fraction of the flows? Just as processors exploit caches (even though they are not part of the architecture) to reduce memory latencies, we are exploring ways to exploit partial state (for enhancing the QOS) even when state is not required in the QOS architecture (for example, as in diff-serv framework). Our recent work, SACRIO, has shown that partial state can result in better bandwidth realization and curtailment of nonresponsive UDP applications in diff-serv networks. Our analysis of internet traces has shown that this approach is scalable and effective .

Video transport over Internet Developing end host protocols that enable end hosts to transmit data smoothly over a network. These protocols are expected to give the application more flexibility in dealing with packet losses and other congestion notifications, while remaining fair. We have recently proposed a class of protocols that are promising to be fair, smooth and also provide an early indication of bandwidth variations to applications. A report will be available soon.

ENDE: An End-to-end Network Delay Emulator A typical protocol developer requries access to multiple machines across the Internet to test the developed protocols. ENDE eliminates the need for login access to remote machines during protocol development and testing. ENDE is a tool that accurately emulates the delays between a host and any given remote host on the Internet. ENDE uses timestamped ICMP requests to accurately estimate one-way dealys between two hosts. ENDE takes care of clock skew, clock offset, clock shifts and limited resolution of ICMP timestamps. A TCP/UDP based application can utilize ENDE without requiring any modifications to the application. We have validated the tool with actual experiments. Currently the tool is being extended for multicast applications.

IPRP: IP Redirection protocol With the explosive growth of web traffic, it has become necessary to find techniques for providing scalable services. We are developing IPRP, an IP redirection protocol, to enable clients to be redirected to alternate servers. IPRP works at the same level as ICMP or IGMP in the protocol stack. IPRP requires client interaction in redirecting the client to an alternate service. Our implementation of IPRP has shown that packet translation at the client results in little overhead while making this approach more scalable than other techniques. IPRP also enables a number of other applications such as mobile IP redirection, transparent hierarchical multicast, multi-path delivery of video, web-based malls etc..