Real Time Multimedia in Broadband Networks

Ericsson Media Lab has concluded several projects where we have explored new multimedia services in networks. Traditional Internet techniques have been used, TCP/IP for the transport protocol, Ethernet or ATM for the transmission. As this is enough to demonstrate use of audio and video in dedicated networks with few users this is a good way to show possible new services over networks. We have also explored new protocols that support multi-user set-ups and real-time dataflow.

For this we have used a new protocol for broadband signalling. The protocol, called OOCM (Object Oriented Call Model), is based upon the signalling protocol for the Expanse Testbed developed at Bellcore by Steve Minzer. It's basic principle is that a few well defined objects should be enough to describe any multi-user, multi-service set-up. There is support for synchronizing data streams and it is possible to describe transformations on these data streams, according to the capabilities of the terminal receiving the streams.

The signalling protocol can control any network where point-to-point connections can be set up. We have the protocol working on TCP/IP networks and ATM networks. One of the possibilities for further work is to hide the data transport for the applications, to have a common set of data communication primitives that works on any underlaying transport layer. The current work on the protocol is to explore the possibilities to use the Java language.

In addition to the basic services of video, audio and data communication demonstrated on the system we are developing a virtual laboratory where different connected "real" laboratories can build virtual divisions where those members of labs that are cooperating in specific projects have their work rooms. In this way the distance between members in a project might be of no importance. In this virtual lab you can see those working, who is in, who is preoccupied, and you can contact the members by interacting with whiteboards, video screens and audio devices to bring up separate communication applications.

Further possible development would, of course, be to utilize RSVP and IPv6 for flow control and control over quality of service in TCP/IP networks. The use of the OOCM signalling protocol as an application layer on top of TCP/IP would make it easy to implement multimedia services with multiple connections, streams and users.

The Object Oriented Call Model (OOCM) introduces a signalling protocol for establishment of multimedia services in a broadband context. The model splits the atomic call model of traditional user-network signalling protocol for BISDN, into Elementary Call Objects. These objects are combined into tree structures describing multiconnection and multiparty calls. A syntax for operations on these Elementary Call Objects has been constructed to be used as a meta-language by an application programmer. Furthermore each user has its own Local View, which is unique and describes the resources used, involved participants and other complex relationships from the viewpoint of that user. The model makes it easy for the application programmer to define the information needed to set up complex multimedia services. The application programmer then composes requests, using the above mentioned meta language consisting of operations on elementary call objects. The model also introduce a new message flow mechanism which allows requests to be sent concurrently.

To handle the Local View each user in OOCM has an associated peer entity in the network called an User Request Manager (URM). The URM has a number of responsibilities.

The prototype implementation of OOCM has been implemented in Erlang which is a declarative real-time programming language developed at Ericsson. Erlang supports concurrent lightweight processes and a powerful inter-process communication concept. This together with the possibility to do smooth system upgrades makes Erlang well suited for implementing communication applications. Now we are looking into realising the protocol using Java or a combination of Java and Erlang.

The prototype of OOCM includes several features and techniques which is not a part of the theories specified in the Expanse testbed. A clone model for handling of simultaneous requests has been developed. In the prototype there are applications managers to handle several multimedia applications.

When OOCM is implemented on top of an distributed computing environment it gives full freedom to distribute the functionality of the application layer in any desired way. How it should be distributed is decided by engineering considerations like cost-efficiency, application needs, regulatory issues, etc. As this will differ from market to market and time to time and with technology evolution a distributed environment allows for full flexibility to adopt to changing needs.

References

[1] Bussey H, Minzer S, A Signaling Protocol Supporting Multi-Media and Supplementary Services, Bellcore.

[2] Minzer S, A Signalling Protocol for Complex Multimedia Services, IEEE Journal on Selected Areas in Communications, Vol., No. 9, pp. 1383-1394, December 1991.

[3] Minzer S., Spears D., New Directions in Signaling for Broadband ISDN, IEEE Communications Magazine, Vol. 27, No. 2, February 1989.

[4] Grebenö J, Hanberger N, An Object Oriented Call Model (OOCM), Ellemtel, Stockholm, September 1993.

[5] Grebenö J, Hanberger N, A Boosted Object Oriented Signalling Testbed (BOOST), Ellemtel, Stockholm, Mars 1994.

[6] Grebenö J, Hanberger N, http://www.algonet.se/~claymore/oocm/, Stockholm, September 1996.

[7] Armstrong J., Virding R., Williams M., Concurrent programming in Erlang, Prentice Hall, Hertfordshire, U.K., 1993.