Application Server and Device Server communication.
search cancel

Application Server and Device Server communication.

book

Article ID: 319866

calendar_today

Updated On: 11-07-2024

Products

VMware Smart Assurance

Issue/Introduction

This article will provide information to understand how the communication process works between the Application Server and the Device Server.

Environment

NCM - 10.1.x

Cause

The typical symptom is that jobs get stuck in the running state. 

Resolution

The Application Server and the Device Server are often referred to as AS and DS respectively.

Here is the communication flow between the AS and DS: 

  • Client requests a push or pull.
  • Spring framework by Java sends the request to controldaemon.
  • The controldaemon process writes a command file into the toServer directory on the AS.
        $VOYENCE_HOME/data/appserver/pops/pop####/syssync/commmgr/toServer
  • The syssyncd (syssyncm) process on the AS detects the new command file and send it to the DS.
  • syssyncd on the AS connects via https to ssxfr.cgi on the DS and issues an HTTP PUT to sends the file.
  • Once the file is send successfully, it is removed from the toServer directory on the AS.
  • The file arrives on the DS in the toServer directory on the DS 
        $VOYENCE_HOME/data/devserver/syssync/commmgr/toServer
  • The commmgrd process accepts the command file from toServer and processes it.
  • Once complete, it writes the results to a file in the toMaster directory on the DS.
        $VOYENCE_HOME/data/devserver/syssync/commmgr/toMaster
  • syssyncd (syssyncs) on the DS connects via https to ssxfr.cgi on the AS and issues an HTTP PUT and sends the file.
  • Once the file is send successfully, it is removed from the toMaster directory on the DS.
  • The file arrives on the AS in the toMaster directory from the DS by ssxfr.cgi.
        $VOYENCE_HOME/data/appserver/pops/pop####/syssync/commmgr/toMaster
  • The controldaemon process detects the new results file and processes it.
  • The results are sent up to java where they are processed and stored in the database.
  • The client's schedule manager is updated via JMS.

Note: When dealing with logs and processes related to the device services, "master" refers to the application server and "server" refers to the device server. Some of the device services logs end in either "m" or "s", which stands for master or server. 

Understanding the flow of communication is extremely beneficial for debugging server communication errors. Some typical issues include: 

  • A firewall is blocking port 443 from the DS to AS, which allows the job to run on the DS, but the results can't get back to the AS (syssyncs.log on the DS)
  • Certificates are misconfigured, which prevents syssyncd from connecting to ssxfr.cgi (will be recorded as an SSL issue in syssyncm.log or syssyncs.log)
  • The results XML is malformed and gets rejected by controldaemon (daemon.log).

Pictorial representation