:: My Work


The primary focus of my work at Motorola has been in the area of mobile computing. Being part of an applied research center, the primary goal of my work is to build and demonstrate system prototypes that can eventually find a home in future shipping Motorola products. Over the years, I have created or overseen the creation of several interesting prototype systems, that employed next-generation enablers and related applications for showcasing the technology. Many of these systems where designed for multimedia applications. My contributions can be classified into four broad categories - (i) Mobile Applications (ii) Middleware Enablers (iii) Peer-to-Peer Systems and (iv) Power Management.

I believe that systems research should involve both theoretical and applied solutions, which together have the greatest potential for impacting a research area. Research prototypes need to be designed with the goal of addressing a real-life problem and evaluating a novel and interesting approach to an important underlying research problem. While simulations can be effective in verifying and evaluating theoretical foundations, it is also important to have a compelling prototype for real-world usability. Such an approach is very effective not only in validating the prototype, but also in gathering qualitative feedback and more credible quantitative results. I also believe that the best research results are achieved through effective collaboration where-in the perspectives and expertise of each collaborator could contribute towards new ideas and better systems. Here is my research statement.




:: Mobile Applications


TV Companion Applications (HTML5 / Android tablet)

Companion

For much of 2011, I was involved with the architecting, design and implementation of TV companion applications. The goal was to create a tablet application that could be used to compliment content playing live on TV. The applications were designed to access content aggregated from the TMS metadata server and present users with options to pivot around key content types. I created the first HTML5 prototype of the application which was hosted on the Amazon servers. The application was successfully demonstrated at CES 2011. Subsequently, our team built upon this application to create a native Android application (for Xoom tablets) with a redesigned user interface while adding social components such as presence, chat and recommendations. The native android application is still used in several company wide internal demos showcasing the technology built within the labs.



Motorola Mover

  (shipping product)
Mover

In 2009, I worked with the Motorola Home business unit for the initial design of the Motorola Mover product prototype. The idea was to transcode and encrypt recorded content on a user's set-top box and store it on the Motorola mover. This content would subsequently be exposed via a RESTful web interface to authorized mobile phones (belonging to the same user). I defined the web interfaces and created the initial working prototype iPhone application for the project.

I also created the initial prototype iPhone application used by the Motorola WaveRunner product. The Waverunner product was designed for AT&T U-verse customers and presented the ability to schedule PVR from the U-verse set-top box, PC and the iPhone. The content would then be recorded on the network and would be available for download and playback on the iPhone (and subsequently other mobile phones). (2009-2010)

Here is the CNET video for the Motorola Mover, which also received a honoree award at CES 2010.



[top]

:: Middleware Enablers


Home Spaces - Framework for creating ensembles

Spaces

The objective of the Home Space research project was to enhance the productivity and digital experiences of a person by applying the core principles of cloud computing to the home environment. Through this, the individual ‘smart’ devices in a home (TVs, cell phones, media players, tablets, PCs, home automation, etc) are the pool of configurable computing resources that can be joined together as needed to form a single system (a device ensemble) and then dynamically reconfigured as needed as people and devices come and go or move within the home. The ‘Home Space’ becomes the nexus for content, applications, control, and context.

We spent much of 2012, conceptualizing, architecting, designing and prototyping the first version of the framework. Initial implementation of the prototype was designed to enable next generation browsing, sharing and collaboration experiences using purely web technology, thereby addressing the existing client device fragmentation. (2011-2012)



Content Presence Multicast Protocol

CPMP

We designed the Content Presence Multicast Protocol (CPMP) to support social content consumption experiences. It is intended to be deployed in ad-hoc wireless local area network environments. CPMP provides a framework for periodically communicating information about what content is currently being consumed and what content is being sought for future consumption at each participating node. Our goal was to make the protocol efficient and scalable while including features intended to support synchronization of presence message transmissions. CPMP messages are transmitted periodically (via multicast UDP/IP frames) to inform nearby devices of updated content presence information using IP multicast.

Each CPMP message includes a field that specifies the number of seconds in which to expect a new CPMP message. By transmitting CPMP messages at approximately the same time CPMP messages are expected, an implementation can avoid powering on the wireless LAN radio for transmissions - essentially piggy-backing CPMP transmission with reception. Ideally, all participating nodes will use this technique simultaneously, resulting in synchronization of CPMP activity. Joint work with Mike Pearce and Bogdan Carbunar.



Multicast DNS for Android

jMDNS

Implemented a library (called DataStew) around the open source java mDNS library JmDNS to allow android devices to communicate using Bonjour. The library interface followed closely the API provided by Apple in their SDK. Since Motorola was considering using Android on their set top boxes at the time - this would have been a strong enabler for getting set-top boxes to talk to Android/iOS devices over Wi-Fi. Joint work with Mike Pearce and Loren Rittle. (2009-10)



Utility based Fetch-Flush Scheduler

Scheduling

An intelligent content scheduling and garbage collection algorithm that was responsible for deciding which content items should be resident on a memory constraint mobile device and which can be flushed. At any point of time, using utility functions, we modeled the relevance of the items in the cache in a consistent manner across multiple applications. By ensuring only the items with the highest utility are resident, we could maximize the utility of the local storage. By allowing applications to select between multiple utility functions, we allowed for optimization schemes to be matched to different application-specific content access patterns. The scheduler was designed to be event driven in order to capture application events (e.g. content item consumption) or network events (e.g. availability of a new network) that trigger the pre-fetch and the garbage collection of content. Joint work with Mike Pearce and Rohit Chaudhri.



[top]

:: Peer-to-Peer Systems


Where-Fi - Energy Efficient Multimedia Distribution

Where-Fi

Where-Fi is an umbrella technology that we developed in house at Motorola Labs for social consumption of media using cell phones. This technology involved designing protocols for ad-hoc wifi based content (audio, video, images) sharing, designing distributed algorithms for power optimization and creating user interfaces for content consumption and creation. CPMP was used as the underlying technology for energy efficient information dissemination. Using this technology, we designed applications that allowed users to visualize content being consumed around them (called Zeitgeist) and also to download and consume content around them (MeCast). This work has generated two patents and two publications in international conferences. Joint work with Mike Pearce and Bogdan Carbunar.(2007)

See demo video or check out our paper.



Photocast - Interactive Digital Photo sharing

Photocast

I created an ad-hoc WiFi based interactive digital photo sharing application on the Apple iPhone. The application includes an energy efficient protocol for media distribution and user interface for viewing, sharing and creating content. Also implemented is a feature for following “users of interest” with a single click. I also implemented an animated flowing UI where thumbnails of pictures taken on nearby devices who drop down from the top of the screen and allow users to subsequently download full size images. (2008)

I jointly co-taught a project course at Notre Dame along with Aaron Striegel and Christian Poellabauer. Here is the video of the Photocast application created by the students on Windows phones.



Neighborhood Caching through Learning Algorithms

Caching

This research project was designed to create and evaluate caching strategies in a neighborhood mesh network of set-top boxes for effective video distribution. The goal was to evaluate the possibility of caching potentially large collections of videos using statistical analysis and machine learning algorithms. This would have reduced the load on broadband access links and VoD servers by reducing upstream traffic to the video head end. (2009)



[top]

:: Power Management


Dynamo: Cross-Layer Power Optimization on Mobile Devices (Ph.D. Thesis work)

Dynamo

As part of my PhD. dissertation, I evaluated several techniques (both theoretical and empirical) for optimizing energy consumption on mobile devices. I proposed a cross-layer approach to energy optimization, where a distributed middleware component is used to coordinate energy optimization at various system layers. My contention was that a distributed middleware with knowledge of application QoS requirements, network transmission characteristics and energy budget could dynamically negotiate QoS with applications as well as coordinate adaptations at various system layers such that the application QoS requirements could me met under the energy constraints. To facilitate such cross-layer adaptations, I designed and evaluated a system called “Dynamo” that implemented APIs for bidirectional information sharing across various system layers. Using this system I have demonstrated that energy savings as high as 55% were possible through joint adaptation of the various system components (CPU, wireless network interface and LCD backlight). In addition to the Dynamo system, I developed a graph theoretic solution to achieve energy aware task reconfigurations for optimizing energy consumption on mobile devices. I also developed a game theoretic approach for analyzing and optimizing energy consumption on mobile systems.

For more information (papers, downloads, presentations) please visit the Dynamo website. (2002-2005)