background image
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