Research Projects
- Information and
Communication Technology for Development
- Disparity in access to information and computing
technologies is a primary hurdle in the economic prosperity of the
developing world. The reason for this "digital divide" is that
traditional research in ICT technologies is based on assumptions suited
to the affluent world. High-end computing devices, broadband
communication infrastructure, uninterrupted power supply, computer
savvy users, are simply not there in developing regions. Our research
as part of Dritte
focuses on developing both hardware and software infrastructure,
specifically designed for the physical, social and economic realities
of developing countries.
- BitMate: BitTorrent for the Developing-world
- BitTorrent is a hugely popular peer-to-peer file
sharing system. In countries where broadband Internet is widespread,
BitTorrent accounts for as much as 70% of the overall Internet traffic.
In contrast, in developing countries, BitTorrent is almost unusable on
the typically low bandwidth dialup connections and accounts for less
than 10% of the overall traffic. BitMate is designed to enhance the
performance of hosts with low-bandwidth connections. Importantly,
BitMate enhances the performance of low-bandwidth nodes without
cheating, circumventing the fairness policy of BitTorrent or adversely
affecting the performance of other peers. BitMate outperforms vanilla
BitTorrent by as much as 70% in download performance, while at the same
time improving upload contribution by as much as 1000%! BitMate also
outperforms strategic clients like BitTyrant in low-bandwidth
conditions by as much as 60% in download performance (without
cheating).
The
system was featured in a series of articles in New York Times, CNN, GigaOM and many others. Read more about the system and download the client
from: BitMate.
- Poor Man's Broadband
- The Poor Man's Broadband system is designed to
circumvent the Internet bandwidth limitations in the developing-world.
Sponsored by MSR's
Digital Inclusion
Grant, Poor Man's Broadband enables modem-speed p2p dialup connections
to circumvent the
Internet bottleneck in the developing-world. The design of the system
is based on the
observation that the
limited Internet bandwidth in the developing-world is not a last-mile
problem. Modern modems can support up to 54 kb/sec, while average
end-user bandwidth in the developing-world rarely exceeds 15 kb/sec
over a pre-paid dialup connection. Our system enables Bittorrent-style
incentive-driven sharing of downloaded content between clients over
modem-speed dialup connections (much like a modern-day Fidonet). The
system was featured in an article in the New
Scientist magazine. Technical details of the system are
described
in the following papers: [1]
DitTorrent: Dialup Peer-to-Peer BitTorrent. [2]
Internet
Access at Modem-speed Dialup Connections
- DonateBandwidth.net
- Building on our experience with the Poor Man's
Broadband system, we are currently developing systems for users in the
developing-world to share their unused bandwidth to accelerate download
for other users.
Just as systems such as SETI@Home and OceanStore permit users to share
their computing cycles and storage space with others on the Internet,
DonateBandwidth.net permits sharing of unused Internet bandwidth (which
is much more valuable in the developing-world compared to computing
cycles or disk space). Our system is based on the key observation that
very little traffic originating from the developing-world is served
from the Internet Caches present in the country. As a consequence, the
expensive and scarce upstream International link is used considerably
more than is necessary. Our studies show that this is often due to two
reasons in countries like Pakistan: (1) there is often no proper IXP
and only a single monopoly upstream ISP that is focused solely on
packet transit, (2) there is often a plethora of small ISPs, frequently
with limited, and invariably mis-configured, caches. Therefore,
typically very little data is cached in a developing country and there
is no sharing of content between users of different ISPs.
Our system, dubbed DonateBandwidth.net, has two key components: (1) An
ISP-independent web p2p cache that consolidates and enables sharing of
data across users of different ISPs, and (2) a forward-caching
architecture that enables users to donate their unused bandwidth by
"forward populating" an ISP cache for other users.
Thsi project was featured in the MIT
Technology Review
- Teleputer: Cellphone-based Rural Computer
- Teleputer is our take at a developing-world PC.
Teleputer is essentially a cell-phone, enhanced with a sensor/actuator
interfaces and an icon-based visual programming environment to automate
the tasks of rural and semi-urban population in the developing-world.
Our proposed teleputer is aimed to enable zero-configuration
interaction for everyday rural applications. For instance, teleputer
enables applications in which a farmer can simply connect a
salinity-monitoring sensor to his cell-phone and insert the sensor in
the soil, causing the teleputer to send the sensor data to a
server-cluster in the city over the cellular connection. The servers in
the city can compute the salinity level and send the result back to the
teleputer, which is conveyed to the farmer using native speech
synthesis -- all with zero configuration and no textual interaction.
Currently, we are developing the Teleputer prototype using
off-the-shelf cell-phones and the Berkeley Sensor Motes.
- Internet Bypass Routing
- Based on our experience with DitTorrent, we
have identified that most of the times Internet bottleneck links may be
bypassed by using a simple Interest Indirection Overlay, which enables
the end-hosts to monitor and adapt to transient congestions and
mis-configurations on the Internet. Our current experience with
PlanetLab nodes show that for developing-world countries, simply
vectoring messages through intermediate nodes (and hence forcing
routing paths at the overlay level) could lead to up to 300%
improvement in packet latency and up to two fold improvement in
available bandwidth. Indirect routing has been used previously only to
bypass failures on the Internet, circumventing the long convergence
time of BGP. Our system for bypass routing is the first that explores
the role of indirection in overlay routing to improve Internet
bandwidth and latency in the developing-world. Currently, we are
working on an architecture that mimics IP-level route deflections at
the overlay level. Layered on top of PlanetLab, our bypass routing
system furthers the state-of-the-art in three dimensions: (1) Our
system efficiently detects transient performance bottlenecks on a given
routing path, (2) Our choke-link location system identifies appropriate
intermediate nodes which may be used to bypass the offending links, and
(3) our OS socket structure and TCP splicing architecture adaptively
sets-up end-to-end overlay routing paths to bypass transient
bottlenecks on the Internet.
- Disease Epidemology and Planning
- In developing countries such as Pakistan, there is
an increased need to track diseases and control outbreaks before they
progress to epidemics. It is also vital to develop an understanding of
historical disease patterns so that future episodes can be predicted.
The proposed healthcare GIS addresses both goals by tracking diseases
geographically in an online manner, and relating occurrence of diseases
with a variety of parameters for each local community. We further hope
to build intelligence into the GIS to identify high-impact locations
where possibilities for intervention and significant improvement exist.
We consider this an innovative effort in Pakistan. In our review of the
existing healthcare system we discovered an opportunity to pool
together data from major public hospitals (currently available only as
hard files) to construct a GIS. We also believe that a fully automated
system to map patients to geographical coordinates using addresses
would be a novel contribution with potential use beyond the GIS
proposed.
This work will be carried out as a collaboration between DRITTE at LUMS
and Prof. Zeeshan Syed’s group at MIT/HST (now at Univ. of Michigan). This project received funding
from the Punjab Information Technology Board (PITB).
- Pervasive Computing:
Goal-oriented, Self-adaptive Systems
- In pervasive computing, my work
has largely focused on
a new area
called goal-oriented systems; a goal-oriented
system takes a
high-level, typically underspecified, service-request, like
show
this video on the best available display , and automagically
satisfies and maintains the goal despite changes in available
resources. Goal-oriented applications are, therefore,
self-adaptive. Our work on goal-oriented
systems received the Mark Weiser Award. We are exploring the
goal-oriented paradigm in
three domains: Application Programming, Network Service Access, and
Mobile Data Access.
- Self-Adaptive Applications
- Opportunistic Service Access
- Our
SoNS and LANS
extend the
Operating System Network Socket Interface such that an OS socket may
be bound to a service rather than a specific server. Instead of taking
an IP address and a Port number of a server, Service-oriented Network
Sockets take a service specification as an input and opportunistically
connect the socket to a server that best satisfies the service
specification in a dynamically changing network environment. As an
example, watch the demo of
the
Follow-Me-Video application, designed for mobile media
devices
such as a portable DVD player. The technical details of the systems
are described in the following papers: [1] Paper on system
design and
implementation, [2]
Paper on lessons learned from initial system design
- Opportunistic File Associations
- Mobile devices have
limited I/O
capabilities. Therefore, while data may be stored on a mobile device,
it is typically impractical to view, edit or manipulate most types of
data on a mobile device. We implemented a system that hijacks the
file-association mechanism of a mobile operating system (such as
Windows CE), and opportunistically establishes file-associations with
available resources in the environment of the mobile device. For
instance, when a user clicks on a music file on a portable music
player, our system would opportunistically establish a media-type
association (.mp3) with the music player on a nearby desktop
machine. The technical details of the system are described in the
following paper:
Opportunistic
File-associations
- Gigabit Network Routing on
Multi-core Architectures
- I have dabbled in system design on the
emerging all-purpose multicore
architectures. We
designed and implemented an all-software 15Gb/sec
Network Router for
tiled-microprocessors such as the MIT RAW Microprocessor.
Our
software router achieved close to four times the throughput compared
to Intel IXP1200.
Professional
Services
Conference which I have organized or served on the Technical Program
Committee:
- ACM
SIGDEV: 1st Annual Symposium on Computing for Development (DEV) 2010
- 4th
IEEE/ACM
ICT for Development (ICTD), 2010
- 3rd
IEEE/ACM
ICT for Development (ICTD), 2009: Technical Chair for South
Asia
- IEEE/ACM
Architectures for Networking and Communication Systems (ANCS), 2008
-
17th
International World Wide Web Conference(WWW 2008),
Track on Technology for Developing Regions
- Networked
Systems for Developing Regions(NSDR), ACM SIGCOMM
2007: Program Committee Co-chair
- 4th
International Conference on Mobile and Ubiquitous Systems
(Mobiquitous), 2007
- AI
in ICT for Development, 20th International Joint
Conference on Artificial Intelligence (IJCAI), 2007
- 24th
IEEE International Conference on Computer Design (ICCD), 2006
- 5th
Annual IEEE International Conference on Pervasive Computing and
Communications (PerCom), 2007
- ACM/IEEE
Annual Symposium on Architectures for Networking and Communication
Systems (ANCS), 2006
- IEEE
International Symposium on Pervasive Computing and Applications (SPCA),
2006:Keynote Speaker
- 4th
Annual IEEE International Conference on Pervasive Computing and
Communications (PerCom), 2006
- 3rd
International Workshop on System Support for Ubiquitous Computing
(UbiSys), 2006: Part of Ubicomp'06
- 3rd
International Workshop on
Frontiers of Information Technology (FIT), 2006:
Leveraging IT in developing-world countries
- Workshop
on Middleware Support for Pervasive Computing (PerWare'06), 2006:
Part of Percom'06
- 2nd
International Workshop on Frontiers of Information Technology, 2004
- Workshop
on System Support for Ubiquitous Computing (UbiSys), 2004:
Part of Ubicomp'04
- 2nd
International Conference on Mobile Systems, Applications and Services
(MobiSys'04), 2004
- Workshop
on System Support for Ubiquitous Computing (UbiSys), 2003:
Part of Ubicomp'03
- 4th
International Workshop on Smart Appliances and Wearable Computing
(IWSAWC), 2004: Part of ICDCS'04
Research Interests
I am a systems person; I
build stuff. I am broadly
interested in Distributed Systems, Operating Systems, Computer
Networks and Mobile Computing. My recent research has largely focused
on two themes:
- Pervasive Computing
- ICT for
Development (ICTD)
- Updates on my
research on ICTD are given on the Dritte Pages.
- List of Conferences for which
I
am an organizer or Program Committee
member.
In the last few years, I helped found a number of startups: