Hot spots are a major obstacle to
achieving scalability in the Internet.
At the application layer, hot spots are usually caused by either (a) high
demand for some data or (b) high demand for a certain service.
This high demand for data or services, is typically the result
of a real-life event
involving availability of new data or approaching deadlines; therefore,
relief of these hot spots improves quality of life.
At the application layer, hot spot problems have traditionally
been dealt with using some combination of
(1) increasing capacity and
(2) spreading the load over time, space, or both.
Some examples of these are
data replication (e.g., web caching, ftp mirroring),
data replacement (e.g., multi-resolution images, audio, video),
service replication (e.g., DNS lookup, Network Time Protocol),
and server push (e.g., news download, software distribution).
We note that
the classes of solutions stated above have been studied mostly
in the context of applications using the following types of communication
- one-to-many (data travels primarily from a server to multiple
clients, e.g., web download, software distribution, and video-on-demand);
- many-to-many (data travels between multiple clients, through
either a centralized or a distributed server, e.g., chat rooms and
video conferencing); and
- one-to-one (data travels between two clients, e.g., e-mail and
e-talk).
However, to the best of our knowledge there is no existing work on
making many-to-one applications scalable and efficient
(existing solutions, such as web based submissions, simply use
many independent one-to-one transfers).
This corresponds to an important class of applications, whose examples include
the various upload applications such as submission of income tax forms,
conference paper submission, proposal submission through the
NSF FastLane system, homework and project submissions in
distance education, voting in digital democracy applications,
voting in interactive television, and many more.
Consequently,
the main focus of this project is scalable infrastructure design
for relief of hot spots in wide-area upload applications.
Our contributions in this project are as follows.
We state (a) a new problem, specifically, the many-to-one
communication, or upload, problem as well as (b) the
(currently) fundamental obstacles to building scalable wide-area
upload applications.
We also propose a general framework, which we term
the Bistro system, for a class of solutions to the upload problem.
|