IP Library Granted Patent US 8,539,064
Granted Patent B1
US 8,539,064 · App. 11/520,001 · Granted Sep 17, 2013

Analysis of encrypted streaming media traffic

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,539,064
App. No.
11/520,001
Granted
Sep 17, 2013
Kind
B1
Abstract

A method of analyzing streaming media traffic comprises intercepting a data stream that is at least in part encrypted, observing a characteristic associated with the data stream, deriving, based at least in part on the characteristic associated with the data stream, a characteristic associated with an IP telephony session.

Claims (69)

1. A non-transitory computer readable medium comprising instructions which, when executed by at least one hardware processor, causes performance of operations comprising:

receiving, by a network device, a data stream comprising packets, the network device including a hardware processor;

observing, by the receiving network device, a characteristic associated with the data stream,

wherein observing the characteristic associated with the data stream includes determining an observed packet arrival rate (I o ) of the packets included in the data stream;

deriving, by the receiving network device, based at least in part on the observed packet arrival rate (I o ), a codec of a plurality of codecs at least for decoding the data stream;

decoding, by the receiving network device, the data stream using the derived codec of the plurality of codecs.

2. The medium as recited in claim 1 , wherein determining the observed packet arrival rate (I o ) further includes: observing a packet length of packets included in the data stream.

3. The medium as recited in claim 1 , wherein determining the observed packet arrival rate (I o ) includes: selecting an observation time frame and determining an observed number of packets that are received within the observation time frame.

4. The medium as recited in claim 1 , wherein deriving the codec comprises:

determining an observed time interval between receiving at least two packets in the data stream;

comparing the observed time interval to a plurality of commonly used time intervals that are associated with a plurality of codecs, respectively;

deriving the codec for decoding the data stream based on determining that the observed time interval matches a particular time interval associated with the codec.

5. The medium of claim 1 , wherein deriving the codec comprises:

determining an observed time interval between receiving at least two packets in the data stream;

comparing the observed time interval to a plurality of commonly used time intervals that are associated with a plurality of codecs, respectively;

selecting a particular time interval, of the commonly used time intervals, that is within a predetermined range of the observed time interval;

deriving the codec, for decoding the data stream, that is associated with the particular time interval.

6. The medium as recited in claim 1 , wherein determining an observed packet arrival rate (I o ) of the packets included in the data stream comprises determining an observed packet arrival rate of data packets of the packets included in the data stream.

7. A non-transitory computer readable medium comprising instructions which, when executed by at least one hardware processor, causes performance of operations comprising:

receiving, by a network device, a data stream comprising packets, the network device including a hardware processor;

based on an expected arrival rate of the packets in the data stream, determining an expected arrival time of a next packet in the data stream;

wherein the expected arrival rate of the packets in the data stream is based on a commonly used time interval associated with a codec used for encoding or decoding the data stream;

determining an actual arrival time of the next packet in the data stream;

determining a difference between the expected arrival time of the next packet and the actual arrival time of the next packet;

based on the difference between the expected arrival time of the next packet and the actual arrival time of the next packet, determining that at least one packet prior to the next packet was dropped.

8. A non-transitory computer readable medium comprising instructions which, when executed by at least one hardware processor, causes performance of operations comprising:

receiving, by a network device, a data stream comprising packets, the network device including a hardware processor;

based on an expected arrival rate of the packets in the data stream, determining an expected number of packets to be received in a particular period of time;

wherein the expected arrival rate of the packets in the data stream is based on a commonly used time interval associated with a codec used for encoding or decoding the data stream;

determining an actual number of packets received during the particular period of time;

determining a difference between the expected number of packets and the actual number of packets;

based on the difference between the expected number of packets and the actual number of packets, determining a lost number of packets.

9. A network device comprising:

one or more hardware processors;

the network device being configured to perform operations comprising:

receiving a data stream comprising packets;

observing a characteristic associated with the data stream,

wherein observing the characteristic associated with the data stream includes determining an observed packet arrival rate (I o ) of the packets included in the data stream;

deriving based at least in part on the observed packet arrival rate (I o ), a codec of a plurality of codecs at least for decoding the data stream;

decoding the data stream using the derived codec of the plurality of codecs.

10. The network device as recited in claim 9 , wherein determining the observed packet arrival rate (I o ) further includes: observing a packet length of packets included in the data stream.

11. The network device as recited in claim 9 , wherein determining the observed packet arrival rate (I o ) includes: selecting an observation time frame and determining an observed number of packets that are received within the observation time frame.

12. The network device as recited in claim 9 , wherein deriving the codec comprises:

determining an observed time interval between receiving at least two packets in the data stream;

comparing the observed time interval to a plurality of commonly used time intervals that are associated with a plurality of codecs, respectively;

deriving the codec for decoding the data stream based on determining that the observed time interval matches a particular time interval associated with the codec.

13. The network device as recited in claim 9 , wherein deriving the codec comprises:

determining an observed time interval between receiving at least two packets in the data stream;

comparing the observed time interval to a plurality of commonly used time intervals that are associated with a plurality of codecs, respectively;

selecting a particular time interval, of the commonly used time intervals, that is within a predetermined range of the observed time interval;

deriving the codec, for decoding the data stream, that is associated with the particular time interval.

14. The network device as recited in claim 9 , wherein determining an observed packet arrival rate (I o ) of the packets included in the data stream comprises determining an observed packet arrival rate of data packets of the packets included in the data stream.

15. A network device comprising:

one or more hardware processors;

the network device being configured to perform operations comprising:

receiving a data stream comprising packets;

based on an expected arrival rate of the packets in the data stream, determining an expected arrival time of a next packet in the data stream;

wherein the expected arrival rate of the packets in the data stream is based on a commonly used time interval associated with a codec used for encoding or decoding the data stream;

determining an actual arrival time of the next packet in the data stream;

determining a difference between the expected arrival time of the next packet and the actual arrival time of the next packet;

based on the difference between the expected arrival time of the next packet and the actual arrival time of the next packet, determining that at least one packet prior to the next packet was dropped.

16. A network device comprising:

one or more hardware processors;

the network device being configured to perform operations comprising:

receiving a data stream comprising packets;

based on an expected arrival rate of the packets in the data stream, determining an expected number of packets to be received in a particular period of time;

wherein the expected arrival rate of the packets in the data stream is based on a commonly used time interval associated with a codec used for encoding or decoding the data stream;

determining an actual number of packets received during the particular period of time;

based on a difference between the expected number of packets and the actual number of packets, determining a lost number of packets.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2018
From: ARUBA NETWORKS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 045921/0055 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: ARUBA NETWORKS, INC.
Reel/Frame 036379/0274 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2015
From: ARUBA NETWORKS, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 035814/0518 →