CERCS-ENT Research Projects
This project examines behavior of distributed applications in lieu of unpredictable user request volumes or in available resources. We try to build performance-robust distributed applications based on performance isolation. Currently our efforts are focused on: 1) understanding performance dependencies that pervade these applications, and 2) provide mechanisms to application developers to build adaptive modules that will impose constraints on possible spread of such dependencies through distributed system.
Resource-Aware Distributed Stream Management
The project focuses on distributed applications where data sources
distributed across the network continuously produce data that needs to be
aggregated and processed to produce a 'useful' stream of updates. Inherent to modern middleware and applications is the fact that centralized approaches to
performing data aggregation pose technical problems due to factors like high
communication overheads, lack of scalability, and unpredictably high
processing workloads at central servers. We have designed and implemented a
scalable and efficient infrastructure for distributed stream management with
particular emphasis on features like Resource-Awareness, Overlay-Based Data Aggregation and High-Level Programming Constructs (we use a SQL-like
language to describe a data-flow graphs for composing 'useful' streams from
the updates originating at distributed locations).
The InfoBeacons project aims to develop a search engine-style
infrastructure for discovering information in distributed, heterogeneous
data sources. The system consists of lightweight middleware components,
called "beacons", that are loosely coupled to data sources. Beacons help
users discover new information and sources, but do not perform complex
integration or data translation in order to enhance scalability. Once a
beacon has guided a user to a useful data source, that user can go
directly to that source and perform more complex queries.
NP-based Accelerators for Enterprise Systems
In order to satisfy the high performance, i.e., high data rate/low latency
requirements imposed by modern enterprise applications, enterprise systems
are increasingly dependent upon the ability of the underlying communication
infrastructure to assist in data movement/placement and transformation
tasks. This project uses the Intel IXP network processors (NPs) to explore
the ability of programmable communication hardware to enhance enterprise
systems with new and/or improved capabilities for delivery of a wide range
of services required in enterprise applications. One specific goal is to
create XML-conscious networking devices capable of application-level data
stream manipulations, such as scheduling, filtering and routing. Second
objective is to use the NP-based platforms to accelerate tasks required by
middleware-level functionality in distributed enterprise systems. Another
goal is the creation of efficient, dynamically configurable NP-based engines
for fast-path execution of business rules which drive the data exchanges
across different application subsystems.
Cooperative Edge Cache Grid: Efficient Delivery of Dynamic Contents Using Cache Clouds
In the past decade the Internet and the World Wide Web have seen tremendous growth along multiple dimensions. Efficient delivery of dynamic contents on the edge of the network has received considerable attention as a promising solution to the problems due to multi-dimensional growth. The underlying philosophy of edge caching is to move data and possibly parts of the application closer to the users. Large content providers adopting edge caching scheme would have several caches at various locations on the edge of the Internet. The Cooperative Edge Cache Grid (EC Grid) project studies the design and development of a cooperative edge cache network for efficient delivering and disseminating dynamic contents. Important issues include how to clusters the edge caches into cooperative edge cache groups (cache clouds), what types of collaborative computing schemes are effective for efficient serving dynamic content within each cache cloud. Interesting challenges include how to balance the loads of serving, lookup, and invalidation (update) of dynamic contents among edge caches within a cache cloud, what utility scheme works best for placing documents within the edge caches of a cache-cloud. Factors that affect the design choices include latency, network-load, server-load, hit-rates, availability, storage contention, cost of maintaining consistency, rate of requests.
Collaborative Data Acquisition and Data Storage Management Using Resilient Overlay Networks
Enterprise networks and applications have evolved from centralized and closed platform to distributed and collaborative platforms. Collaborative network nodes can jointly achieve advanced networking goals beyond relaying packets. Collaborative enterprise applications enable people and computers to work together more productively, pushing the traditional computation beyond the current abstraction of cyberspace to interact and collaborate directly with the real world. Collaboration techniques are also exploited in the enterprise world for supporting intelligent reconfiguration of software, network architectures and topologies to meet diverse and changing application requirements. This project has two complimentary objectives: First, we aims at studying the foundations and techniques for collaborative computing technology from distributed systems perspective, with the focus on data acquisition problems in mobile and sensor networks and decentralized data storage systems using resilient overlay networks. As observed by many, wide deployment of collaboration in either enterprise computing applications or pervasive computing applications demands adequate security guarantees and controlled privacy exposure. The second objective of this project is to study failure resilient techniques and infrastructure for securing wide area data storage and acquisition systems from unexpected failures, malicious attacks, and undesired privacy exposures.
Discovering, Ranking, and Composition of e-Services
e-Services are autonomous platform-independent computational elements that can be described, published, discovered, orchestrated and programmed using standard protocols for the purpose of building agile networks of collaborating business applications distributed within and across organizational boundaries. With the rapid advances in telecommunication technology combined with recent developments in the area of distributed systems, workflow management systems, business protocols and languages, we are entering a new era -- Service Oriented Computing. One of the important goals of service oriented computing is to provide automated support needed for e-business integration both at the data and business logic level. Many enterprise computing systems and applications today are service-oriented. Service oriented computing is not only changing the way software applications are designed, architected, delivered and consumed but also has the potential to bring about reduced programming complexity and costs, lower maintenance costs, faster time-to-market and new revenue streams, as well as improved operational efficiency. This project focuses on three important problems in service oriented computing. How to discover, rank, and compose e-services? We are examining these three problems from several domains, ranging from the Deep Web, Web Services, complex business transaction management, and business collaboration applications.