Ask a Question | Glossary | My Favorites
 Featured
ACEmessage is Slow to Send Messages
Author: ACEmessage Support Reference Number: AA-00101 Views: 1730 Created: 2010-02-15 00:00 Last Updated: 2010-03-07 14:05 0 Rating/ 0 Voters

ACEmessage is a network application designed to deliver messages across any network infrastructure.  When you install ACEmessage you get a standard set of 'out the box' settings which are designed to work with most networks.  However, occasionally it is important to understand how ACEmessage operates, so that you can improve the speed at which messages are delivered across your organisation.

 

Message Delivery Mode

It is important to understand the Message Delivery Mode option which is accessible via:

[ACEmessage] -> Options (Button) -> Network (Tab)

Delivery Mode has two options:

  • Unicast [Default]
  • Multicast


These two options greatly change the way ACEmessage sends the message to your chosen targets.  They are discussed below.


Unicast (Default) - Message Delivery Mode

When ACEmessage sends a message via Unicast Message Delivery Mode, it contacts each target individually over the network.  This process is defined below:

  1. ACEmessage will attempt to connect to the computer by resolving the hostname to an IP Address.  Once an IP Address is obtained, ACEmessage will connect to the target computer over TCP port 9487.
  2. Once a connection is established over TCP port 9487, the client and server pass 'authentication' codes which verify a genuine ACEmessage session.
  3. Once authentication codes are OK'd, the Data Stream of the message is sent to the Client
  4. Once all of the Data Stream is received by the client, the connection is dropped and the clients 'delivery status' is updated.
  5. At this point the ACE Client (Receiving application on the Target Computer) will review the message to see if it is to be displayed to the current user.  See ACE Client Not Displaying Message (ACEmessage Reports Successfully Sent) for more information

 

ACEmessage by default has 5 Sending Pipes of communication where the above steps are carried out.  Therefore ACEmessage will simultaneously talk to 5 target computers to deliver the message, it will then keep using these 5 Sending Pipes until All of the target computers in the list have been processed.

 

Common Issues

Most problems that occur with slow message distributions are due between points 1 & 2 above.  If ACEmessage resolves a hostname to an IP Address on the network, it will attempt to connect to that IP Address over TCP port 9487.  If this target computer is either:

  1. Switched Off
  2. Has a Firewall blocking port TCP 9487 (Either on route through the network OR on the computer itself)
  3. Has an extremly slow connection to the target computer (i.e over a dial-up WAN connection, or congested link)
  4. The ACE Client Receiving Service (ACEnwork.exe) on the target computer is not running (ACEmessage Network Client is the service name)


ACEmessage will 'lock' that particular Sending Pipe until a reasonable response time during stages 1 & 2 above.  This is generally up to 10 seconds for a valid response, if no response is received within 10 seconds then the target is deemed to be 'unreachable' and therefore ACEmessage will fail that target computer and process the next in the list.

As you can imagine, if you have 1000 computer targets, and 20% are switched off (or other problems as listed above), then that is alot of 'lock time' during your message distribution.

 

Resolution

ACEmessage can be tuned to enable quicker message distribution.  These issues are defined below:

DNS

Make sure the computer which is running ACEmessage has fast access to a DNS server.  You must also make sure that the hostnames can be resolved via this DNS server.  A simple way to test this is using the NSLOOKUP tool in a CMD window.  Simply type the hostname of a computer once you have entered an NSLOOKUP prompt, and you should see the IP Address for the hostname appear.  If this resolution fails or takes a while you may need to check your DNS configuration.

PING

ACEmessage v1.7 (and later) now has a feature to PING target computers before attempting to communicate with them.  A PING is a quick network cummunication test which verifies if a host if available on the network.  To enable PING checking (Which can dramatically improve UNICAST message delivery times):

  1. Open ACEmessage
  2. Go into the Options screen (via the Options button)
  3. Click on the Network tab
  4. Tick to box to Enable Ping Each Target
  5. OK the Options Dialog box (Which closes it)

NOTE:  It is important to understand that for the PING facility to work your network must support ICMP ECHO Reply/Response.  As standard this is enabled for most networks, however if your network has ICMP disabled then you will encounter further issues.
TIP:  To test PING is working on your network enter a CMD prompt, and type:
PING HOSTNAME     (And press Enter)
Where HOSTNAME is a computername on your network.  You should see a reply being listed, which states ICMP is working for that host.  If you receive Request Timed Out then you need to speak with your network administrators about PING across your network.
 
 

Firewall

For ACEmessage to successfully send a message to a computer, the ACEmessage computer must be able to create a communication session over TCP port 9487.  So there must be no firewall inbetween the sending and receiving host (either hardware or software firewall) which will block TCP 9487 packets.  YOU MUST ENABLE TCP PORT 9487 across your network for sucessful message delivery over UNICAST.  ACEmessage and ACE Client (on install) will amend the Windows Firewall ruleset to allow the above.  However, bespoke firewall applications or hardware firewalls will need to be amended to ALLOW tcp port 9487 commuication.

 

Testing ACE Client (Receiving ACEnwork.exe) Receiving Service on a Target Computer

Make sure that ACE Client is installed and listed in your Add/Remove Programs in the Control Panel.  In you launch your Services list (START->RUN-> services.msc) you should see the ACEmessage Network Client service listed.  It should have a Status of Started and a Startup Type of Automatic.  If you open Windows Task Manager (Press CTRL+SHIFT+ESC altogether) you should have a process listed called ACEnwork.exe (Make you you click the button to show processes from all users!).  If the above are all OK then ACE Client should be in a suitable state to receive messages.

 

Increasing the Sending Pipes

In extreme circumstances it may be required to increase the amount of Sending Pipes available to ACEmessage from the default of 5.  You can increase this by:

  1. Make sure ACEmessage is closed
  2. Navigate to:  C:\Program Files\ACEmessage\  (Or your chosen default ACEmessage install directory)
  3. Right click the file:    ACEmess.exe.config
  4. Select Open With -> Choose Default Program
  5. Select Notepad (To open this file)
  6. You should then see the ACEmess.exe.config file open in the Notepad Application
  7. Edit the below section, where the number 5 is the amount of Sending Pipes you want to enable:


<setting name="MaxUnicastPipes" serializeAs="String">
                <value>5</value>
</setting>

  1. Go to File -> Save in Notepad to save the file and settings.
  2. Open ACEmessage, go into the Options area
  3. Select the Network tab, and the value listed for Unicast Pipes should now match what you entered in the configuration file.

NOTE:  We do not recommend you increase the Sending Pipes by more the 8 or 10.  As you will notice that some clients will fail to receive messages.  If you are running ACEmessage on a powerful computer with plenty of memory and CPU processing spare (and suitable network connection with bandwidth) we would recommend setting to 8.  Please experiment to try and find a setting suitable for your network and requirements.
 
 

 

Multicast - Message Delivery Mode

ACEmessage has the ability to utilise Multicast for Message Delivery.  The benefits of using Multicast Message Delivery Mode are:

  1. Sending to Thousands of Computers takes a few seconds
  2. You can Target Users or Groups of Users for Message Distribution
  3. The message is sent once on the network, therefore low network usage and bandwitdh


As you can imagine, the main benefit is the 'instant' delivery of messages.  Multicasting is a network technology whereby ACEmessage will send the message to the 'network infrastructure' and your network infrastructure will send the message to all ACE Client Computers.  Those ACE Client computers who need to display the message (i.e their logged on users is a target) will then display the message to the user.

 

Common Issues

Multicast is not the default method of message delivery, due to the fact that most corporate networks to not have multicast enabled by default across their network routers and switches.  If Multicast message delivery is not working across your organisation, it is most likely due to:

  1. Multicast not being enabled on Edge Network Switches
  2. Multicast Routing not being enabled on Core Network Routers
  3. Firewalls blocking Multicast UDP Packets


All of the above issues can be resolved by experienced Network Administrators who can enable Multicast across your network.  They may require the below technical information in order to understand how ACEmessage and ACE Client utilise multicast.

ACE Clients will Join the following Multicast Group (By Default) upon Computer Startup (via IGMP)

Group:    231.4.5.52

ACEmessage (When operating in Multicast Message Delivery Mode) will:

Send UDP Packets to 231.4.5.52, with a TTL of 32 and to UDP port 8765

 

Resolution

ACEmessage Multicast issues are mainly focused around Multicast setup and configuration of your network infrastructure.  We cannot provide a default set of configuration guides due to the varied amount of network manufacturers (Cisco, 3Com, HP, Dell, Juniper... etc) however we recommend you speak with your Network Administrators to enable Multicasting across your network for the above settings as detailed.

 

Rss Comments
  • There are no comments for this article.
Info Add Comment
Nickname: Email (will not be shown): Subject: Question:
Quick Jump Menu
Info Ask a Question