Network connections between computing devices are ubiquitous. However, these network connections are not perfect. In other words, data to be exchanged between the two computing devices may be lost (i.e., dropped) by the network connection, which impacts the performance of one or both of the computing devices. Accordingly, measuring the loss on a network connection is of great importance.
In general, in one aspect, the invention relates to a method for measuring frame loss on a network connection between a near-device (NED) and a far-end device (FED) during a measurement period. The method comprises: placing, by the NED and on the network connection, a plurality of test frames comprising a plurality of sequence numbers; obtaining, by the NED and from the network connection, a first reflected test frame comprising a first sequence number, a first FED receiving counter value from the FED, and an initial FED received count for the measurement period from the FED; obtaining, by the NED and from the network connection, a second reflected test frame comprising a second sequence number, a second FED receiving counter value from the FED, and the initial FED received count for the measurement period from the FED, wherein the first reflected test frame and the second reflected test frame are placed on the network connection by the FED; and calculating, by the NED, a one-way frame loss value on the network connection during the measurement period based on the second sequence number and the initial FED received count.
In general, in one aspect, the invention relates to a non-transitory computer readable medium (CRM) storing instructions for measuring frame loss on a network connection between a near-device (NED) and a far-end device (FED) during a measurement period. The instructions comprise functionality for: placing, by the NED and on the network connection, a plurality of test frames comprising a plurality of sequence numbers; obtaining, by the NED and from the network connection, a first reflected test frame comprising a first sequence number, a first FED receiving counter value from the FED, and an initial FED received count for the measurement period from the FED; obtaining, by the NED and from the network connection, a second reflected test frame comprising a second sequence number, a second FED receiving count value from the FED, and the initial FED received count for the measurement period from the FED, wherein the first reflected test frame and the second reflected test frame are placed on the network connection by the FED; and calculating, by the NED, a one-way frame loss value for the network connection during the measurement period based on the second sequence number and the initial FED received count value.
In general, in one aspect, the invention relates to a system for measuring frame loss on a network connection between a near-device (NED) and a far-end device (FED) during a measurement period. The system comprises: a frame generator located within the NED and comprising circuitry configured to place, on the network connection, a plurality of test frames comprising a plurality of sequence numbers; and a frame collector located within the NED and comprising circuitry configured to: obtain, from the network connection, a first reflected test frame comprising a first sequence number, a FED receiving counter value from the FED, and an initial FED received count for the measurement period from the FED; obtain, from the network connection, a second reflected test frame comprising a second sequence number, a second FED receiving counter value from the FED, and the initial FED received count for the measurement period from the FED; and calculate a one-way frame loss value for the network connection during the measurement period based on the second sequence number and the initial FED received count.
Other aspects of the invention will be apparent from the following description and the appended claims.
Specific embodiments of the invention will now be described in detail with reference to the accompanying figures. Like elements in the various figures are denoted by like reference numerals for consistency.
In the following detailed description of embodiments of the invention, numerous specific details are set forth in order to provide a more thorough understanding of the invention. However, it will be apparent to one of ordinary skill in the art that the invention may be practiced without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily complicating the description.
In general, embodiments of the invention provide a system, a method, and a non-transitory computer readable medium (CRM) for measuring frame loss on a network connection between a near-device (NED) and a far-end device (FED) during a measurement period. The NED generates test frames including sequence numbers and places the test frames on the network connection for transit to the FED. Later, the NED obtains reflected test frames sent by the FED over the network connection. Each of the reflected test frames may be a test frame that has been populated, by the FED, with at least an initial FED received count for the measurement period. The NED calculates roundtrip frame loss, one-way frame loss from the NED to the FED, one-way frame loss from the FED to the NED, and/or various frame loss ratios based on the content in the reflected test frames and the NED receiving counter values.
In one or more embodiments of the invention, the NED (110) transmits test frames to the FED (130) over the network connection (106). The FED (130) responds by transmitting reflected test frames to the NED (110) over the network connection (106). The NED (110) is able to calculate roundtrip frame loss, one-way frame loss from the NED (110) to the FED (130), one-way frame loss from the FED(130) to the NED (110), and/or various loss ratios based on at least the content in the reflected test frames.
In one or more embodiments of the invention, the NED (110) has various components including a NED transmission counter (112), a NED receiving counter (114), an initial FED received count (116), a frame generator (118), and a frame collector (120). Each of these components (112, 114, 116, 118, 120) may be implemented in software, hardware (i.e., circuitry), firmware, or any combination thereof. Further, although the NED transmission counter (112), the NED receiving counter (114), and the initial FED received count (116) are shown as being external to the frame generator (118) and the frame collector (120), in other embodiments, each of the NED transmission counter (112), the NED receiving counter (114), and the initial received count (116) may be internal to the frame generator (118) or the frame collector (120).
In one or more embodiments of the invention, the NED device (110) includes the NED transmission counter (112). The NED transmission counter (112) counts the number of test frames that have been placed by the NED device (110) on the network connection (106) for transmission to the FED (130). The NED transmission counter (112) may be incremented (e.g., by one) each time a test frame is placed on the network connection (106).
In one or more embodiments of the invention, NED (110) includes the NED receiving counter (114). The NED receiving counter (114) counts the number of reflected test frames that have been obtained, by the NED (110), from the network connection (106). The NED receiving counter (114) may be incremented (e.g., by one) each time a reflected test frame is obtained, by the NED (110), from the network connection (106).
In one or more embodiments of the invention, the NED (110) stores the initial FED received count (116). The initial FED received count (116) may be extracted from any of the reflected test frames obtained, by the NED (110), from the network connection (106) during the measurement period. The initial FED received count (116) is discussed below.
In one or more embodiments of the invention, the NED (110) includes the frame generator (118). The frame generator is configured to generate test frames for placement on the network connection (106). Each test frame includes a sequence number for the measurement period and the current NED transmission counter value.
In one or more embodiments of the invention, the FED (130) has various components including a FED receiving counter (132) and a reflected frame generator (138). Each of these components (132, 138) may be implemented in software, hardware (i.e., circuitry), firmware, or any combination thereof. Further, although the FED receiving counter (132) is shown as being external to the reflected frame generator (118), in other embodiments, the FED receiving counter (132) is internal to the reflected frame generator (138).
In one or more embodiments of the invention, the FED (130) includes the FED receiving counter (132). The FED receiving counter (132) counts the number of test frames that have been received by the FED (130). The FED receiving counter (132) may be incremented (e.g., by one) each time a test frame is obtained, by the FED (130), on the network connection (106).
In one or more embodiments of the invention, the FED (130) includes the reflected frame generator (138). The reflected frame generator (138) is configured to generate reflected test frames for placement on the network connection (106). Each reflected test frame includes the current FED receiving counter value and an initial FED received count. The initial FED received count is the FED receiving counter value after the first test frame for the measurement period is received by FED (130). The initial FED received count is the same for all reflected test frames during the measurement period. In one or more embodiments, the reflected frame generator (138) generates the reflected test frame by populating the received test frame with the current FED receiving counter value and the initial FED received count.
Those skilled in the art, having the benefit of this detailed description, will appreciate that since the FED (130) generates a reflected test frame for each test frame that is received, the FED receiving counter value also equals the number of reflected test frames sent by the FED (130).
Referring back to the NED (110), in one or more embodiments, the NED (110) includes the frame collector (120). The frame collector (120) is configured to obtain reflected test frames from the network connection (106). Further, the frame collector (120) is configured to terminate the transmission of test frames once a minimum number (i.e., at least two) of reflected test frames have been obtain by the NED (110). Further, the frame collector is configured to extract content from the reflected test frames and read NED receiving counter values. Further still, the frame collector (120) is configured to calculate one or more frame loss values based on the content extracted from the reflected test frames, the initial FED received count (116), and/or the NED receiving counter values (114). Example frame loss values include roundtrip frame loss, one-way frame loss from the NED (110) to the FED (130), one-way frame loss from the FED (130) to the NED (110), and/or various ratios based on these frame loss values for the measurement period.
Although
In one or more embodiments of the invention, the test frame (150) and the reflected test frame (160) correspond to the SLM PDU and the SLR PDU of the Y.1731 ETH-SLM protocol with extensions (i.e., additional fields) for the FED receiving counter value (166) and the initial FED received count (168).
Initially, the sequence number is set to 1 (STEP 205). The sequence number may be maintained/tracked using a counter. In STEP 210, the current NED transmission counter value is obtained. The current NED transmission counter corresponds to the number of test frames that are placed on the network connection for transmission to the FED.
In STEP 215, a test frame is generated. The test frame includes the current sequence number and the current NED transmission counter value (i.e., the value read from the NED transmission counter). If this is the first test frame for the measurement period, the sequence number is 1.
In STEP 220, the test frame is placed on the network connection for transmission to the FED. As discussed above, the network connection may be an Ethernet connection having wired and/or wireless segments.
In STEP 230, the sequence number is incremented (e.g., by one) in response to placing the test frame on the network connection. As discussed above, the sequence number may be maintained/tracked using a counter and thus increasing the sequence number corresponds to incrementing the counter. Similarly, in STEP 235, the NED transmission counter is incremented (e.g., by one) in response to placing the test frame on the network connection.
In STEP 240, it is determined whether additional test frames are to be generated and placed on the network connection during the measurement period. Specifically, it is determined whether an instruction has been received to terminate the generation of test frames. When it is determined that additional test frames need to be generated, the process returns to STEP 210. When it is determined that no additional test frames need to be generated for the measurement period, the process may end.
Those skilled in the art, having the benefit of this detailed description, will appreciate that following the successful execution of the process shown in
Initially, a test frame is obtained, by the FED, from the network connection (e.g., Ethernet connection) (STEP 305). As discussed above, the test frame is generated by the NED. Moreover, the test frame includes a sequence number and a NED transmission counter value. In STEP 310, the sequence number is extracted from the received test frame.
In STEP 315, the FED receiving counter is incremented to reflect the FED receiving the test frame.
In STEP 320 it is determined whether the sequence number extracted from the test frame is less than the sequence number extracted from the previously received test frame. For example, the FED may store the sequence number of the previously received test frame. If the extracted sequence number (STEP 310) is less than the stored sequence number (i.e., the stored sequence number exceeds the extracted sequence number), this denotes the start of the measurement period to the FED. When it is determined that the extracted sequence number is smaller than the sequence number in the previously obtained test frame, the process proceeds to STEP 325. When it is determined that the extracted sequence number exceeds, or equals, the sequence number in the previously obtained test frame, the process proceeds to STEP 330.
In STEP 325, the initial FED received count is set to the current FED receiving counter value. The initial FED received count will remain constant for the rest of the measurement period.
In STEP 330, a reflected test frame is generated. Specifically, the reflected test frame may be generated by populating the received test frame with the current FED receiving counter value and the initial FED received count (these are may be blank/empty fields in the test frame). Accordingly, the reflected test frame also has a sequence number and a NED transmission counter value. In STEP 335, the reflected test frame is placed, by the FED, on the network connection for transit to the NED.
In STEP 340, it is determined if additional test frames have been received by the FED. When it is determined that additional test frames have been received, the process returns to STEP 310. When it is determined that no additional test frames have been received, the process may end.
Those skilled in the art, having the benefit of this detailed description, will appreciate that following the successful execution of the process shown in FIG. 3, multiple reflected test frames are placed, by the FED, on the network connection for transit to the NED. Each of the reflected test frame has a different (i.e., unique) FED transmission counter value. Further, each of the reflected test frames has the same initial FED received count.
Those skilled in the art, having the benefit of this detailed description, will appreciate that the number of reflected test frames might not equal the number of test frames placed, by the NED, on the network connection for transmission to the FED. Specifically, one or more of the test frames may be lost (i.e., dropped) by the network connection before the test frame(s) reaches the FED.
Initially, a reflected test frame is obtained, by the NED, from the network connection (STEP 405). Further, a sequence number is extracted from the reflected test frame. In STEP 410, the NED receiving counter is incremented in response to the reflected test frame being obtained.
In STEP 415, it is determined whether the extracted sequence number is smaller than the sequence number in the previously received reflected test frame. If the extracted sequence number (STEP 405) is less than the stored sequence number (i.e., the stored sequence number exceeds the extracted sequence number), this denotes the start of the measurement period to the frame collector of the NED. When it is determined that the extracted sequence number is smaller than the sequence number in the previously obtained reflected test frame, the process proceeds to STEP 420. When it is determined that the extracted sequence number exceeds, or equals, the sequence number in the previously obtained reflected test frame, the process proceeds to STEP 425.
In STEP 420, a starting NED received count is set to the current NED receiving counter value. Then the process may return to STEP 405. The starting NED received count may be used in one or more frame loss value calculations (discussed below).
In STEP 425, it is determined whether the number of received reflected test frames equals or exceeds the threshold necessary to terminate the measurement period. As discussed above, the measurement period terminates when a minimum number (i.e., at least two) of reflected test frames are obtained, by the NED, from the network connection. When it is determined that the threshold is satisfied, the process proceeds to STEP 430. In one or more embodiments, an instruction may be sent to the frame generator to stop generating test frames. When it is determined that the threshold is not satisfied, the process returns to STEP 405.
In STEP 430, the ending NED received count is set to the current NED receiving counter value. The ending NED received count may be used in one or more frame loss value calculations (discussed below).
Those skilled in the art, having the benefit of this detailed description, will appreciate that the number of reflected test frames placed, by the FED, on the network connection might not match the number of reflected test frames obtained, by the NED, from the network connection. Specifically, the discrepancy is the result of one or more reflected test frames being lost (i.e., dropped) by the network connection.
In STEP 435, one or more frame loss values are calculated based on: (i) the sequence number and the FED receiving counter value in the last reflected test frame obtained by the NED; (ii) the starting NED received count; and/or (iii) the ending NED received count. In the following formulas, FL is an abbreviation for frame loss, and FLR is an abbreviation for flame loss ratio.
TxNearEnd=sequence number in the last reflected test frame obtained by the NED
RxNearEnd=|ending NED received count−starting NED received count|+1
TxFarEnd=|FED receiving counter value in last reflected test frame obtained by the NED−initial FED received count|+1
RxFarEnd=TxFarEnd
FLRoundTrip=|TxNearEnd−RxNearEnd|
FLFarEnd=|TxNearEnd−RxFarEnd|
FLNearEnd=|FLRoundTrip−FLFarEnd|
FLRRoundTrip=1−(RxNearEnd)/(TxNearEnd)
FLRFarEnd=(FLFarEnd)/(TxNearEnd)
FLRNearEnd=(FLNearEnd)/(TxFarEnd)
Any of the calculated values may be output to a user or used to trigger countermeasures in the case of a network connection with high frame loss.
In
Still referring to
In
Still referring to
In
Still referring to
In
Still referring to
One or more embodiments of the invention may have one or more of the following advantages: the ability to calculate roundtrip frame loss by the NED; the ability to calculate one-way frame loss from the NED to the FED by the NED; the ability to calculate one-way from loss from the FED to the NED by the NED; the ability to operate without synchronizing local counters in the NED with local counters in the FED; the ability to use sequence numbers to calculate frame loss values; the ability to use an initial FED received count to calculate frame loss values; the ability to correctly calculate frame loss values when the first test frame or the first reflected test frame is dropped; etc.
Embodiments of the invention may be implemented on virtually any type of computing system, regardless of the platform being used. For example, the computing system may be one or more mobile devices (e.g., laptop computer, smart phone, personal digital assistant, tablet computer, or other mobile device), desktop computers, servers, blades in a server chassis, or any other type of computing device or devices that includes at least the minimum processing power, memory, and input and output device(s) to perform one or more embodiments of the invention. For example, as shown in
Software instructions in the form of computer readable program code to perform embodiments of the invention may be stored, in whole or in part, temporarily or permanently, on a non-transitory computer readable medium such as a CD, DVD, storage device, a diskette, a tape, flash memory, physical memory, or any other computer readable storage medium. Specifically, the software instructions may correspond to computer readable program code that when executed by a processor(s), is configured to perform embodiments of the invention.
Further, one or more elements of the aforementioned computing system (600) may be located at a remote location and connected to the other elements over a network (612). Further, one or more embodiments of the invention may be implemented on a distributed system having a plurality of nodes, where each portion of the invention may be located on a different node within the distributed system. In one embodiment of the invention, the node corresponds to a distinct computing device. Alternatively, the node may correspond to a computer processor with associated physical memory. The node may alternatively correspond to a computer processor or micro-core of a computer processor with shared memory and/or resources.
While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this disclosure, will appreciate that other embodiments can be devised which do not depart from the scope of the invention as disclosed herein. Accordingly, the scope of the invention should be limited only by the attached claims.
Number | Name | Date | Kind |
---|---|---|---|
20080080390 | Ebuchi | Apr 2008 | A1 |
20100008250 | Nomura et al. | Jan 2010 | A1 |
20140029442 | Wallman | Jan 2014 | A1 |
20140307561 | Wan et al. | Oct 2014 | A1 |
Number | Date | Country |
---|---|---|
2712120 | Mar 2014 | EP |
Entry |
---|
Extended European Search Report in corresponding European Application No. 16193994.7-1862 dated Feb. 16, 2017 (7 pages). |
“Measuring Frame Loss—SLM/SLR”; https://wiki.mef.net/pages/viewpage.action?pageId=25952551; Nov. 26, 2013; Retrieved on Oct. 16, 2015 (2 pages). |
Number | Date | Country | |
---|---|---|---|
20170111251 A1 | Apr 2017 | US |