Package com.sun.multicast.reliable.channel

Controls session-level aspects of a reliable multicast application.

See:
          Description

Interface Summary
Channel A reliable multicast channel.
ChannelManager A reliable multicast channel manager.
DynamicFilter An object that filters or otherwise transforms data on a packet-based channel.
PrimaryChannelManager A primary channel manager.
 

Class Summary
ChannelManagerFinder A channel manager finder.
 

Exception Summary
ChannelException Signals that a channel exception of some sort has occurred.
ChannelManagerNotFoundException Signals that a channel manager could not be found.
ChannelNotFoundException Signals that no channel could be found.
InvalidChannelException Signals that the channel is not valid.
LimitExceededException Signals that the maximum number of channels on a PrimaryChannelManager has been exceeded.
NotAdvertisingException Signals that the channel is not advertising and therefore cannot respond to certain methods.
UnauthorizedUserException Signals that the current principal does not have authorization to perform an action.
 

Package com.sun.multicast.reliable.channel Description

Controls session-level aspects of a reliable multicast application.
Three interfaces and one class make up the core of the Channel Management API.

The Channel interface defines methods that are supported by all channels. Many accessor methods are provided to get and set properties of the channel such as the channel name and the data start time. Other methods establish communications on the channel or destroy, duplicate, or otherwise operate on the channel.

Currently the only implementation of the Channel class is LocalChannel.

The ChannelManager interface defines methods that are supported by all channel managers. These methods allow the caller to find channels based on such criteria as a channel name.

The PrimaryChannelManager interface extends the ChannelManager interface, adding methods that are supported only by PCMs. These methods allow the caller to create new channels.

Currently the only implementation of the PrimaryChannelManager class is LocalPCM.

The ChannelManagerFinder class is used to find Channel Managers. The getChannelManager method finds a channel manager with the specified principal name. The getPrimaryChannelManager method does the same for primary channel managers. Both methods take a principal name as their sole argument, with null indicating that the local PCM should be used.

Channels provide a mechanism for applications to deliver data to multiple receivers via IP multicast. Receivers obtain this data by subscribing to selected channels. Each channel may be transmitted over a single multicast address, or multiple channels may share a single multicast address. Channels may contain unencrypted data and be made available to any receiver able to listen on a multicast address, or channels may carry only encrypted data and require registration with a channel manager for authentication and key distribution. Applications using channels can access both channel management and data transmission facilities through the Channel Management API (CMAPI).

Channels are mechanisms for transferring data from senders to groups of receivers over IP multicast. Channel objects reside on primary channel managers. They are also accessible from senders, receivers, and channel managers. Channels are created on primary channel managers at the request of senders. The primary channel manager assigns a unique channel ID to each channel. Channel information is propagated through the network by multicast advertisement, or via unicast communication with channel managers.

Channels contain all parameters needed for channel operation. A channel's application name specifies the application to which it belongs. In this context, the application name does not indicate an executable program; it is simply a text string that may be displayed by a receiver, or used to search for certain channels. A channel's channel name describes its content to the receiver. Different channels with a particular application name may share the same channel name and differ by some other characteristic, such as speed.

The channel also specifies the transport profile to be used, including the multicast address and port number. Several channels can share the same multicast address.

Each channel specifies how receivers may learn about the channel. Channels may be advertised using the advertising package. In this case, receivers use a local PCM object to listen for advertisements. Or, for added security, receivers may be required to register with a channel manager in order to learn about channels.

Senders use channels to distribute data to a set of receivers. In order to create a channel, a sender contacts or locally constructs a primary channel manager. Multiple senders are allowed per channel. Channels may then be advertised by the PCM. Once data transmission is complete, senders may choose to destroy the channel, or keep it available for future transmissions.

Senders continue to control the channel throughout the data transmission. Various channel parameters, including advertisement and encryption characteristics may be changed without closing the channel.

Channel managers are responsible for all aspects of maintaining channels. For a given channel, one channel manager called the primary channel manager (PCM), processes requests to create, manage, and destroy the channel. PCMs also advertise channels and cache received advertisements. All channel managers may listen to advertisements and cache the information. Receivers may then access the cached information instead of listening to advertisements themselves. Channel managers provide methods for senders and receivers to register for various events.

Receivers are the destination end-stations for a channel's multicast data. Receivers select channels to which to subscribe in one of three ways:

Receivers may be required to register with a channel manager to be authenticated and obtain additional channel information.



JavaTM Reliable MulticastTM Service version 1.1
Copyright (c) 2001, Sun Microsystems Laboratories, All rights reserved.