Download
Mailing lists
FAQ
The README file that accompanies this distribution.
Please read all the documentation before using or starting NT Backhand Broadcaster.

When BH Broadcaster is run for the first time your computer will be very heavily loaded and use 100% of the CPU for a short time. THIS IS NORMAL. BH Broadcaster is calculating the ARRIBA. This is a measure of how powerful your computer system is, and allows mod_backhand to properly balance backhand requests. Once the ARRIBA is calculated it is stored in the registry, and will not need to be recalculated. If you make modifications to the hardware of your computer system that will effect it's performance you should re-calculate the ARRIBA. To do this delete the ARRIBA value in the registry. Then stop and restart BH Broadcaster (app / nt service / iis filter). When BH Broadcaster restarts it will calculate the new ARRIBA, and store it in the registry.
To install the NT Backhand Broadcaster do the following:

  1. extract the contents of the zip file.
  2. copy ALL files to wherever you want to keep them permanently (c:\program files\cerebrasoft\bhbroadcaster)
  3. double click on install-reg.bat (this will install registry entries for event message logging)
  4. setup broadcast parameters before running NT Backhand Broadcaster.

This installs the software to your machine and it is ready to run as an application.
To run the application as a regular program do the following:

  1. open a dos window
  2. change directory to the bhBroadcaster folder (wherever you put it)
  3. execute the command bhbroadcast -run

This will cause the broadcaster program to start immediately. Be sure to properly configure the BH Broadcaster before starting the application!
If you wish to run the application as an NT service do the following:

  1. open a dos window
  2. change directory to the bhBroadcaster folder (wherever you put it)
  3. execute the command bhbroadcast -install

This will install the BH Broadcaster as a windows NT service. By default the service is set to automatically start at boot up. To change the startup setting, or to manually start the service open the control panel and double click services. The BH Broadcaster service is called "NT Backhand Broadcaster". Be sure to properly configure BH Broadcaster before starting the service!
If you no longer wish to run BH Broadcaster as a service do the following:

  1. open a dos window
  2. change directory to the bhBroadcaster folder (wherever you put it)
  3. execute the command bhbroadcast -remove

This will remove the BH Broadcaster as a windows NT service. It only removes the software as a service on NT. It does not remove any settings, or remove any software or files.
If you wish to run the application as an IIS filter do the following:

  1. start the IIS Internet Services Manager.
  2. RIGHT click on the machine name immediately under "Internet Information Services" and select properties. NOT A REAL OR VIRTUAL WEBSITE You want to install this as a global filter, not a filter for any one particular website.
  3. In the "master properties" drop down list, select www service and press edit
  4. select the ISAPI filters tab.
  5. press the add button
  6. in the "filter name" box enter: NT Backhand Broadcaster
  7. press the browse button
  8. find the bhbFilter.dll file on your hard drive and double click it. (wherever you put it)
  9. press ok, to close the filter properties box.
  10. press ok to close the www master service properties box
  11. stop and restart IIS (you must do this in the services, not in the Internet Service Manager)
    1. open the control panel
    2. double click services
    3. Find "World Wide Web Publishing Service"
    4. Right click and select stop
    5. wait for a complete stop
    6. Right click and select start

BH Broadcaster will now automatically be started and stopped when IIS is started and stopped. Be sure to properly configure the BH Broadcaster before starting the filter! Running BH Broadcaster as an IIS filter is the preferred method because it will start and stop when IIS starts and stops.

(NOTE: The BH Broadcaster will start 30 seconds after IIS by default. This is because IIS must register itself with the performance sub system when it starts up. We also must register ourselves to get NT performance information. If both IIS and BH Broadcaster attempt to register with the performance system immediately at start up IIS and BH Broadcaster deadlock and cannot start properly. The delay allows IIS to do what it needs to before we register with the performance system. The delay can be changed by a registry entry. Look at the registry information later in this document for more information.)



Registry Information:

All NT Backhand Broadcaster configuration data can be found in the application registry root in regedit.
Application registry root: HKEY_LOCAL_MACHINE\SOFTWARE\CerebraSoft\Backhand_Broadcast

Registry Values:

Delay
Startup delay (in seconds) before BH Broadcaster begins to work. By default this is 0 when BH Broadcaster is run as an application, or a NT service. The default is 30 seconds when run as an IIS service. The registry setting will override the defaults for all three modes of operation.

Arriba
The calculated relative performance of this machine. A higher number is better.

numCPU
The number of CPU's installed in the machine.

ArribaThreads
The number of threads that should perform the loadCPU function. The more threads, the longer it will take. This should be the same among any group of machines that is back handed to. The default is 12 (this is linux's multithreaded default).


Mod_backhand (linux) on a pII 233 has an arriba of 143,000. NT Backhand Broadcaser on a pII 233 has an arriba of 224,422,000 with the default of 12 arriba threads. This IS due to the fact that the NT c++ compiler seems to do a better job of optimizing the loadCPU() function than the linux c++ compiler.

If you will be backhanding to both linux and NT machines I suggest you do some experimentation with the arriba threads setting (on the NT machines) in an effort to get similar arriba numbers from both linux and NT machines on equivalent hardware. Otherwise, your NT machines will be pounded and your linux machines will not be touched.

Just for comparison NT Backhand Broadcaster on a PIII 1Ghz has an arriba of 673,266,000 with the default of 12 arriba threads. By increasing the arriba threads on a more powerful system you get a more accurate reflection of it's true capabilities. I highly suggest increasing this number on a powerful machine. Again, just be sure that you have the same number of arriba threads set on each NT machine in your backhand cluster.

BROADCAST PARAMETERS:

The following values are only used in subkeys:

HostName
the hostname to be displayed by mod_backhand. (String, Optional, only up to 39 characters will be used., Default: NT Remote Server)

ContactIP
The IP address of THIS MACHINE that mod_backhand should send backhanded requests to. (String, Required, format 192.168.0.10)

ContactPort
The port of THIS MACHINE that mod_backhand should send backhanded requests to. (DWORD, Optional, default 80)

SendIP
The IP address to broadcast mod_backhand statistics to. Should either be a multicast or a broadcast address. (String, required, format 192.168.0.255). Multicasting is done on multicast addresses (Class A range 224 to 239 inclusive, i.e. 224.xxx.xxx.xxx to 239.xxx.xxx.xxx inclusive) Any address other than a multicast address should be a broadcast address. Broadcast addresses have 255 on the segment that they should broadcast to. i.e. to broadcast to all machines on 192.168.0 the address is 192.168.0.255. To broadcast to all machines on 192.168, the address is 192.168.255.255 AN ADDRESS LIKE 192.168.0.10 IS NOT A BROADCAST ADDRESS!

SendPort
Port to broadcast mod_backhand statistics to. (DWORD, optional, default 4445)

SendTTL
TTL for broadcast data. Only used when the SendIP is a multicast address. (DWORD, Optional, default 1)


UN-installing NT BH Broadcaster

There is an un-install batch file supplied. Using the supplied batch file will remove all traces of NT BH Broadcaster from your registry. Any configuration for NT BH Broadcaster you created WILL BE LOST. Any application that wants to use the csEvntMsg.dll file will not be able to. This means that the eventlog will show an error message instead of the NT BH Broadcaster message because it can no longer load csEvntMsg.dll.


Setting up BH Broadcaster

BH Broadcaster must have additional configuration information created in the registry before you can properly broadcast performance data to a mod_backhand server. BH Broadcaster allows for many different "broadcasts" to be created.

To create a broadcast do the following:
Using regedit navigate to the HKEY_LOCAL_MACHINE\SOFTWARE\CerebraSoft\Backhand_Broadcast key.

Create a key (It looks like a sub-directory) (NOT A STRING, DWORD, ETC). The key may be called whatever you like, BH Backbroadcaster does not use the key name for anything except event log messages. Choose a name that is meaningful to you.

Create values as specified in BROADCAST PARAMETERS. These values are used to broadcast NTÕs performance stats to a mod_backhand server.

To create an additional broadcast, create another key under the HKEY_LOCAL_MACHINE\SOFTWARE\CerebraSoft\Backhand_Broadcast key and setup the values under that broadcast.

Additions / modifications / deletions of broadcast data are not picked up until BH Broadcaster is restarted. If required information is missing, or could not be properly parsed BH Broadcaster will write an error message to the event log, and skip the broadcast that the error was encountered in. Check the event log for any errors after starting BH Broadcaster.

When running BH Broadcaster for the first time on a system it is recommended that you create one broadcast, and then start BH Broadcaster as an application (Not a service or IIS filter). Let BH Broadcaster calculate the machines arriba. When the arriba is calculated BH Broadcaster will begin transmitting, and write an entry to the event log to indicate that it is now broadcasting. After it has begun broadcasting, check your modbackhand server to verify that it is receiving the broadcasts from NT BH Broadcaster. Also attempt backhanding from the mod_backhand server to verify it's operation. Once this is completed, you can add more broadcasts to the BH Broadcaster and restart it to pickup the changes. Be sure to perform the same verification steps on each machine that should receive NT BH Broadcast data.