Skip to Content
Author's profile photo Ali Chalhoub

NetworkCheck Utility (not only) for SAP Mobile Platform

Ever greater focus on network communication

When dealing with any complex system landscape, network communication problems are one of the challenges companies face to keeping their system functional. Adding mobile technology to the mix puts an ever greater focus on network communication and implies the occasional need to trace issues.

To detect and find any interruption in network communication is very challenging. Sometimes when you are involved in a complex problem, going back to the basic and thinking outside the box is the key to figure out the problem and the cause: This is why SAP Active Global Supported created the NetworkCheck utility!

SAP was working on a very difficult situation when the SAP Mobile Platform (SMP) server was failing to be part of the cluster. This issue was happening randomly. We figured out after debugging that this issue was related to a network problem, ant that our solution – SMP – was working just fine.

In order for us to prove our theory, we developed a tool called NetworkCheck utility.

NetworkCheck utility is intended for customers and partners to analyze the behavior of their networks, to identify issues that cause TCP/IP socket collection failures and breakages. Such network issues can adversely impact many SAP solutions, and it is valuable to have an utility that is independent of the SAP solutions so that customers and partners can clearly differentiate network issues from SAP issues. This utility was indeed developed by SAP.

NetworkCheck Utility published on github

Because of the success that we had with this tool, SAP decided to share it with the community. This tool is available in the SAP Open Source community
under the section “SMPServer Utilities.

This tool does not depend on any specific products. If you are trying to prove if there is a network communication problem across the machines, or VMs,
then this tool is the one for you. All the details and how to run this utility are located in the github link that was provided above.

Here is a quick example of what this tool will do:

  • Each second, each host will send a single byte to each other host, and then try to read a one byte response.
  • Errors are reported if the tool:
    • Cannot connect from one host to another
    • Gets an error when writing one-byte request to another host.
    • Gets an error when reading one-byte response from another host.
    • Takes more than 10 seconds to read one-byte response from another host.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Kiran Kola
      Kiran Kola

      Great info Ali!

      Author's profile photo Jitendra Kansal
      Jitendra Kansal

      Hi Ali,

      I can see "Accepted Connection" message when i run the utility as per this step.

      Run the utility by executing this command from within the c:\java directory as follow: java -classpath c:\java\classes misc.NetworkCheck

      If in between, SMP service is down, will it throw any error?




      Author's profile photo Ali Chalhoub
      Ali Chalhoub
      Blog Post Author

      Hi JK,

      This utility is independent of SMP. This tool is to test and see if you have a network communication problems between all the nodes where SMP is installed or none SMP installation. However, it does not use any of the SMP functionality.

      Consider the following: Imagine, SMP is failing to communicate with its database or with the other nodes which they are running on different servers or different VMs and that failure is caused by a network problem. But this failure is occurring randomly. This tool you will let run until an exception occurs if the nodes cannot talk to each other and because of a communication problem that is caused by a network issue. This tool is just a way to help you debug the network problems. So as I mentioned, it will not use anything from SMP functionality.

      I hope this helps...

      Author's profile photo Jitendra Kansal
      Jitendra Kansal

      I was wondering if this tool helps us in case of communication failure between mobile devices and SMP server.

      Author's profile photo Ali Chalhoub
      Ali Chalhoub
      Blog Post Author

      Remember this tool is for the server side internal communication between machines or VMs. Now if you want to compile and run the tool on a device that can support java and the server nodes are reachable from the device, then it may work.