Monitor Jobs that your Program Initiated
When your application initiates an Aspera transfer you may also want to monitor the status of these transfers. This can be accomplished by:
- Implementing a Job Observer service, a Session Observer service and subscribing to event notifications for all transfer jobs using the IScpTransferNET::Subscribe method and the FASPSessionNet::Subscribe method for Sessions. This must be done before submitting the Job Order so you do not miss any notifications that occur immediately at start.
- Submitting the Job Order using the JobNET::Submit method. Your program's Job Observer will receive a job event of 'Connecting' after you submit the Job Order. This event will contain the Session ID of the transfer session that has been started. This session ID will be included in all session status information received by your application.
- If your program needs to display the current progress of an ongoing transfer session you can simply query the session using FASPSessionNet::QuerySession. You could also include the 'Statistics' tag in the Topics for the subscription, but if you use this method the notifications may be too verbose as statistics are sent every second.
Monitor Transfers Initiated by Remote Clients
If your application needs to monitor an Aspera transfer that was initiated by a remote client you will need to use the FASPSessionNet service to register for status events and to query the sessions. The following steps are used for a server monitoring application:
- Implement a Session Observer service and subscribe to it for event notifications for all FASP Sessions using the FASPSessionNet::Subscribe method.
- Retrieve the list of Sessions IDs for all ongoing FASP sessions using FASPSessionNet::ListSessions and store their state.
- By doing this you will receive FASP Session events when new sessions are created or when the status of ongoing sessions change. You can update your records accordingly with this data to allow your application to have current data.
- If you require progress statistics for any FASP Sessions you can query the FASP Session directly using FASPSessionNet::QuerySession. If you are writing both the client and server side monitoring program you can simply identify client transfers in the server monitoring program by having your client program store unique identifying information in the ApplicationData cookie.
Aspera Central provides a server side component that can be used for tracking and controlling FASP transfers. Transfer requests are initiated, authenticated, and secured via a SSH server. Once the initiation is complete the data transfer can be monitored through the SOAP Interface that is provided by Aspera Central. You can have web applications integrate with Aspera Central to provide the required backend functionality needed for your application. If you need to monitor network bandwidth and transfer progress you can utilize any network monitoring tool you prefer. An example of a normal Server architecture is seen below.