We introduce the notion of network flow buffering for direct HTTP
streaming of web-based video clips, making it a more viable alternative to
specialized streaming protocols, and in some cases making it a superior
approach. A network flow buffer is simply a remote buffer that is dynamically
deployed between a Web client and server, and that actively or passively
regulates the flow of streaming video data. Network flow buffering is a simple
approach to improving the performance of Web-based streaming video by buffering
at a location where it can operate more effectively, providing benefits such as
supplementing client buffering capacity, smoothing differences between WAN and
LAN bandwidths, regulating data flow to a client, and supporting personalized
caching to improve restart times. Network flow buffering is easily implemented
as a Customizer in a middleware architecture we have developed (and reported on
in WWW02) called the Web Stream Customizer Architecture (WSCA). The WSCA has a
number of desirable features for supporting network flow buffering, including
the dynamic deployment and relocation of software intermediaries between
clients and servers that allow them to customize Web transactions, an extended
usage model that supports customization of HTTP streaming and non-HTTP
communication, and two points of control (one at the intermediary and one at or
near the client) which can be used to supply feedback on conditions at the
client to improve a network flow buffer▒s performance.
Pre-2018 CSE ID: CS2004-0776