Method, a computer program product, and a carrier for indicating one-way latency in a data network
Summary by NHIP
Network latency measurement method
The method determines one-way latency between unsynchronized nodes by pre-synchronizing clocks, measuring message times, and post-synchronizing to obtain clock difference values. It adjusts sending times using a calculated ratebias derived from the difference between the second and first clock difference values before generating a latency profile.
Claim Score by NHIP
Abstract
Disclosed herein is a method, a computer program product, and a carrier for indicating one-way latency in a data network (N) between a first node (A) and a second node (B), wherein the data network (N) lacks continuous clock synchronization, comprising: a pre-synchronisation step, a measuring step, a post-synchronisation step, an interpolation step, and generating a latency profile. The present invention also relates to a computer program product incorporating the method, a carrier comprising the computer program product, and a method for indicating server functionality based on the first aspect.

Term
Term ended
Expired 9 September 2025, 1 year ago.
- Priority
- Filed
- Granted
- Expired
- Today
8 claims: 2 independent, 6 dependent
- 1Broadest claimClaim Score 28, narrow(NHIP)A method for determining one-way latency between a first computer node (A) having a first clock and a second computer node (B) having a second clock, comprising:pre-synchronizing said first clock of said first computer node (A) with said second clock of said second computer node (B), said pre-synchronizing further comprising obtaining a first clock difference value and a first absolute clock value;measuring a sending time and a receiving time associated with each measurement message within a plurality of measurement messages;post-synchronizing said first clock of said first computer node (A) with said second clock of said second computer node (B), said post-synchronizing further comprising obtaining a second clock difference value and a second absolute clock value;interpolating, comprising adjusting the sending time associated with each measurement message, said adjusting based on the sending time, the said first and second clock difference values, and the said first and second absolute clock values, further wherein said adjusting comprises calculating a ratebias, said calculating of ratebias comprising calculating a numberator=(CDIFF 1 −CDIFF 0 ) wherein CDIFF 1 is the second clock difference value, and CDIFF 0 is the first clock difference value, calculating the one-way latency associated with a measurement message in the data network between said first computer node (A) and said second computer node (B) as the difference between the receiving time associated with the measurement message, and the adjusted sending time associated with the measurement message;and generating a latency profile.
- 5A method for generating a one-way latency profile between a first computer node (A) having a first clock and a different second computer node (B) having a second clock, located in a data network without continuous clock synchronization, comprising:pre-synchronizing said first clock of said first computer node (A) with said second clock of said second computer node (B) to generate pre-synchronization values representing one or more absolute clock values and one or more clock difference values, and obtain a first absolute clock value and a first clock difference value from said one or more absolute clock values and one or more clock difference values, said pre-synchronizing carried out using a plurality of synchronization request and synchronization response messages;following said pre-synchronizing, collecting a predetermined number of time measurements, using a plurality of measurement messages;following said collecting, post-synchronizing said first clock of said first computer node (A) with said second clock of said second computer node (B) to generate post-synchronization values representing one or more absolute clock values and one or more clock difference values, and obtain a second absolute clock value and a second clock difference value from said one or more absolute clock values and one or more clock difference values, said post-synchronizing carried out using a plurality of synchronization request and synchronization response messages;interpolating said plurality of time measurements to create a predetermined number of latency measurements, said interpolating comprising adjusting said time measurements using said first and second absolute clock values and said first and second clock difference values, wherein said adjusting comprises calculating a ratebias;and said calculating of ratebias comprising calculating a numberator=(CDIFF 1 −CDIFF 0 ) wherein CDIFF 1 is the second clock difference value, and CDIFF 0 is the first clock difference value, generating said one-way latency profile based on said latency measurements.
Independent claims2
58 paragraphs in 6 sections, as filed
CROSS REFERENCE TO RELATED APPLICATIONS
This application is a continuation of and claims priority to U.S. patent application Ser. No. 13/494,652, filed Jun. 12, 2012, now allowed, which is a continuation of U.S. patent application Ser. No. 11/662,646, filed Mar. 13, 2007, now U.S. Pat. No. 8,218,576, which is a U.S. national stage of International Application No. PCT/SE2005/001307, filed Sept. 9, 2005, which claims the benefit of Sweden Patent Application No. 0402280-2, filed Sept. 22, 2004, all of which are incorporated herein in their entirety.
TECHNICAL FIELD
According to a first aspect, the present invention relates to a method for indicating one-way latency in a data network without continuous clock synchronization between a first node and a second node.
According to a second aspect, the present invention relates to a computer program product incorporating the first aspect.
According to a third aspect, the present invention relates to a carrier comprising the computer program product.
According to a fourth aspect, the present invention relates to a method for indicating server functionality based on the first aspect.
BACKGROUND OF INVENTION
In the art, it is possible to achieve one-way real-time latency measurement by using synchronized clocks, such as GPS technology. It is possible to use the standard NTP protocol to achieve a level of synchronization between nodes, as described in Mills, D “Network Time Protocol (Version 3) specification, implementation and analysis”, IETF RFC 1305, University of Delaware, March 1992. However, the NTP mechanism does not have a very high accuracy.
In US2003/0048811 A1, with the title “Methods, systems and computer program products for synchronizing clocks of nodes on a computer network”, discloses an algorithm for clock synchronization between two nodes using virtual clocks, a generalization of the clock synchronization for many nodes, and using many round-trip-delays to compute an average one-trip delay. A key feature of the invention described in the US document, is that, each node manages a virtual clock for every other node it synchronizes with.
SUMMARY OF INVENTION
According to the present invention and the first aspect, a method for indicating one-way latency in a data network, without continuous clock synchronization, between a first node and a second node is disclosed. The method comprises: <ul id="ul0001" list-style="none"><li id="ul0001-0001" num="0000"><ul id="ul0002" list-style="none"><li id="ul0002-0001" num="0009">a pre-synchronisation step,</li><li id="ul0002-0002" num="0010">a measuring step,</li><li id="ul0002-0003" num="0011">a post-synchronisation step,</li><li id="ul0002-0004" num="0012">an interpolation step, and</li><li id="ul0002-0005" num="0013">generating a latency profile.</li></ul></li></ul>
Based on the present invention, also a computer program product loadable into the internal memory of a computer, comprising software code portions for performing the method, a carrier comprising the computer program product, and a method for indicating server functionality are disclosed. This implies that the present invention is applicable when measuring or monitoring, qualities of a server.
The present invention according to the present invention presents a number of advantages in relation to prior art. For instance, the accuracy of the measurements of the present invention is higher than the accuracy of the NTP mechanism. The present invention deals with a method for making one-way real-time latency measurements with a high precision between nodes connected by a message-passed network where clock synchronization of that precision is not available, which is in contrast to the prior art briefly discussed above. The method may also present individual per-packet latency values. The present invention performs high precision latency measurements of packets travelling between two nodes over a limited period of time. Since latencies may be asymmetric, round-trip estimation may not be used, but it must be relied on absolute and synchronous time. Also, continuous clock synchronization does not have to established, nor maintained. Instead, the present invention makes two synchronizations (before and after) with the single goal to interpolate the measurement results.
In a preferred embodiment, the pre-synchronisation step comprises sending a predetermined message from the first node to the second node. Then, at the first node, a predetermined message sent by the second node is received. The next step is to calculate an offset according to ((T<sub>2</sub>−T<sub>1</sub>)+(T<sub>3</sub>−T<sub>4</sub>))/2, where T<sub>1 </sub>is the sending time from the first node, T<sub>2 </sub>is the receiving time at the second node, T<sub>3 </sub>is the sending time at the second node, and T<sub>4 </sub>is the receiving time at the first node. Thereafter, a clock difference is set to the offset. Also, an absolute clock is set to T<sub>4</sub>.
In a preferred embodiment, the pre-synchronisation step comprises sending the predetermined message N times, and the predetermined message is received N times. However, there may be cases where all N messages are not received. In such cases, there will be gaps in the correspondence of the data sent and received. This may be handled by not using the measured values associated to the missing messages. Then N, or a number less than N, round-trip-time items are generated. This is done according to T<sub>i,4</sub>−T<sub>i,1</sub>−(T<sub>i,3</sub>−T<sub>i,2</sub>), where i is in the interval [1 . . . N]. N offset items, or a number of offset items less than N, as described above is generated. The minimum round-trip-time item is retrieved and the clock difference is set to the offset related to the minimum round-trip-time item, and the absolute clock is set to T<sub>i,4 </sub>for the i having the minimum round-trip-time item.
In a preferred embodiment, the method further comprises the step of measuring the overhead for making measurements at the sender.
In a preferred embodiment, the method further comprises the step of measuring the overhead for making measurements at the receiver.
In a preferred embodiment, the measuring step comprises sending a predetermined message from the first node to the second node and storing the sending time for the sending. The predetermined message is received at the second node, the receiving time for the receiving is stored.
In a preferred embodiment, the measuring step comprises sending a predetermined message from the first node to the second node N times chronologically equidistantly, and the sending time for each sending is stored. The predetermined message is received at the second node, and the receiving time for each receiving is stored. Hopefully, the message is received N times at the second node. Otherwise this may be handled as described above.
In a preferred embodiment, wherein the post-synchronisation step is constituted by the pre-synchronisation step as defined above.
In a preferred embodiment, the interpolation step comprises calculating the one-way latency in the data network between a first node and a second node according to the following relations: <br />rate bias=(offset of the post-synchronisation step−offset of the pre-synchronisation step)/(absolute clock for post-synchronisation step−absolute clock for the pre-synchronisation), and<br />latency=the time at which the second node received the predetermined message−(the time at which the first node sent the predetermined message+the offset of the pre-synchronisation step+(the time at which the first node sent the predetermined message−the absolute clock of the pre-synchronisation step)).
In a preferred embodiment, the interpolation step comprises calculating the one-way latency in the data network between a first node and a second node according to the above for the messages sent between the first and second nodes.
In a preferred embodiment, the method further comprises an overhead term corresponding to the overhead for making measurements at at least one of the first and second nodes, and the one-way latency in the data network between a first node and a second node is calculated according to: <br />latency=the time at which the second node received the predetermined message−(the time at which the first node sent the predetermined message+the offset of the pre-synchronisation step+ratebias(the time at which the first node sent the predetermined message−the absolute clock of the pre-synchronisation step))−the overhead term.
In a preferred embodiment, in the interpolation step, the one-way latency in the data network between a first node and a second node is calculated according to the above for the N messages sent between the first and second nodes. Alternatively in case all N messages were not received, this is done for the received messages.
It also lies within the scope of the present invention that it is possible to operate in relation to more nodes than a single one. Of course, the present invention may be used to operate against a plurality of nodes.
BRIEF DESCRIPTION OF DRAWINGS
In <figref idref="DRAWINGS">FIG. 1</figref>, an embodiment of two nodes, A and B, interconnected by a network N are schematically depicted.
In <figref idref="DRAWINGS">FIG. 2</figref>, an embodiment of an architecture of a node is schematically depicted.
In <figref idref="DRAWINGS">FIG. 3</figref>, an embodiment of a network module is schematically depicted.
In <figref idref="DRAWINGS">FIG. 4</figref>, an embodiment of a requestor node pre-synchronization flowchart is schematically depicted.
In <figref idref="DRAWINGS">FIG. 5</figref>, an embodiment of a responder node pre-synchronization flowchart is schematically depicted.
In <figref idref="DRAWINGS">FIG. 6</figref>, an embodiment of a flowchart of requesting node in the measurement phase is schematically depicted.
In <figref idref="DRAWINGS">FIG. 7</figref>, an embodiment of a flowchart of the responding node in the measurement phase is schematically depicted.
In <figref idref="DRAWINGS">FIG. 8</figref>, an embodiment of a flowchart of the interpolation method is schematically depicted.
DESCRIPTION OF PREFERRED EMBODIMENTS
In a first embodiment, a system with two nodes A and B interconnected by a communication network N is depicted in <figref idref="DRAWINGS">FIG. 1</figref>. The nodes communicate by sending messages (packets) over the network N. A measurement is performed from a node A to a node B, where A is called a requesting node, and B is called a responding node. Each node may work both as a requesting node and a responding node. A node can also perform measurements with more than one other node. For example, A can perform a measurement with a third node C (not disclosed in <figref idref="DRAWINGS">FIG. 1</figref>) at the same time. The network N may be an inter-network running the IP protocol. This enables any nodes with an IP-interface and an IP protocol stack to communicate with each other over N.
In <figref idref="DRAWINGS">FIG. 2</figref>, an embodiment of a node is shown. The computer node is equipped with a network interface card that can communicate using IP. Such a node has a CPU, memory buses, disks, etc, that enables it to operate as a computer. The node runs an operating system, in which the system software can be implemented. This embodiment is implemented as a software module running in an operating system of such a node.
In <figref idref="DRAWINGS">FIG. 3</figref>, an embodiment of a network module is shown. The software module implementing the method described in this document needs to have access to a network module. The network module shown in <figref idref="DRAWINGS">FIG. 3</figref> typically consists of a network interface card, a device driver, an IP stack and a socket API. The network interface card enables the node to physically connect to an access network. The device driver contains software enabling the IP stack to access the network services on the network interface card. The IP stack contains full implementation of the communication protocols that enables the node to communicate over the internet. This may be the set of protocols referred to as TCP/IP. The socket API is a functional interface that the system module can access in order to send and receive packets to and from the network.
In an embodiment, a system module implementing the invention may be implemented as a user application in an operating system. It requires a socket API to access the network in order to send and receive packets over the network.
The nodes communicate with messages over the network. There are two kinds of messages: <ul id="ul0003" list-style="none"><li id="ul0003-0001" num="0000"><ul id="ul0004" list-style="none"><li id="ul0004-0001" num="0041">Synchronization messages</li><li id="ul0004-0002" num="0042">Measurement messages</li></ul></li></ul>
Both types of messages may be encapsulated over the IP protocol using the UDP/IP transport protocol or some other non-reliable datagram service. In an embodiment, both types of messages are encoded with the RTP protocol.
A synchronization message is either a request (syncreq) or response (syncresp). The request message is sent by the requesting node and received by a responding node. A response is sent by a responding node when it receives a syncreq message. The syncresp message is received by the requesting node.
The syncreq message contains the following fields: a sequence number and a time-stamp T<b>1</b>.
The syncresp message contains the following fields: a sequence number and three timestamps: T<b>1</b>, T<b>2</b>, and T<b>3</b>.
The semantics of the message fields are as follows: <ul id="ul0005" list-style="none"><li id="ul0005-0001" num="0000"><ul id="ul0006" list-style="none"><li id="ul0006-0001" num="0048">Sequence number—The requesting node sets the sequence number incrementally (0, 1, 2, etc). The responder copies the sequence number from a syncreq to a syncresp message. The sequence number is used to detect packet loss, reordering or duplications on the network.</li><li id="ul0006-0002" num="0049">Timestamp T<b>1</b>. The time when the syncreq message was sent by the requesting node.</li><li id="ul0006-0003" num="0050">Timestamp T<b>2</b>. The time when the syncreq message was received by the responding node.</li><li id="ul0006-0004" num="0051">Timestamp T<b>3</b>. The time the syncresp message was sent by the responding node.</li></ul></li></ul>
The measurement messages are sent from the requesting node to the responding node only. The measurement message contains a sequence field and a timestamp field T<b>1</b>.
The semantic of the message fields are as follows: <ul id="ul0007" list-style="none"><li id="ul0007-0001" num="0000"><ul id="ul0008" list-style="none"><li id="ul0008-0001" num="0054">The sequence number. The requesting node sets the sequence number incrementally (0, 1, 2, etc).</li><li id="ul0008-0002" num="0055">Timestamp T<b>1</b>. The time when the measurement message was sent by the requesting node.</li></ul></li></ul>
Now referring to the inventive method, both nodes have high accuracy clocks that are not synchronized with each other. High accuracy means that they are linear with respect to each other over a limited time period on the order of minutes, and that they have high resolution, at least to the level of 1 microsecond. That is, the clocks have different rates, but the rate difference is constant over time.
The method is divided into five steps: <ul id="ul0009" list-style="none"><li id="ul0009-0001" num="0000"><ul id="ul0010" list-style="none"><li id="ul0010-0001" num="0058">P<b>1</b>—Synchronization1</li><li id="ul0010-0002" num="0059">P<b>2</b>—Measurement</li><li id="ul0010-0003" num="0060">P<b>3</b>—Synchronization2</li><li id="ul0010-0004" num="0061">P<b>4</b>—Interpolation and</li><li id="ul0010-0005" num="0062">Generating a latency profile.</li></ul></li></ul>
In Table 1 below an embodiment of constants used to parameterise the method are given. The values given to the constants are merely an example; the method can be used also for other values.
<tables id="TABLE-US-00001" num="00001"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="4"><colspec colname="offset" colwidth="14pt" align="left" /><colspec colname="1" colwidth="42pt" align="left" /><colspec colname="2" colwidth="105pt" align="left" /><colspec colname="3" colwidth="56pt" align="center" /><thead><row><entry /><entry namest="offset" nameend="3" rowsep="1">TABLE 1</entry></row><row><entry /><entry namest="offset" nameend="3" align="center" rowsep="1" /></row><row><entry /><entry>Constant</entry><entry /><entry>Example</entry></row><row><entry /><entry>name</entry><entry>Description</entry><entry>values</entry></row><row><entry /><entry namest="offset" nameend="3" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry /></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="4"><colspec colname="offset" colwidth="14pt" align="left" /><colspec colname="1" colwidth="42pt" align="left" /><colspec colname="2" colwidth="105pt" align="left" /><colspec colname="3" colwidth="56pt" align="char" char="." /><tbody valign="top"><row><entry /><entry>SNR</entry><entry>Number of syncreq messages sent.</entry><entry>50</entry></row><row><entry /><entry>NM</entry><entry>Number of measurement messages</entry><entry>10000</entry></row><row><entry /><entry /><entry>sent.</entry></row><row><entry /><entry>DT</entry><entry>Delay between sending of</entry><entry>20 ms</entry></row><row><entry /><entry /><entry>measurement messages.</entry></row><row><entry /><entry namest="offset" nameend="3" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
In Table 2 below, variables used in this method are explained.
<tables id="TABLE-US-00002" num="00002"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="49pt" align="left" /><colspec colname="2" colwidth="168pt" align="left" /><thead><row><entry namest="1" nameend="2" rowsep="1">TABLE 2</entry></row><row><entry namest="1" nameend="2" align="center" rowsep="1" /></row><row><entry>Variable name</entry><entry>Description</entry></row><row><entry namest="1" nameend="2" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry>NSREQ</entry><entry>Number of syncreq messages sent.</entry></row><row><entry>NSRESP</entry><entry>Number of syncresp messages received.</entry></row><row><entry>T1</entry><entry>Time when message was sent by requesting node.</entry></row><row><entry>T2</entry><entry>Time when message was received by responding node.</entry></row><row><entry>T3</entry><entry>Time when message was sent by responding node.</entry></row><row><entry>T4</entry><entry>Time when message was received by requesting node.</entry></row><row><entry>RTT</entry><entry>Round-trip-time</entry></row><row><entry>RTTMIN</entry><entry>The smallest RTT value during a synchronization</entry></row><row><entry /><entry>phase.</entry></row><row><entry>CABS0</entry><entry>Wall clock of a synchronization message in the P1</entry></row><row><entry /><entry>phase</entry></row><row><entry>CDIFF0</entry><entry>The difference/offset between the two clocks at a</entry></row><row><entry /><entry>synchronization message in the P1 phase</entry></row><row><entry>CABS1</entry><entry>Wall clock of a synchronization message in the P3</entry></row><row><entry /><entry>phase</entry></row><row><entry>CDIFF2</entry><entry>The difference/offset between the two clocks at a</entry></row><row><entry /><entry>synchronization message in the P3 phase</entry></row><row><entry>SEQ</entry><entry>Sequence number set by requesting node.</entry></row><row><entry>A[ ]</entry><entry>Vector containing T1 for all measurement messages.</entry></row><row><entry>B[ ]</entry><entry>Vector containing T2 for all measurement messages.</entry></row><row><entry>L[ ]</entry><entry>Vector containing the resulting one-way latencies, or</entry></row><row><entry /><entry>the latency profile.</entry></row><row><entry>Ks</entry><entry>Overhead of sending a message</entry></row><row><entry>Kr</entry><entry>Overhead of receiving a message</entry></row><row><entry>RATEBIAS</entry><entry>Difference in rate between the two clocks</entry></row><row><entry>VALID[ ]</entry><entry>Vector of boolean values determining the validity of the</entry></row><row><entry /><entry>entries in A[ ], B[ ] and L[ ]</entry></row><row><entry namest="1" nameend="2" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
The output of the present invention is a latency profile, which is the vector containing the resulting one-way latencies, or L[ ].
In <figref idref="DRAWINGS">FIG. 4</figref>, an embodiment of a requestor node pre-synchronization flowchart is schematically depicted. The node sends a syncreq to the responding node. It sets the sequence number and the T<b>1</b> timestamp in the syncreq message. Then it waits for a reply to come back from the responding node, or for a timeout to occur. If a syncreq message was received, a timestamp T<b>4</b> is registered when the syncresp message was received. Together with the three timestamps T<b>1</b>, T<b>2</b> and T<b>3</b>, the module tries to find the message with the smallest round-trip-time. This message is used to find the two values CABS<b>0</b> and CDIFF<b>0</b> and is used in the interpolation method P<b>4</b>. The method uses two variables NSREQ and NSRESP to record the number of sent syncreq messages and received syncresp messages, respectively. These variables are used as a terminating condition. If the module sends 2SNR syncreq messages without having received SNR syncresp messages, this is an error. As soon as the module has received SNR syncresp messages, it continues to the next phase, P<b>2</b>A. SNR is a predefined constant, typically 50 messages. The method may also use the variables RTT and RTT_MIN. RTT_MIN is preset to a large value, and is used to find the syncreq/syncresp pair with the smallest round-trip-time. This measurement is then used to compute the CABS and CDIFF values. In other words, we claim that the best measurement is the one with the smallest RTT. Many other methods use the mean value. Note that the method described in <figref idref="DRAWINGS">FIG. 4</figref> may be implemented somewhat differently. For example, the sending and receiving of messages can be made concurrently, not sequentially as is shown in the figure. In that case, two processes are created, one that is sending syncreq messages regularly, and one that is waiting for syncresp messages. In that case, a timeout need not be made. Instead, a delay between the sending of syncreq messages need to be introduced.
In <figref idref="DRAWINGS">FIG. 5</figref>, an embodiment of a responder node pre-synchronization flowchart is schematically depicted. The node waits for a syncreq from the requesting node. When such a message is received, it creates a syncresp message, copies the sequence number and T<b>1</b> from the syncreq message, records T<b>2</b> and T<b>3</b>, and sends the syncresp message back to the requesting node. If the received message is not a syncreq message, it is assumed that it is a measurement message which is handled in P<b>2</b>B. The size of the vectors is equal to the number of measurement messages sent.
The measurement phase consists of the requesting node periodically sending measurement messages to the responding node. The responding node records the timestamps of the time of sending and the time of receiving the messages in two vectors A[ ] and B[], respectively. The size of the vectors is equal to the number of measurement messages sent, NM. The two vectors are later used in P<b>4</b>.
In <figref idref="DRAWINGS">FIG. 6</figref>, an embodiment of a flowchart of requesting node in the measurement phase is schematically depicted. The requesting node sends NM messages (for example 10000) with interval DT between each packet (for example 20 ms). Each syncreq message will contain SEQ, the sequence number; and T<b>1</b>, the time the message was sent. The overhead of sending a message Ks is computed initially. This is the difference in time from when the timestamp was taken and when the message was actually sent. Ks may be set to 0 if the node lacks the capability to compute this time.
In <figref idref="DRAWINGS">FIG. 7</figref>, an embodiment of a flowchart of the responding node is shown. The responding node stores the sending timestamp T<b>1</b> in a vector A, and the receiving timestamp T<b>2</b> in the vector B. The sequence number is used as an index in the vector. The overhead of sending a message Kr is computed initially. This is the difference in time from when the timestamp was taken and when the message was actually sent. Kr may be set to 0 if the node lacks the capability to compute this time.
The second synchronisation phase is in this embodiment similar to phase P<b>1</b> described above. The differences are as follows: <ul id="ul0011" list-style="none"><li id="ul0011-0001" num="0000"><ul id="ul0012" list-style="none"><li id="ul0012-0001" num="0074">1. The two processes are called P<b>3</b>A and P<b>3</b>B instead of P<b>1</b>A and P<b>1</b>B, respectively.</li><li id="ul0012-0002" num="0075">2. The resulting variables are named CABS<b>1</b> and CDIFF<b>1</b> instead of CABS<b>0</b> and CDIFF<b>0</b>, respectively.</li><li id="ul0012-0003" num="0076">3. After successful completion of the processes, both flowchart goes to P<b>4</b> instead of to P<b>2</b>A and P<b>2</b>B.</li></ul></li></ul>
In the interpolation phase, the measurements collected in phase P<b>2</b> in the vectors A[ ] and B[] and the synchronization values CABS<b>0</b>, CDIFF<b>0</b>, CABS<b>1</b> and CDIFF<b>1</b> in phases P<b>1</b> and P<b>3</b> are used to interpolate a sequence of one-way latency values. The method itself can be performed on the requesting node, the responding node, or some other node, and can be performed at any time after the other three phases. For example, this phase can be made as a post processing stage in a server. However, the data must be transferred to the place where the method is implemented. The end result of the method is a vector L[ ], i.e. the latency profile, with size NM containing the true one-way latency values of the measurement between the requesting and responding node.
In <figref idref="DRAWINGS">FIG. 8</figref>, an embodiment of a flowchart of the interpolation method is schematically depicted. First the difference in rate RATEBIAS is computed as follows: <br />RATEBIAS=(CDIFF1−CDIFF0)/(CABS1−CABS0),
The method iteratively computes the values of the one-way latency vector L[ ] from values collected or computed, as follows: <br /><i>L[i]=B[i]</i>−(<i>A[i]+</i>CDIFF0+RATEBIAS*(<i>A[i]</i>−CABSO))−<i>Ks−Kr </i>
Contents6
6 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6
Every citation, both waysCites: the store holds 17 of 18
| Document | Relation | Office | Cited during |
|---|---|---|---|
| EP1215559A2 | Cites | European Patent Office (EPO) | Applicant |
| US2001000071A1 | Cites | United States of America | Applicant |
| US2003048754A1 | Cites | United States of America | Applicant |
| US2003048811A1 | Cites | United States of America | Applicant |
| US2003091029A1 | Cites | United States of America | Applicant |
| US2003093513A1 | Cites | United States of America | Search report |
| US2004105391A1 | Cites | United States of America | Applicant |
| US6545979B1 | Cites | United States of America | Applicant |
| US7113485B2 | Cites | United States of America | Applicant |
| US7114091B2 | Cites | United States of America | Search report |
| US7286482B2 | Cites | United States of America | Applicant |
| US20010000071A1 | Cites | United States of America | Applicant |
| US20030048754A1 | Cites | United States of America | Applicant |
| US20030048811A1 | Cites | United States of America | Applicant |
| US20030091029A1 | Cites | United States of America | Applicant |
| US20030093513A1 | Cites | United States of America | Search report |
| US20040105391A1 | Cites | United States of America | Applicant |
| European Search Report for European Application No. 05779215.2, mailed Sep. 27, 2013 (6 pages). | Non-patent | – | Applicant |
| Fasbender et al., "On Assessing Unidirectional Latencies in Packet-Switched Networks,"IEEE vol. 1, Jun. 8, 1997 (5 pages). | Non-patent | – | Applicant |
| International Search Report for International Application No. PCT/SE2005/001307, filed Sep. 9, 2005, mailed Dec. 6, 2005 (4 pages). | Non-patent | – | Applicant |
| International Written Opinion for International Application No. PCT/SE2005/001307, filed Sep. 9, 2005, mailed Dec. 6, 2005 (5 pages). | Non-patent | – | Applicant |
| European Search Report for European Application No. 05779215.2, mailed Sep. 27, 2013 (6 pages). | Non-patent | – | Applicant |
| Fasbender et al., “On Assessing Unidirectional Latencies in Packet-Switched Networks,”IEEE vol. 1, Jun. 8, 1997 (5 pages). | Non-patent | – | Applicant |
| International Search Report for International Application No. PCT/SE2005/001307, filed Sep. 9, 2005, mailed Dec. 6, 2005 (4 pages). | Non-patent | – | Applicant |
| International Written Opinion for International Application No. PCT/SE2005/001307, filed Sep. 9, 2005, mailed Dec. 6, 2005 (5 pages). | Non-patent | – | Applicant |
30 members in 4 offices
Priority claims20
| Document | Office | Kind | Date |
|---|---|---|---|
| 0402280 | Sweden | A | |
| 0402280 | Sweden | A | |
| 0402280 | Sweden | – | |
| 2005001307 | Sweden | W | |
| 2005001307 | Sweden | W | |
| 66264607 | United States of America | A | |
| 66264607 | United States of America | A | |
| 201213494652 | United States of America | A | |
| 201213494652 | United States of America | A | |
| 201414194885 | United States of America | A | |
| 0402280 | – | – | – |
| 11662646 | – | – | – |
| 11662646 | – | – | – |
| 13494652 | – | – | – |
| PCTSE2005001307 | – | – | – |
| SE20040002280 | – | – | – |
| US20070662646 | – | – | – |
| US201213494652 | – | – | – |
| US201414194885 | – | – | – |
| WO2005SE01307 | – | – | – |
Members30
| Document | Office | Kind | |
|---|---|---|---|
| SE0402280D0 | Sweden | D0 | |
| SE0402280L | Sweden | L | |
| WO2006033611A1 | World Intellectual Property Organization (WIPO) | A1 | |
| SE528374C2 | Sweden | C2 | |
| EP1807962A1 | European Patent Office (EPO) | A1 | |
| US2007268850A1 | United States of America | A1 | |
| US8218576B2 | United States of America | B2 | |
| US2012257641A1 | United States of America | A1 | |
| EP1807962A4 | European Patent Office (EPO) | A4 | |
| US8705577B2 | United States of America | B2 | |
| US2014177654A1 | United States of America | A1 | |
| US8948210B2This record | United States of America | B2 | |
| US2015106534A1 | United States of America | A1 | |
| US9094427B2 | United States of America | B2 | |
| US2015288582A1 | United States of America | A1 | |
| US9300556B2 | United States of America | B2 | |
| US2016182332A1 | United States of America | A1 | |
| US9544210B2 | United States of America | B2 | |
| US2017126526A1 | United States of America | A1 | |
| US9736049B2 | United States of America | B2 | |
| US2018006919A1 | United States of America | A1 | |
| US2018316586A1 | United States of America | A1 | |
| US10178009B2 | United States of America | B2 | |
| US10425309B2 | United States of America | B2 | |
| US2019306043A1 | United States of America | A1 | |
| US10680924B2 | United States of America | B2 | |
| US2020213213A1 | United States of America | A1 | |
| US10938698B2 | United States of America | B2 | |
| US2021152452A1 | United States of America | A1 | |
| US11516101B2 | United States of America | B2 |
54 transactions on the USPTO file
Allowed after 1 non-final rejection and 1 final rejection.
- Non-final rejections
- 1
- Final rejections
- 1
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Entity Status Set To Undiscounted (Initial Default Setting or Status Change)BIG. | BIG. | |
| Payment of Maintenance Fee, 8th Yr, Small EntityM2552 | M2552 | |
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Payment of Maintenance Fee, 4th Yr, Small EntityM2551 | M2551 | |
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| Post Issue Communication - Certificate of CorrectionN423 | N423 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail PUBS Letter Withdrawing a Notice Requiring Inventors Oath or DeclarationMM327-W | MM327-W | |
| PUBS Letter Withdrawing a Notice Requiring Inventors Oath or DeclarationM327-W | M327-W | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| PILOT- Request for After Final Consideration ProgramRAFC | RAFC | |
| Response after Final ActionA.NE | A.NE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Paralegal or electronic terminal disclaimer approvedP574 | P574 | |
| Terminal Disclaimer FiledDIST | DIST | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| FITF set to NO - revise initial settingFTFI | FTFI | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Application Is Now CompleteCOMP | COMP | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Applicant Has Filed a Verified Statement of Small Entity Status in Compliance with 37 CFR 1.27SMAL | SMAL | |
| Cleared by OIPE CSRL194 | L194 | |
| Preliminary AmendmentA.PE | A.PE | |
| Patent Term Adjustment - Ready for ExaminationPTA.RFE | PTA.RFE | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Entity Status Set To Undiscounted (Initial Default Setting or Status Change)BIG. | BIG. | |
| Initial Exam Team nnIEXX | IEXX |
14 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Fee payment procedureENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| Certificate of correctionCC | CC | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 08948210
- Publication, DOCDB
- 8948210
- Publication, EPODOC
- US8948210
- Application
- 14194885
- Application, DOCDB
- 201414194885
- Application, EPODOC
- US201414194885
Titles
- English
- Method, a computer program product, and a carrier for indicating one-way latency in a data network
Patent term adjustment
- Applicant delay
- −32 days
- Net adjustment
- 0 days
Classification
- CPC, 12
- H04J3/0638
- H04L43/0858
- G06F1/12
- H04J3/0667
- H04L43/0852
- H04J3/0682
- H04L7/00
- H04L65/65
- H04L67/1095
- H04L43/067
- H04L7/10
- H04L2212/00
- IPC, 3
- H04J3 06
- H04L
- H04L12 26
- USPC, 1
- 370503000