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.
TV Companion Applications (HTML5 / Android tablet)
|
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)
|
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]
Home Spaces - Framework for creating ensembles
|
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
|
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
|
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
|
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]
Where-Fi - Energy Efficient Multimedia Distribution
|
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
|
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
|
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]
Dynamo: Cross-Layer Power Optimization on Mobile Devices (Ph.D. Thesis work)
|
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)
|
|