Bionic Buffalo Tech Note #103: Introduction to Pegasus Client Support
application - local object - LSCP - Pegasus server - playback engine
In this implementation, the local object has the same interface as a DSM::Stream object (or, when
used, a
DSM::Stream
proxy). Thus, the application doesn't see the difference between a Pegasus
stream service and a DSM-CC stream object: one application can handle both.
Server Implementations. Bionic Buffalo's server implementations of DSM-CC and Pegasus are
beyond the scope of this Tech Note, and are discussed elsewhere.
The Application Boot Process with Pegasus
Although DSM-CC offers various protocols (U-N, U-U, Download, SDB-CCP), the design allows the
application itself to avoid working with them directly. Instead, an application finds a local object of the
class
DSM::Session
, and uses that object's interfaces to find services and other resources on the
network. There is no need for an application to be concerned for the protocols and operations which
underpin the system. Pegasus, on the other hand, does not have the U-U abstraction layer with its
interfaces to insulate the application in this way.
Bionic Buffalo clients have extended the functionality of the
DSM::Session
object, so it can
interact with a Pegasus server, while the client sees the same API as used for ISO/IEC DSM-CC
protocols.
The
DSM::Session
interface has two operations,
attach
and
detach
. The
attach
operation
attaches or connects the client with a service domain (an object of class
DSM::ServiceGateway
),
while
detach
releases the connection. A
DSM::ServiceGateway
is usually a remote object, and
it has operations similar to those of a directory. The directory operations allow the client to browse for
services in the same way one might browse the internet or a conventional disk filesystem. The objects
in the directory may be of any kind (including kinds defined by the implementor), but three are
especially important:
DSM::Stream
(streaming video, audio, and data),
DSM::File
(conventional
data files), and
DSM::Directory
(tree-structured directories).
To allow transparent use of the usual DSM-CC interfaces in Pegasus environments, Bionic Buffalo has
implemented adapter servants. These adapter servants are for classses that look like
ServiceGatewayUU
and
DSM::Stream
interfaces, but which in fact implement the Pegasus SSP
and LSCP. They are impostors.
In Bionic Buffalo's DSM-CC, there is a configuration step before the Session object is used, when the
application tells the Session object which U-N session object to use for session establishment. This is
required because DSM-CC allows a client to talk to more than one SRM at a time, and there must be a
way to specify which SRM is to be used. Each U-N session object is associated with a single SRM. If
the application configures a U-N session object for the Pegasus U-N dialect, then the associated U-U
Session object will know it will be connecting to a Pegasus server.
Page 8 of 11