This site requires a JavaScript-capable browser.

ViDe // www.ViDe.net
Video Development Initiative
Home Working Groups Calendar Resources Search About ViDe

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/