Multiple management applications can be active simultaneously and share the same management objects. A separate process is responsible for maintaining all the client-server links for a client workstation, which prevents the creation of client-server links for each active application. The combined set of management data is kept in shared memory, where all the client application processes can access it. This is a management database for all the objects that the client machine is managing.
Shared Management ObjectsAccess to shared memory is by means of a set of objects. Objects contain data about the various components of SNA Server. Each process has its own copy of the object interfacing to shared memory. The object provides a wrapper for changes to shared memory, and will propagate change notifications to all the processes that have requested notification for that object. Each process may have only a subset of the complete object set. The actual object data is common for all the processes. The objects also enforce access control on the data to prevent conflicts (mutual exclusion).
Each shared management object keeps track of which processes have a reference to the shared data, and what type of notifications each process has requested per object.
App Notify QueueThe App Notify Queue is used to queue update notifications from the underlying management objects, and to dispatch the queued notifications to the proper item for handling. Each process creates a "notify queue" for receiving events. The events are dispatched to the Notify Sink that is registered to accept messages for the Manage object that generated the event. If a new Manage object is created, notification is sent to the sink of the parent object.
The App Notify Queue resides in shared memory, allowing the MngCli process to place notifications in the queue and the client application process to remove and process the notifications.
Proxy Notify QueueThe Proxy Notify Queue is used to queue requests, commands, and notification of changes to the underlying management objects, and to dispatch the queued notifications to the proxy process for handling. It is identical to the App Notify Queue, except that the source and destination are switched.
The Proxy Notify Queue resides in shared memory, allowing the App process to place notifications in the queue and the proxy process to remove and process the notification.
Notify SinksEach process that requires notification of events to manage objects will create a Notify Sink. The Notify Sink is the destination object of an event notification. The sinks do not exist in the shared management objects layer; however, they are used when needed. The Notify Sink receives notification after information is taken out of the queue by a process.