ORCHESTRA
Element Manager
|
Introduction
ORCHESTRA™ Element Manager is a custom SNMP-based network management
application for managing EGT's MPEG A/V encoders in a networked environment.
Element Manager is designed to allow operators to monitor and configure the
encoders collectively in groups or as a whole rather than singly with each
encoder's configuration web pages. Architecture
Element Manager is built around the Castle Rock SNMPc product, which
provides:
- A multi-user client/server platform.
- Database support for maps and other information that is shared among
clients.
- SNMP and MIB support.
- The ability to extend the application through a C language Application
Programming Interface.
- Event trapping and logging.
Element Manager is a managed Windows application written in C# under the
Microsoft .NET framework. Interop classes were written to encapsulate the
SNMPc C language API to facilitate calls from the Element Manager C# code.
These interop classes also contained code to check for error conditions that
would otherwise cause the SNMPc calls to fail, such as attempting to access
unlocked classes or invalid objects. The SNMPc menu structure was modified
to add menus for the new Element Manager functionality. These menu items
mostly run Element Manager executables which link with the interop classes.
To hold configuration and other data for the encoders, I devised a sort of
file system under the general SNMPc database I called "DBFS." DBFS is a
flat, directory-less file system that may contain an arbitrary number of
files of arbitrary length. Each file has a name (up to 31 characters) and a
type. DBFS supports the usual file system functions Open, Close, Read,
Write, Delete, Rename. A generalized DBFS Common File Dialog class in
included which is similar to the Windows Common File Dialog. Most of the
commands dealing with DBFS files use this common dialog. All of the
encoder (and other device) properties and types that are available for
display or edit are described in XML files. This allows for keeping Element
Manager in sync with encoder changes and updates by modifying the XML files
and not C# code. In fact, the encoders and other devices themselves are
described in XML files to allow for new devices to be supported in Element
Manager without having to make code changes. This design was in fact
validated after the first deliverable as EGT was able to edit the XML files on
their own to produce a Service Pack to support new encoder features. Development
Created Windows Forms applications to be called from the Castle Rock
SNMPc menus, which provided the following functions:
- Background polling of encoders to detect configuration changes and
automatically update the DBFS copy.
- Editing and management of encoder configuration data.
- Running parameter queries for multiple selected encoders, and
displaying the results in a grid window.
- Managing the map of encoders in the main application.
- Performing multiple simultaneous encoders software upgrades.
The SNMPc on-line help system was enhanced with additional topics for
these commands.
Some of the functions used multithreading to provide a smooth and
efficient user interface.
Microsoft Visual Studio 2005 was the development platform used.
Perforce was used as the project's source code control system.
Modified the MIB files and the encoder's embedded Linux software to add SNMP
objects for new encoder features.
Technologies
- Visual Studio .NET 2005
- Visual C# .NET
- Windows forms
- SNMP and MIBs
- Castle Rock SNMPc customization and use of the database APIs.
Conclusion
The project included over 44,000 lines of Visual C# .NET code, 5,100
lines of XML, 22 icons, and 11 bitmaps. You can click on an icon below (use the arrows to scroll the icon list)
and see the screen shot and a description:
This is an example of a Common File Dialog, which are used to select one or more file objects from the DBFS (DataBase File System). This shows an example of the Configuration Editor showing properties for a single audio channel. Multiple channels may also be edited together. The Query Window showing Output parameters for six selected encoders. The Query Window showing Output information for ten selected encoders, by device. The Cascade Mode of an encoder is being edited. The User Section Editor is used to create custom sections for queries. The Map tab on the Discovery/Polling Agents dialog specifies how to keep the map arranged. The Software Upgrader monitors multiple encoder software upgrades simultaneously.
This is an example of a Common File Dialog, which are used to select one or more file objects from the DBFS (DataBase File System).
ORCHESTRA is a trademark of EG Technology, Inc.
|