EP3310001B1 - Method and device for measuring remote timestamp unit - Google Patents

Method and device for measuring remote timestamp unit Download PDF

Info

Publication number
EP3310001B1
EP3310001B1 EP16840715.3A EP16840715A EP3310001B1 EP 3310001 B1 EP3310001 B1 EP 3310001B1 EP 16840715 A EP16840715 A EP 16840715A EP 3310001 B1 EP3310001 B1 EP 3310001B1
Authority
EP
European Patent Office
Prior art keywords
time stamp
estimated time
remote device
sampled data
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
EP16840715.3A
Other languages
German (de)
French (fr)
Other versions
EP3310001A4 (en
EP3310001A1 (en
Inventor
Hua Jiang
Shengjin WU
Debu HUANG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of EP3310001A1 publication Critical patent/EP3310001A1/en
Publication of EP3310001A4 publication Critical patent/EP3310001A4/en
Application granted granted Critical
Publication of EP3310001B1 publication Critical patent/EP3310001B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/067Generation of reports using time frame reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Definitions

  • FIG. 4 is a schematic structural diagram of a measurement apparatus 400 according to an embodiment of the present invention.
  • the measurement apparatus 400 may include a path interface 401, a processor 402, and a memory 403.
  • the path interface 401, the processor 402, and the memory 403 are mutually connected by using a bus 404 system.
  • the bus 404 may be an ISA bus, a PCI bus, an EISA bus, or the like.
  • the bus may be classified into an address bus, a data bus, a control bus, and the like. For ease of representation, in FIG. 4 , only a line with an arrow on both sides is used to represent the bus, but this does not mean that there is only one bus or one type of bus.
  • the foregoing method that is executed by a measurement apparatus and that is disclosed in either of the embodiments in FIG. 1 and FIG. 2 of the present invention may be applied to the processor 402 or implemented by the processor 402.
  • the processor 402 may an integrated circuit chip having a signal processing capability.
  • the steps of the foregoing method may be completed by using a hardware integrated logic circuit or an instruction in a form of software in the processor 402.

Description

    TECHNICAL FIELD
  • Embodiments of the present invention relate to the computer field, and more specifically, to a method and an apparatus for measuring a time stamp unit of a remote device.
  • BACKGROUND
  • There is a time stamp option in Transmission Control Protocol (TCP). When a TCP flow supports this option, a data packet header includes a record of a data packet transmission time. An implementation method is to place a tick count of a current system clock in a time stamp field when a sending party sends a packet segment. When confirming the packet segment, a receiving party copies a value of the time stamp field to a time stamp echo acknowledgement field. A time stamp (in ticks) is a value that increases monotonically. In a general TCP application, a receiving party only needs to echo back a received time stamp, but does not need to pay attention to a time stamp unit of a peer party, and does not require clock synchronization between the two connected parties, either. System clock frequencies used in operating systems and computers are mutually different. Therefore, time units of a tick count in different servers are also different, and may range from 0.5 millisecond to 1000 milliseconds.
  • A time stamp in the TCP protocol is just a tick count rather than an absolute time. Therefore, currently, the time stamp can be used locally only, and cannot be used by any remote device on a network.
  • A prior-art method for measuring a time stamp unit of a remote device is based on time synchronization between a remote end and a local end. In the method, a time stamp unit may be estimated, minus an error caused by a transmission delay, according to comparison between a packet receiving time and a packet header time stamp. In this method, time synchronization on a network is required, and a measurement error caused by the transmission delay cannot be effectively eliminated, resulting in inaccurate measurement.
  • US 2009/245291A1 disclosed a method for synchronizing a clock for data transmissions.
  • SUMMARY
  • Embodiments of the present invention provide a method and an apparatus for measuring a time stamp unit of a remote device, to obtain a relatively accurate time stamp unit without requiring network-wide clock synchronization.
  • According to a first aspect, a method for measuring a time stamp unit of a remote device is provided, where the method includes:
    obtaining m sets of sampled data, where each set of sampled data includes packet transmission time stamps and times of arrival at a monitoring point that are of a previously transmitted data packet and a subsequently transmitted data packet of a remote device, m is a positive integer, and m>1; calculating m estimated time stamp units according to the packet transmission time stamps and the times of arrival at the monitoring point that are of the previously transmitted data packets and the subsequently transmitted data packets of the remote device and that are in the m sets of sampled data; selecting, from the m estimated time stamp units, an estimated time stamp unit, a difference between which and an average value of the m estimated time stamp units falls within a predetermined range; and calculating a time stamp unit of the remote device according to the selected estimated time stamp unit.
  • With reference to the first aspect, in a first possible implementation manner, a specific implementation of the calculating m estimated time stamp units according to the packet transmission time stamps and the times of arrival at the monitoring point that are of the previously transmitted data packets and the subsequently transmitted data packets of the remote device and that are in the m sets of sampled data is: determining the m estimated time stamp units according to the following formula: U i = S 2 i S 1 i / t 2 i t 1 i ,
    Figure imgb0001
    where S1i represents a packet transmission time stamp of a previously transmitted data packet of the remote device in an ith set of sampled data, S2i represents a packet transmission time stamp of a subsequently transmitted data packet of the remote device in the ith set of sampled data, t1i represents a time of arrival at the monitoring point of the previously transmitted data packet of the remote device in the ith set of sampled data, t2i represents a time of arrival at the monitoring point of the subsequently transmitted data packet of the remote device in the ith set of sampled data, and Ui represents an estimated time stamp unit calculated according to the ith set of sampled data.
  • With reference to the first aspect or the first possible implementation manner of the first aspect, in a second possible implementation manner a specific implementation of the calculating a time stamp unit of the remote device according to the selected estimated time stamp unit is: determining the time stamp unit of the remote device according to the following formula: U = int 1 / q ΣU i ,
    Figure imgb0002
    where ∑Ui represents a sum of the selected estimated time stamp unit, q represents a quantity of the selected estimated time stamp unit, and a function int represents rounding down.
  • With reference to the first aspect or the first possible implementation manner of the first aspect or the second possible implementation manner of the first aspect, in a third possible implementation manner, a specific implementation of the selecting, from the m estimated time stamp units, an estimated time stamp unit, a difference between which and an average value of the m estimated time stamp units falls within a predetermined range is: selecting, from the m estimated time stamp units, an estimated time stamp unit, a difference between which and the average value of the m estimated time stamp units is less than three times of a sample standard deviation of the m estimated time stamp units.
  • With reference to any one of the first aspect or the first possible implementation manner of the first aspect to the third possible implementation manner of the first aspect, in a fourth possible implementation manner, a specific implementation is as follows: packet lengths of any two data packets in the m sets of sampled data are equal, and packet transmission intervals of any two sets of sampled data in the m sets of sampled data are equal.
  • With reference to the fourth possible implementation manner of the first aspect, in a fifth possible implementation manner, a specific implementation is as follows: the packet transmission interval meets the following formula: D > 10 L / B ,
    Figure imgb0003
    where D represents an actual time span of the packet transmission interval, L represents the packet length, and B represents a network bottleneck bandwidth between the remote device and a local device.
  • With reference to the fourth possible implementation manner of the first aspect or the fifth possible implementation manner of the first aspect, in a sixth possible implementation manner, a specific implementation is as follows: the quantity m of sets of sampled data meets the following formula: erfc λn 2 U m 2 < 0.001 ,
    Figure imgb0004
    where n represents a quantity of time stamp units included in the packet transmission interval, U represents the average value of the m estimated time stamp units, a packet transmission queuing delay from the remote device to the local device conforms to negative exponential distribution λe -λt , and the erfc function is a complementary error function.
  • According to a second aspect, a measurement apparatus is provided, where the apparatus includes: a sampling unit, configured to obtain m sets of sampled data, where each set of sampled data includes packet transmission time stamps and times of arrival at a monitoring point that are of a previously transmitted data packet and a subsequently transmitted data packet of a remote device, m is a positive integer, and m>1; a calculation unit, configured to calculate m estimated time stamp units according to the packet transmission time stamps and the times of arrival at the monitoring point that are of the previously transmitted data packets and the subsequently transmitted data packets of the remote device and that are in the m sets of sampled data; and a selection unit, configured to select, from the m estimated time stamp units, an estimated time stamp unit, a difference between which and an average value of the m estimated time stamp units falls within a predetermined range, where the calculation unit is further configured to calculate a time stamp unit of the remote device according to the selected estimated time stamp unit.
  • With reference to the second aspect, in a first possible implementation manner, in the process of being configured to calculate the m estimated time stamp units according to the packet transmission time stamps and the times of arrival at the monitoring point that are of the previously transmitted data packets and the subsequently transmitted data packets of the remote device and that are in the m sets of sampled data, the calculation unit is specifically configured to determine the m estimated time stamp units according to the following formula: U i = S 2 i S 1 i / t 2 i t 1 i ,
    Figure imgb0005
    where S1i represents a packet transmission time stamp of a previously transmitted data packet of the remote device in an ith set of sampled data, S2i represents a packet transmission time stamp of a subsequently transmitted data packet of the remote device in the ith set of sampled data, t1i represents a time of arrival at the monitoring point of the previously transmitted data packet of the remote device in the ith set of sampled data, t2i represents a time of arrival at the monitoring point of the subsequently transmitted data packet of the remote device in the ith set of sampled data, and Ui represents an estimated time stamp unit calculated according to the ith set of sampled data.
  • With reference to the second aspect or the first possible implementation manner of the second aspect, in the process of being configured to calculate the time stamp unit of the remote device according to the selected estimated time stamp unit, the calculation unit is specifically configured to determine the time stamp unit of the remote device according to the following formula: U = int 1 / q ΣU i ,
    Figure imgb0006
    where ∑Ui represents a sum of the selected estimated time stamp unit, q represents a quantity of the selected estimated time stamp unit, and a function int represents rounding down.
  • With reference to the second aspect or the first possible implementation manner of the second aspect or the second possible implementation manner of the second aspect, in a third possible implementation manner, the selection unit is specifically configured to:
    select, from the m estimated time stamp units, an estimated time stamp unit, a difference between which and the average value of the m estimated time stamp units is less than three times of a sample standard deviation of the m estimated time stamp units.
  • With reference to any one of the second aspect or the first possible implementation manner of the second aspect to the third possible implementation manner of the second aspect, in a fourth possible implementation manner, a specific implementation is as follows: packet lengths of any two data packets in the m sets of sampled data are equal, and packet transmission intervals of any two sets of sampled data in the m sets of sampled data are equal.
  • With reference to the fourth possible implementation manner of the second aspect, in a fifth possible implementation manner, a specific implementation is as follows: the packet transmission interval meets the following formula: D > 10 L / B ,
    Figure imgb0007
    where D represents an actual time span of the packet transmission interval, L represents the packet length, and B represents a network bottleneck bandwidth between the remote device and a local device.
  • With reference to the fourth possible implementation manner of the second aspect or the fifth possible implementation manner of the second aspect, in a sixth possible implementation manner, a specific implementation is as follows: the quantity m of sets of sampled data meets the following formula: erfc λn 2 U m 2 < 0.001 ,
    Figure imgb0008
    where n represents a quantity of time stamp units included in the packet transmission interval, U represents the average value of the m estimated time stamp units, a packet transmission queuing delay from the remote device to the local device conforms to negative exponential distribution λe-λt , and the erfc function is a complementary error function.
  • With reference to any one of the second aspect or the first possible implementation manner of the second aspect to the sixth possible implementation manner of the second aspect, in an seventh possible implementation manner, a specific implementation is as follows: the apparatus is located on a server, or the apparatus is located on a client.
  • With reference to any one of the second aspect or the first possible implementation manner of the second aspect to the seventhpossible implementation manner of the second aspect, in a eighth possible implementation manner, a specific implementation is as follows: the monitoring point is located on a router between the remote device and the local device, or the monitoring point is the local device.
  • BRIEF DESCRIPTION OF DRAWINGS
  • To describe the technical solutions in the embodiments of the present invention more clearly, the following briefly describes the accompanying drawings required for describing the embodiments. Apparently, the accompanying drawings in the following description show merely some embodiments of the present invention, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.
    • FIG. 1 is a flowchart of a method for measuring a time stamp unit of a remote device according to an embodiment of the present invention;
    • FIG. 2 is a schematic diagram of a method for estimating a remote time stamp unit according to an embodiment of the present invention;
    • FIG. 3 is a schematic structural diagram of a measurement apparatus according to an embodiment of the present invention; and
    • FIG. 4 is another schematic structural diagram of a measurement apparatus according to an embodiment of the present invention.
    DESCRIPTION OF EMBODIMENTS
  • The following clearly describes the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Apparently, the described embodiments are some but not all of the embodiments of the present invention. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
  • To facilitate understanding of the embodiments of the present invention, some elements used in description of the embodiments of the present invention are first described herein.
  • Standard deviation (Standard Deviation): is a most commonly used measure of a statistical dispersion (statistical dispersion) in probability statistics. The standard deviation is defined as an square root of an arithmetic mean of squares of deviations of unit standard values from a mean of the unit standard values. The standard deviation reflects a degree of dispersion among objects in a set.
  • Population standard deviation: Assuming that a set of values is x1, x2, x3, ..., xn (all are real numbers), and an average value (arithmetic mean) of the values is µ, a population standard deviation is σ = 1 n i = 1 n x i μ 2 .
    Figure imgb0009
    A corresponding excel function is STDEVP.
  • Sample standard deviation: Assuming that a set of values is x1, x2, x3, ..., xn (all are real numbers), and an average value (arithmetic mean) of the values is µ, a sample standard deviation is s = 1 n 1 i = 1 n x i μ 2 .
    Figure imgb0010
    A corresponding excel function is STDEV.
  • Complementary error function: is erfc z = 1 erf z = 2 π z e t 2 dt .
    Figure imgb0011
  • FIG. 1 is a flowchart of a method for measuring a time stamp unit of a remote device according to an embodiment of the present invention. The method in FIG. 1 is performed by a measurement apparatus. The measurement apparatus may be located on a server or on a client. When the measurement apparatus is located on a server, a remote end is a client; or when the measurement apparatus is located on a client, a remote end is a server.
  • S110. Obtain m sets of sampled data, where each set of sampled data includes packet transmission time stamps and times of arrival at a monitoring point that are of a previously transmitted data packet and a subsequently transmitted data packet of a remote device, m is a positive integer, and m>1.
  • Certainly, it should be understood that the method in this embodiment of the present invention is applicable to a scenario that includes a packet transmission time stamp.
  • It should be understood that a packet transmission time stamp of a data packet refers to a packet transmission time stamp of the data packet on a transmit end, and is recorded in a packet transmission time stamp field of the data packet. For example, in a TCP data packet, the packet transmission time stamp is recorded in a TCP time stamp field of the data packet.
  • It should be understood that the monitoring point is a measurement point specified by a local end (the measurement apparatus). The local end (the measurement apparatus) may specify a gateway device on a network path through which a remote data packet reaches the local end as the monitoring point, or specify the local end as the monitoring point.
  • S120. Calculate m estimated time stamp units according to the packet transmission time stamps and the times of arrival at the monitoring point that are of the previously transmitted data packets and the subsequently transmitted data packets of the remote device and that are in the m sets of sampled data.
  • S130. Select, from the m estimated time stamp units, an estimated time stamp unit, a difference between which and an average value of the m estimated time stamp units falls within a predetermined range.
  • S140. Calculate a time stamp unit of the remote device according to the selected estimated time stamp unit.
  • In this embodiment of the present invention, a unit of a remote clock is obtained by comparing a clock of a local monitoring point and a difference between time stamps of two packets, and a method for calculating an unbiased estimate by means of statistical averaging is used, to cancel an error caused by transmission delay randomicity. In this way, a relatively accurate time stamp unit can be obtained without requiring network-wide clock synchronization.
  • Specifically, step 120 may be implemented as: determining the m estimated time stamp units according to the following formula: U i = S 2 i S 1 i / t 2 i t 1 i ,
    Figure imgb0012
    where S1i represents a packet transmission time stamp of a previously transmitted data packet of the remote device in an ith set of sampled data, S2i represents a packet transmission time stamp of a subsequently transmitted data packet of the remote device in the ith set of sampled data, t1i represents a time of arrival at the monitoring point of the previously transmitted data packet of the remote device in the ith set of sampled data, t2i represents a time of arrival at the monitoring point of the subsequently transmitted data packet of the remote device in the ith set of sampled data, and Ui represents an estimated time stamp unit calculated according to the ith set of sampled data.
  • Optionally, in an embodiment, step S130 may be specifically implemented as: selecting, from the m estimated time stamp units, an estimated time stamp unit, a difference between which and the average value of the m estimated time stamp units is less than three times of a sample standard deviation of the m estimated time stamp units. It should be understood that, in this embodiment of the present invention, another filtering manner may be further used to remove a sample with a relatively large error. This embodiment of the present invention is merely an example.
  • Optionally, in an embodiment, step 140 may be specifically implemented as: determining the time stamp unit of the remote device according to the following formula: U = int 1 / q ΣU i ,
    Figure imgb0013
    where ∑Ui represents a sum of the selected estimated time stamp unit, q represents a quantity of the selected estimated time stamp unit, and a function int represents rounding down.
  • It should be understood that, in this embodiment of the present invention, alternatively, another calculation manner may be used to calculate the time stamp unit of the remote device, for example, a square average value of the selected estimated time stamp unit is calculated, and then round-off is performed. This embodiment of the present invention is merely an example.
  • Preferably, packet lengths of any two data packets in the m sets of sampled data are equal, and packet transmission intervals of any two sets of sampled data in the m sets of sampled data are equal.
  • It should be understood that, in this embodiment of the present invention, that packet lengths of two data packets are equal does not mean that the lengths are strictly equal by mathematical meaning. When a ratio of lengths of two data packets ranges between 1±δ, the lengths of the two data packets may be considered equal, where δ is a value approximating 0, and may be set according to an actual situation. For example, δ may be set to 0.01, 0.05, or 0.1. For example, δ=0.01. When a ratio of lengths of two data packets ranges from 0.99 to 1.01, the lengths of the two data packets may be considered equal.
  • Similarly, when a ratio of packet transmission intervals of two sets of sampled data ranges between 1±ε, the packet transmission intervals of the two sets of sampled data may be considered equal, where ε is a value approximating 0, and may be set according to an actual situation. For example, ε may be set to 0.01, 0.05, or 0.1.
  • Further, the packet transmission interval meets the following formula: D > > L / B ,
    Figure imgb0014
    where D represents an actual time span of the packet transmission interval, L represents the packet length, and B represents a network bottleneck bandwidth between the remote device and a local device.
  • Generally, a difference of one order of magnitude may be considered as being much greater than. That is, D>10L/B.
  • Still further, the quantity m of sets of sampled data meets the following formula: erfc λn 2 U m 2 < 0.001 ,
    Figure imgb0015
    where n represents a quantity of time stamp units included in the packet transmission interval, U represents the average value of the m estimated time stamp units, a packet transmission queuing delay from the remote device to the local device conforms to negative exponential distribution λe -λt , and the erfc function is a complementary error function.
  • The following further describes the method in this embodiment of the present invention with reference to a specific embodiment.
  • FIG. 2 is a schematic diagram of a method for estimating a remote time stamp unit according to an embodiment of the present invention. As shown in FIG. 2, a set of sampled data obtained by a client includes packet transmission time stamps and times of arrival at a monitoring point of two data packets. A data packet sent first may be referred to as a previously transmitted data packet (PKT1 in FIG. 2), and a data packet sent afterward may be referred to as a subsequently transmitted data packet (PKT2 in FIG. 2). In this case, a set of sampled data that the client needs to obtain includes a packet transmission time stamp count (referred to as a packet transmission time stamp) S1 of PKT1, a time t1 of arrival at the monitoring point of PKT1, a packet transmission time stamp count S2 of PKT2, and a time t2 of arrival at the monitoring point of PKT2. Both t1 and t2 are clocks of the monitoring point.
  • If transmission times of two packets are the same, a time interval between the two packets at the monitoring point remains unchanged. A time stamp unit may be directly measured at the monitoring point. That is, the time stamp unit U=(S2-S1)/(t2-t1). However, transmission times of two packets change randomly. As a result, a packet interval observed at the monitoring point and a packet transmission interval are different.
  • A measurement manner in this embodiment of the present invention is as follows:
    S1. Perform measurement for m times to obtain m sets of sampled data.
  • Sampled data obtained during an ith time of measurement includes a packet transmission time stamp S1i and a time t1i of arrival at a monitoring point of a previously transmitted data packet and a packet transmission time stamp S2i and a time t2i of arrival at the monitoring point of a subsequently transmitted data packet.
  • A time stamp unit Ui during the ith time of measurement may be obtained through calculation: Ui=(S2i-S1i)/(t2i-t1i).
  • S2. Calculate an average value: U=1/m(∑Ui).
  • S3. Select a time stamp unit measurement value a difference between which and the average value U falls within a predetermined range.
  • For example, a time stamp unit measurement value a difference between which and U is between ±5% may be selected.
  • For another example, according to a statistics method, a sample value greater than three times of a sample standard deviation is an abnormal error and should be discarded. In this case, a measured sample standard deviation S may be calculated: s = 1 m 1 i = 1 m U i U 2 .
    Figure imgb0016
    A time stamp unit measurement value that meets a condition -3s≤ Ui - U ≤ 3s is selected according to the sample standard deviation S. It is assumed that q time stamp unit measurement values are selected.
  • S4. Calculate an average time stamp unit again: U=1/q(∑Ui).
  • S5. Round U to obtain an integer: Û=int(U).
  • In this case, Û is a calculated time stamp unit.
  • Certainly, if improper sampled data is selected, a relatively large measurement error is caused.
  • For example, if packet lengths of the previously transmitted data packet and the subsequently transmitted data packet are different, transmission times of the previous and subsequent packets are subsequently different, and a difference between a packet interval measured at the monitoring point and a packet interval at a packet transmission position is relatively large. As a result, a difference between a time stamp unit obtained according to the sampled data and an actual time stamp unit is relatively large.
  • In addition, if packet lengths or packet intervals in different sets of sampled data are different, accuracy of a time stamp unit calculated according to the sampled data is also reduced consequently.
  • Therefore, during selection of sampled data, it should be ensured, as far as possible, that packet lengths of data packets (including previously transmitted data packets and subsequently transmitted data packets) in all sampled data are equal, so that packet intervals of all the sampled data are equal.
  • In addition, if a packet interval is too small, a packet interval measured at the monitoring point may become larger due to network bandwidth restriction. Alternatively, because of a traffic change during network transmission, even if there is sufficient bandwidth, a packet interval measured at the monitoring point may become larger due to a packet interval inserted by another contention traffic packet.
  • Therefore, in terms of packet interval selection, it should be ensured, as far as possible, that a length D (in a unit of millisecond) of a packet interval is much greater than a value obtained by dividing a packet length L (in a unit of B) by a network bottleneck bandwidth B (in a unit of kB/s). That is, D>>L/B. Generally, D>10 L/B.
  • In addition, in the method for calculating a remote time stamp unit in this embodiment of the present invention, accuracy is also closely related to a quantity of samples and a packet interval.
  • The following uses an example to describe how to select a packet interval n (in a time stamp unit of tick) and a measure sample data m to ensure accuracy of an obtained time stamp unit (tick).
  • It is assumed that a tick of a time stamp on a transmit end is equal to k milliseconds, and a packet interval between previous and subsequent packets before packet transmission is D. It is assumed that a queuing delay of a transmission path conforms to negative exponential distribution λe -λt , where λ > 0, and λ is a parameter of exponential distribution and is usually referred to as a rate parameter (rate parameter), that is, a quantity of times the event occurs in each unit time. An average value of the distribution is equal to 1/λ, and a variance of the distribution is equal to 1/λ2. For example, assuming that, on average, there are five packets waiting for transmission in front of a packet being studied, 1/λ=5×MSS/Bandwidth, where MSS represents a length of the data packets, and the bandwidth is a bottleneck bandwidth of network transmission. Distribution of a packet interval (t2-t1) between a previously transmitted data packet and a subsequently transmitted data packet at a measurement point is D + λ 2 e λ t ,
    Figure imgb0017
    where t represents a queuing delay. An average value of the distribution is equal to D, and a variance of the distribution is equal to 2/λ2.
  • At the measurement point, an unbiased estimate of a time stamp unit U may be performed by using m sample values:
  • In a first step, obtain sample values U: Ui=(t2-t1)/(S2-S1).
  • Average value of Ui=k milliseconds. Variance=2/λ2/n2.
  • In a second step, calculate an average value of m measurements, where an average value U is equal to k, and a variance is 2/λ2/(mn2).
  • Distribution of U may approximate to normal distribution Norma{k,[2/λ2/(mn2)]1/2}. An error probability of the normal distribution may be calculated according to an error function erf z = 1 2 π z e t 2 dt .
    Figure imgb0018
    To ensure that rounded Û is equal to k milliseconds, it needs to ensure that an error is less than 0.5 k. In this case, values of n and m may be selected, to ensure that erfc λn 2 k m 2 < 0.001 ,
    Figure imgb0019
    so that Û#k becomes a small probability event. erfc z = 1 erf z = 2 π z e t 2 dt
    Figure imgb0020
    is referred to as a complementary error function, and a value of the function may be obtained by querying a common mathematical table or a common project table.
  • In an example, it is assumed that k=10 milliseconds, MSS=1500 bytes, transmission bandwidth=100 Mbit/s, and 1/λ=0.6 milliseconds. It is obtained, by querying a complementary error table, that a value of x = λn 2 k m 2
    Figure imgb0021
    corresponding to a value that is of erfc λn 2 k m 2
    Figure imgb0022
    and that is less than 0.001 is equal to 2.33, that is, n m = 4.66 2 × 10 × 0.6 40 .
    Figure imgb0023
  • It may be assumed that m=25 and n=8. That is, accuracy of a time unit may be basically ensured when calculation is performed based on only samples with a packet interval greater than 80 milliseconds. Alternatively, it is assumed that m=36 and n=7. That is, calculation is performed based on only samples with a packet interval greater than 70 milliseconds. If n=2, m needs to be greater than or equal to 400.
  • FIG. 3 is a schematic structural diagram of a measurement apparatus 300 according to an embodiment of the present invention. The measurement apparatus 300 may be located on a server or may be located on a client. As shown in FIG. 3, the measurement apparatus 300 may include:
    • a sampling unit 310, configured to obtain m sets of sampled data, where each set of sampled data includes packet transmission time stamps and times of arrival at a monitoring point that are of a previously transmitted data packet and a subsequently transmitted data packet of a remote device, m is a positive integer, and m>1;
    • a calculation unit 320, configured to calculate m estimated time stamp units according to the packet transmission time stamps and the times of arrival at the monitoring point that are of the previously transmitted data packets and the subsequently transmitted data packets of the remote device and that are in the m sets of sampled data; and
    • a selection unit 330, configured to select, from the m estimated time stamp units, an estimated time stamp unit, a difference between which and an average value of the m estimated time stamp units falls within a predetermined range.
  • The calculation unit 320 is further configured to calculate a time stamp unit of the remote device according to the selected estimated time stamp unit.
  • In this embodiment of the present invention, the measurement apparatus 300 obtains a unit of a remote clock by comparing a clock of a local monitoring point and a difference between time stamps of two packets, and uses a method for calculating an unbiased estimate by means of statistical averaging, to cancel an error caused by transmission delay randomicity. In this way, a relatively accurate time stamp unit can be obtained without requiring network-wide clock synchronization.
  • Specifically, in the process of being configured to calculate the m estimated time stamp units according to the packet transmission time stamps and the times of arrival at the monitoring point that are of the previously transmitted data packets and the subsequently transmitted data packets of the remote device and that are in the m sets of sampled data, the calculation unit 320 may be configured to determine the m estimated time stamp units according to the following formula: U i = S 2 i S 1 i / t 2 i t 1 i ,
    Figure imgb0024
    where S1i represents a packet transmission time stamp of a previously transmitted data packet of the remote device in an ith set of sampled data, S2i represents a packet transmission time stamp of a subsequently transmitted data packet of the remote device in the ith set of sampled data, t1i represents a time of arrival at the monitoring point of the previously transmitted data packet of the remote device in the ith set of sampled data, t2i represents a time of arrival at the monitoring point of the subsequently transmitted data packet of the remote device in the ith set of sampled data, and Ui represents an estimated time stamp unit calculated according to the ith set of sampled data.
  • Optionally, in an embodiment, the selection unit 330 may be specifically configured to: select, from the m estimated time stamp units, an estimated time stamp unit, a difference between which and the average value of the m estimated time stamp units is less than three times of a sample standard deviation of the m estimated time stamp units. The sample standard deviation is a sample standard deviation of the m estimated time stamp units. It should be understood that, in this embodiment of the present invention, another filtering manner may be further used to remove a sample with a relatively large error. This embodiment of the present invention is merely an example.
  • Optionally, in an embodiment, in the process of being configured to calculate the time stamp unit of the remote device according to the selected estimated time stamp unit, the calculation unit 320 is specifically configured to determine the time stamp unit of the remote device according to the following formula: U = int 1 / q ΣU i ,
    Figure imgb0025
    where ∑Ui represents a sum of the selected estimated time stamp unit, q represents a quantity of the selected estimated time stamp unit, and a function int represents rounding down.
  • It should be understood that, in this embodiment of the present invention, alternatively, another calculation manner may be used to calculate the time stamp unit of the remote device, for example, a square average value of the selected estimated time stamp unit is calculated, and then round-off is performed. This embodiment of the present invention is merely an example.
  • Preferably, packet lengths of any two data packets in the m sets of sampled data are equal, and packet transmission intervals of any two sets of sampled data in the m sets of sampled data are equal.
  • Further, the packet transmission interval meets the following formula: D > > L / B ,
    Figure imgb0026
    where D represents an actual time span of the packet transmission interval, L represents the packet length, and B represents a network bottleneck bandwidth between the remote device and a local device.
  • Generally, a difference of one order of magnitude may be considered as being much greater than. That is, D>10L/B.
  • Still further, the quantity m of sets of sampled data meets the following formula: erfc λn 2 U m 2 < 0.001 ,
    Figure imgb0027
    where n represents a quantity of time stamp units included in the packet transmission interval, U represents the average value of the m estimated time stamp units, a packet transmission queuing delay from the remote device to the local device conforms to negative exponential distribution λe -λt , and the erfc function is a complementary error function.
  • Optionally, the measurement apparatus 300 may be located on a server or on a client.
  • Optionally, the monitoring point is located on a router between the remote device and the local device, or the monitoring point is the local device.
  • FIG. 4 is a schematic structural diagram of a measurement apparatus 400 according to an embodiment of the present invention. The measurement apparatus 400 may include a path interface 401, a processor 402, and a memory 403.
  • The path interface 401, the processor 402, and the memory 403 are mutually connected by using a bus 404 system. The bus 404 may be an ISA bus, a PCI bus, an EISA bus, or the like. The bus may be classified into an address bus, a data bus, a control bus, and the like. For ease of representation, in FIG. 4, only a line with an arrow on both sides is used to represent the bus, but this does not mean that there is only one bus or one type of bus.
  • The memory 403 is configured to store a program. Specifically, the program may include program code, and the program code includes a computer operation instruction. The memory 403 may include a read-only memory and a random access memory, and provide an instruction and data to the processor 402. The memory 403 may include a high-speed RAM, and may further include a non-volatile memory (non-volatile memory), for example, at least one magnetic disk memory.
  • The processor 402 executes the program stored in the memory 403, and is specifically configured to perform the following operations:
    obtaining m sets of sampled data, where each set of sampled data includes packet transmission time stamps and times of arrival at a monitoring point that are of a previously transmitted data packet and a subsequently transmitted data packet of a remotedevice, m is a positive integer, and m>1; and calculating m estimated time stamp units according to the m sets of sampled data; selecting, from the m estimated time stamp units, a time stamp unit, a difference between which and an average value of the m estimated time stamp units falls within a predetermined range; and calculating an average value of the selected estimated time stamp unit and round the calculated average value to obtain an integer, to obtain an unbiased estimated time stamp unit.
  • The foregoing method that is executed by a measurement apparatus and that is disclosed in either of the embodiments in FIG. 1 and FIG. 2 of the present invention may be applied to the processor 402 or implemented by the processor 402. The processor 402 may an integrated circuit chip having a signal processing capability. In an implementation process, the steps of the foregoing method may be completed by using a hardware integrated logic circuit or an instruction in a form of software in the processor 402. The foregoing processor 402 may be a general-purpose processor, including a central processing unit (Central Processing Unit, CPU for short), a network processor (Network Processor, NP for short), or the like, or may be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or another programmable logical device, a discrete gate or a transistor logic device, or a discrete hardware component. The processor may implement or perform the methods, steps, and logical block diagrams disclosed in the embodiments of the present invention. The general-purpose processor may be a micro processor, or the processor may be any conventional processor or the like. The steps of the method disclosed with reference to the embodiments of the present invention may be directly embodied as being performed and completed by a hardware decoding processor, or being performed and completed by a combination of hardware and software modules in the decoding processor. The software module may be located in a mature storage medium in the art, such as a random memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, or a register. The storage medium is located in the memory 403, and the processor 402 reads information in the memory 403 and completes the steps of the foregoing method in combination with hardware of the processor 402.
  • In this embodiment of the present invention, the measurement apparatus 400 obtains a unit of a remote clock by comparing a clock of a local monitoring point and a difference between time stamps of two packets, and uses a method for calculating an unbiased estimate by means of statistical averaging, to cancel an error caused by transmission delay randomicity. In this way, a relatively accurate time stamp unit can be obtained without requiring network-wide clock synchronization.
  • Specifically, in the process of being configured to calculate the m estimated time stamp units according to the packet transmission time stamps and the times of arrival at the monitoring point that are of the previously transmitted data packets and the subsequently transmitted data packets of the remote device and that are in the m sets of sampled data, the processor 402 may be configured to determine the m estimated time stamp units according to the following formula: U i = S 2 i S 1 i / t 2 i t 1 i ,
    Figure imgb0028
    where S1i represents a packet transmission time stamp of a previously transmitted data packet of the remote device in an ith set of sampled data, S2i represents a packet transmission time stamp of a subsequently transmitted data packet of the remote device in the ith set of sampled data, t1i represents a time of arrival at the monitoring point of the previously transmitted data packet of the remote device in the ith set of sampled data, t2i represents a time of arrival at the monitoring point of the subsequently transmitted data packet of the remote device in the ith set of sampled data, and Ui represents an estimated time stamp unit calculated according to the ith set of sampled data.
  • Optionally, in an embodiment, in the process of being configured to select, from the m estimated time stamp units, the estimated time stamp unit, a difference between which and the average value of the m estimated time stamp units falls within the predetermined range, the processor 402 may be specifically configured to: select, from the m estimated time stamp units, an estimated time stamp unit, a difference between which and the average value of the m estimated time stamp units is less than three times of a sample standard deviation of the m estimated time stamp units. It should be understood that, in this embodiment of the present invention, another filtering manner may be further used to remove a sample with a relatively large error. This embodiment of the present invention is merely an example.
  • Optionally, in an embodiment, in the process of being configured to calculate the time stamp unit of the remote device according to the selected estimated time stamp unit, the processor 402 is specifically configured to determine the time stamp unit of the remote device according to the following formula: U = int 1 / q ΣU i ,
    Figure imgb0029
    where ∑Ui represents a sum of the selected estimated time stamp unit, q represents a quantity of the selected estimated time stamp unit, and a function int represents rounding down.
  • It should be understood that, in this embodiment of the present invention, alternatively, another calculation manner may be used to calculate the time stamp unit of the remote device, for example, a square average value of the selected estimated time stamp unit is calculated, and then round-off is performed. This embodiment of the present invention is merely an example.
  • Preferably, packet lengths of any two data packets in the m sets of sampled data are equal, and packet transmission intervals of any two sets of sampled data in the m sets of sampled data are equal.
  • Further, the packet transmission interval meets the following formula: D > > L / B ,
    Figure imgb0030
    where D represents an actual time span of the packet transmission interval, L represents the packet length, and B represents a network bottleneck bandwidth between the remote device and a local device.
  • Generally, a difference of one order of magnitude may be considered as being much greater than. That is, D>10L/B.
  • Still further, the quantity m of sets of sampled data meets the following formula: erfc λn 2 U m 2 < 0.001 ,
    Figure imgb0031
    where n represents a quantity of time stamp units included in the packet transmission interval, U represents the average value of the m estimated time stamp units, a packet transmission queuing delay from the remote device to the local device conforms to negative exponential distribution λe -λt , and the erfc function is a complementary error function.
  • Optionally, the measurement apparatus 400 may be located on a server or on a client.
  • Optionally, the monitoring point is located on a router between the remote device and the local device, or the monitoring point is the local device.
  • A person of ordinary skill in the art may be aware that, in combination with the examples described in the embodiments disclosed in this specification, units and algorithm steps may be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of the present invention.
  • It may be clearly understood by a person skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, reference may be made to a corresponding process in the foregoing method embodiments, and details are not described herein again.
  • In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely an example. For example, the unit division is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented by using some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
  • The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.
  • When the functions are implemented in the form of a software functional unit, and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of the present invention essentially, or the part contributing to the prior art, or some of the technical solutions may be implemented in a form of a software product. The software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform all or some of the steps of the methods described in the embodiments of the present invention. The foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk, or an optical disc.
  • The foregoing descriptions are merely specific implementation manners of the present invention, but are not intended to limit the protection scope of the present invention. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in the present invention shall fall within the protection scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

Claims (15)

  1. A method for measuring a time stamp unit of a remote device, comprising:
    obtaining (S110) m sets of sampled data, wherein each set of sampled data comprises packet transmission time stamps and times of arrival at a monitoring point that are of a previously transmitted data packet and a subsequently transmitted data packet of the remote device, m is a positive integer, and m>1;
    calculating (S120) m estimated time stamp units according to the packet transmission time stamps and the times of arrival at the monitoring point that are of the previously transmitted data packets and the subsequently transmitted data packets of the remote device and that are in the m sets of sampled data;
    selecting (S130), from the m estimated time stamp units, an estimated time stamp unit, a difference between which and an average value of the m estimated time stamp units falls within a predetermined range; and
    calculating (S140) the time stamp unit of the remote device according to the selected estimated time stamp unit.
  2. The method according to claim 1, wherein the calculating (S120) m estimated time stamp units according to the packet transmission time stamps and the times of arrival at the monitoring point that are of the previously transmitted data packets and the subsequently transmitted data packets of the remote device and that are in the m sets of sampled data comprises:
    determining the m estimated time stamp units according to the following formula: U i = S 2 i S 1 i / t 2 i t 1 i ,
    Figure imgb0032
    wherein S1i represents a packet transmission time stamp of a previously transmitted data packet of the remote device in an ith set of sampled data, S2i represents a packet transmission time stamp of a subsequently transmitted data packet of the remote device in the ith set of sampled data, t1i represents a time of arrival at the monitoring point of the previously transmitted data packet of the remote device in the ith set of sampled data, t2i represents a time of arrival at the monitoring point of the subsequently transmitted data packet of the remote device in the ith set of sampled data, and Ui represents an estimated time stamp unit calculated according to the ith set of sampled data.
  3. The method according to claim 1 or 2, wherein the calculating (S140) the time stamp unit of the remote device according to the selected estimated time stamp unit comprises:
    determining the time stamp unit of the remote device according to the following formula: U = int 1 / q ΣU i ,
    Figure imgb0033
    wherein ∑Ui represents a sum of the selected estimated time stamp units, q represents a quantity of the selected estimated time stamp unit, and a function int represents rounding down.
  4. The method according to any one of claims 1 to 3, wherein
    the selecting (S130), from the m estimated time stamp units, an estimated time stamp unit, a difference between which and an average value of the m estimated time stamp units falls within a predetermined range comprises:
    selecting, from the m estimated time stamp units, an estimated time stamp unit, a difference between which and the average value of the m estimated time stamp units is less than three times of a sample standard deviation of the m estimated time stamp units.
  5. The method according to any one of claims 1 to 4, wherein
    packet lengths of any two data packets in the m sets of sampled data are equal, and packet transmission intervals of any two sets of sampled data in the m sets of sampled data are equal.
  6. The method according to claim 5, wherein the packet transmission interval meets the following formula: D > 10 L / B ,
    Figure imgb0034
    wherein D represents an actual time span of the packet transmission interval, L represents the packet length, and B represents a network bottleneck bandwidth between the remote device and a local device.
  7. A measurement apparatus, comprising:
    a sampling unit (310), configured to obtain m sets of sampled data, wherein each set of sampled data comprises packet transmission time stamps and times of arrival at a monitoring point that are of a previously transmitted data packet and a subsequently transmitted data packet of a remote device, m is a positive integer, and m>1;
    a calculation unit (320), configured to calculate m estimated time stamp units according to the packet transmission time stamps and the times of arrival at the monitoring point that are of the previously transmitted data packets and the subsequently transmitted data packets of the remote device and that are in the m sets of sampled data; and
    a selection unit (330), configured to select, from the m estimated time stamp units, an estimated time stamp unit, a difference between which and an average value of the m estimated time stamp units falls within a predetermined range, wherein
    the calculation unit (320) is further configured to calculate a time stamp unit of the remote device according to the selected estimated time stamp unit.
  8. The apparatus according to claim 7, wherein: in the process of being configured to calculate the m estimated time stamp units according to the packet transmission time stamps and the times of arrival at the monitoring point that are of the previously transmitted data packets and the subsequently transmitted data packets of the remote device and that are in the m sets of sampled data, the calculation unit (320) is specifically configured to determine the m estimated time stamp units according to the following formula: U i = S 2 i S 1 i / t 2 i t 1 i ,
    Figure imgb0035
    wherein S1i represents a packet transmission time stamp of a previously transmitted data packet of the remote device in an ith set of sampled data, S2i represents a packet transmission time stamp of a subsequently transmitted data packet of the remote device in the ith set of sampled data, t1i represents a time of arrival at the monitoring point of the previously transmitted data packet of the remote device in the ith set of sampled data, t2i represents a time of arrival at the monitoring point of the subsequently transmitted data packet of the remote device in the ith set of sampled data, and Ui represents an estimated time stamp unit calculated according to the ith set of sampled data.
  9. The apparatus according to claim 7 or 8, wherein: in the process of being configured to calculate the time stamp unit of the remote device according to the selected estimated time stamp unit, the calculation unit (320) is specifically configured to determine the time stamp unit of the remote device according to the following formula: U = int 1 / q ΣU i ,
    Figure imgb0036
    wherein ∑Ui represents a sum of the selected estimated time stamp unit, q represents a quantity of the selected estimated time stamp unit, and a function int represents rounding down.
  10. The apparatus according to any one of claims 7 to 9, wherein the selection unit (330) is specifically configured to:
    select, from the m estimated time stamp units, an estimated time stamp unit, a difference between which and the average value of the m estimated time stamp units is less than three times of a sample standard deviation of the m estimated time stamp units.
  11. The apparatus according to any one of claims 7 to 10, wherein
    packet lengths of any two data packets in the m sets of sampled data are equal, and packet transmission intervals of any two sets of sampled data in the m sets of sampled data are equal.
  12. The apparatus according to any one of claims 7 to 11, wherein the monitoring point is located on a router between the remote device and the local device, or the monitoring point is the local device.
  13. A measurement apparatus, comprising: a processor (402), a path interface (401), and
    a memory (403) coupled to the processor (402) and configured to store a plurality of instructions that, when executed, causes the processor to perform the method according to any of the preceding claims 1 to 6.
  14. A computer program product comprising computer program instructions that when executed by a processing apparatus cause the processing apparatus to perform the method according to any of the preceding claims 1to 6.
  15. A computer-processing product comprising instructions which, when executed by a computer, cause the computer to carry out the steps of the method of any one of claims 1 to 6.
EP16840715.3A 2015-08-31 2016-08-10 Method and device for measuring remote timestamp unit Active EP3310001B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510545626.5A CN106487608B (en) 2015-08-31 2015-08-31 The method and apparatus for measuring distal end timestamp unit
PCT/CN2016/094369 WO2017036286A1 (en) 2015-08-31 2016-08-10 Method and device for measuring remote timestamp unit

Publications (3)

Publication Number Publication Date
EP3310001A1 EP3310001A1 (en) 2018-04-18
EP3310001A4 EP3310001A4 (en) 2018-05-23
EP3310001B1 true EP3310001B1 (en) 2019-10-09

Family

ID=58186900

Family Applications (1)

Application Number Title Priority Date Filing Date
EP16840715.3A Active EP3310001B1 (en) 2015-08-31 2016-08-10 Method and device for measuring remote timestamp unit

Country Status (4)

Country Link
US (1) US10503807B2 (en)
EP (1) EP3310001B1 (en)
CN (1) CN106487608B (en)
WO (1) WO2017036286A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113465608B (en) * 2021-07-22 2024-05-03 清华大学苏州汽车研究院(吴江) Road side sensor calibration method and system
CN114598412B (en) * 2022-01-20 2023-06-02 山东浪潮科学研究院有限公司 Clock synchronization processing method and device, electronic equipment, storage medium and product

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO307728B1 (en) * 1997-06-03 2000-05-15 Abb Research Ltd Steps to obtain time synchronization on a network
US6975656B1 (en) * 2000-03-29 2005-12-13 Microsoft Corporation Method and system for accurately calculating latency variation on an end-to-end path in a network
US7065482B2 (en) * 2001-05-17 2006-06-20 International Business Machines Corporation Internet traffic analysis tool
US7225266B2 (en) * 2002-12-20 2007-05-29 Nokia Corporation Adaptive delayed ACK switching for TCP applications
DE602005026482D1 (en) * 2004-06-14 2011-04-07 Broadcom Corp Compensation and measurement of the differential delay in bound systems
KR100651469B1 (en) * 2005-10-07 2006-11-29 삼성전자주식회사 Method capable of improving data transmission ratio using ack piggy-backing of tcp in the asymmetric wireless network environment and a terminal and system thereof
CN101114982A (en) * 2006-07-24 2008-01-30 互联天下科技发展(深圳)有限公司 IP network based audio-video QoS algorithm
EP1936867B1 (en) * 2006-12-22 2013-02-20 Corvil Limited Delay measurements in network traffic
CN101026509B (en) * 2007-02-28 2011-07-20 西南科技大学 End-to-end low available bandwidth measuring method
CN101370175B (en) * 2007-08-15 2011-12-28 华为技术有限公司 Method for determining data sending time, multicast grouping method, apparatus and system
US8295344B2 (en) * 2007-10-22 2012-10-23 Broadcom Corporation Adaptive rate control for encoding of variable frame rate video sources
US8831435B2 (en) * 2008-03-28 2014-09-09 Centurylink Intellectual Property Llc System and method for dual wavelength communications of a clock signal
US8060054B1 (en) * 2008-11-13 2011-11-15 Sprint Spectrum L.P. Method and system for reactive power-saving
EP2382829B1 (en) * 2009-01-23 2014-10-29 Kapsch CarrierCom France S.A.S. Method of synchronisation within a base station system
CN101674204B (en) * 2009-10-13 2011-10-05 东南大学 Method for measuring multimedia multicast service quality based on client
US9106787B1 (en) * 2011-05-09 2015-08-11 Google Inc. Apparatus and method for media transmission bandwidth control using bandwidth estimation
US8867350B2 (en) * 2012-07-23 2014-10-21 Avaya Inc. Method and apparatus for packet buffering measurement
US20140160945A1 (en) * 2012-12-06 2014-06-12 Accedian Networks Inc. Using bandwidth measurements to adjust cir and eir on a sub-rate link
US9634745B2 (en) * 2015-06-18 2017-04-25 Aruba Networks, Inc. Enhancing MU-MIMO to group clients across multiple BSSIDS for a physical radio

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Also Published As

Publication number Publication date
CN106487608B (en) 2019-06-07
EP3310001A4 (en) 2018-05-23
CN106487608A (en) 2017-03-08
US20180150432A1 (en) 2018-05-31
US10503807B2 (en) 2019-12-10
EP3310001A1 (en) 2018-04-18
WO2017036286A1 (en) 2017-03-09

Similar Documents

Publication Publication Date Title
US7675856B2 (en) Bandwidth estimation in broadband access networks
US7643430B2 (en) Methods and apparatus for determining reverse path delay
US8724503B2 (en) Sub-path E2E probing
EP1952579B1 (en) Using filtering and active probing to evaluate a data transfer path
US8767727B2 (en) System, apparatus, and method for modifying captured data packets
US20020080726A1 (en) System and method for determining network throughput speed and streaming utilization
EP2856703B1 (en) Method and node for improved estimation of available path capacity of a data transfer path
EP2302845A1 (en) Method and device for determining a jitter buffer level
CN112054965A (en) Congestion control method, equipment and computer readable medium
KR101468624B1 (en) Terminal, system and method for measuring network state using the same
US9379989B2 (en) Congestion avoidance and control for UDP-based protocols
CN102667510A (en) Increasing transmission rate to a remote device in response to attributing information loss as not being a result of network congestion
CN106656642B (en) Method, device and system for measuring round trip delay
EP3310001B1 (en) Method and device for measuring remote timestamp unit
EP1639760B1 (en) Method for setting the retransmission timeout period in a packet switched communication network
EP1978675A2 (en) System and method of determining data latency over a network
EP1639759B1 (en) Time skew correction in data time stamping
CN115426284A (en) Network quality detection method, device, terminal equipment and storage medium
JP4536026B2 (en) Network quality measuring method, measuring device and program
EP3637692A1 (en) Method, apparatus, and system for measuring transmission performance
Irey IV et al. Techniques for LAN performance analysis in a real-time environment
JP2020150359A (en) Analysis program, analysis device, and analysis method
CN114884839B (en) Method for detecting unidirectional link quality
JP5739373B2 (en) Available bandwidth measuring device, method and program
JP5537692B1 (en) Quality degradation cause estimation device, quality degradation cause estimation method, quality degradation cause estimation program

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20180109

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

A4 Supplementary search report drawn up and despatched

Effective date: 20180420

RIC1 Information provided on ipc code assigned before grant

Ipc: H04L 12/26 20060101AFI20180416BHEP

Ipc: H04N 21/43 20110101ALI20180416BHEP

Ipc: H04N 21/8547 20110101ALI20180416BHEP

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

INTG Intention to grant announced

Effective date: 20190220

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602016022341

Country of ref document: DE

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 1190110

Country of ref document: AT

Kind code of ref document: T

Effective date: 20191115

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20191009

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 1190110

Country of ref document: AT

Kind code of ref document: T

Effective date: 20191009

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200210

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200109

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200109

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200110

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200224

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602016022341

Country of ref document: DE

PG2D Information on lapse in contracting state deleted

Ref country code: IS

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200209

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

26N No opposition filed

Effective date: 20200710

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20200810

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20200810

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20200831

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20200831

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20200831

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20200831

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20200810

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20200810

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20200831

REG Reference to a national code

Ref country code: DE

Ref legal event code: R079

Ref document number: 602016022341

Country of ref document: DE

Free format text: PREVIOUS MAIN CLASS: H04L0012260000

Ipc: H04L0043000000

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

Ref country code: MT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191009

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20230703

Year of fee payment: 8