Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Nupur Kothari is active.

Publication


Featured researches published by Nupur Kothari.


symposium on cloud computing | 2010

Virtual machine power metering and provisioning

Aman Kansal; Feng Zhao; Jie Liu; Nupur Kothari; Arka Bhattacharya

Virtualization is often used in cloud computing platforms for its several advantages in efficiently managing resources. However, virtualization raises certain additional challenges, and one of them is lack of power metering for virtual machines (VMs). Power management requirements in modern data centers have led to most new servers providing power usage measurement in hardware and alternate solutions exist for older servers using circuit and outlet level measurements. However, VM power cannot be measured purely in hardware. We present a solution for VM power metering, named Joulemeter. We build power models to infer power consumption from resource usage at runtime and identify the challenges that arise when applying such models for VM power metering. We show how existing instrumentation in server hardware and hypervisors can be used to build the required power models on real platforms with low error. Our approach is designed to operate with extremely low runtime overhead while providing practically useful accuracy. We illustrate the use of the proposed metering capability for VM power capping, a technique to reduce power provisioning costs in data centers. Experiments are performed on server traces from several thousand production servers, hosting Microsofts real-world applications such as Windows Live Messenger. The results show that not only does VM power metering allows virtualized data centers to achieve the same savings that non-virtualized data centers achieved through physical server power capping, but also that it enables further savings in provisioning costs with virtualization.


IEEE Internet Computing | 2006

Monitoring civil structures with a wireless sensor network

Krishna Chintalapudi; Tat S. Fu; Jeongyeup Paek; Nupur Kothari; Sumit Rangwala; John P. Caffrey; Ramesh Govindan; Erik A. Johnson; Sami F. Masri

Structural health monitoring (SHM) is an active area of research devoted to systems that can autonomously and proactively assess the structural integrity of bridges, buildings, and aerospace vehicles. Recent technological advances promise the eventual ability to cover a large civil structure with low-cost wireless sensors that can continuously monitor a buildings structural health, but researchers face several obstacles to reaching this goal, including high data-rate, data-fidelity, and time-synchronization requirements. This article describes two systems the authors recently deployed in real-world structures.


programming language design and implementation | 2007

Reliable and efficient programming abstractions for wireless sensor networks

Nupur Kothari; Ramakrishna Gummadi; Todd D. Millstein; Ramesh Govindan

It is currently difficult to build practical and reliable programming systems out of distributed and resource-constrained sensor devices. The state of the art in todays sensornet programming is centered around a component-based language called nesC. nesC is a node-level language-a program is written for an individual node in the network-and nesC programs use the services of an operating system called TinyOS. We are pursuing an approach to programming sensor networks that significantly raises the level of abstraction over this practice. The critical change is one of perspective: rather than writing programs from the point of view of an individual node, programmers implement a central program that conceptually has access to the entire network. This approach pushes to the compiler the task of producing node-level programs that implement the desired behavio. We present the Pleiades programming language, its compiler, and its runtime. The Pleiades language extends the C language with constructs that allow programmers to name and access node-local state within the network and to specify simple forms of concurrent execution. The compiler and runtime system cooperate to implement Pleiades programs efficiently and reliably. First, the compiler employs a novel program analysis to translate Pleiades programs into message-efficient units of work implemented in nesC. The Pleiades runtime system orchestrates execution of these units, using TinyOS services, across a network of sensor nodes. Second, the compiler and runtime system employ novel locking, deadlock detection, and deadlock recovery algorithms that guarantee serializability in the face of concurrent execution. We illustrate the readability, reliability and efficiency benefits of the Pleiades language through detailed experiments, and demonstrate that the Pleiades implementation of a realistic application performs similar to a hand-coded nesC version that contains more than ten times as much code.


information processing in sensor networks | 2008

Deriving State Machines from TinyOS Programs Using Symbolic Execution

Nupur Kothari; Todd D. Millstein; Ramesh Govindan

The most common programming languages and platforms for sensor networks foster a low-level programming style. This design provides fine-grained control over the underlying sensor devices, which is critical given their severe resource constraints. However, this design also makes programs difficult to understand, maintain, and debug. In this paper, we describe an approach to automatically recover the high-level system logic from such low-level programs, along with an instantiation of the approach for nesC programs running on top of the TinyOS operating system. We adapt the technique of symbolic execution from the program analysis community to handle the event-driven nature of TinyOS, providing a generic component for approximating the behavior of a sensor network application or system component. We then employ a form of predicate abstraction on the resulting information to automatically produce a finite state machine representation of the component. We have used our tool, called FSMGen, to automatically produce compact and fairly accurate state machines for several TinyOS applications and protocols. We illustrate how this high-level program representation can be used to aid programmer understanding, error detection, and program validation.


symposium on operating systems principles | 2005

Kairos: a macro-programming system for wireless sensor networks

Ramakrishna Gummadi; Nupur Kothari; Ramesh Govindan; Todd D. Millstein

Wireless sensor networks research has, till date, made impressive advances in platforms and software services. Research in the area has moved on to consider an essential piece of sensor network technology---support for programming wireless sensor network applications and systems components at a suitably high level of abstraction. Two broad classes of programming models are currently being investigated by the community. One class focuses on providing higher-level abstractions for specifying a nodes local behavior in a distributed computation. Examples of this approach include the recent work on node-local or region-based abstractions. By contrast, a second and less-explored class of research considers programming a sensor network in the large called macroprogramming.


acm special interest group on data communication | 2011

Finding protocol manipulation attacks

Nupur Kothari; Ratul Mahajan; Todd D. Millstein; Ramesh Govindan; Madanlal Musuvathi

We develop a method to help discover manipulation attacks in protocol implementations. In these attacks, adversaries induce honest nodes to exhibit undesirable behaviors by misrepresenting their intent or network conditions. Our method is based on a novel combination of static analysis with symbolic execution and dynamic analysis with concrete execution. The former finds code paths that are likely vulnerable, and the latter emulates adversarial actions that lead to effective attacks. Our method is precise (i.e., no false positives) and we show that it scales to complex protocol implementations. We apply it to four diverse protocols, including TCP, the 802.11 MAC, ECN, and SCTP, and show that it is able to find all manipulation attacks that have been previously reported for these protocols. We also find a previously unreported attack for SCTP. This attack is a variant of a TCP attack but must be mounted differently in SCTP because of subtle semantic differences between the two protocols.


embedded and real-time computing systems and applications | 2005

Embedded sensing of structures: a reality check

Krishna Chintalapudi; Jeongyeup Paek; Nupur Kothari; Sumit Rangwala; Ramesh Govindan; Erik A. Johnson

With the advent of miniaturized sensing technology, it has become possible to envision smart structures containing millions of sensors embedded in concrete for autonomously detecting and locating incipient damage. Where are we today in our march towards this vision of autonomous structural health monitoring (SHM) using networked embedded sensing? In this paper, we summarize some of the systems we have developed towards this vision. Wisden is a wireless sensor network that allows continuous monitoring of structures and NetSHM is a programmable system that allows civil engineers to implement and deploy SHM techniques without having to understand the intricacies of wireless sensor networking. We highlight our experiences in developing these systems, and discuss the implications of our experiences on the achievability of the overall vision.


information processing in sensor networks | 2008

HERMES: A Software Architecture for Visibility and Control in Wireless Sensor Network Deployments

Nupur Kothari; Kiran Nagaraja; Vijay Raghunathan; Florin Sultan; Srimat T. Chakradhar

Designing reliable software for sensor networks is challenging because application developers have little visibility into, and understanding of the post-deployment behavior of code executing on resource constrained nodes in remote and ill-reproducible environments. To address this problem, this paper presents HERMES, a lightweight framework and prototype tool that provides fine-grained visibility and control of a sensor nodes software at run-time. HERMESs architecture is based on the notion of interposition, which enables it to provide these properties in a minimally intrusive manner, without requiring any modification to software applications being observed and controlled. HERMES provides a general, extensible, and easy-to-use framework for specifying which software components to observe and control as well as when and how this observation and control is done. We have implemented and tested a fully functional prototype of HERMES for the SOS sensor operating system. Our performance evaluation, using real sensor nodes as well as cycle-accurate simulation, shows that HERMES successfully achieves its objective of providing fine-grained and dynamic visibility and control without incurring significant resource overheads. We demonstrate the utility and flexibility of HERMES by using our prototype to design, implement, and evaluate three case-studies: debugging and testing deployed sensor network applications, performing transparent software updates in sensor nodes, and implementing network traffic shaping and resource policing.


Center for Embedded Network Sensing | 2007

Reliable and Efficient Programming Abstractions for Wireless Sensor Networks

Nupur Kothari; Ramakrishna Gummadi; Todd D. Millstein; Ramesh Govindan

It is currently difficult to build practical and reliable programming systems out of distributed and resource-constrained sensor devices. The state of the art in todays sensornet programming is centered around a component-based language called nesC. nesC is a node-level language-a program is written for an individual node in the network-and nesC programs use the services of an operating system called TinyOS. We are pursuing an approach to programming sensor networks that significantly raises the level of abstraction over this practice. The critical change is one of perspective: rather than writing programs from the point of view of an individual node, programmers implement a central program that conceptually has access to the entire network. This approach pushes to the compiler the task of producing node-level programs that implement the desired behavio. We present the Pleiades programming language, its compiler, and its runtime. The Pleiades language extends the C language with constructs that allow programmers to name and access node-local state within the network and to specify simple forms of concurrent execution. The compiler and runtime system cooperate to implement Pleiades programs efficiently and reliably. First, the compiler employs a novel program analysis to translate Pleiades programs into message-efficient units of work implemented in nesC. The Pleiades runtime system orchestrates execution of these units, using TinyOS services, across a network of sensor nodes. Second, the compiler and runtime system employ novel locking, deadlock detection, and deadlock recovery algorithms that guarantee serializability in the face of concurrent execution. We illustrate the readability, reliability and efficiency benefits of the Pleiades language through detailed experiments, and demonstrate that the Pleiades implementation of a realistic application performs similar to a hand-coded nesC version that contains more than ten times as much code.


Lecture Notes in Computer Science | 2003

On Reciprocal Altruism and Its Application to QoS

Nupur Kothari; Vartika Bhandari; Dheeraj Sanghi

With the growing usage of the Internet for resource-intensive applications e.g., streaming multimedia, best-effort service has ceased to be adequate. The result has been a spurt of proposals for guaranteed quality-of-service (QoS). Since network resources can be but limited, supply very often falls short of demand, thereby leading to competition to secure available resources. The factors that come into play in such situations, are network mechanisms, as well as complex economic behavior. A framework for providing cost-effective QoS needs to address both these aspects. Selfishness as a guiding motivation for action is widely observed in nature and has also been applied to QoS in the form of approaches based on competitive game theory. However, as has been observed in the natural world, long-term selfish motives may also give rise to apparently altruistic actions. This notion is well-captured in the phenomenon of Reciprocal Altruism, and has been modeled in game theory as the Iterated Prisoner’s Dilemma. We propose Reciprocal Altruism as the guiding principle for a QoS framework that allows for cooperation between otherwise competing flows, leading to long-term benefit for all. We also present simulation results to validate the notion that cooperation can lead to better end-user experience.

Collaboration


Dive into the Nupur Kothari's collaboration.

Top Co-Authors

Avatar

Ramesh Govindan

University of Southern California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Ramakrishna Gummadi

University of Southern California

View shared research outputs
Top Co-Authors

Avatar

Sumit Rangwala

University of Southern California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Erik A. Johnson

University of Southern California

View shared research outputs
Top Co-Authors

Avatar

John P. Caffrey

University of Southern California

View shared research outputs
Top Co-Authors

Avatar

Sami F. Masri

University of Southern California

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge