Video Middleware: An Introduction
Of all the areas addressed and researched by the members of ViDe,
perhaps
the most complicated is video middleware. The term "middleware"
is a nebulous concept, one that
is constantly shifting and being redefined. Middleware, though,
is also one
of the most important topics, because it addresses the ability for
computers
and systems across a network to communicate reliably and with as
little
effort as possible. Specifically, in the cases of video conferencing
and
video-on-demand, this is critical for allowing end users to make
use of the
technology with widely varying hardware and applications. For instance,
middleware allows video conference calls from any location on a
number of different platforms while still adhering to usage and
security policies. It also allows for access of video archives in
the same manner.
According to the Internet Engineering Task Force's Network Working
Group ("Network
Policy and Services: A Report of a Workshop on Middleware"),
the definition depends on the perspective of the definer, though
it is roughly characterized as "services found above the transport
(i.e., TCP/IP) layer set of services but below the application environment
(i.e., below application-level APIs)." Another definition can
be found in the article "Research Challenges for the Next Generation
Internet" (NGI, May, 1997): "Middleware can be viewed
as a reusable, expandable set of services and functions that are
commonly needed by many applications to function well in a networked
environment." Still, in the realm of ViDe's work, these definitions
seem a little broad.
Perhaps the best definitions can be found in the Internet2 papers
on the work. The Middleware
FAQ states that middleware is a "broad array of tools and
services that help applications use networked resources and services."
Those resources and services include authentication, coscheduling
of networked resources, secure multicast, and directories. In other
words, according to Internet2, "Middleware is the intersection
of the stuff that network engineers don't want to do with the stuff
that application developers don't want to do." It can be thought
of as a glue that ties a specific application (for example, video-conferencing)
into a more general purpose pre-existing infrastructure for directory
services, security and the like. By making an application integrate
with existing infrastructure, you make it easier to manage with
existing resources.
According to the Internet2 working group, the challenges lie as
much in policy and practice as in technology. The middleware needed
on the higher education and research level is based largely on the
need for directory services and authentication, and the technological
requirements are based in large part on the varied standards that
each university or organization has in place internally. Because
of this, this middleware can be viewed as both centralized and distributed;
that is, while there is a need for a centralized infrastructure,
there are also some components that are best maintained by individuals
(or individual departments).
In the realm of videoconferencing, a simple example of middleware
can be provided, considering a simple point-to-point video call
-- much like a phone call from one person to another, only with
a video connection included. In this case, one end user connects
to a directory (much like an address book) and looks up the other
user's information. He clicks on the entry, and a call is initiated
by his machine. On the other end, the callee's machine alerts them
that there is an incoming call, identifies the caller, and the callee
can answer the call, initiating a videoconference. In this example,
middleware provides the capability to store the directory information
in a location, to identify and authorize both end users and their
access privileges, and to allow both machines to talk to one another.
Video-on-Demand has similar requirements from middleware. Whether
the video being provided is a live stream from a conference or presentation,
or an archived recording to be streamed whenever a user requests
it, there are issues that must be addressed through middleware.
These issues include security, authorization, and identification,
similar in nature and scope to that of videoconferencing. For instance,
in a case of pay-per-view content, the identification and authorization
are important to ensure that billing is accurate, and also to provide
security, to prevent unauthorized viewing of the files.
In the future, as the demand for video conferencing and video-on-demand
increases (and the cost for equipment and services comes down),
the need for
robust and reliable middleware will continue to be relevant. Directory
services (containing information about end users, like IP address
and
bandwidth information) will be accessed potentially millions of
times a day.
Attribute services will be called by progressively more applications
from
across university campuses and research networks. With such demand
potentially right around the corner, the importance of the work
that ViDe
and Internet2 perform in the area comes into focus, as does the
need to
understand the concepts.
For further reading:
http://www.ietf.org/rfc/rfc2768.txt
http://middleware.internet2.edu/
http://www.ucop.edu/irc/projects/UC-Middleware/
|