Other packet matching schemes may include using the TCP/IP packet serial numbers to calculate the time from sending the packet until the corresponding ACK is received. By instrumenting the TCP/IP stack in this manner, the system can detect a packet stream diversion as soon as it occurs and take the prescribed action.
Another approach that may be used is to determine the packets that have internal time synchronization information included as part of a higher level protocol. Various clock-synchronization protocols, Real Time Streaming Protocol (RTSP), Real-time Transport Protocol (RTP) and the RTP Control Protocol (RTCP), and similar well-known IP-based communications protocols all share the characteristic of providing timestamps that can be used to provide an independent mechanism for determining packet transport times within a session. The RTP/RTCP protocols have the advantage of being able to function over TCP or UDP-based sessions (as opposed to operating strictly over TCP-based sessions described elsewhere), permitting the measurement of packet travel times over either TCP or UDP sessions.
All of these techniques may be used to individually, or in conjunction with one another to more accurately determine packet round trip times, ensuring that the round-trip times using to compute the current session metrics are accurate. The currently calculated packet time(s) may be written to the database or may be used to update the statistical information in the database.