background image
DSM­CC P
ROTOCOLS
 
AND
 I
NTERFACES
As revised 2006.05.04
Bionic Buffalo Tech Note #55 
Security: 
Unrestricted
object. The application sees only the local 
ServiceGateway
 object, not the remote object. 
If requested by the server, 
attach()
 may also initiate a download of objects required for the session 
to begin. 
Similarly, 
DSM::Session::detach()
 invokes either the local 
DSM::SessionUU::detach() 
operation, or the remote D
SM::SessionSI::detach()
 operation. 
DSM::SessionUU
 is used by the 
DSM::Session
 object to create a U­N session with a server. This 
interface is not used if the U­N session protocol is not used. In any case, it is not used by an application. 
The 
SessionUU
 object implements the U­N session protocol. Resolved object references are returned 
within the 
UserData
 field of the server response message, and passed back to the calling 
Session 
object. 
DSM::ServiceGateway
 inherits both 
DSM::Directory
 and 
DSM::Session
. In other words, it 
appears to be a directory of services which also can establish sessions. Although the 
ServiceGateway
 object is local, the directory belongs to a remote server. 
If the U­N session protocol is used, then the 
attach()
 and 
detach()
 operations are performed with 
the assistance of a local 
SessionUU
 object, and the directory operations are implemented with calls to 
a remote 
ServiceGatewayUU
 object. 
If the U­N session protocol is not used, then all operations are implemented by calls to a remote 
ServiceGatewaySI
 object. 
DSM::Download
 implements a portion of the client side of the download protocol. Although an object 
which has or inherits the 
Download
 interface will be defined on the server, the 
DSM::Download 
interface itself will be implemented on the client. The server will implement the 
DSM::DownloadSI 
interface, which is not used by the application. 
The local 
Download
 object has a high­level interface to the application, offering four operations: 
info()
 lists the available modules, along with information about them 
alloc()
 allocates buffers at the client 
start()
 initiates a download of selected modules 
cancel()
 terminates a download operation in progress 
The remote 
DownloadSI
 object implements a lower level interface. Control information is sent over 
the RPC channel, while the data blocks are usually sent over a higher speed, one­way channel. The 
application does not see the lower level protocol.  
Copyright 2006 Bionic Buffalo. All rights reserved.
File tn0055; Modified 2006­05­05 12:45:42
http://www.tatanka.com/doc/technote/index.html
E­mail: query@tatanka.com
Page 14 of 20