Network tomography using closely-spaced unicast packets
Summary by NHIP
Unicast packet network tomography
The method sends unicast packet groups separated by a minimum time while packets within groups are spaced by a maximum time substantially less than that minimum. Receivers report successful packet receipt to allow determination of internal network link performance characteristics like loss rates.
Claim Score by NHIP
Abstract
This work discloses a unicast, end-to-end network performance measurement process which is capable of determining internal network losses, delays, and probability mass functions for these characteristics. The process is based on using groups of closely-spaced communications packets to determine the information necessary for inferring the performance characteristics of communications links internal to the network. Computationally efficient estimation algorithms are provided.

Term
Term ended
Expired 4 November 2021, 4.9 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
17 claims: 3 independent, 14 dependent
- 1A method that includes:sending a set of unicast communications packets from a source through the network, wherein the set of unicast communications packets includes multiple groups of communications packets, wherein the group are separated by at least a predetermined minimum time, wherein the communications packets within the groups are separated by no more than a predetermined maximum time, and wherein the predetermined maximum time is substantially less than the predetermined minimum time;receiving from each of multiple receivers receipt information indicating those communications packets which have been successfully received by that receiver;and determining a performance characteristic for each of multiple communications links in the network from the receipt information.
- 12Broadest claimClaim Score 69, broad(NHIP)A method of determining network performance, wherein the method includes:sending multiple sets of closely-spaced communications packets from a source through the network to multiple receivers, wherein the packets travel through a set of communications links characterizable as a tree having intermediate nodes between the source and the multiple receivers;receiving from each of the multiple receivers receipt information indicating those communications packets which have been successfully received by that receiver;determining a performance characteristic for each of the communications from the receipt information;and wherein the multiple sets are transmitted in a manner that avoids correlation of performance conditions.
- 14A source computer configured to execute network performance determination software, wherein the software comprises:a topology component configured to determine a tree structure of network communications paths from the source computer to multiple receivers;a probe component configured to create a first log to track a set of unicast communications packets transmitted from the source computer to the multiple receivers;a gathering component configured to create a second log to track end-to-end measurement information received from the multiple receivers regarding those communications packets which have been successfully received by the multiple receivers;and an estimation component configured to process the first and second logs to determine a performance characteristic for each communications link identified in the tree structure.
Independent claims3
149 paragraphs in 6 sections, as filed
CROSS-REFERENCE TO RELATED APPLICATIONS
00002The present application relates to Provisional U.S. Patent Application No. 60/232,775, filed Sep. 15, 2000, and entitled “Unicast Network Tomography Process” by R. Nowak and M. Coates. This provisional is hereby incorporated by reference in its entirety.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
00003Not applicable.
BACKGROUND OF THE INVENTION
000041. Field of the Invention
00005This invention generally relates to systems and methods for characterizing the performance of computer networks. More specifically, this invention relates to a process that provides loss and delay analysis of internal network links using only measurements “at the edge” of the network.
000062. Description of the Related Art
00007Network performance information can be extremely useful, but for most applications it is important that the information be localized. Knowing how portions or individual components of the network are performing is more valuable than generating a global measure of performance. In particular, the ability to identify the performance of localized portions of the network would be useful for a number of increasingly important networking tasks, including Quality of Service (QOS) verification, maintenance, and content delivery optimization.
heading-00008Quality of Service Verification
00009It is now common for Internet service providers to offer a variety of service levels to customers. Service level agreements specify performance criteria that the network provider guarantees to satisfy. Such criteria can include the amount of bandwidth made available to the customer and bounds on the maximum delay (which is important for Internet telephony and streaming applications). However, when a customer communicates via the Internet often a significant portion of the network connection is not under the direct control and responsibility of the service provider. If the customer experiences poor performance, it is difficult to determine whether it is due to the service provider's portion of the connection or the Internet at large. The only way to separate these effects and verify service is to assemble network performance information that is localized to the service provider's network. Unfortunately, directly measuring local network performance is very expensive for service providers. Furthermore, no existing techniques allow customers or third-parties to independently collect such information. It would be desirable to provide a method for an independent party to verify the service level without the cooperation of the provider and to provide a cost-effective means by which the service provider can track the performance of their system.
heading-00010Maintenance and Provisioning
00011Maintenance of a network is a major portion of the effort involved in owning and operating a network. When the performance of a network is poor, it can be very difficult to isolate the cause of the problem. Sometimes a router is performing sub-optimally; on other occasions, too much network traffic is directed along one path while other paths remain idle. Furthermore, as networks grow in complexity it is often the case that network owners may not be aware of all components in their system, and consequently methods for mapping the topology of a network are critical. It would be desirable to have a way to determine the topology and connectivity of the network, to localize poor performance to individual network components, to rapidly identified faulty components, to optimize routing decisions, and to perhaps even indicate where additional network resources are required. The overall benefit is that maintenance overhead would be significantly reduced.
heading-00012Content Delivery
00013Delivery of high-bandwidth content such as video poses a challenging resource-allocation problem. The source of the content must attempt to optimize the quality of content received by all users while minimizing the total network bandwidth that the content distribution consumes. Optimal bandwidth allocation accounts for the local loss-rates and delays in the network connecting the source and users. It would be desirable to have a system that can estimate local network performance and that can inform the content source of the loss rates and delays experienced at individual routers in the network.
heading-00014Security
00015Detection of network intrusion or misuse is extremely challenging. Most techniques are in their infancy, but it appears clear that many intrusions can be detected by the abnormal traffic patterns they generate. For example, rapid increases in the correlation of delay behavior in local network neighborhoods can be indicative of denial-of-service attacks. By conducting on-line monitoring of delay and loss behavior, rapid determination of the source of the attack becomes a much more feasible task. A system that can localize pathological network performance to individual components or subnetworks could aid in the early warning and detection of attacks and intrusions.
00016A system and method that determines network topology and localized performance measurements would preferably be based on “edge” measurements. Edge measurements are measurements made at the source and receivers, i.e. at the “edge” of the communications network. Conducting direct measurements at internal network points to acquire localized information is an expensive and in many cases an impractical task. Because internal routers operate at such high speeds and carry so much traffic, internal measurement demands special-purpose hardware devices dedicated to the collection of the traffic statistics. As the size of the analyzed network increases, the number of measurement devices grows exponentially. The installation and maintenance of these devices are extremely time-consuming and costly exercises. Moreover, organizing the transmission of the statistics that these devices record to a central processor is complicated, and the transmission of statistics consumes additional network resources.
00017Whilst measurement throughout a network is infeasible, measurement at the edge of the network is a much more tractable and low-cost task. There are far fewer sites at which measurement must be made, and perhaps more importantly, the measurement can often be performed in software. Techniques that rely only on edge-based measurement would allow independent performance monitoring to be performed, because measurement at the edge of the network does not require cooperation from the owner of the network.
00018In large-scale networks, end-systems cannot rely on the network itself to cooperate in characterizing its own behavior. This has prompted several groups to investigate methods for inferring internal network behavior based on end-to-end network measurements: the so-called network tomography problem. See R. Caceres, N. Duffield, J. Horowitz, and D. Towsley, “Multicast-based inference of network-internal loss characteristics,” IEEE Trans. Info. Theory, vol. 45, November 1999, pp. 2462-80; C. Tebaldi and M. West, “Bayesian inference on network traffic using link count data,” J. Amer. Stat. Assoc., June 1998, pp. 557-76; S. Vander Wiel, J. Cao, D. Davis, and B. Yu, “Time-varying network tomography: router link data,” in Proc, Symposium on the Interface: Computing Science and Statistics, (Schaumburg, Ill.), June 1999; Y. Vardi, “Network tomography: estimating source-destination traffic intensities from link data,” J. Amer. Stat. Assoc., 1996, pp. 365-77; “Multicast-based inference of network-internal characteristics (MINC),” gaia.cs.umass.edu/minc; S. Ratnasamy and S. McCanne, “Inference of multicast routing trees and bottleneck bandwidths using end-to-end measurements,” in Proceedings of INFOCOM '99, (New York, N.Y.), March. While promising, these methods require special support from the network in terms of either cooperation between hosts, internal network measurements, or multicast capability. Many networks do not currently support multicast due to its scalability limitations (routers need to maintain per group state), and lack of access control. Moreover, multicast-based methods may not provide an accurate characterization of the loss rates for the traffic of interest, because routers treat multicast packets differently than unicast packets.
00019Accordingly, it would be desirable to provide a network tomography method that does not require special support from the networks and which provides a more accurate characterization of normal network behavior. Such a method would preferably be straightforward to implement and would be scalable.
SUMMARY OF THE INVENTION
00020We have developed an innovative and cost-effective process called Network Tomography Using Groups of Closely Time-Spaced Packets that produces accurate mappings of network structure and performance. It may provide estimates of losses and/or delays at internal routers as indicators of localized network performance. A key advantage of the process is that it can provide probability distributions for the measured performance parameters. This allows for a more complete characterization of the network behavior by indicating the accuracy and reliability of the measurements.
00021Broadly speaking, our methods have the potential to infer subnetwork and link-level (individual connections between routers in a large network) packet loss rates, delays, and utilization, as well as network topology. This will provide the complete characterization of network behavior that is necessary for maintenance and service provisioning, as well as Quality-of-Service verification. Another key advantage of our approach is that we do not require cooperation from any of the routers in the network; all inferences are based only on measurement cooperation between senders and receivers.
00022Our approach may advantageously employ end-to-end measurement of single unicast packets and groups of closely-spaced unicast packets. The measurements can be performed actively or passively. In contrast to multicast techniques, unicast network tomography is straightforward to implement on most networks and is scalable. Unicast methods will also provide more accurate estimates of network behavior, since the traffic in most networks is predominantly unicast in nature. The process may include the application of maximum likelihood estimation, probability factorization, missing data techniques, and message passing algorithms to the problem. These individual techniques are combined and applied in a novel way to enable very efficient and scalable estimation algorithms. In fact, the complexity of our loss-estimation algorithms grows linearly with the number of nodes in the network under study.
00023In the preferred embodiment, the process includes (i) sending a set of unicast communications packets from a source through the network to multiple receivers; (ii) receiving from each of the multiple receivers receipt information indicating those communications packets which have been successfully received by that receiver, and possibly indicating receive times of the packets; and (iii) determining a performance characteristic for each of multiple communications links in the network solely from the receipt information. The set of unicast communications packets preferably includes closely-spaced packet pairs, along with isolated packets. The time separation between isolated packets and pairs is preferably sufficiently large enough to provide approximate statistical independence, while the spacing of the packets in the pair is preferably small enough to provide very high correlation between the packet measurements. In the determination step, the process includes identifying the network topology, introducing variables for missing data (unobserved parameters) at internal network nodes, constructing a state-space data structure (a factor graph), and applying a message passing algorithm to maximize the likelihood function for the desired performance characteristic.
BRIEF DESCRIPTION OF THE DRAWINGS
00024A better understanding of the present invention can be obtained when the following detailed description of the preferred embodiment is considered in conjunction with the following drawings, in which:
00025<figref idref="DRAWINGS">FIG. 1</figref> shows a computer network having multiple routers and internal communications links;
00026<figref idref="DRAWINGS">FIG. 2</figref> shows a tree diagram representing the communications path structure of the computer network in <figref idref="DRAWINGS">FIG. 1</figref>;
00027<figref idref="DRAWINGS">FIG. 3</figref> shows a tree diagram of a more complex computer network;
00028<figref idref="DRAWINGS">FIG. 4</figref> shows the architecture of a preferred software embodiment;
00029<figref idref="DRAWINGS">FIG. 5</figref> shows simulation results for the network of <figref idref="DRAWINGS">FIG. 3</figref>;
00030<figref idref="DRAWINGS">FIG. 6</figref> illustrates a grouping technique for isolating links of particular interest;
00031<figref idref="DRAWINGS">FIG. 7</figref> shows a first factor graph loss estimation in the network of <figref idref="DRAWINGS">FIG. 2</figref>;
00032<figref idref="DRAWINGS">FIG. 8</figref> shows a second factor graph for loss estimation in the network of <figref idref="DRAWINGS">FIG. 2</figref>; and
00033<figref idref="DRAWINGS">FIG. 9</figref> shows a pmf factor graph for delay estimation in the network of FIG. <b>2</b>.
00034While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present invention as defined by the appended claims.
Terminology
00035Unicast refers to the standard mode of communication in which each information packet is sent from a source to a specific receiver (in contrast to multicast or broadcast where each packet is sent simultaneously to many receivers). Typically, unicast measurements can be made by ISPs (Internet Service Providers) or individual users, and they require no special-purpose network support. Furthermore, they allow passive measurement methods to take advantage of the wealth of information available in existing network traffic (packet probes are not required).
00036End-to-end measurements refers to traffic measurements collected at host computers or routers at the periphery of the network. No measurements are made at internal routers or nodes in the network.
00037Back-to-back packet pairs refer to two closely time-spaced packets sent by the source to the same receiver or to different receivers. The two packets are sent one after the other by the source, possibly destined for different receivers, but sharing a common set of links in their paths.
00038Passive measurement refers to the use of existing network traffic to make the measurements, i.e. the network traffic is not perturbed by the insertion of extra packets for measurement or acknowledgement.
00039Active measurement refers to the transmission of special purpose packets over the network and using these packets to make the network performance measurements.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
00040In this paper, we introduce a new methodology for network tomography based on unicast measurement. In contrast to multicast techniques, unicast inference is straightforward to implement on most networks and is scalable. The measurements can be performed actively or passively.
00041Our approach employs unicast, end-to-end measurement of single packet and back-to-back packet pair losses and/or delays. It uses the collected traffic statistics from edge-based measurements to calculate localized performance information. Our approach reconstructs internal performance and connectivity characteristics by exploiting the correlation between measurements made at different receivers. The algorithm is fast, reliable and cost-effective. It scales to large networks and the accuracy of the results is quantifiable.
heading-00042Network Tree Structure
00043Turning now to the figures, <figref idref="DRAWINGS">FIG. 1</figref> shows a computer network <b>102</b> that couples a source computer <b>104</b> to multiple receiver computers <b>106</b>-<b>112</b>. The network <b>102</b> is made up of one or more routers <b>114</b>-<b>130</b> connected by communications links. The routers accept incoming communications packets from each of the communications links, examine their target addresses, determine the next link in the path to the target address, and retransmit the packets as outgoing communications packets on the appropriate link. The exact routing mechanisms employed by the routers are beyond the scope of the present disclosure. It is sufficient to note that each of the routers typically includes buffers for incoming and outgoing traffic on each of the links. Under heavy traffic conditions, buffers may become full and may even overflow, causing delays and losses of communications packets passing through the routers. Other phenomena may also cause delays and packet losses, but generally the behavior of the buffers predominately determines variations in network performance.
00044Because it is generally recognized that packet loss occurs, various communications protocols (for example, the Transmission Control Protocol (TCP)) include an acknowledgement mechanism. Generally, a receiver acknowledges the receipt of one or more packets by transmitting a reply packet.
00045The set of communications paths between the source computer an the receiver computers at any given time will possess a tree structure. The structure of the tree may vary as routing tables change, but these changes occur relatively infrequently. <figref idref="DRAWINGS">FIG. 2</figref> shows the tree equivalent of the network shown in FIG. <b>1</b>. The root of the tree is source computer <b>104</b>, and the leaves are the destination computers <b>106</b>-<b>112</b>. The nodes of the tree are routers where communications paths branch. In <figref idref="DRAWINGS">FIG. 1</figref>, branches occur at routers <b>114</b>, <b>118</b>, and <b>126</b>. The links in the tree represent unbranching portions of the communications paths. Accordingly, they represent one or more communications links in the network of <figref idref="DRAWINGS">FIG. 1</figref>, along with any intervening routers. In the preferred embodiment, the tree structure is re-determined periodically to account for any changes in the routing tables of the network routers.
00046The tree structure in <figref idref="DRAWINGS">FIG. 2</figref> is a binary tree. This is coincidental. <figref idref="DRAWINGS">FIG. 3</figref> shows a more characteristic tree. Each node may have any number of children, and communications path between the source and a receiver may each have any number of links greater than one. The tree of <figref idref="DRAWINGS">FIG. 3</figref> will be used for illustrative examples hereafter. The links are individually numbered for easy identification.
00047<figref idref="DRAWINGS">FIG. 3</figref> depicts an example topology with one source, eight receivers, and thirteen links. Also shown are five internal routers. The problem formulation used herein assumes that network traffic measurements may only be made at the edge. That is, we can determine whether or not a packet sent from the source is successfully received by one of the receivers, and the time when it is received. The formulation also assumes that routing table is fixed for the duration of the measurement process.
heading-00048Software Architecture
00049Before describing the problem formulation in detail, we describe the high-level structure of software that implements the Network Tomography process. <figref idref="DRAWINGS">FIG. 4</figref> shows two software packages: a sender software package <b>402</b>, and a receiver software package <b>404</b>. The receiver software package <b>404</b> may be a built-in portion of the network communications protocol, or it may be a small resident program executing on each receiver computer. The receiver software merely ensures acknowledgement of received probe packets. Depending on the desired information, the acknowledgement may simply indicate the successful reception, or it may include a time stamp or other indication of packet travel time. In any event, the receiver package <b>404</b> is expected to add little or no overhead to the normal operations of the receiver computers.
00050Sender software package <b>402</b> may include four components that execute periodically. The first component operates to identify the tree topology of the network. The second component generates (for active measurement) or identifies (for passive measurements) packets directed to the receivers. The third component collects the information provided by the acknowledgements from the receiver computers, and the fourth component determines the desired localized network performance measurements from the collected information.
00051Although the routing tables in the Internet are periodically updated, these changes occur at intervals of several minutes. The measurements made by the software typically occurs on a much shorter timescale, so the topology may be considered static for the duration of the measurements. The topology identification component determines the topology before and after the measurement period to verify that the topology has not changed. In the preferred embodiment, the topology identification is performed using a modified version of “traceroute”, a program freely available at ftp.ee.lbl.gov/traceroute.tar.Z. The topology identification component runs this program once for each receiver to determine the path traversed by packets traveling from the source to the receiver. The path information is then combined to identify the branching nodes and the connections therebetween.
00052In a contemplated embodiment, the topology identification component includes a monitoring module that monitors the branching nodes that have been identified. If the routing tables are updated at a branching node, the topology is quickly redetermined and the measurement methodology updated accordingly.
00053The probe generation component, if operating in active measurement mode, preferably requests and establishes TCP connections with each of the receivers to ensure that the receivers are ready to receive packets. Then the component sends UDP probes to each of the receivers. This component may rely on user-specified parameters that indicate a list of receivers, the UDP and TCP ports to use, the total number of probes to send, and the minimum gap between successive probes. Probes are spaced so that successive measurements are approximately independent. The necessary minimum time spacing will be system-dependent, but is expected to be in the range between 100 microseconds and 100 milliseconds. The UDP packet(s) that constitute a probe include fields that contain the packet identification numbers, the time at which the packet was sent, and the index number assigned to the destination(s).
00054In the passive measurement mode, the source already has numerous contemporaneous connections with a number of receivers. The probe generation component selects as many informative measurements as possible from the existing traffic. Preferably, this component first identifies the important packet-pair measurements (which are less common than the isolated packet measurements). It first inspects the sending times of the traffic at the source and decides that two packets form a packet-pair if their time-spacing is less than a threshold δ<sub>t </sub>seconds. This threshold is dependent on the sending rate of the source. Commencing at the start of the measurement period, the component scans forward in time, seeking and identifying the first packet-pair. It then steps forward by a fixed time interval Δ<sub>t</sub>>>δ<sub>t </sub>and begins searching for the next pair. In this way, the pairs included in the analysis are all separated by a reasonable time interval, making the assumption of statistical independence between pairs more realistic. Following the collection of these pairs, the probe generation component identifies any isolated packets that do not violate the time separation requirement. In general, the number of such packets is significantly larger than the number of pairs.
00055This packet identification scheme is very fast. However, some pairs may be more informative than others, i.e. those pairs having packets going to different receivers (“cross-pairs”) are rarer than those with packets going to the same receiver. Accordingly, a variation of the identification technique begins by identifying all cross-pairs and including the maximal set that does not violate the Δ<sub>t </sub>separation requirement. After the set of cross-pairs has been finalized, the “auto-pairs” (pairs with both packets destined for the same receiver) are identified and included, excepting those that violate the Δ<sub>t </sub>time-separation criterion with the pairs already included. Finally, single (isolated) packets are included, again maintaining the Δ<sub>t </sub>time-separation. This variation typically provides more informative statistics from a given set of traffic data, and may reduce the measurement time duration required for accurate loss inferences.
00056A more aggressive approach to obtain more informative data could involve alternative session servicing strategies at the source. For example, instead of a basic round-robin service strategy, the source could employ a scheme that would enhance the chances of cross-pairs occurrences, without necessarily deviating from current network protocols.
00057The receiver software <b>404</b> may be a light-weight network client that is executed on all receivers during (active) measurement periods. The receiver listens for TCP connections from the source, and once a connection is established, it begins to accept UDP packets from the sender. As each UDP probe is received, it is timestamped with the local system time and then transmitted via a TCP socket back to the source. TCP is used for the acknowledgement of probes in order to guarantee that no losses occur on the reverse path. In this manner, the software isolates forward path loss statistics. The receiver program has been implemented in Java, and ported it to C for Solaris, Linux, and Windows (via winsock). These various implementations allow the receiver software to easily run on many of the different types of hosts that are connected to the Internet.
00058The source software <b>402</b> maintains two separate logs of the experiment: one for the probe transmission statistics, and one for the reception statistics from the receivers. During measurement, the data collection component listens on the TCP connections, generating a file containing information on all the packets that were echoed by the receivers. The performance measurement component compares the two logs and determines the performance statistics therefrom.
heading-00059Formulation for Loss Measurement
00060We begin by stipulating link performance measurement(s). Although a variety of performance measurements may be determined using the techniques disclosed herein, we select packet loss rates and packet queuing delays as most indicative of network link performance. Other possible measures include utilization percentages and bandwidth availability.
00061Throughout this document, when dealing with network packet loss rates we will use “success” probabilities (i.e. probability of non-loss) instead of loss probabilities. This provides a more convenient mathematical parameterization of the problem, and the probability of loss is simply one minus the probability of success.
00062The basic idea for the inference of internal packet loss rates or delay characteristics is quite straightforward. Suppose two closely time-spaced (back-to-back) packets are transmitted from a sender to two different receivers. The paths to these receivers share a common set of links from the source but later diverge. Because closely time-spaced packets on a link are likely to encounter the same conditions, the probability that one packet successfully traverses the link given that the other packet has successfully traversed the link is near unity. This observation has bee verified experimentally in real networks (See V. Paxson, “End-to-end Internet packet dynamics”, IEEE/ACM Trans. Networking, vol. 7, June 1999, pp. 277-92.) and can also be established theoretically under an M/M/1/K queue model. In our experiments, we are able to obtain accurate loss estimates even in cases where the conditional success probabilities are significantly less than one (e.g., conditional success probabilities of 0.9, which are much lower than a typical measurements on the Internet).
00063If one of the packets is dropped and the other successfully received, then (assuming shared fates on shared links) one can infer that the packet must have been dropped on one of the unshared links. Similarly, the two packets should experience the same delay on shared links in their paths. This enables the resolution of average delays on individual links. In fact, the topology of a network can also be identified from packet pair measurements by studying the covariance between losses and/or delays to different receivers.
00064Given a collection of packet pair measurements, we can compute maximum likelihood estimates (MLEs) of localized network performance parameters. The MLEs are simply defined as the parameter values that make the observed packet pair measurements most likely, in a statistical sense. We have developed a numerical optimization technique based on the Expectation-Maximization Algorithm, Bayesian Analysis, and Graphical Statistical Models to compute the desired MLEs very efficiently. The computational cost of the algorithm grows linearly in proportion to the number of links in the network (rather than growing exponentially, for example). The linear complexity of the algorithm is beneficial because it guarantees that the entire Network Tomography process is scalable to very large networks.
heading-00065Loss Model
00066Beginning with individual packet transmissions, we assume a simple Bernoulli loss model for each link in the network. That is, each of the individual packet transmission events on link i are independent of each other with a success probability of α<sub>i</sub>. The probability of a lost packet on link i is 1−α<sub>i</sub>. The loss processes of the separate links are assumed to be independent, so that the probability of success on one link does not affect the probability of success on any other links.
00067Suppose that the source sends n<sub>i </sub>packets to receiver i, and that of these, only m<sub>i </sub>packets are received. The likelihood of this result is <maths id="MATH-US-00001" num="00001"><math overflow="scroll"><mrow><mrow><mi>l</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><msub><mi>m</mi><mi>i</mi></msub><mo>❘</mo><msub><mi>n</mi><mi>i</mi></msub></mrow><mo>,</mo><msub><mi>p</mi><mi>i</mi></msub></mrow><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mrow><mo>(</mo><mtable><mtr><mtd><msub><mi>n</mi><mi>i</mi></msub></mtd></mtr><mtr><mtd><msub><mi>m</mi><mi>i</mi></msub></mtd></mtr></mtable><mo>)</mo></mrow><mo></mo><msup><mrow><msubsup><mi>p</mi><mi>i</mi><msub><mi>m</mi><mi>i</mi></msub></msubsup><mo></mo><mrow><mo>(</mo><mrow><mn>1</mn><mo>-</mo><msub><mi>p</mi><mi>i</mi></msub></mrow><mo>)</mo></mrow></mrow><mrow><msub><mi>n</mi><mi>i</mi></msub><mo>-</mo><msub><mi>m</mi><mi>i</mi></msub></mrow></msup></mrow></mrow></math></maths><img file="US6839754B2_D0001.tif" /><br /> where p<sub>i</sub>=Π<sub>jεP(i)</sub>α<sub>j</sub>, with P(i) being the set of links in the path from the source to receiver i. As an example, if the leftmost receiver in <figref idref="DRAWINGS">FIG. 3</figref> is receiver <b>1</b>, then P(<b>1</b>)={1, 2, 5, 10}, and p<sub>i</sub>=α<sub>1</sub>α<sub>2</sub>α<sub>5</sub>α<sub>10</sub>.
00069Moving now to closely-spaced packets, we assume a Markovian model of packet loss. that is, the probability of successful transmission of either individual packet on link i is α<sub>i</sub>=Pr{success}, and the probability of successful transmission of the second packet on link i, given that the first packet successfully traversed link i is <br />β<sub>i</sub><i>=Pr{</i>2nd success|1st success}.<br /> The 1st and 2nd in the above definition refer to the temporal order of the packets. As an alternative, we can also work with the conditional success probability of the first packet given that the second packet successfully traversed link i: <br />γ<sub>i</sub><i>=Pr{</i>1st success|2nd success}<br /> This latter approach may be preferable in most cases, as it can be shown that γ<sub>i </sub>begins at one and converges to α<sub>i </sub>as the interval between the transmission time of first and second packets increases. Although the collected statistics differ, the resulting formulas are basically the same in either approach. Hereafter, we will use the latter approach.
00074Suppose that the source sends a large number of back-to-back packet pairs in which the first packet is destined for receiver i and the second for receiver j. We assume that the timing between pairs of packets is considerably larger than the timing between two packets in each pair. Let n<sub>ij </sub>denote the number of pairs for which the second packet is successfully received at nodej, and let m<sub>ij </sub>denote the number of pairs for which both the first and second packets are received at their destinations. Furthermore, let S(i,j)=P(i)∩P(j) be the set of links common to both paths to receiver i and receiver j, and let R(i,j)=P(i)−S(i,j) be the set of unshared links in the path of the first packet. For example, if the leftmost two receivers in <figref idref="DRAWINGS">FIG. 3</figref> are denoted <b>1</b> and <b>2</b>, then S(<b>1</b>,<b>2</b>)={1, 2, 5}, and R(<b>1</b>,<b>2</b>)={10}. Using this notation, the likelihood of m<sub>ij </sub>given n<sub>ij </sub>is <maths id="MATH-US-00002" num="00002"><math overflow="scroll"><mrow><mrow><mrow><mi>l</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><msub><mi>m</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>❘</mo><msub><mi>n</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></mrow><mo>,</mo><msub><mi>p</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mrow><mo>(</mo><mtable><mtr><mtd><msub><mi>n</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>m</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></mtd></mtr></mtable><mo>)</mo></mrow><mo></mo><msup><mrow><msubsup><mi>p</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><msub><mi>m</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></msubsup><mo></mo><mrow><mo>(</mo><mrow><mn>1</mn><mo>-</mo><msub><mi>p</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow><mrow><msub><mi>n</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msub><mi>m</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></mrow></msup></mrow></mrow><mo>,</mo></mrow></math></maths><img file="US6839754B2_D0002.tif" /><br /> where <br />p<sub>i,j</sub>=Π<sub>qεS(i,j)</sub>γ<sub>q</sub>Π<sub>rεR(i,j)</sub>α<sub>r</sub>.
00077To use the likelihood formulas given above, we preferably make an assortment of single packet and back-to-back packet measurements distributed across all of the receivers. (Although single-packet statistics may also be determined from the back-to-back packet measurements, e.g. by ignoring one of the packets in each packet pair, more information can be gathered in a shorter amount of time by also considering single packets.) Accordingly, let us represent the set of collected measurements using <br />M≡{m<sub>i</sub>}∪{m<sub>i,j</sub>}<br /> and <br />N≡{n<sub>l</sub>}∪{n<sub>i,j</sub>},<br /> where the index i runs over all the receivers, and the indices i,j run over all pairwise combinations of the receivers. Similarly, let us represent the set of link success probabilities using A≡{α<sub>q</sub>} and Γ≡{γ<sub>q</sub>}. Then the joint likelihood of the set of collected measurements is <br /><i>l</i>(<i>M|N,A</i>Γ)=Π<sub>i</sub><i>l</i>(<i>m</i><sub>l</sub><i>|n</i><sub>1</sub><i>,p</i><sub>i</sub>)Π<sub>i,j</sub><i>l</i>(<i>m</i><sub>i,j</sub><i>|n</i><sub>i,j</sub><i>,p</i><sub>i,j</sub>).
00083Since M and N are known from measurements, the joint likelihood is a function of the unknown link success probabilities A and Γ. Determining the link success probabilities that maximize the joint likelihood function is known as maximum likelihood estimation. This is denoted <maths id="MATH-US-00003" num="00003"><math overflow="scroll"><mrow><mrow><mo>(</mo><mrow><mover><mi>A</mi><mo>^</mo></mover><mo>,</mo><mover><mi>Γ</mi><mo>^</mo></mover></mrow><mo>)</mo></mrow><mo>=</mo><mrow><munder><mrow><mi>arg</mi><mo></mo><mi>max</mi></mrow><mrow><mi>A</mi><mo>,</mo><mi>Γ</mi></mrow></munder><mo></mo><mrow><mrow><mi>l</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><mi>M</mi><mo>❘</mo><mi>N</mi></mrow><mo>,</mo><mi>A</mi><mo>,</mo><mi>Γ</mi></mrow><mo>)</mo></mrow></mrow><mo>.</mo></mrow></mrow></mrow></math></maths><img file="US6839754B2_D0003.tif" />
00084If the desire is primarily to determine the unconditional success probabilities A, then integration can be used to eliminate the “nuisance” parameters: <maths id="MATH-US-00004" num="00004"><math overflow="scroll"><mrow><mover><mi>A</mi><mo>^</mo></mover><mo>=</mo><mrow><munder><mrow><mi>arg</mi><mo></mo><mi>max</mi></mrow><mi>A</mi></munder><mo></mo><mrow><mo>∫</mo><mrow><mrow><mi>l</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><mi>M</mi><mo>❘</mo><mi>N</mi></mrow><mo>,</mo><mi>A</mi><mo>,</mo><mi>Γ</mi></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mo>ⅆ</mo><mi>Γ</mi></mrow></mrow></mrow></mrow></mrow></math></maths><img file="US6839754B2_D0004.tif" /><br /> This approach, called Maximum Integrated Likelihood Estimation, may offer increased estimation accuracy for the desired parameters. This technique can be extended to determine a marginal likelihood for each parameter. The marginal likelihood for a given link success probability α<sub>l </sub>is <br /><i>l</i>(<i>M|N, α</i><sub>i</sub>)=∫<i>l</i>(<i>M|N,A</i>Γ)<i>dΓdα</i><sub>{overscore (l)}</sub>,<br /> where the term dα<sub>ī</sub> indicates that the integration is taken over all success probabilities Λ except α<sub>i</sub>. A similar marginal likelihood expression can be written for each conditional link success probability γ<sub>l</sub>. The marginal likelihood functions have only one variable, and they may be maximized with respect to that variable to obtain an estimate of the corresponding network parameter. <br /> Algorithm Development for Loss Estimation
00089Due to the coupled, multidimensional nature of these expressions, directly calculating the estimates can be a computationally intensive task. One technique that significantly reduces the required computational effort introduces “unobserved” variables. Properly chosen, these unobserved variables can de-couple the effects of the other variables, thereby simplifying the individual calculations.
00090To introduce the notion of unobserved data, let us consider the likelihood <maths id="MATH-US-00005" num="00005"><math overflow="scroll"><mrow><mrow><mrow><mi>l</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><msub><mi>m</mi><mi>i</mi></msub><mo>❘</mo><msub><mi>n</mi><mi>i</mi></msub></mrow><mo>,</mo><msub><mi>p</mi><mi>i</mi></msub></mrow><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mrow><mo>(</mo><mtable><mtr><mtd><msub><mi>n</mi><mi>i</mi></msub></mtd></mtr><mtr><mtd><msub><mi>m</mi><mi>i</mi></msub></mtd></mtr></mtable><mo>)</mo></mrow><mo></mo><msup><mrow><msubsup><mi>p</mi><mi>i</mi><msub><mi>m</mi><mi>i</mi></msub></msubsup><mo></mo><mrow><mo>(</mo><mrow><mn>1</mn><mo>-</mo><msub><mi>p</mi><mi>i</mi></msub></mrow><mo>)</mo></mrow></mrow><mrow><msub><mi>n</mi><mi>i</mi></msub><mo>-</mo><msub><mi>m</mi><mi>i</mi></msub></mrow></msup></mrow></mrow><mo>,</mo></mrow></math></maths><img file="US6839754B2_D0005.tif" /><br /> where, as before, p<sub>l</sub>=Π<sub>jεP(i)</sub>α<sub>j</sub>. Assuming that the path consists of more than one link, note how the effects of the individual link success probabilities on this measurement are combined through the product p<sub>i </sub>over the entire path. However, suppose it were possible to measure the numbers of packets making it to each node. Let us denote these unobserved measurements by u<sub>j,i</sub>,jεP(i),j≠i. With these measurements in hand, we can write the data likelihood function as <maths id="MATH-US-00006" num="00006"><math overflow="scroll"><mrow><mrow><mrow><mi>l</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><msub><mi>u</mi><mrow><mi>j</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>❘</mo><msub><mi>u</mi><mrow><mrow><mi>ρ</mi><mo></mo><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow><mo>,</mo><mi>i</mi></mrow></msub></mrow><mo>,</mo><msub><mi>α</mi><mi>j</mi></msub></mrow><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mrow><mo>(</mo><mtable><mtr><mtd><msub><mi>u</mi><mrow><mrow><mi>ρ</mi><mo></mo><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow><mo>,</mo><mi>i</mi></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>u</mi><mrow><mi>j</mi><mo>,</mo><mi>i</mi></mrow></msub></mtd></mtr></mtable><mo>)</mo></mrow><mo></mo><msup><mrow><msubsup><mi>α</mi><mi>j</mi><msub><mi>u</mi><mrow><mi>j</mi><mo>,</mo><mi>i</mi></mrow></msub></msubsup><mo></mo><mrow><mo>(</mo><mrow><mn>1</mn><mo>-</mo><msub><mi>α</mi><mi>j</mi></msub></mrow><mo>)</mo></mrow></mrow><msub><mi>u</mi><mrow><mrow><mi>ρ</mi><mo></mo><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow><mo>,</mo><mrow><msup><mi>i</mi><mrow><mo>-</mo><mi>u</mi></mrow></msup><mo></mo><mi>j</mi></mrow><mo>,</mo><mi>i</mi></mrow></msub></msup></mrow></mrow><mo>,</mo></mrow></math></maths><img file="US6839754B2_D0006.tif" /><br /> where ρ(j) denotes the link preceding j in P(i). For the first link in P(i), u<sub>ρ(j),i</sub>=n<sub>i</sub>, and for the last link, in P(i), u<sub>j,t</sub>=m<sub>i</sub>. The back-to-back likelihood function can be similarly rewritten, and this allows us to express the joint likelihood function as a product of univariate functions. When written in terms of observed and unobserved variables, these functions are herein referred to as the “complete data” likelihood. <br /> Factor Graph Inference
00094Various optimization strategies may be used to maximize the complete data likelihood function. One strategy is to use factor graphs and marginal analysis. This strategy is based on graphical representations of statistical models. Such representations include Bayesian networks and, more generally, factor graphs. Both the parameters of interest and the collected data appear as nodes in the factor graph. Each node associated with a parameter is characterized by a (potentially unknown) probability distribution (this is the marginal likelihood function described above). Links between nodes indicate probabilistic dependencies. By introducing unobserved variables as additional nodes, it is possible to decouple the effects of different success probabilities in the graphical model.
00095Probability propagation can be used to perform exact inference, provided the graph structure is acyclic. However, this may require high-dimensional summations, leading to a heavy computational burden. In general, exact inference algorithms may scale poorly as the network size increases. Approximate inference strategies may perform somewhat better.
00096We propose an efficient iterative procedure to estimate the marginal likelihoods of the network loss parameters. The procedure makes use of the (theoretically) most informative measurements first. The procedure first forms estimates of the marginal distributions of the β parameters. <figref idref="DRAWINGS">FIG. 7</figref> shows a partial factor graph for the network of FIG. <b>2</b>. The source packet count is n<sub>0</sub>, and the packet counts received by receivers <b>1</b> and <b>2</b> are m<sub>4 </sub>and m<sub>5</sub>, respectively. The unobserved packet counts at the branching nodes are u<sub>1 </sub>and u<sub>2</sub>. The conditional success probabilities β for the links are also included. This graph is used to estimate marginal likelihood distributions for β<sub>4 </sub>and β<sub>5</sub>, the links to the leaf nodes of the left subtree. In performing this estimation, only β parameter measurements are used. At any stage in the procedure, summation is performed over a maximum of two dimensions.
00097<figref idref="DRAWINGS">FIG. 8</figref> shows the factor graph used to infer the β parameters at the next level in the tree (β<sub>2 </sub>and β<sub>3</sub>). In this stage we only use the measurements that involve no α parameters (i.e. the auto-pairs) and traverse the two most reliable paths that pass through node the branching node. These paths can be readily determined from inspection of the measurements. In this stage, the estimated leaf β marginals are used as prior distributions in the message-passing algorithm. Again, two-dimensional summation is the worst case at any node.
00098The procedure for estimation of the α parameters follows the same pattern. The leaf parameter marginals are estimated first (using appropriate estimated β marginals) and then these estimated marginals are used to perform inference of α parameters further up the tree. Further details on the use of factor graphs may be found in B. Frey, <i>Graphical Models for Machine Learning and Digital Communication</i>, MIT Press, Cambridge, 1998, which is hereby incorporated by reference.
heading-00099Expectation Maximization Inference
00100Another strategy that may be used to maximize the complete data likelihood function is the expectation-maximization (EM) approach. This approach alternates performs two steps: the expectation step estimates the unobserved data using the current values of the probability parameters, and the maximization step calculates updated values of the probability parameters that maximize the complete data likelihood function. The approach begins by making initial guesses for A and Γ (e.g. setting them all to unity). The two steps are then iteratively repeated until A and Γ converge.
00101In the expectation step, the conditional expected values of the unobserved data from the observed data and current estimates of the success probabilities. Closed-form formulas do not exist for these conditional expected values, but they can be computed algorithmically. Using an efficient algorithm such as an upward-downward probability propagation (or “message passing”) algorithm, such as that disclosed in B. Frey, <i>Graphical Models for Machine Learning and Digital Communication</i>, MIT Press, Cambridge, 1998, the expectation step can be computed in O(N) to O(N<sup>2</sup>) operations (depending on network topology), where N is the total number of nodes in the network.
00102In the maximization step, both the observed and unobserved data are used to calculate the values of A and Γ that maximize the complete likelihood function. Since the complete data likelihood function factorizes into a product of univariate functions, each parameter can be maximized independently using a closed-form analytic expression. Consequently, computation of this step can be done in O(N) operations.
00103It can be shown that the original (observed data only) likelihood function is monotonically increased at each iteration of the algorithm, and the algorithm converges to a local maximum of the likelihood function. If convergence is defined to occur when none of the unconditional success rates α<sub>k </sub>changes by more than 0.001, then convergence typically occurs in a small number of iterations (i.e. 15-50 iterations).
heading-00104Simulation Results
00105<figref idref="DRAWINGS">FIG. 5</figref> shows illustrative output results from software package <b>402</b>. These results are determined from simulation using the network shown in FIG. <b>3</b>. The factor graph and marginal analysis approach was used to determine a pmf (probability mass function) for the unconditional success probabilities α<sub>i</sub>. Accordingly, each of the graphs in <figref idref="DRAWINGS">FIG. 5</figref> is the pmf corresponding to the indicated link. The vertical axis ranges from zero to one, and the horizontal axis ranges from 0% to 100%. The arrows indicate the true unconditional success probabilities α<sub>i</sub>.
00106The network simulation was performed in the following manner. Each link in the network was allowed to assume one of two state values, 0 (representing congestion) and 1 (representing light traffic). At each time instant t, the state of each link was updated according to a Markov process. The transition probability matrix of the process governing the link state was determined by drawing α<sub>i </sub>from a uniform distribution U[<b>0</b>,<b>1</b>], and then drawing β<sub>i </sub>from U[α<sub>i</sub><b>1</b>]. The matrix was designed so that if traffic were sent across the link, it would experience a steady-state success probability of α<sub>i</sub>, and a conditional success probability β<sub>i</sub>. Packet pair probes were sent to the various receivers in an ordered fashion designed to extract an informative subset of the possible m<sub>i,j </sub>and n<sub>i,j</sub>. The times at which the first packets were sent were determined from a Poisson process, such that the inter-arrival times were well-separated. The second packet was sent one time instant later. 1600 packet pairs were sent through the network, with the destinations designed so that there was a uniform distribution across the network of divergence nodes.
00107The pmfs shown in <figref idref="DRAWINGS">FIG. 5</figref> demonstrate the confidence that can be placed in each estimate. This confidence is clearly dependent on the amount of data that can be collected. Estimation of the success probabilities for links <b>5</b>, <b>10</b> and <b>11</b>, is based on packet pairs that travel from across links <b>10</b> and <b>11</b>, both of which are very lossy paths.
heading-00108Grouping
00109In situations where the size of the network limits the ability of the sender software <b>402</b> to gather enough information for accurate estimation, a grouping technique may be used to reduce the number of divergence nodes. This is particularly useful if just the performance of the topmost links is of interest. <figref idref="DRAWINGS">FIG. 6</figref> shows a reduction of the number of divergence nodes and links achieved by grouping various receivers together and treating them as a single receiver.
heading-00110Process Formulation for Delay Measurement
00111In addition to packet loss statistics, the packet pair concept can be used to infer communication delays on each of the network links. Suppose two closely time-spaced (back-to-back) packets are sent from the source to two different receivers. The paths to these receivers traverse a common set of links, but at some point the two paths diverge (as the tree branches). The two packets should experience approximately the same delay on each shared link in their path. This facilitates the resolution of the delays on each link.
00112In the following, we distinguish between a “measurement” period and an “inference” period. The measurement period is the time period over which all measurements are collected. The inference period is some time window within the measurement period; the window duration is dictated by the degree of network stationarity and only the measurements collected in this window are used to perform inference. In order to achieve estimates over the entire measurement period, multiple inferences are performed using different, potentially overlapping inference windows.
00113The source software <b>402</b> collects measurements of the end-to-end delays from source to receivers, and indexes the packet pair measurements by k=1, . . . ,N. For the k-th packet pair measurement, let y<sub>1</sub>(k) and y<sub>2</sub>(k) denote the two end-to-end delays measured. The ordering is arbitrary; the delay indices are randomly selected with no dependence the order in which the packets were sent from the source. This aids in dealing with discrepancies between the delays experienced by the two packets on shared links, because the random ordering will cause the averaged discrepancy to be zero.
00114In characterizing network delays, packet pairs in which either of the packets is lost are preferably discarded. However, it is possible to extend this approach to include losses by allocating an “infinite delay” category for lost packets.
00115Since we are interested in inferring queuing delay, the first step is to identify the minimum delay (propagation+transmission) on each measurement path. This is estimated as the smallest delay measurement acquired on the path during the measurement period.
00116Our goal is a nonparametric estimate of the delay distributions on each link. Clearly it is impossible to completely determine an infinite dimensional density function from a finite number of delay measurements, but we require that as the number of delay measurements increases so does the accuracy of our estimation procedure. Thus, we adopt the following procedure. The end-to-end delay measurements are binned, but the number of bins is chosen to be equal to or greater than the number of delay measurements. In practice we choose the number of bins to be the smallest power of two greater than or equal to the number of measurements (facilitating certain processing steps to be described later). We upper bound the maximum delay on any one link by the maximum end-to-end delay along the path(s) that include that link. Let d<sub>max </sub>denote this upper bound for a particular link and let K be the smallest power of 2 that is greater than or equal to the number of measurement packets N. The bin width for the link is then set at d<sub>max</sub>/K.
00117This procedure is conservative, in that the estimated d<sub>max </sub>may be substantially larger than the true maximum queuing delay. It may be preferable to use previous link-delay estimates or bandwidth estimates from a separate procedure to gauge the maximum delay on any link.
00118At this stage, each end-to-end measurement has been ascribed a discrete number between 0 and L (K−1), where L is the maximum path length in the network.
00119There are several assumptions in the framework that are worthy of discussion. Firstly, we assume spatial independence of delay. Delay on neighboring links is generally correlated to a greater or lesser extent depending on the amount of shared traffic. In simulation experiments, correlation of delays has been observed. In the presence of weak correlation, our framework is able to derive good estimates of the delay distributions. As the correlation grows stronger, we see a gradual increase of bias in the estimates. We also assume temporal independence (successive probes across the same link experience independent delays). Temporal dependence was observed in our experiments. The maximum likelihood estimator we employ remains consistent in the presence of temporal dependence, but the convergence rate slows. It does not have a dramatic effect on the performance of the estimator.
00120We do not necessarily require that clocks at the source and receivers be synchronized, but we do require that the disparity between clocks remain very nearly constant over the measurement period. In this way we can be sure that subtracting the estimated minimum delay does not induce bias in our estimates. A further difficulty lies in clock resolution. Clocks must be able to resolve delay sufficiently accurately that the potential error does not overwhelm the true delay value. Deployment of Global Positioning System (GPS) devices allows these clock difficulties to be avoided, as it provides synchronized measurements to within tenths of microseconds. Alternatively, delay measurements can be made using software clocks that have algorithms for enhanced accuracy. Hereafter, we assume that synchronized measurements are available.
heading-00121Delay Model
00122Let p<sub>t</sub>={p<sub>i,0</sub>, . . . ,p<sub>i,K−1</sub>} denote the probabilities of a delay of 0, . . . ,K−1 time units, respectively, on link i. We denote the packet pair measurements y={y<sub>1</sub>(k),y<sub>2</sub>(k)|k=1, . . . ,N}.
00123In general, only a relatively small amount of data can be collected over the period when delay distributions can be assumed approximately stationary. A natural estimate would be the maximum likelihood estimates (MLEs) of p={p<sub>i</sub>}, the collection of all delay pmfs. However, when using a number of bins that is equal to or larger than the number of measurements, the problem is ill-posed and the MLE tends to overfit to the probe data, producing highly variable estimates that do not accurately reflect the delay distribution of the traffic at large. High variance manifests itself in irregular, noisy-looking estimates. One way to reduce this irregularity is to maximize a penalized likelihood. We replace the maximum (log) likelihood objective function L(p)=log l(y|p) with an objective function of the form: <br />L(p)−pen(p)<br /> where pen(p) is a non-negative real-valued functional that penalizes the “roughness” (complexity) of p. A small value of pen(p) indicates that p is a smooth (simple) estimate; a large value indicates that p is rough (complicated). The maximization of this penalized log-likelihood involves a trade-off between fidelity to the data (large L(p)) and smoothness or simplicity (small pen(p)). We will describe a specific choice of penalty function further below. Before moving to that, however, we will quickly formulate the basic likelihood function and motivate the adoption of an EM algorithm for optimization.
00126Under the assumption of spatial independence, the likelihood of each delay measurement {y<sub>1</sub>(k),y<sub>2</sub>(k)} is parameterized by a convolution of the pmfs in the path from the source to receiver. With our modeling constraint that packets in a pair experience the same delay on shared links, the likelihood of the two measurements made by the k-th packet pair is: <maths id="MATH-US-00007" num="00007"><math overflow="scroll"><mrow><mrow><mi>l</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><msub><mi>y</mi><mn>1</mn></msub><mo></mo><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mo>,</mo><mrow><mrow><msub><mi>y</mi><mn>2</mn></msub><mo></mo><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mo>❘</mo><mi>p</mi></mrow></mrow><mo>)</mo></mrow></mrow><mo>=</mo><mrow><munder><mo>∑</mo><mi>j</mi></munder><mo></mo><mrow><mrow><msub><mi>ρ</mi><mrow><mi>c</mi><mo>,</mo><mi>k</mi></mrow></msub><mo></mo><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow><mo></mo><mrow><msub><mi>ρ</mi><mrow><mn>1</mn><mo>,</mo><mi>k</mi></mrow></msub><mo></mo><mrow><mo>(</mo><mrow><mrow><msub><mi>y</mi><mn>1</mn></msub><mo></mo><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mo>-</mo><mi>j</mi></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mrow><msub><mi>ρ</mi><mrow><mn>2</mn><mo>,</mo><mi>k</mi></mrow></msub><mo></mo><mrow><mo>(</mo><mrow><mrow><msub><mi>y</mi><mn>2</mn></msub><mo></mo><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mo>-</mo><mi>j</mi></mrow><mo>)</mo></mrow></mrow><mo>.</mo></mrow></mrow></mrow></mrow></math></maths><img file="US6839754B2_D0007.tif" /><br /> In this convolution-type sum, the range of the summation is determined by the ranges of the pmfs ρ<sub>c,k</sub>, ρ<sub>1,k</sub>, and ρ<sub>2,k</sub>. The pmf ρ<sub>c,k </sub>is the convolution of the pmfs of the links on the common path shared by the two packets, e.g. ρ<sub>c,k</sub>=p<sub>1</sub>*p<sub>2 </sub>for a receiver <b>1</b>-<b>2</b> packet pair in <figref idref="DRAWINGS">FIG. 2</figref> (with * denoting convolution). The ρ<sub>1,k </sub>is the convolution of the pmfs on the links traversed only by the packet that measures y<sub>1</sub>(k), and similarly ρ<sub>2,k </sub>for y<sub>2</sub>(k). The joint likelihood l(y|p) of all measurements is equal to a product of the individual likelihoods: <maths id="MATH-US-00008" num="00008"><math overflow="scroll"><mrow><mrow><mi>l</mi><mo></mo><mrow><mo>(</mo><mrow><mi>y</mi><mo>❘</mo><mi>p</mi></mrow><mo>)</mo></mrow></mrow><mo>=</mo><mrow><munderover><mo>∏</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><mi>l</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><msub><mi>y</mi><mn>1</mn></msub><mo></mo><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mo>,</mo><mrow><mrow><msub><mi>y</mi><mn>1</mn></msub><mo></mo><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mo>❘</mo><mi>p</mi></mrow></mrow><mo>)</mo></mrow></mrow></mrow></mrow></math></maths><img file="US6839754B2_D0008.tif" /><br /> Algorithm Development for Delay Estimation
00129The presence of convolved link pmfs in the likelihood of each measurement results in an objective function that cannot be maximized analytically. The maximization of the likelihood function requires numerical optimization, and an EM algorithm is an attractive strategy for this purpose. Before giving the details of the algorithm, we briefly review the MMPLE nonparametric density estimation procedure employed in our framework.
00130Here we briefly outline the MMPLE density estimation procedure developed in E. Kolaczyk and R. Nowak, “A multiresolution analysis for likelihoods: Theory and methods,” submitted to <i>Annals of Statistics, </i>2000. To introduce the idea, we consider a case where the link delays have been directly measured (we will handle the tomographic case using the EM algorithm outlined in the next section). Let z<sub>l</sub>(k), k=1, . . . ,N<sub>i</sub>, denote a set of delay measurements for a particular link i. We assume that these measurements are independent and identically distributed according to a continuous delay density p(t), where without loss of generality we assume that tε[<b>0</b>,<b>1</b>] (for convenience of exposition we take the maximum delay to be unity). Define a discrete pmf via <maths id="MATH-US-00009" num="00009"><math overflow="scroll"><mrow><mrow><msub><mi>p</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><mrow><msubsup><mo>∫</mo><mrow><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>/</mo><mi>K</mi></mrow><mrow><mrow><mo>(</mo><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>/</mo><mi>K</mi></mrow></msubsup><mo></mo><mrow><mrow><mi>p</mi><mo></mo><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><mo>ⅆ</mo><mi>t</mi></mrow></mrow></mrow></mrow><mo>,</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mo>,</mo><mi>…</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo>,</mo><mrow><mi>K</mi><mo>-</mo><mn>1</mn></mrow><mo>,</mo></mrow></math></maths><img file="US6839754B2_D0009.tif" /><br /> where K is the smallest power of two greater than or equal to N<sub>i</sub>. It follows that the number of measurements falling in the interval <maths id="MATH-US-00010" num="00010"><math overflow="scroll"><mrow><mrow><mo>[</mo><mrow><mfrac><mi>j</mi><mi>K</mi></mfrac><mo>,</mo><mfrac><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mi>K</mi></mfrac></mrow><mo>]</mo></mrow><mo>,</mo></mrow></math></maths><img file="US6839754B2_D0010.tif" /><br /> denoted m<sub>i,j</sub>, is multinomially distributed, i.e., {m<sub>i,j</sub>}˜Multinomial(N<sub>i</sub>;{p<sub>i,j</sub>}). The MMPLE estimator maximizes the following criterion with respect to {p<sub>i,j</sub>}: <br />log Multinomial(N<sub>i</sub>;{p<sub>ij</sub>})−pen({p<sub>ij</sub>}),<br /> where <maths id="MATH-US-00011" num="00011"><math overflow="scroll"><mrow><mrow><mrow><mi>pen</mi><mo></mo><mrow><mo>(</mo><mrow><mo>{</mo><msub><mi>p</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>}</mo></mrow><mo>)</mo></mrow></mrow><mo>≡</mo><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac><mo></mo><mrow><mi>log</mi><mo></mo><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></mrow><mo>×</mo><msub><mi>#</mi><mi>i</mi></msub></mrow></mrow><mo>,</mo></mrow></math></maths><img file="US6839754B2_D0011.tif" /><br /> where #<sub>l </sub>is the number of non-zero coefficients in the discrete Haar wavelet transform of the pmf {p<sub>ij</sub>}. This number reflects the irregularity and complexity of the pmf - - - the larger the value of #<sub>i</sub>, the more “bumps” in the pmf. There are two important features of the MMPLE: (1) the global maximizer can be computed in O(K) operations; (2) the MMPLE is nearly minimax optimal in the rate of convergence over a broad class of function spaces. The optimization is carried out by performing a set of K independent generalized likelihood ratio tests. We use a translation-invariant version of the MMPLE, in which multiple MMPLEs are computed with K different shifted versions of the Haar wavelet basis and the resulting estimates are averaged. This produces a slight improvement over the basic MMPLE and can be efficiently computed in O(K log K) operations.
00136The MMPLE methodology can be employed in the tomographic delay estimation case by simply adopting the penalized likelihood criterion: <maths id="MATH-US-00012" num="00012"><math overflow="scroll"><mrow><mrow><mi>log</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><mi>l</mi><mo></mo><mrow><mo>(</mo><mrow><mi>y</mi><mo>,</mo><mi>p</mi></mrow><mo>)</mo></mrow></mrow></mrow><mo>-</mo><mrow><munder><mo>∑</mo><mi>i</mi></munder><mo></mo><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac><mo></mo><mrow><mi>log</mi><mo></mo><mrow><mo>(</mo><msub><mi>N</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mo>×</mo><msub><mi>#</mi><mi>i</mi></msub></mrow></mrow></mrow></math></maths><img file="US6839754B2_D0012.tif" /><br /> where N<sub>i </sub>denotes the number probe packets passing through link i and #<sub>l </sub>denotes the number of non-zero Haar wavelet coefficients in the delay pmf of link i. The difficulty is that this penalized likelihood function cannot be maximized by a simple set of likelihood ratio tests due to the nonlinear relationship between link delay pmfs and end-to-end measurements y. The EM algorithm is an iterative procedure designed to maximize the penalized likelihood criterion and that takes advantage of the O(K) computational simplicity of the MMPLE technique.
00138The first step in developing an EM algorithm is to propose a suitable complete data quantity that simplifies the likelihood function. Let z<sub>i</sub>(k) denote the delay on link i for the packets in the k-th pair. Let z<sub>i</sub>={z<sub>i</sub>(k)} and z={z<sub>i</sub>}. The link delays z are not observed, and hence z is called the unobserved data. Define the complete data x={y, z }. Note that the complete data likelihood may be factorized as follows: <br /><i>l</i>(<i>x|p</i>)=<i>f</i>(<i>y|z</i>)<i>g</i>(<i>z|p</i>),<br /> where f is the conditional pmf of y given z (which is a point mass function since z determines y), and g is the likelihood of z. The factorization shows that l(x|p) is proportional to g(z |p), since f(y|z) does not depend on the parameters p. Next note that the likelihood <maths id="MATH-US-00013" num="00013"><math overflow="scroll"><mrow><mrow><mi>g</mi><mo></mo><mrow><mo>(</mo><mrow><mi>z</mi><mo>❘</mo><mi>p</mi></mrow><mo>)</mo></mrow></mrow><mo>=</mo><mrow><munder><mo>∏</mo><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></munder><mo></mo><msubsup><mi>p</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><msub><mi>m</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></msubsup></mrow></mrow></math></maths><maths id="MATH-US-00013-2" num="00013.2"><math overflow="scroll"><mrow><mrow><mi>where</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><msub><mi>m</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></mrow><mo>≡</mo><mrow><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mo></mo><msub><mn>1</mn><mrow><msub><mi>z</mi><mi>i</mi></msub><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><mo>(</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow></msub></mrow></mrow></math></maths><br /> is the number of packets (out of all the packet pair measurements) that experienced a delay of j on link i; here <b>1</b><sub>A </sub>denotes the indicator function of the event A. Therefore, we have <maths id="MATH-US-00014" num="00014"><math overflow="scroll"><mrow><mrow><mi>l</mi><mo></mo><mrow><mo>(</mo><mrow><mi>x</mi><mo>❘</mo><mi>p</mi></mrow><mo>)</mo></mrow></mrow><mo>∝</mo><mrow><munder><mo>∏</mo><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></munder><mo></mo><mrow><msubsup><mi>p</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><msub><mi>m</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></msubsup><mo>.</mo></mrow></mrow></mrow></math></maths><img file="US6839754B2_D0013.tif" /><br /> Therefore, if the m<sub>ij </sub>were available, then the MLE of p<sub>ij </sub>would be simply <maths id="MATH-US-00015" num="00015"><math overflow="scroll"><mtable><mtr><mtd><mrow><msub><mover><mi>p</mi><mo>^</mo></mover><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><mrow><mfrac><msub><mi>m</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mrow><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>K</mi><mo>-</mo><mn>1</mn></mrow></munderover><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><msub><mi>m</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi></mrow></msub></mrow></mfrac><mo>.</mo></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><img file="US6839754B2_D0014.tif" /><br /> Similarly, given the m<sub>ij </sub>we could directly apply the MMPLE described above.
00144The EM algorithm is an iterative method that uses the complete data likelihood function to maximize the log-likelihood function. By suitable modification, it can maximize a penalized log-likelihood objective function instead. Specifically, the modified EM algorithm alternates between computing the conditional expectation of the complete data log likelihood given the observations y and maximizing the sum of this expectation and the imposed complexity penalty (−pen(p)) with respect to p. Notice that the complete data log likelihood is linear in m: <maths id="MATH-US-00016" num="00016"><math overflow="scroll"><mrow><mrow><mi>l</mi><mo></mo><mrow><mo>(</mo><mrow><mi>x</mi><mo>❘</mo><mi>p</mi></mrow><mo>)</mo></mrow></mrow><mo>∝</mo><mrow><munder><mo>∏</mo><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></munder><mo></mo><mrow><msub><mi>m</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo></mo><mi>log</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><msub><mi>p</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>.</mo></mrow></mrow></mrow></mrow></math></maths><img file="US6839754B2_D0015.tif" /><br /> Thus, in the E-Step we need only compute the expectation of m={m<sub>ij</sub>}. <br /> E-Step
00147Let p<sup>(r) </sup>denote the value of p after the r-th iteration. Then <maths id="MATH-US-00017" num="00017"><math overflow="scroll"><mtable><mtr><mtd><mtable><mtr><mtd><mrow><msubsup><mover><mi>m</mi><mo>^</mo></mover><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mrow><mo>(</mo><mi>r</mi><mo>)</mo></mrow></msubsup><mo>≡</mo><mi /><mo></mo><mrow><msub><mi>E</mi><msup><mi>p</mi><mrow><mo>(</mo><mi>r</mi><mo>)</mo></mrow></msup></msub><mo></mo><mrow><mo>[</mo><mrow><msub><mi>m</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>❘</mo><mi>y</mi></mrow><mo>]</mo></mrow></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mi /><mo></mo><mrow><msub><mi>E</mi><msup><mi>p</mi><mrow><mo>(</mo><mi>r</mi><mo>)</mo></mrow></msup></msub><mo></mo><mrow><mo>[</mo><mrow><mrow><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><msub><mn>1</mn><mrow><mo>{</mo><mrow><mrow><msub><mi>z</mi><mi>i</mi></msub><mo></mo><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mo>=</mo><mi>j</mi></mrow><mo>}</mo></mrow></msub></mrow><mo>❘</mo><mi>y</mi></mrow><mo>]</mo></mrow></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mi /><mo></mo><mrow><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mo></mo><mrow><msub><mi>E</mi><msup><mi>p</mi><mrow><mo>(</mo><mi>r</mi><mo>)</mo></mrow></msup></msub><mo></mo><mrow><mo>[</mo><mrow><msub><mn>1</mn><mrow><mo>{</mo><mrow><mrow><msub><mi>z</mi><mi>i</mi></msub><mo></mo><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mo>=</mo><mi>j</mi></mrow><mo>}</mo></mrow></msub><mo>❘</mo><mi>y</mi></mrow><mo>]</mo></mrow></mrow></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mi /><mo></mo><mrow><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mo></mo><mrow><msub><mi>E</mi><msup><mi>p</mi><mrow><mo>(</mo><mi>r</mi><mo>)</mo></mrow></msup></msub><mo></mo><mrow><mo>[</mo><mrow><mrow><msub><mn>1</mn><mrow><mo>{</mo><mrow><mrow><msub><mi>z</mi><mi>i</mi></msub><mo></mo><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mo>=</mo><mi>j</mi></mrow><mo>}</mo></mrow></msub><mo>❘</mo><mrow><msub><mi>y</mi><mn>1</mn></msub><mo></mo><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mrow><mo>,</mo><mrow><msub><mi>y</mi><mn>2</mn></msub><mo></mo><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mrow><mo>]</mo></mrow></mrow></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mi /><mo></mo><mrow><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mo></mo><mrow><msup><mi>p</mi><mrow><mo>(</mo><mi>r</mi><mo>)</mo></mrow></msup><mo></mo><mrow><mo>(</mo><mrow><mrow><mrow><msub><mi>z</mi><mi>i</mi></msub><mo></mo><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mi>j</mi><mo>❘</mo><mrow><msub><mi>y</mi><mn>1</mn></msub><mo></mo><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mrow></mrow><mo>,</mo><mrow><msub><mi>y</mi><mn>2</mn></msub><mo></mo><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mrow><mo>)</mo></mrow></mrow></mrow></mrow></mtd></mtr></mtable></mtd><mtd><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><img file="US6839754B2_D0016.tif" /><br /> Thus, the conditional expectation of m can be computed by determining the conditional probabilities above for each packet pair measurement. <br /> M-Step
00150In the penalized case (penalized likelihood criterion), apply the MMPLE algorithm to the conditional expectation {{circumflex over (m)}<sub>i,j</sub><sup>(r)</sup>}. For unpenalized maximum likelihood estimation, simply substitute {circumflex over (m)}<sub>i,j</sub><sup>(r) </sup>in place of m<sub>ij </sub>in equation (1).
heading-00151Fast Fourier Transform Based EM Algorithm
00152The expectation step of the EM algorithm poses the major portion of the computational burden of the optimization task. It can be performed using a message passing (or upward-downward) procedure. Unfortunately, a straightforward implementation of the message passing procedure, has a computational complexity which is O(MK<sup>3</sup>), where M is the number of links in the tree and K is the number of bins. This may be impractical in our nonparametric setting since K is not fixed, but rather increases in proportion to the number of measurements. In this section, we describe a novel, fast Fourier transform based implementation which is O(MK<sup>2 </sup>log K), a tremendous reduction in complexity when K is large.
00153The message passing procedure is based on a factorization of the likelihood function, which can be represented graphically using a factor graph. According to (2), our task for each measurement in the r-th iteration of the EM algorithm is to compute p<sup>(r)</sup>(z<sub>i</sub>=j|y<sub>1</sub>, y<sub>2</sub>) (we have dropped the measurement index k for clarity). In J. Pearl, “Fusion, propagation, and structuring in belief networks,” <i>Artificial Intelligence</i>, vol. 29, pp. 245-57, 1986, an exact probability propagation algorithm is disclosed for inferring the distributions of individual variables in singly-connected graphical models. The basic idea of the algorithm is that each node in the graph propagates its information (a measurement or current pmf estimate in this case) to every other node. Each node then combines all the messages it receives to compute the distribution of its variable.
00154We illustrate the procedure for a packet pair measurement to receivers <b>1</b> and <b>2</b> of the network in FIG. <b>2</b>. For this scenario, the factor graph representation is depicted in FIG. <b>9</b>. The hollow nodes of the graph represent variables (the link delays {z<sub>i</sub>} and the cumulative delays {d<sub>i</sub>} at links <b>0</b>, <b>1</b>, <b>2</b>, <b>4</b> and <b>5</b>. The small nodes represent functions—these either indicate functional relationships between variable nodes or carry prior information. In this case, the nodes labeled p<sub>i</sub><sup>(r) </sup>carry the current pmf estimates and nodes c<sub>ij </sub>represent convolution operators. For example, node c<sub>1,2 </sub>indicates that the accumulated delay pmf at node d<sub>l </sub>is convolved with the link delay pmf z<sub>2 </sub>to obtain the accumulated delay pmf at node d<sub>2</sub>.
00155The message passing algorithm can be divided into two sections. In the “upward” stage, all information available at the leaves of the tree is passed up the tree towards the root. In the “downward” stage, the information at the root is passed down to the leaves. In this case, the leaf information includes the measurements and the current pmf estimates. The root information is simply the knowledge that d<sub>0</sub>=0. We use the notation μ(a→b) to represent the message that is passed from node a to node b in the graph; each message takes the form of a pmf. We now provide a brief outline of the messages generated and how they are combined and distributed.
heading-00156Up-Step
none<ul id="ul200001" list-style="none"><li id="ul200001-p00157" num="00157">1. For i=1,2,4,5, the message μ(p<sub>i</sub><sup>(r)</sup>→z<sub>i</sub>) is simply the current (r-th iteration) link i pmf estimate.</li><li id="ul200001-p00158" num="00158">2. μ(d<sub>4</sub>→c<sub>2,4</sub>) is a pmf with mass <b>1</b> at bin y<sub>1 </sub>(the delay measured at node <b>4</b>).</li><li id="ul200001-p00159" num="00159">3. μ(d<sub>5</sub>→c<sub>2,5</sub>) is a pmf with mass <b>1</b> at bin y<sub>2 </sub>(the delay measured at node <b>5</b>).</li><li id="ul200001-p00160" num="00160">4. μ(z<sub>4</sub>→c<sub>2,4</sub>)=μ(p<sub>4</sub><sup>(r)</sup>→z<sub>4</sub>).</li><li id="ul200001-p00161" num="00161">5. μ(z<sub>5</sub>→c<sub>2,5</sub>)=μ(p<sub>5</sub><sup>(r)</sup>→z<sub>5</sub>).</li><li id="ul200001-p00162" num="00162">6. Node c<sub>2,4 </sub>combines its incoming messages according to its convolution function to pass on a message to node d<sub>2</sub>; the entry in the j-th bin of the message (a pmf) is <br />μ(<i>c</i><sub>2,4</sub><i>→d</i><sub>2</sub>)(<i>j</i>)=<i>p</i><sup>(r)</sup>(<i>z</i><sub>4</sub><i>=y</i><sub>1−j</sub>).</li><li id="ul200001-p00164" num="00164">7. μ(c<sub>2,5</sub>→d<sub>2</sub>)(j)=p<sup>(r)</sup>(z<sub>5</sub>=y<sub>2−j</sub>).</li><li id="ul200001-p00165" num="00165">8. Node d<sub>2 </sub>combines the incoming messages by multiplying them together: <br />μ(<i>d</i><sub>2</sub><i>→c</i><sub>1,2</sub>)(<i>j</i>)=μ(<i>c</i><sub>2,4</sub><i>→d</i><sub>2</sub>)(<i>j</i>)×μ(<i>c</i><sub>2,5</sub><i>→d</i><sub>2</sub>)(<i>j</i>).</li><li id="ul200001-p00167" num="00167">9. According to the convolution function at c<sub>1,2</sub>, the message μ(c<sub>1,2</sub>→d<sub>1</sub>)(j) is: <br />μ(<i>c</i><sub>1,2</sub><i>→d</i><sub>1</sub>)(<i>j</i>)=Σ<sub>k≧j</sub><i>p</i><sup>(r)</sup>(<i>z</i><sub>2</sub><i>=k−j</i>)μ(<i>d</i><sub>2</sub><i>→c</i><sub>1,2</sub>)(<i>k</i>)</li><li id="ul200001-p00169" num="00169">10. μ(d<sub>1</sub>→c<sub>0,1</sub>)(j)=μ(c<sub>1,2</sub>→d<sub>1</sub>)(j). <br /> Down-Step </li><li id="ul200001-p00171" num="00171">1. The message μ(d<sub>0</sub>→c<sub>0,1</sub>) is a pmf with mass only at 0.</li><li id="ul200001-p00172" num="00172">2. The message from c<sub>0,1 </sub>to z<sub>1 </sub>combines the upward and downward messages entering c<sub>0,1 </sub>according to the convolutional rule. μ(c<sub>0,1</sub>→z<sub>1</sub>)(j)=Σ<sub>k≧j</sub>μ(c<sub>0,1</sub>→z<sub>1</sub>)(j)×μ(d<sub>2</sub>→c<sub>0,1</sub>)(j−k).</li><li id="ul200001-p00173" num="00173">3. Continue in a similar fashion down the tree.</li></ul>
00174At each variable node z<sub>i</sub>, the incoming messages are multiplied together to calculate the local distributions for the delay pmf variables. For example, multiplying the two messages flowing into node z<sub>1 </sub>together gives p<sup>(r)</sup>(z<sub>1</sub>=j|y<sub>1</sub>,y<sub>2</sub>)=μ(c<sub>0,1</sub>→z<sub>1</sub>)(j)×μ(p<sub>1</sub><sup>(r)</sup>→z<sub>1</sub>)(j).
00175It is the summations in steps Up-9 and Down-2 that introduce the complexity of O(K<sup>2</sup>). We avoid this O(K<sup>2</sup>) computation by noting that messages involving such summation can be written as a convolutions provided we first time-reverse one of the pmfs involved. By time-reversal, we mean that {tilde over (p)}<sup>(r)</sup>(z<sub>i</sub>=j)=p<sup>(r)</sup>(z<sub>i</sub>=K−1−j) where {tilde over ( )} denotes time-reversal. For example, we can write: <br />μ(<i>c</i><sub>1,2</sub><i>→d</i><sub>1</sub>)(<i>j</i>)=[μ(<i>d</i><sub>2</sub><i>→c</i><sub>1,2</sub>)*<i>{tilde over (p)}</i><sup>(r)</sup>(<i>z</i><sub>2</sub>)](<i>K−</i>1<i>−j</i>). (3)<br /> By taking Fourier transforms, the convolution can be implemented as a product in the Fourier domain, reducing the computational complexity to O(MK log K) per observation.
00178The K<sup>2 </sup>factor in the complexity dominates the other terms. However, further computational savings can be introduced by exploiting the additive nature of the Fourier transform. This has the effect of replacing the K<sup>2 </sup>factor by (K/M<sub>int</sub>)<sup>2</sup>, where M<sub>int </sub>is the number of internal nodes in the network. The computational savings can be a substantial.
heading-00179Measurement of Nonstationary Network Parameters
00180In this section, we propose a sequential Monte Carlo (SMC) procedure capable of tracking nonstationary network behavior and estimating time-varying, internal delay characteristics. (Topology changes are not addressed by this procedure.) This methodology is based on sequential importance sampling that not only addresses the basic (stationary) network tomography problem, but also directly tackles the more challenging and realistic problem of tracking time-varying network delay behavior. A stochastic model of the network dynamics is provided below. The available observations are a highly non-linear function of the system. As a result, the extended Kalman filter is not suitable for the task. The EM algorithm also assumes the network is stationary and does not account for temporal variations.
00181We collect measurements of the end-to-end delays from source to receivers, and we index the packet pair measurements by m=1, . . . ,M. For the m-th packet pair measurement, let y<sub>1</sub>(m) and y<sub>2</sub>(m) denote the two end-to-end delays measured. The delays are quantized such that the quantized delay on each link falls in the range 0,1, . . . ,K time units.
00182To describe our observation model, let us first consider the case of a stationary network in which the delay characteristics are not time-varying. Associated with each individual link/router in the network is a probability mass function (pmf) for the queuing delay. Let p<sub>l</sub>={p<sub>i,0</sub>, . . . ,p<sub>i,K</sub>} denote the probabilities of a delay of 0, . . . ,K time units, respectively, on link i. Given the packet pair measurements y≡{y<sub>1</sub>(m),y<sub>2</sub>(m)}, we are interested in maximum likelihood estimates (MLEs) of p≡{p<sub>i</sub>}, the collection of all delay pmfs. The likelihood of each delay measurement is parameterized by a convolution of the pmfs in the path from the source to receiver. The coupling of the pmfs of each link results in a likelihood function that cannot be maximized analytically. The joint likelihood l(y|p) of all measurements is equal to a product of the individual likelihoods. The maximization of the joint likelihood function requires numerical optimization, and the EM algorithm is an attractive strategy for this purpose.
00183In nonstationary networks, the queuing behavior varies over time, and the notion of a delay distribution is not well defined. Nonetheless, time functions such as the expected delays across each link are very much of interest. To put such notions on firmer ground, we define the time-varying delay distribution of window size R at measurement m as: <maths id="MATH-US-00018" num="00018"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><msub><mi>p</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo></mo><mrow><mo>(</mo><mrow><mi>R</mi><mo>,</mo><mi>m</mi></mrow><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mfrac><mn>1</mn><mi>R</mi></mfrac><mo></mo><mrow><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mrow><mi>m</mi><mo>-</mo><mi>R</mi><mo>+</mo><mn>1</mn></mrow></mrow><mi>m</mi></munderover><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><msub><mn>1</mn><mrow><mrow><mo>{</mo><mrow><mrow><msub><mi>z</mi><mi>i</mi></msub><mo></mo><mrow><mo>(</mo><mi>l</mi><mo>)</mo></mrow></mrow><mo>=</mo><mi>j</mi></mrow><mo>}</mo></mrow><mo>,</mo></mrow></msub></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><img file="US6839754B2_D0017.tif" /><br /> with z<sub>l</sub>(l) being the (unobserved) delay experienced at queue i by measurement packets l and 1<sub>{zi(l)=j}</sub> is the indicator function for the event {z<sub>l</sub>(l)=j}. Let p<sub>i,R</sub>≡{p<sub>ij</sub>(R,m) } denote the time-varying probabilities of a delay on link i. The choice of the window size R is a classic instance of the trade-offs involved in data windowing; smaller windows provide increased time resolution (smaller bias) at the expense of increased estimator variance. In practice, R may be selected on the basis of known or assumed dynamics of the network. <br /> A Dynamical Model for Nonstationary Communication Networks
00186We now consider the problem of modeling time-varying delay distributions as defined in (4). We propose a relatively simple parametric family of dynamical distributions to describe the queuing delay distributions of individual network links. The models are sufficiently general to capture a variety of potential network conditions. The models play the role of prior probability distributions in our SMC framework. In that context, the prior is a mixture (or superposition) of a variety of the elementary models (distinguished by different parameter settings). The basic idea is that, although no single model and parameter setting may accurately describe the complex queuing behavior of actual networks, mixtures of many such models with diverse parameter settings may be sufficient to capture the true behavior. In the SMC algorithm, the mixing of the models is a function of the actual network measurements; this is a key strength of the approach which allows us to use previous measurements to improve the MC sampling in subsequent steps of the dynamical estimation procedure. The SMC algorithm is described in the next section. We now propose the parametric family of dynamical models underlying the prior distribution of the algorithm.
00187The queuing delay experienced by a measurement packet on each link in the network is due to other packets in the queue(s) of the associated router(s). The most elementary model for queuing delay distributions is derived the classical M/M/1/K queue model. This model will serve as a motivation for the building block of our prior (mixture) distribution. In addition to M/M/1/K queuing, we assume a network in which each link is a direct connection between two routers and associate the delay on each link with a dedicated output queue at the router from which it emerges (i.e. each outgoing link has its own dedicated queue). Each of these queues has a buffer size K with Markovian services at rate μ. Coupled with a homogeneous (constant rate λ) Poisson arrival process, this model is the standard M/M/1/K queue model. In extending this to heterogeneous networks (differing service rates and queue sizes), we assume that we make measurements (send packet-pairs) at a rate of C<sub>1 </sub>μK where C<sub>1</sub>>1 is a constant. This ensures that there is sufficient time for the queues to relax between measurements, resulting in approximately statistically independent measurements.
00188Now, in the nonstationary setting, the most simple approach is to adopt a model in which packet arrivals at a given queue are governed by a time-varying (inhomogeneous) Poisson arrival process. We will also assume that the bandwidth B of this process is limited such that <maths id="MATH-US-00019" num="00019"><math overflow="scroll"><mtable><mtr><mtd><mrow><mi>B</mi><mo><</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mo></mo><msub><mi>C</mi><mn>1</mn></msub><mo></mo><mi>μ</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mi>K</mi></mrow></mfrac></mrow></mtd><mtd><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><img file="US6839754B2_D0018.tif" /><br /> This implies a quasi-stationarity; the dynamics of the system are evolving at a rate slow enough that we can discretize at the measurement rate (specifically where the measurements are made) and study the discretized system. Moreover, each measurement essentially encounters a classical M/M/1/K queue. We complete our model by imposing a random walk structure on the log-intensity of the traffic arrivals: <br />log λ<sub>l</sub>(<i>m</i>+1)=log λ<sub>l</sub>(<i>m</i>)+ε(<i>m</i>), (6)<br /> where m denotes the m-th measurement, and ε(m) is zero-mean Gaussian noise of variance σ<sub>i</sub><sup>2</sup>(m). The random walk is not meant to accurately portray the actual traffic dynamics, rather it is simply a device which allows our SMC procedure to track potential time-varying behavior and enforces smoothness in the evolution of the delay distributions (which is reasonable and desirable based on the physical nature of network queues). We set all the variances σ<sub>i</sub><sup>2</sup>(m)=1 in advance (as a basic parameter of the SMC algorithm), although it is possible to extend our framework to treat the variances as additional unknown parameters also to be tracked.
00192The model described thus far induces delay pmfs at each measurement time of the form <br />p<sub>i,j</sub>(m)∝σ<sub>i</sub><sup>j</sup>(m) (7)<br /> where the parameter σ<sub>l</sub>(m) is the ratio of the arrival rate λ<sub>l</sub>(m) and service rate on the i-th link. Such pmfs are exponentially increasing or decreasing, for σ<sub>l</sub>(m)>1 and σ<sub>l</sub>(m)<1, respectively. This implies that the mode is either at delay 0 or delay K.
00195In real networks, however, the delay pmfs can display modes at other points due to the non-Poissonian nature of traffic and due to the fact that each link may include multiple “hidden” routers. To account for such modes we propose the following extension of the M/M/1/K type model. We introduce an additional dynamical (continuous) parameter κ<sub>l </sub>for each link and define the delay pmf as <br />p<sub>i,j</sub>(m)∝σ<sub>i</sub><sup>|j−κ</sup><sup><sub2>l</sub2></sup><sup>|</sup> (8)<br /> which places the mode of the pmf near κ<sub>i</sub>. The (unknown) parameter κ<sub>l </sub>also evolves according to a continuous random walk (variance of 1 with reflection at 0 and K to ensure smoothness in the evolution of the delay distributions). The model above (8) will serve as our basic building block; the prior distribution employed in our SMC procedure is a mixture of pmfs of this form. If we choose K+1 distinct values for i, then the resulting vectors p<sub>l</sub>=[p<sub>i,0</sub>, . . . ,p<sub>l,K</sub>] are linearly independent, thus forming a basis for <sup>L+1</sup>. Therefore, any pmf can be represented as a linear combination of these vectors.
00198To summarize, we have proposed a parametric family of dynamical models to describe the queuing delay distributions of network links. All parameters of this model, K, μ, λ<sub>l</sub>, are unknowns in our framework (the SMC algorithm will employ many different settings of parameters to obtain a reasonably dense sampling of the parameter space). The models are sufficiently general to capture a variety of potential network conditions. The prior distribution of our SMC procedure, described next, is a mixture (or superposition) of these basic parametric models. As demonstrated above, such mixtures are capable of representing all possible delay distributions. Moreover, the priors on the dynamics of our framework (random walks) and associated parameters (variances of random walks) are fairly non-informative, ensuring that the SMC procedure is mostly influenced by the data themselves and is not strongly affected by our modeling assumptions.
heading-00199Sequential Monte Carlo Tracking of Time-Variation: Algorithm Development
00200We would like to track the internal delay distributions over time. More specifically, based on our measurements we wish to estimate the time-varying delay distribution defined in (4). We will focus on the posterior mean as our estimator. The posterior mean is simply the mean of the posterior density, which is proportional to the likelihood function of measurements multiplied by the prior distribution placed on the delay pmfs. The prior we employ here is a mixture of time-varying pmfs of the form (5). The mixing function is determined by the dynamical structure of each time-varying pmf, as governed by the random walks described in the previous section.
00201The posterior mean estimate of p<sub>ij</sub>(R,m) can be written as: <maths id="MATH-US-00020" num="00020"><math overflow="scroll"><mtable><mtr><mtd><mtable><mtr><mtd><mrow><mrow><msub><mover><mi>p</mi><mo>^</mo></mover><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo></mo><mrow><mo>(</mo><mrow><mi>R</mi><mo>,</mo><mi>m</mi></mrow><mo>)</mo></mrow></mrow><mo>≡</mo><mi /><mo></mo><mrow><msub><mi>E</mi><mrow><mi>p</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><mrow><msub><mi>z</mi><mi>m</mi></msub><mo>-</mo><mi>R</mi><mo>+</mo><mn>1</mn></mrow><mo>:</mo><mi>m</mi></mrow><mo>❘</mo><msub><mi>y</mi><mrow><mn>1</mn><mo>·</mo><mi>m</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow></msub><mo></mo><mrow><mo>[</mo><mrow><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mrow><mi>m</mi><mo>-</mo><mi>R</mi><mo>+</mo><mn>1</mn></mrow></mrow><mi>m</mi></munderover><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><msub><mn>1</mn><mrow><mo>{</mo><mrow><mrow><msub><mi>z</mi><mi>i</mi></msub><mo></mo><mrow><mo>(</mo><mi>l</mi><mo>)</mo></mrow></mrow><mo>=</mo><mi>j</mi></mrow><mo>}</mo></mrow></msub></mrow><mo>]</mo></mrow></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mi /><mo></mo><mrow><mfrac><mn>1</mn><mi>R</mi></mfrac><mo></mo><mrow><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mrow><mi>m</mi><mo>-</mo><mi>R</mi><mo>+</mo><mn>1</mn></mrow></mrow><mi>m</mi></munderover><mo></mo><mrow><mi>p</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><msub><mi>z</mi><mi>i</mi></msub><mo></mo><mrow><mo>(</mo><mi>l</mi><mo>)</mo></mrow></mrow><mo>❘</mo><msub><mi>y</mi><mrow><mn>1</mn><mo>:</mo><mi>m</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow></mrow></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mi /><mo></mo><mrow><mfrac><mn>1</mn><mi>R</mi></mfrac><mo></mo><mrow><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mrow><mi>m</mi><mo>-</mo><mi>R</mi><mo>+</mo><mn>1</mn></mrow></mrow><mi>m</mi></munderover><mo></mo><mrow><mo>∫</mo><mrow><mrow><mi>p</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><mrow><msub><mi>z</mi><mi>i</mi></msub><mo></mo><mrow><mo>(</mo><mi>l</mi><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mi>j</mi><mo>❘</mo><mrow><mi>y</mi><mo></mo><mrow><mo>(</mo><mi>l</mi><mo>)</mo></mrow></mrow></mrow></mrow><mo>,</mo><msub><mi>λ</mi><mi>l</mi></msub></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mi>p</mi><mo></mo><mrow><mo>(</mo><mrow><msub><mi>λ</mi><mi>l</mi></msub><mo>❘</mo><msub><mi>y</mi><mrow><mn>1</mn><mo>:</mo><mi>m</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mo>ⅆ</mo><msub><mi>λ</mi><mi>l</mi></msub></mrow></mrow></mrow></mrow></mrow></mrow></mtd></mtr></mtable></mtd><mtd><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><img file="US6839754B2_D0019.tif" /><br /> where y(l)≡[y<sub>1</sub>(l),y<sub>2</sub>(l)], λ<sub>l </sub>is a vector composed of the traffic intensities on all links at time l, and y<sub>1:m </sub>is a vector composed of the measurements at times 1, . . . ,m. As before z<sub>i</sub>(l) is the (unobserved) delay on link i at time l, and z<sub>m−R+1</sub>≡[z<sub>l</sub>(m−R+1), . . . ,z<sub>i</sub>(m)].
00203The evaluation of this estimator is difficult. It requires an integration over the density p(λ<sub>l</sub>|y<sub>1 m</sub>), which cannot be solved analytically. We adopt numerical integration techniques. Moreover, we calculate the estimate at each time m. It is important that we form our estimate {circumflex over (p)}<sub>i,j</sub>(R,m) without redoing all the calculations involved in generating the estimate at time m−1. Otherwise we are not only wasting considerable computations, but we render a real-time implementation of our procedure impractical. These considerations motivate the adoption of a sequential algorithm.
00204In the dynamic model, the available observations y<sub>l:m </sub>are a highly non-linear function of the evolving parametersλ<sub>0,m</sub>. Standard sequential tracking methods such as the Kalman filter are not applicable; our attempts at linearization (e.g., the extended Kalman filter) also result in very poor tracking.
00205We begin by briefly outlining the Monte Carlo nature of the technique. Because the integral in (9) can not be calculated analytically, we approximate the estimator using Monte Carlo integration. To do this, we must sample from p(λ<sub>l</sub>|y<sub>1·m</sub>), which itself is not easily accomplished. An alternative approach is to perform “importance” sampling. Let λ<sub>0:m </sub>denote the trajectories of the traffic intensities on all links over the time interval 0, . . . ,m. The basic idea here is to generate N draws of λ<sub>0:m </sub>from an importance distribution π<sub>m</sub>, that has the same support as p(λ<sub>0:m</sub>|y<sub>1:m</sub>) but from which we can sample more easily. We wish to sample the entire trajectory λ<sub>0·m </sub>rather than just λ<sub>l </sub>because the trajectories are highly coupled (evaluating p(λ<sub>l</sub>|y<sub>1.m</sub>) requires difficult marginalization). Each draw represents an independent sample path of the network's dynamical evolution and thus independently explores part of the sample space. We use these draws (or “particles”) to compute the desired Monte Carlo integration as follows. We can re-write the integration as, <maths id="MATH-US-00021" num="00021"><math overflow="scroll"><mrow><mo>∫</mo><mrow><mrow><mrow><mi>p</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><mrow><msub><mi>z</mi><mi>i</mi></msub><mo></mo><mrow><mo>(</mo><mi>l</mi><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mi>j</mi><mo>|</mo><mrow><mi>y</mi><mo></mo><mrow><mo>(</mo><mi>l</mi><mo>)</mo></mrow></mrow></mrow></mrow><mo>,</mo><msub><mi>λ</mi><mi>l</mi></msub></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mo>[</mo><mfrac><mrow><mi>p</mi><mo></mo><mrow><mo>(</mo><mrow><msub><mi>λ</mi><mrow><mn>0</mn><mo>:</mo><mi>m</mi></mrow></msub><mo>|</mo><msub><mi>y</mi><mrow><mn>1</mn><mo>:</mo><mi>m</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow><mrow><msub><mi>π</mi><mi>k</mi></msub><mo></mo><mrow><mo>(</mo><mrow><msub><mi>λ</mi><mrow><mn>0</mn><mo>:</mo><mi>m</mi></mrow></msub><mo>|</mo><msub><mi>y</mi><mrow><mn>1</mn><mo>:</mo><mi>m</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow></mfrac><mo>]</mo></mrow></mrow><mo></mo><mrow><msub><mi>π</mi><mi>k</mi></msub><mo></mo><mrow><mo>(</mo><mrow><msub><mi>λ</mi><mrow><mn>0</mn><mo>:</mo><mi>m</mi></mrow></msub><mo>|</mo><msub><mi>y</mi><mrow><mn>1</mn><mo>:</mo><mi>m</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mrow><mo>ⅆ</mo><msub><mi>λ</mi><mi>l</mi></msub></mrow><mo>.</mo></mrow></mrow></mrow></math></maths><img file="US6839754B2_D0020.tif" /><br /> Then, the Monte Carlo estimate is <maths id="MATH-US-00022" num="00022"><math overflow="scroll"><mtable><mtr><mtd><mrow><munderover><mo>∑</mo><mrow><mi>v</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mo></mo><mrow><mrow><mi>p</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><mrow><msub><mi>z</mi><mi>i</mi></msub><mo></mo><mrow><mo>(</mo><mi>l</mi><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mi>j</mi><mo>|</mo><mrow><mi>y</mi><mo></mo><mrow><mo>(</mo><mi>l</mi><mo>)</mo></mrow></mrow></mrow></mrow><mo>,</mo><msubsup><mi>λ</mi><mi>l</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup></mrow><mo>)</mo></mrow></mrow><mo></mo><msubsup><mover><mi>w</mi><mo>~</mo></mover><mi>m</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><img file="US6839754B2_D0021.tif" /><br /> where w<sub>m</sub><sup>(ν)</sup>=p(λ<sub>0:m</sub><sup>(ν)</sup>|y<sub>1:m</sub>)/π(λ<sub>0:m</sub><sup>(ν)</sup>|y<sub>1:m</sub>) and <maths id="MATH-US-00023" num="00023"><math overflow="scroll"><mrow><msubsup><mover><mi>w</mi><mo>~</mo></mover><mi>m</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup><mo>=</mo><mrow><msup><mrow><msubsup><mi>w</mi><mi>m</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup><mo></mo><mrow><mo>[</mo><mrow><munderover><mo>∑</mo><mrow><mi>s</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mo></mo><msubsup><mi>w</mi><mi>m</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup></mrow><mo>]</mo></mrow></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>.</mo></mrow></mrow></math></maths><img file="US6839754B2_D0022.tif" /><br /> In order to evaluate this Monte Carlo estimate, we determine both the weight w<sub>m</sub><sup>(ν) </sup>(up to a proportionality constant) and the value of p(z<sub>i</sub>(l)=j|y(l),λ<sub>l</sub><sup>(ν)</sup>) for each of the N particles. We have p(λ<sub>0:m</sub><sup>(ν)</sup>|y<sub>1:m</sub>)∝p(y<sub>1:m</sub>|λ<sub>0:m</sub><sup>(ν)</sup>)p(λ<sub>0:m</sub><sup>(ν)</sup>). As the measurements are independent, the likelihood in this expression can be decomposed as where each p(y<sub>1:m</sub>|λ<sub>0:m</sub><sup>(ν)</sup>)=Π<sub>l=1:m</sub>p(y(l)|λ<sub>l</sub><sup>(ν)</sup>), where each factor in the product is a convolution of pmfs that can be evaluated efficiently using FFTs. The p(λ<sub>0:m</sub><sup>(ν)</sup>) term can be determined from the dynamics of the system equation (6).
00209Evaluating p(z<sub>i</sub>(l)=j|y(l),λ<sub>l</sub><sup>(ν)</sup>) involves the application of an upward-downward algorithm. This algorithm propagates the knowledge of (1) the zero delay at the source and (2) the delays y(l) at the two receivers throughout the tree, exploiting the independence of the conditional pmfs to calculate marginal distributions at each node.
heading-00210Sequential Importance Sampling
00211The Monte Carlo integration approach described above requires us to generate entire trajectories λ<sub>0:m </sub>at each time m, and then to calculate the associated weight. This is computationally demanding and highly wasteful. At time m, we want to perform the integration without redoing calculations made at time m−1. This is achieved by forming the trajectory λ<sub>0:m</sub><sup>(ν)</sup>, without modifying the previous trajectory λ<sub>0:m−1</sub><sup>(ν)</sup>which is possible if the importance sampling distribution has a Markovian structure. At time 0, we sample from the initial distribution π<sub>0</sub>(λ<sub>0</sub>). At time m, we sample from π<sub>m</sub>(λ<sub>m</sub>|λ<sub>0:m−1</sub><sup>(ν)</sup>,y<sub>1:m</sub>), and form the time-m particle ν by appending λ<sub>m</sub><sup>(ν) </sup>to λ<sub>0:m−1</sub><sup>(ν)</sup>. The weight of particle ν at time m can then also be updated recursively: <maths id="MATH-US-00024" num="00024"><math overflow="scroll"><mrow><msubsup><mi>w</mi><mi>m</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup><mo>=</mo><mrow><msubsup><mover><mi>w</mi><mo>~</mo></mover><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup><mo></mo><mrow><mfrac><mrow><mrow><mi>p</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><mi>y</mi><mo></mo><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></mrow><mo>|</mo><msubsup><mi>λ</mi><mi>m</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup></mrow><mo>)</mo></mrow></mrow><mo></mo><mrow><mi>p</mi><mo></mo><mrow><mo>(</mo><mrow><msubsup><mi>λ</mi><mi>m</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup><mo>|</mo><msubsup><mi>λ</mi><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup></mrow><mo>)</mo></mrow></mrow></mrow><mrow><msub><mi>π</mi><mi>m</mi></msub><mo></mo><mrow><mo>(</mo><mrow><mrow><msubsup><mi>λ</mi><mi>m</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup><mo>|</mo><msubsup><mi>λ</mi><mrow><mn>0</mn><mo>:</mo><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></mrow><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup></mrow><mo>,</mo><msub><mi>y</mi><mrow><mn>1</mn><mo>:</mo><mi>m</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow></mfrac><mo>.</mo></mrow></mrow></mrow></math></maths><img file="US6839754B2_D0023.tif" /><br /> We form our approximate estimator, denoted {tilde over (p)}<sub>i,j</sub>(R,m), by replacing the true integrals in (9) by their Monte Carlo approximations (10).
00213The dynamics of the proposed model involve a random walk of log λ<sub>m</sub>. We employ the prior distribution p(λ<sub>m</sub>|λ<sub>m−1</sub>) as the importance function. In this scenario, we merely calculate the likelihood to determine the update in the weights: <br /><i>w</i><sub>m</sub><sup>(ν)</sup><i>={tilde over (w)}</i><sub>m−1</sub><sup>(ν)</sup><i>p</i>(<i>y</i>(<i>m</i>)|λ<sub>m</sub><sup>(ν)</sup>) (11)<br /> The weight update factor at each time step is the likelihood p(y(m)|λ<sub>m</sub><sup>(ν)</sup>). This can be efficiently calculated using 2n<sub>m </sub>FFTs, where n<sub>m </sub>is the number of unique links traversed by the two packets involved in the m-th measurement. Since we are dealing with discrete distributions, our weight update factor (11) is bounded above by 1, which implies that at any time m, every importance weight is bounded by 1.
00216Degeneracy is a major issue in the application of sequential importance sampling. The multiplicative update applied to the weight at each time means that some importance weights may quickly tend to zero, and the number of particles contributing to the estimator is greatly reduced. This effect increases the variability of the estimator (compared to the variance one would have with the full N particles contributing). The procedure of “resampling” aims to generate an unweighted approximation of the weighted particle distribution. When performed at time m, the procedure associates with each particle v a number of offspring N<sub>m</sub><sup>(ν)</sup>, such that <maths id="MATH-US-00025" num="00025"><math overflow="scroll"><mrow><mrow><munderover><mo>∑</mo><mrow><mi>v</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mo></mo><msubsup><mi>N</mi><mi>m</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup></mrow><mo>=</mo><mrow><mi>N</mi><mo>.</mo></mrow></mrow></math></maths><img file="US6839754B2_D0024.tif" /><br /> The procedure thus obtains a new set of particles, each of which has weight 1/N, and ensures that the number of significant weights remains close to N. There are numerous techniques for performing resampling. The most popular is sampling importance resampling (SIR), which involves jointly drawing {N<sub>m</sub><sup>(ν)</sup>}<sub>ν=1</sub><sup>N </sup>according to a multinomial distribution of parameters N and {{tilde over (w)}<sub>m</sub><sup>(ν)</sup>}<sub>ν=1</sub><sup>N</sup>. Other techniques include residual resampling, and stratified resampling (described in G.Kitagawa, “Monte Carlo filter and smoother for nonlinear non-Gaussian state space models,” <i>J. Comp. Graph. Statist</i>., 5:1-25, 1996), which we adopt.
00218This resampling process does introduce some additional computational overhead in the formation of our approximate estimator at time m. Technically, it necessitates calculating the marginal smoothing distributions p(λ<sub>l</sub>|y<sub>1:m</sub>) for lε{m−R+1, . . . , m}. This can be done using the two-filter formula of G.Kitagawa, “Monte Carlo filter and smoother for nonlinear non-Gaussian state space models,” <i>J. Comp. Graph. Statist</i>., 5:1-25, 1996, or a forward filtering-backward smoothing of A. Doucet, et al, “On sequential Monte Carlo sampling methods for Bayesian filtering,” Statist. Computing, 10:197-208, 2000, or the backwards simulation procedure of S. J. Godsill, et al, “Monte Carlo smoothing for nonlinear time series,” Technical report, Institute of Statistics and Decision Sciences, Duke University, 2000.
00219In simulations, we observe that if we use the approximation (replacing {tilde over (w)}<sub>m</sub><sup>(ν) </sup>with {tilde over (w)}<sub>l</sub><sup>(ν)</sup>: <maths id="MATH-US-00026" num="00026"><math overflow="scroll"><mtable><mtr><mtd><mrow><munderover><mo>∑</mo><mrow><mi>v</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mo></mo><mrow><mrow><mi>p</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><mrow><msub><mi>z</mi><mi>i</mi></msub><mo></mo><mrow><mo>(</mo><mi>l</mi><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mi>j</mi><mo>|</mo><mrow><mi>y</mi><mo></mo><mrow><mo>(</mo><mi>l</mi><mo>)</mo></mrow></mrow></mrow></mrow><mo>,</mo><msubsup><mi>λ</mi><mi>l</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup></mrow><mo>)</mo></mrow></mrow><mo></mo><msubsup><mover><mi>w</mi><mo>~</mo></mover><mi>l</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><img file="US6839754B2_D0025.tif" /><br /> for the summation in (10), then we achieve similar performance. We adopt this approximation in the algorithm we outline below: <br /> Particle Filter for Delay Distribution Estimation <br /> At time 0: For ν=1, . . . ,n, sample λ<sub>0</sub><sup>(ν) </sup>from p(λ<sub>0</sub>). <br /> At time m: <br /> Sequential Importance Sampling Step <ul id="ul200002" list-style="none"><li id="ul200001-p00225" num="00225">1. For ν=1, . . . ,N, sample {tilde over (λ)}<sub>m</sub><sup>(ν)</sup>˜p(λ<sub>m</sub>|λ<sub>m−1</sub><sup>(ν) </sup>and set {tilde over (λ)}<sub>0:m</sub><sup>(ν)</sup>≡(λ<sub>0:m−1</sub><sup>(ν)</sup>, {tilde over (λ)}<sub>m</sub><sup>(ν)</sup>).</li><li id="ul200001-p00226" num="00226">2. For ν=1, . . . ,N, evaluate the importance weights {tilde over (w)}<sub>m</sub><sup>(ν)</sup>: <br /> <i>w</i><sub>m</sub><sup>(ν)</sup><i>∝p</i>(<i>y</i>(<i>l</i>)|{tilde over (λ)}<sub>m</sub><sup>(ν)</sup>) (13) <br /><maths id="MATH-US-00027" num="00027"><math overflow="scroll"><mtable><mtr><mtd><mrow><msubsup><mover><mi>w</mi><mo>~</mo></mover><mi>m</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup><mo>=</mo><msup><mrow><msubsup><mi>w</mi><mi>m</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup><mo></mo><mrow><mo>[</mo><mrow><munderover><mo>∑</mo><mrow><mi>s</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mo></mo><msubsup><mi>w</mi><mi>m</mi><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></msubsup></mrow><mo>]</mo></mrow></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup></mrow></mtd><mtd><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><img file="US6839754B2_D0026.tif" /><br /> Selection Step </li><li id="ul200001-p00230" num="00230">3. Apply stratified resampling (see G. Kitagawa, “Monte Carlo filter and smoother for nonlinear non-Gaussian state space models,” <i>J. Comp. Graph. Statist., </i>5:1-25, 1996) to obtain N new particles (λ<sub>0:m</sub><sup>(ν)</sup>; ν=1, . . . , N), each with weight 1/N. <br /> Estimation Step </li><li id="ul200001-p00232" num="00232">4. For all i,j, evaluate p(z<sub>i</sub>(m)=j|y(m), λ<sub>m</sub><sup>(ν) </sup>using the upwards-downwards probability propagation algorithm.</li><li id="ul200001-p00233" num="00233">5. For all i,j, estimate {tilde over (p)}<sub>i,j</sub>(R,m) from: <maths id="MATH-US-00028" num="00028"><math overflow="scroll"><mrow><mrow><msub><mover><mi>p</mi><mo>~</mo></mover><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo></mo><mrow><mo>(</mo><mrow><mi>R</mi><mo>,</mo><mi>m</mi></mrow><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mfrac><mn>1</mn><mi>R</mi></mfrac><mo></mo><mrow><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mrow><mi>m</mi><mo>-</mo><mi>R</mi><mo>+</mo><mn>1</mn></mrow></mrow><mi>m</mi></munderover><mo></mo><mrow><munderover><mo>∑</mo><mrow><mi>v</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mo></mo><mrow><mrow><mi>p</mi><mo></mo><mrow><mo>(</mo><mrow><mrow><mrow><msub><mi>z</mi><mi>i</mi></msub><mo></mo><mrow><mo>(</mo><mi>l</mi><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mi>j</mi><mo>|</mo><mrow><mi>y</mi><mo></mo><mrow><mo>(</mo><mi>l</mi><mo>)</mo></mrow></mrow></mrow></mrow><mo>,</mo><msubsup><mi>λ</mi><mi>l</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup></mrow><mo>)</mo></mrow></mrow><mo></mo><msubsup><mover><mi>w</mi><mo>~</mo></mover><mi>l</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></msubsup></mrow></mrow></mrow></mrow></mrow></math></maths><img file="US6839754B2_D0027.tif" /><br /> Conclusion </li></ul>
00235The packet-pair measurement procedures disclosed herein allow for the accurate determination of performance information including the loss rates and delay characteristics of individual links in the network (a link is the connection between two routers). In addition, this technique may be used to isolate available link bandwidth and link utilization if link capacities are known. (Various other software tools exist for determining link capacities. )
00236Among the many advantages of this technique is that is readily applied in many frameworks, including those that provide for passive, nonparametric and time-varying performance characterization. In addition, it requires no cooperation from internal routers nor does it require any modification of existing network protocols. The performance characterization is expected to be of great utility to service providers, system administrators, and end users, because it characterizes the conditions experienced by unicast packets, the most commonly used communication packets. Further, the computational overhead and bandwidth overhead required by the disclosed techniques is quite moderate and it scales well with the size of the network.
00237Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.
Contents6
62 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32 Sheet 33 Sheet 34 Sheet 35 Sheet 36 Sheet 37 Sheet 38 Sheet 39 Sheet 40 Sheet 41 Sheet 42 Sheet 43 Sheet 44 Sheet 45 Sheet 46 Sheet 47 Sheet 48 Sheet 49 Sheet 50 Sheet 51 Sheet 52 Sheet 53 Sheet 54 Sheet 55 Sheet 56 Sheet 57 Sheet 58 Sheet 59 Sheet 60 Sheet 61 Sheet 62
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2010135293A1 | Cited by | United States of America | Pre-grant |
| US2012188251A1 | Cited by | United States of America | Pre-grant |
| US2007115849A1 | Cited by | United States of America | Pre-grant |
| US8391145B2 | Cited by | United States of America | Search report |
| US9363626B2 | Cited by | United States of America | Search report |
| US9501342B2 | Cited by | United States of America | Applicant |
| CN109428784A | Cited by | China | Search report |
| US2003086425A1 | Cited by | United States of America | Pre-grant |
| US2010220629A1 | Cited by | United States of America | Pre-grant |
| US11888749B2 | Cited by | United States of America | Applicant |
| US9477541B2 | Cited by | United States of America | Search report |
| US8707458B2 | Cited by | United States of America | Search report |
| US7346679B2 | Cited by | United States of America | Applicant |
| US10652128B2 | Cited by | United States of America | Applicant |
| US11924051B2 | Cited by | United States of America | Search report |
| US8233402B2 | Cited by | United States of America | Applicant |
| US7675856B2 | Cited by | United States of America | Search report |
| US8264963B2 | Cited by | United States of America | Applicant |
| US2016173348A1 | Cited by | United States of America | Search report |
| US8804565B2 | Cited by | United States of America | Applicant |
| US8149829B2 | Cited by | United States of America | Applicant |
| US2003140162A1 | Cited by | United States of America | Pre-grant |
| US7574597B1 | Cited by | United States of America | Applicant |
| US7318105B1 | Cited by | United States of America | Search report |
| US10616088B2 | Cited by | United States of America | Search report |
| US9692673B2 | Cited by | United States of America | Applicant |
| US7307999B1 | Cited by | United States of America | Applicant |
| US8543681B2 | Cited by | United States of America | Applicant |
| US8209738B2 | Cited by | United States of America | Search report |
| US2009080340A1 | Cited by | United States of America | Pre-grant |
| US2012159252A1 | Cited by | United States of America | Pre-grant |
| US2004044759A1 | Cited by | United States of America | Pre-grant |
| US8560544B2 | Cited by | United States of America | Applicant |
| US2009248722A1 | Cited by | United States of America | Pre-grant |
| US2003091165A1 | Cited by | United States of America | Pre-grant |
| US2003143036A1 | Cited by | United States of America | Pre-grant |
| US7633942B2 | Cited by | United States of America | Search report |
| US11290338B1 | Cited by | United States of America | Search report |
| US12335125B2 | Cited by | United States of America | Applicant |
| US8068489B2 | Cited by | United States of America | Applicant |
| US7965644B2 | Cited by | United States of America | Applicant |
| US9369346B2 | Cited by | United States of America | Search report |
| US8588074B2 | Cited by | United States of America | Applicant |
| US9277400B2 | Cited by | United States of America | Applicant |
| US2008301765A1 | Cited by | United States of America | Pre-grant |
| US8549361B2 | Cited by | United States of America | Search report |
| US2004044765A1 | Cited by | United States of America | Pre-grant |
| US9363143B2 | Cited by | United States of America | Search report |
| US2007242616A1 | Cited by | United States of America | Pre-grant |
| US2015012378A1 | Cited by | United States of America | Search report |
| US2022385543A1 | Cited by | United States of America | Search report |
| US7778179B2 | Cited by | United States of America | Search report |
| US2009244067A1 | Cited by | United States of America | Pre-grant |
| US2010172264A1 | Cited by | United States of America | Pre-grant |
| US8868715B2 | Cited by | United States of America | Applicant |
| US7768933B2 | Cited by | United States of America | Search report |
| US2016173348A1 | Cited by | United States of America | Pre-grant |
| US2007091937A1 | Cited by | United States of America | Pre-grant |
| US2009262657A1 | Cited by | United States of America | Pre-grant |
| US2009080339A1 | Cited by | United States of America | Pre-grant |
| US2006215574A1 | Cited by | United States of America | Pre-grant |
| US7421510B2 | Cited by | United States of America | Search report |
| US9654365B2 | Cited by | United States of America | Applicant |
| US2015215155A1 | Cited by | United States of America | Pre-grant |
| US2010135219A1 | Cited by | United States of America | Pre-grant |
| US2015012378A1 | Cited by | United States of America | Pre-grant |
| US2008209521A1 | Cited by | United States of America | Pre-grant |
| US4905234A | Cites | United States of America | Search report |
| US5727002A | Cites | United States of America | Search report |
| US6061725A | Cites | United States of America | Search report |
| US6076113A | Cites | United States of America | Search report |
| US6151696A | Cites | United States of America | Search report |
| US6496520B1 | Cites | United States of America | Search report |
| USRE37141E | Cites | United States of America | Search report |
| F. Lo Presti, N.G. Duffield, J. Horowitz, and D. Towsley, “<i>Multicast-based inference of network-internal delay distribution</i>,” Tech. Rep., Univ. Massachusetts, CMPSCI 99-55, 1999. | Non-patent | – | Third party observation |
| R. Caceres, N. Duffield, J. Horowitz, and D. Towsley, “Multicast-based inference of network-internal loss characteristics,” IEEE Trans. Info Theory, vol. 45, No. 7, pp. 2462-2480, Nov. 1999. | Non-patent | – | Third party observation |
| R. Caceres, N. Duffield, J. Horowitz, D. Towsley, and T. Bu, “<i>Multicast-based inference of network-internal characteristics: Accuracy of packet loss estimation</i>,” Proc. IEEE Infocom '99, Mar. 1999. | Non-patent | – | Third party observation |
| R. Caceres, N. Duffield, S. Moon, and D. Towsley, “<i>Inference of internal loss rates in the MBone</i>,” in Proc. IEEE/ISOC Global Internet, Dec. 1999. | Non-patent | – | Third party observation |
| A. Bestavros, K. Harfoush, and J. Byers, “<i>Robust identification of shared losses using end-to-end unicast probes</i>,” in Proc. IEEE Int. Conf. Network Protocols, Osaka, Japan, Nov. 2000. | Non-patent | – | Third party observation |
| K. Lai and M. Baker, “<i>Measuring link bandwidths using a deterministic model of packet delay</i>,” in Proc. ACM Sigcomm 2000, Stockholm, Sweden, Aug. 2000. | Non-patent | – | Third party observation |
| N. Duffield and F. Lo Presti, “<i>Multicast inference of packet delay variance at interior network links</i>,” in Proc. IEEE Infocom 2000, Tel Aviv, Israel, Mar. 2000. | Non-patent | – | Third party observation |
| S. Moon, P. Skelly, and D. Towelsy, “<i>Estimation and removal of clock skew from network delay measurements</i>,” in Proc. IEEE Infocom 1999. | Non-patent | – | Third party observation |
| S. Ratnasamy and S. McCanne, “<i>Inference of multicast routing trees and bottleneck bandwidths using end-to-end measurements</i>,” Proc. Infocom '99, New York, NY, Mar. 1999. | Non-patent | – | Third party observation |
| M. Coates and R. Nowak, “<i>Network Inference from Passive Unicast Measurements</i>”, Tech. Rep. TR-0002, ECE Dept., Rice Univ., Jan. 2000. | Non-patent | – | Third party observation |
| M. Coates and R. Nowak, “<i>Unicast Network Tomography using EM Algorithms</i>,” Tech. Rep. TR-0004, ECE Dept., Rice Univ., Sep. 2000. | Non-patent | – | Third party observation |
| V. Paxson, “<i>End-to-end Internet packet dynamics</i>,” IEEE/ACM Trans. Networking, 7(3):277-292, Jun. 1999. | Non-patent | – | Third party observation |
| M. Allman and V. Paxson, “<i>On estimating end-to-end network path properties</i>,” Proc. Sigcomm, 1999. | Non-patent | – | Third party observation |
| K. Lai and M. Baker, “<i>Measuring Bandwidth</i>,” Department of Computer Science, Stanford University. | Non-patent | – | Third party observation |
| K. Harfoush, A. Bestavros and J. Byers, “<i>Unicast-based Characterization of Network Loss Topologies</i>,” Computer Science Department, Boston University. | Non-patent | – | Third party observation |
| F. Lo Presti, N.G. Duffield, J. Horowitz, and D. Towsley, "Multicast-based inference of network-internal delay distribution," Tech. Rep., Univ. Massachusetts, CMPSCI 99-55, 1999. | Non-patent | – | Applicant |
| R. Caceres, N. Duffield, J. Horowitz, and D. Towsley, "Multicast-based inference of network-internal loss characteristics," IEEE Trans. Info Theory, vol. 45, No. 7, pp. 2462-2480, Nov. 1999. | Non-patent | – | Applicant |
| R. Caceres, N. Duffield, J. Horowitz, D. Towsley, and T. Bu, "Multicast-based inference of network-internal characteristics: Accuracy of packet loss estimation," Proc. IEEE Infocom '99, Mar. 1999. | Non-patent | – | Applicant |
| R. Caceres, N. Duffield, S. Moon, and D. Towsley, "Inference of internal loss rates in the MBone," in Proc. IEEE/ISOC Global Internet, Dec. 1999. | Non-patent | – | Applicant |
| A. Bestavros, K. Harfoush, and J. Byers, "Robust identification of shared losses using end-to-end unicast probes," in Proc. IEEE Int. Conf. Network Protocols, Osaka, Japan, Nov. 2000. | Non-patent | – | Applicant |
| K. Lai and M. Baker, "Measuring link bandwidths using a deterministic model of packet delay," in Proc. ACM Sigcomm 2000, Stockholm, Sweden, Aug. 2000. | Non-patent | – | Applicant |
| N. Duffield and F. Lo Presti, "Multicast inference of packet delay variance at interior network links," in Proc. IEEE Infocom 2000, Tel Aviv, Israel, Mar. 2000. | Non-patent | – | Applicant |
| S. Moon, P. Skelly, and D. Towelsy, "Estimation and removal of clock skew from network delay measurements," in Proc. IEEE Infocom 1999. | Non-patent | – | Applicant |
| S. Ratnasamy and S. McCanne, "Inference of multicast routing trees and bottleneck bandwidths using end-to-end measurements," Proc. Infocom '99, New York, NY, Mar. 1999. | Non-patent | – | Applicant |
| M. Coates and R. Nowak, "Network Inference from Passive Unicast Measurements", Tech. Rep. TR-0002, ECE Dept., Rice Univ., Jan. 2000. | Non-patent | – | Applicant |
| M. Coates and R. Nowak, "Unicast Network Tomography using EM Algorithms," Tech. Rep. TR-0004, ECE Dept., Rice Univ., Sep. 2000. | Non-patent | – | Applicant |
2 members in 1 office; this record represents the family
Priority claims1
| Document | Office | Kind | Date |
|---|---|---|---|
| 23277500 | United States of America | P |
Members2
| Document | Office | Kind | |
|---|---|---|---|
| US2002116154A1 | United States of America | A1 | |
| US6839754B2This record | United States of America | B2 |
10 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Lapse for failure to pay maintenance feesLapsedLAPS | LAPS | |
| Maintenance fee reminder mailedREMI | REMI | |
| Fee paymentFPAY | FPAY | |
| Maintenance fee reminder mailedREMI | REMI | |
| Fee paymentFPAY | FPAY | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: SMALL ENTITYFEPP | FEPP | |
| AssignmentAS | AS |
Numbers
- Publication
- 6839754
- Application
- 9952608
Titles
- English
- Network tomography using closely-spaced unicast packets
Classification
- CPC, 6
- H04L43/50
- H04L41/12
- H04L41/5003
- H04L41/5009
- H04L43/0852
- H04L43/091
- IPC, 1
- H04L41 12