Systems and methods for robust, real-time measurement of network performance

Information

  • Patent Grant
  • 7363367
  • Patent Number
    7,363,367
  • Date Filed
    Tuesday, July 10, 2001
    23 years ago
  • Date Issued
    Tuesday, April 22, 2008
    16 years ago
Abstract
Methods and apparatuses for obtaining delay, jitter, and loss statistics of a path between server and an end user coupled via an internetwork are described. The server may comprise a web server in communication with the end user via the Internet. Statistics are obtained by analyzing the details of a TCP connection underlying an HTML transaction. Robust measurements of jitter, delay, and loss are ensured by maximizing traffic between the web server and the surfer in order to generate a robust sample of TCP connections. Content may be updated with one or more html link(s). This existing content may reside on a highly trafficked portal, such as a web portal, and may be encoded in a markup language, such as Hyper Text Markup Language (HTML). The Uniform Resource Locators (URLs) corresponding to the one or more links resolve to the server from which the statistics are to be measured. The actual content supplied by the server may be minimized, in order to preserve bandwidth.
Description
DESCRIPTION OF RELATED ART

The performance characteristics of routes in internetworks, such as the Internet, have been assessed in prior efforts. Statistical metrics of Internet performance include the characteristics of jitter, loss, and delay. Jitter may be characterized as the amount of variance in the time taken by packets traversing a path in a network. Delay indicates the amount of time taken for packets to traverse the path. And loss indicates the lossiness of the internetwork path.


Empirical observations have demonstrated that various combinations of these performance metrics are especially relevant to the performance of certain types of applications on the Internet. For instance, in some voice streaming applications such as Voice over IP (VoIP), appreciable levels of jitter may have a highly deleterious effect on performance, while some packet loss may be tolerable. In other applications, jitter and delay may be tolerable, while significant packet loss may be fatal.


Given the significance of such metrics to Internet performance, there is a need to measure such statistics in real-time for arbitrary end-points in an internetwork. The prior art also evinces a need to ensure that such statistics are robust, and based on substantial packet traffic.


SUMMARY OF THE INVENTION

Some embodiments of the invention include methods and apparatuses for obtaining delay, jitter, and loss statistics of a path between server and an end user coupled via an internetwork; in some embodiments, the server may comprise a web server in communication with the end user via the Internet. In some embodiments of the invention, these statistics are obtained by analyzing the details of a TCP connection underlying an HTML transaction. Some such embodiments ensure robust measurements of jitter, delay, and loss by maximizing traffic between the web server and the surfer in order to generate a robust sample of TCP connections.


In some such embodiments, content is updated with one or more HTML link(s). This existing content may reside on a highly trafficked portal, such as a web portal, and may be encoded in a markup language, such as Hyper Text Markup Language (HTML). The Uniform Resource Locators (URLs) corresponding to the one or more links resolve to the server from which the statistics are to be measured, i.e., the server which connects to the end user over the desired path. In some embodiments, this resolution may be based on an explicit relationship between a URL and a given measurement path. In alternative embodiments, the one or more URLs may resolve to an address which varies on each invocation, such that only the address, rather than the URL, connotes a relationship with the specific measurement path. A request for the connection comes into the server, and based on the target address, the outbound response is subsequently forced to a specific measurement path. In some embodiments of the invention, the actual content supplied by the server is minimized, in order to preserve bandwidth. In some embodiments, the content may be visually imperceptible, comprising one or more pixels, which may be transparent. In other embodiments, the content may comprise a visual artifact.


Some embodiments of the invention include a measurement subsystem which records observed call response times, which are used to record round trip times for packets traversing the path between the server and the end user. In some embodiments, these packets employ the TCP/IP protocol for their transport. In alternative embodiments, these measurements may be gathered at the end-user side, as opposed to the server side.


Some embodiments of the invention measure round trip times for different patterns of TCP messages sent within a TCP connection. In some embodiments, these measurements of round trip times are converted into measurements of jitter, loss, or delay along the desired path. In some embodiments of the invention, jitter, loss, and delay statistics may be inferred by groups, or classes, of end user addresses. These and other embodiments are further described herein.





BRIEF DESCRIPTION OF FIGURES


FIG. 1 illustrates an architecture used to redirect internetwork traffic to a measurement server according to some embodiments of the invention.



FIG. 2 illustrates techniques used to measure Round Trip Times for various types of TCP sessions according to some embodiments of the invention.





DETAILED DESCRIPTION

Distributing Hits to the Desired Server


Some embodiments of the invention include systems and methods to maximize traffic through a desired path, in order to generate a robust number of measurements of round trip times through the path. These embodiments are illustrated schematically in FIG. 1. The method generates traffic towards an end user 102, or surfer. An internetwork 100 includes a measured server 104, which is the server from which traffic is to be measured, and a highly trafficked portal 106. The highly trafficked portal 106 may include content from a popular commercial web site. The measured server 104 and the end user 102 can communicate via the internetwork through one or more paths 108. Some embodiments attempt to divert traffic from the portal 106 to the measured server 104, in order to ensure robust measurements of network performance along the one or more paths 108.


In some such embodiments, a content object is included in the portal 106, so that when an end user 102 connects to the portal 106, her request is redirected to the measured server 104 in order to receive the portion of content. This content object may be referred to as a webby. In some embodiments of the invention, the webby is designed to occupy a minimal amount of bandwidth. In some embodiments, the webby is designed to be imperceptible. In a non-limiting implementation of the webby, the content object may comprise a transparent GIF or JPEG, which includes one or more pixels. Other implementations of the content object will be apparent to those skilled in the art.


In web based embodiments, when a surfer's browser 102 requests the content object, the browser 102 performs a DNS lookup, and retrieves an IP address for the web object; this IP address resolves to the measured server 104. In some embodiments of the invention, by supplying varying answers for the IP address, hits may be distributed across many measured servers 104. In response to the request, the measured server 104 delivers the content object to the surfer's browser 102.


Measuring Round Trip Times


Some embodiments of the invention measure Round Trip Times (RTTs) between the measured server 104 and end users 102 in order to generate metrics of path performance; these metrics may, by way of non-limiting example, include jitter, delay, and loss statistics. In some embodiments of the invention, different algorithms for measuring RTTs are employed, contingent upon the type of session that is witnessed. As such, several types of TCP sessions are described herein, followed by a discussion of the RTT measurement techniques that may be employed for the various sessions. Note that the discussion that follows employs acronyms described in Table 1 below:









TABLE 1





Acronyms used in the description of TCP patterns
















Si
SYN received by the webby (i.e., incoming SYN)


So
SYN/ACK sent by the webby


Pi
PUSH packet received by the webby


Po
PUSH packet sent by the webby


Fi
FIN message received by the webby


Fo
FIN message sent by the webby


.i
ACK message received by the webby


.o
ACK message sent by the webby










FIG. 2 illustrates three types of sessions 200202204 that may be witnessed between the measured server 104 and the end user, or surfer 102. These patterns are hereafter referred to as Basic Pattern 1 (B1) 200, Basic Pattern 2 (B2) 202, and Basic Pattern 3 (B3) 204. The differences between patterns B1 on one hand, B2 and B3 on the other, inheres in the manner in which TCP behaves on the side of the webby, i.e., the measured server 104. In the case of B1200, the actions performed by the webby 104 upon the receipt of a PUSH packet (i.e., Pi) are as follows:

    • The webby 104 sends an ACK packet acknowledging the PUSH.
    • The webby 104 sends the requested data in a PUSH packet.
    • The webby 104 subsequently terminates the connection by sending a FIN message.


      For cases B2202 and B3204, the actions performed by the webby 104 upon the receipt of a PUSH packet (i.e., Pi) are as follows:
    • The webby 104 sends an ACK packet acknowledging the PUSH
    • The webby 104 sends the requested data in a PUSH packet
    • The webby 104 subsequently waits for an acknowledgment from the surfer 102 containing notification of receipt of the data before the webby 104 proceeds with sending a FIN.


In some embodiments of the invention, Round Trip Times RTT1, RTT2 and RTT3 are computed by use of the same algorithm in all cases 200202204. In some such embodiments, RTT1 may be determined simply by waiting for an ACK corresponding to the first SYN/ACK. In some embodiments, RTT2 may be measured by starting a timer at the instant the first PUSH is sent by the webby 104 (as for RTT1, the timer is started at the first PUSH to take into account the effect of timeouts), and stopping the timer upon the receipt of the first packet acknowledging the PUSH that was sent. (This packet acknowledges a sequence number at least equal to that of the PUSH message). A similar technique may be applied to RTT3, this time to the FIN packet sent by the webby 104. As discussed in U.S. Provisional Applications No. 60/241,450, filed Oct. 17,2000 and No. 60/275,206, filed Mar. 12, 2001, which are hereby incorporated by reference in their entirety, these techniques for measuring Round Trip Times have been empirically shown to be robust in all manner of complex TCP transactions.


Computation of Jitter, Loss, and Delay from Round Trip Times


In some embodiments of the invention, a measurements listener receives values of RTT1, RTT2, and RTT3 that correspond to a given IP address. In some embodiments, the measurements listener may comprise one or more processes distributed on one or more servers coupled to the internetwork. These measurements are sent to a module that performs one or more of the following steps:

    • Compute the values of round-trip time d, jitter v, and packet loss p for this measurement instance.
    • Map the IP address to a corresponding group of IP addresses (this group may comprise an Equivalence Class.
    • Update the values of {circumflex over (d)}, {circumflex over (v)}, {circumflex over (p)}, using old values of {circumflex over (d)}, {circumflex over (v)}, {circumflex over (p)} and the values of d, v, and p, wherein {circumflex over (d)}, {circumflex over (v)}, {circumflex over (p)} comprise weighted averages of delay, jitter, and loss, respectively).


Non-limiting implementations for calculating d, v, and p from the Round Trip Times are described herein. First, note that RTT1 and RTT3 do not overlap in some embodiments. Hence, network events that are captured by the first round trip time RTT, are typically not captured by RTT3. Empirical observations also demonstrate that RTT1 and RTT3 are often very different. As such, some embodiments of the invention employ a difference between RTT, and RTT3 to capture network oscillations in performance, i.e. jitter. In one such embodiment the jitter, v is set to the absolute value of the difference, i.e.,

v=|RTT3−RTT1|


Empirical observations also demonstrate that RTT2 and RTT3 may be highly correlated. As such, in some embodiments of the invention a difference between RTT2 and RTT3 may be used to infer packet loss. In case RTT3 is not measured, a large difference between RTT, and RTT2 may be used to infer packet loss in extreme cases, for example when RTT, is close to 0, and RTT2 has a value on or about 3 seconds. Otherwise, a difference between RTT2 and RTT3 that is close to 3 or 6 seconds may be used in some embodiments of the invention, to declare packet loss. Thus, to determine loss, some embodiments of the invention employ one or more of the following steps:

    • If either RTT1 or RTT2 is small (for example, less than 500 ms), compute the difference between RTT1 and RTT2: if this difference is on or about 3 seconds or 6 seconds, set p to 1.
    • If either RTT1 or RTT2 is large (for example, more than 500 ms), compute the difference between RTT2 and RTT3: if this difference is on or about 3 seconds or 6 seconds, set p to 1.
    • Otherwise set p to 0.


In some embodiments of the invention, d is set to an average of the true RTTs measured for a transaction. In case p is set to 0, this is simply the average of all three RTTs. In case p is set to 1, the packet involved in the loss should be removed from the computation of the average d. (Alternatively, a 3 second timeout can be subtracted from the measured RTT for that packet.)


As will be apparent to those skilled in the art, the implementations described are non-limiting techniques for computing d, v, and p from Round Trip Times; other implementations will be apparent to those skilled in the art.


Computing Weighted Averages of Jitter, Delay, and Loss


Some embodiments of the invention include techniques for maintaining weighted averages of Delay, Jitter, and Loss, {circumflex over (d)}, {circumflex over (v)}, and {circumflex over (p)} respectively. In some such embodiments, current values of d, v, and p values as well as previous values of {circumflex over (d)}, {circumflex over (v)}, and {circumflex over (p)} for a relevant group of IP addresses are used to compute the new values for {circumflex over (d)}, {circumflex over (v)}, and {circumflex over (p)}.


In a non-limiting example, weighted moving averages are used to compute {circumflex over (d)}, {circumflex over (v)}, and {circumflex over (p)}











d
^

new

=


α



d
^

old


+


(

1
-
α

)


d










v
^

new

=


β



v
^

old


+


(

1
-
β

)


v










p
^

new

=


γ



p
^

old


+


(

1
-
γ

)


p









In some embodiments, α, β, and γ, are fixed constants. In some such embodiments, the combination of values used for α, β, and γ are determined by the type of application the TCP session is supporting. These applications may include, but are not limited to, any one or more of HTTP 1.0, HTTP 1.1, Voice over IP, or Video streaming over IP. Examples of values of α, β, and γ that may be used for these applications are presented below in an XML format. Note that these examples also include sample values for parameters denoted theta, phi, omega, and psi; these parameters may be used to convert the tuples (α, β, and γ) into a scalar performance score; these parameters are further described in U.S. Provisional Applications No. 60/241,450, filed Oct. 17, 2000 and No. 60/275,206, filed Mar. 12, 2001, which are hereby incorporated by reference in their entirety. The values presented herein are for illustration only; other value combinations will be apparent to those skilled in the art:


HTTP 1.0




  • <module><engine slot=“1”><application model=“http1.0” [alpha=“0.9” beta=“0.9” gamma=“0.9” theta=“1.18” phi=“0.13” omega=“0.15” psi=“0.25”]/></engine> </module>


    HTTP 1.1

  • <module><engine slot=“1” ><application model=“http1.1” [alpha=“0.9” beta=“0.9” gamma=“0.9” theta=“1.3” phi=“0.31” omega=“0.41 ” psi=“1.0”]/> </engine></module>


    Voice over IP


    <module><engine slot=“1” ><application model=“voice” [alpha=“0.9” beta=“0.9”gamma=“0.9” theta =“1.5” phi=“6.0” omega=“23.0” psi=“0.0”]/></engine></module>


    Video Streaming

  • <module><engine slot=“1” ><application model=“video” [alpha=“0.9” beta=“0.9”gamma=“0.9” theta=“1.0” phi=“4.0” omega=“69.0” psi=“0.0”]/></engine></module>



In some embodiments of the invention, time-decaying values of α, β, and γ may be employed. In some such embodiments, these values of α, β, and γ may decay exponentially, i.e.,

α=exp(−kαT)
β=exp(−kβT)
γ=exp(−kγT)


Other value combinations for α, β, and γ shall be apparent to those skilled in the art.


Conclusion


The various techniques presented above for measuring Round Trip Times and determining jitter, loss, and delay values are presented for illustrative purposes only. Many equivalent techniques shall be apparent to those skilled in the art.

Claims
  • 1. A method of measuring a performance of a route in an internetwork, the route coupling an internetwork server to a terminal on the internetwork, the method comprising: at a frequently trafficked portal on the internetwork, detecting a request for a web page from the terminal, wherein the web page is at least partially stored at the frequently trafficked portal;in response to the request for the web page, downloading the web page to the terminal via the internetwork;from the web page, retrieving a Uniform Resource Locator (URL) for a web object referenced in the web page;resolving the URL to the internetwork server;detecting a request for the web object from the terminal at the internetwork server; in response to the request for the web object, sending the web object from the internetwork server to the terminal;concurrent with sending the web object, measuring a Round Trip Time (RTT) from the transmission and reception of corresponding transport protocol packets sent between the internetwork server and the terminal; andcalculating, at least from the RTT, parameters of at least part of the internetwork, wherein the parameters comprise delay, jitter, and loss.
  • 2. The method of claim 1, wherein the web page is at least partially encoded in a markup language.
  • 3. The method of claim 2, wherein the markup language is Hyper Text Markup Language.
  • 4. The method of claim 3, wherein the sending the web object from the internetwork server to the terminal is performed via a Hyper Text Transfer Protocol (HTTP).
  • 5. The method of claim 4, wherein the Hyper Text Transfer Protocol is HTTP v 1.0.
  • 6. The method of claim 4, wherein the Hyper Text Transfer Protocol is HTTP v 1.1.
  • 7. The method of claim 1, wherein the web object is visually imperceptible.
  • 8. The method of claim 1, wherein the web object comprises a single pixel.
  • 9. A system for measuring performance of an internetwork, the system comprising: a frequently trafficked web portal in the internetwork;a web page for downloading upon request and at least partially stored on the frequently trafficked web portal, the at least partially stored web page including a Uniform Resource Locator (URL) for a web object, such that the web object is not stored on the frequently trafficked web portal;a Domain Name System (DNS) server on the internetwork, the DNS server including a reference for mapping the URL for the web object to an Internet Protocol address for an internetwork server on the internetwork;a web browser coupled to the internetwork, wherein the web browser is configured to send a download request for the web object to the internetwork server;a measurement process executed on the internetwork server, such that in response to the download request, the measurement process for measuring one or more Round Trip Times from the transmission and reception of corresponding transport protocol packets sent between the internetwork server and the web browser; anda module for calculating, at least from the one or more Round Trip Times, parameters of at least part of the internetwork, wherein the parameters comprise delay, jitter, and loss.
  • 10. The system of claim 9, wherein the web page is at least partially encoded in a markup language.
  • 11. The system of claim 9, wherein the markup language is Hyper Text Markup Language (HTML).
  • 12. A method of measuring a performance of a route in an internetwork, the route coupling an internetwork server to a terminal on the internetwork, the method comprising: at a frequently trafficked portal on the internetwork, detecting a request for a web page from the terminal, wherein the web page is at least partially stored at the frequently trafficked portal;from the web page, retrieving a Uniform Resource Locator (URL) for a web object referenced in the web page;resolving the URL to the internetwork server;detecting a request for the web object from the terminal at the internetwork server;in response to the request for the web object, measuring a Round Trip Time (RTT) from the transmission and reception of corresponding transport protocol packets sent between the internetwork server and the terminal; andin response to the request for the web object and concurrent with measuring the RTT, sending the web object from the internetwork server to the terminal; andcalculating, at least from the RTT, parameters of at least part of the internetwork, wherein the parameters comprise delay, jitter, and loss.
CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Applications No. 60/241,450, filed Oct. 17, 2000 and No. 60/275,206, filed Mar. 12, 2001, which are hereby incorporated by reference in their entirety.

US Referenced Citations (160)
Number Name Date Kind
4284852 Szybicki et al. Aug 1981 A
4345116 Ash et al. Aug 1982 A
4495570 Kitajima et al. Jan 1985 A
4594704 Ollivier Jun 1986 A
4669113 Ash et al. May 1987 A
4704724 Krishnan et al. Nov 1987 A
4726017 Krum et al. Feb 1988 A
4748658 Gopal et al. May 1988 A
4788721 Krishnan et al. Nov 1988 A
4839798 Eguchi et al. Jun 1989 A
4920432 Eggers et al. Apr 1990 A
4931941 Krishnan Jun 1990 A
4939726 Flammer et al. Jul 1990 A
4949187 Cohen Aug 1990 A
4949248 Caro Aug 1990 A
5142570 Chaudhary et al. Aug 1992 A
5172413 Bradley et al. Dec 1992 A
5253341 Rozmanith et al. Oct 1993 A
5287537 Newmark et al. Feb 1994 A
5291554 Morales Mar 1994 A
5341477 Pitkin et al. Aug 1994 A
5361256 Doeringer et al. Nov 1994 A
5371532 Gelman et al. Dec 1994 A
5375070 Hershey et al. Dec 1994 A
5406502 Haramaty et al. Apr 1995 A
5410343 Coddington et al. Apr 1995 A
5414455 Hooper et al. May 1995 A
5442389 Blahut et al. Aug 1995 A
5442390 Hooper et al. Aug 1995 A
5442749 Northcutt et al. Aug 1995 A
5452294 Natarajan Sep 1995 A
5467345 Cutler, Jr. et al. Nov 1995 A
5471622 Eadline Nov 1995 A
5471623 Napolitano, Jr. Nov 1995 A
5475615 Lin Dec 1995 A
5477536 Picard Dec 1995 A
5508732 Bottomley et al. Apr 1996 A
5515511 Nguyen et al. May 1996 A
5519435 Anderson May 1996 A
5521591 Arora et al. May 1996 A
5528281 Grady et al. Jun 1996 A
5535195 Lee Jul 1996 A
5537394 Abe et al. Jul 1996 A
5563875 Hefel et al. Oct 1996 A
5574938 Bartow et al. Nov 1996 A
5629930 Beshai et al. May 1997 A
5631897 Pacheco et al. May 1997 A
5636216 Fox et al. Jun 1997 A
5654958 Natarajan Aug 1997 A
5659796 Thorson et al. Aug 1997 A
5668800 Stevenson Sep 1997 A
5675741 Aggarwal et al. Oct 1997 A
5729528 Salingre et al. Mar 1998 A
5754547 Nakazawa May 1998 A
5754639 Flockhart et al. May 1998 A
5787253 McCreery et al. Jul 1998 A
5793976 Chen et al. Aug 1998 A
5802106 Packer Sep 1998 A
5805594 Kotchey et al. Sep 1998 A
5812528 VanDervort Sep 1998 A
5835710 Nagami et al. Nov 1998 A
5841775 Huang Nov 1998 A
5845091 Dunne et al. Dec 1998 A
5884047 Aikawa et al. Mar 1999 A
5935216 Benner et al. Aug 1999 A
5940478 Vaudreuil et al. Aug 1999 A
5944779 Blum Aug 1999 A
5974457 Waclawsky et al. Oct 1999 A
6006264 Colby et al. Dec 1999 A
6009081 Wheeler et al. Dec 1999 A
6012088 Li et al. Jan 2000 A
6026441 Ronen Feb 2000 A
6034946 Roginsky et al. Mar 2000 A
6052718 Gifford Apr 2000 A
6069889 Feldman et al. May 2000 A
6078963 Civanlar et al. Jun 2000 A
6108703 Leighton et al. Aug 2000 A
6111881 Soncodi Aug 2000 A
6119235 Vaid et al. Sep 2000 A
6130890 Leinwand et al. Oct 2000 A
6167052 McNeil et al. Dec 2000 A
6173324 D'Souza Jan 2001 B1
6178448 Gray et al. Jan 2001 B1
6185598 Farber et al. Feb 2001 B1
6185601 Wolff Feb 2001 B1
6189044 Thomson et al. Feb 2001 B1
6226266 Galand et al. May 2001 B1
6275470 Ricciulli Aug 2001 B1
6282562 Sidi et al. Aug 2001 B1
6286045 Griffiths et al. Sep 2001 B1
6292832 Shah et al. Sep 2001 B1
6317778 Dias et al. Nov 2001 B1
6339595 Rekhter et al. Jan 2002 B1
6341309 Vaid et al. Jan 2002 B1
6415323 McCanne et al. Jul 2002 B1
6426955 Gossett Dalton, Jr. et al. Jul 2002 B1
6434606 Borella et al. Aug 2002 B1
6438592 Killian Aug 2002 B1
6446028 Wang Sep 2002 B1
6452950 Ohlsson et al. Sep 2002 B1
6463454 Lumelsky et al. Oct 2002 B1
6522627 Mauger Feb 2003 B1
6526056 Rekhter et al. Feb 2003 B1
6538416 Hahne et al. Mar 2003 B1
6556582 Redi Apr 2003 B1
6601098 Case et al. Jul 2003 B1
6608841 Koodli Aug 2003 B1
6611872 McCanne Aug 2003 B1
6614789 Yazdani et al. Sep 2003 B1
6625648 Schwaller et al. Sep 2003 B1
6631419 Greene Oct 2003 B1
6633640 Cohen et al. Oct 2003 B1
6661797 Goel et al. Dec 2003 B1
6687229 Kataria et al. Feb 2004 B1
6707824 Achilles et al. Mar 2004 B1
6711137 Klassen et al. Mar 2004 B1
6711152 Kalmanek, Jr. et al. Mar 2004 B1
6714549 Phaltankar Mar 2004 B1
6728484 Ghani Apr 2004 B1
6728777 Lee et al. Apr 2004 B1
6728779 Griffin et al. Apr 2004 B1
6748426 Shaffer et al. Jun 2004 B1
6757255 Aoki et al. Jun 2004 B1
6760775 Anerousis et al. Jul 2004 B1
6766381 Barker et al. Jul 2004 B1
6795399 Benmohamed et al. Sep 2004 B1
6795860 Shah Sep 2004 B1
6801502 Rexford et al. Oct 2004 B1
6810417 Lee Oct 2004 B2
6819662 Grover et al. Nov 2004 B1
6820133 Grove et al. Nov 2004 B1
6829221 Winckles et al. Dec 2004 B1
6836463 Garcia-Luna-Aceves et al. Dec 2004 B2
6839751 Dietz et al. Jan 2005 B1
6885641 Chan et al. Apr 2005 B1
6909700 Benmohamed et al. Jun 2005 B1
6912222 Wheeler et al. Jun 2005 B1
6956858 Hariguchi et al. Oct 2005 B2
6963575 Sistanizadeh et al. Nov 2005 B1
6973490 Robertson et al. Dec 2005 B1
6981055 Ahuja et al. Dec 2005 B1
6993584 Border et al. Jan 2006 B2
7002917 Saleh Feb 2006 B1
7020086 Juttner et al. Mar 2006 B2
7043541 Bechtolsheim et al. May 2006 B1
7043562 Dally et al. May 2006 B2
7065584 Shavitt et al. Jun 2006 B1
7111073 Jain et al. Sep 2006 B1
7123620 Ma Oct 2006 B1
20010010059 Burman et al. Jul 2001 A1
20010026537 Massey Oct 2001 A1
20010037311 McCoy et al. Nov 2001 A1
20020038331 Flavin Mar 2002 A1
20020087687 Zaifman et al. Jul 2002 A1
20020124100 Adams Sep 2002 A1
20020152318 Menon et al. Oct 2002 A1
20030016770 Trans et al. Jan 2003 A1
20030191841 DeFerranti et al. Oct 2003 A1
20050185654 Zadikian et al. Aug 2005 A1
20050201302 Gaddis et al. Sep 2005 A1
Foreign Referenced Citations (28)
Number Date Country
0 504 537 Mar 1991 EP
0528 075 Feb 1993 EP
0 788 267 Aug 1997 EP
0 598 969 Feb 1999 EP
0 942 560 Sep 1999 EP
0 977 456 Feb 2000 EP
0 982 901 Mar 2000 EP
0 999 674 May 2000 EP
9408415 Apr 1994 WO
9906913 Feb 1999 WO
9914907 Mar 1999 WO
9914931 Mar 1999 WO
9914932 Mar 1999 WO
9918751 Apr 1999 WO
9930460 Jun 1999 WO
9939481 Aug 1999 WO
0004458 Jan 2000 WO
WO 0025224 Apr 2000 WO
WO 0038381 Jun 2000 WO
0045560 Aug 2000 WO
0052906 Sep 2000 WO
0062489 Oct 2000 WO
0072528 Nov 2000 WO
0079362 Dec 2000 WO
0079730 Dec 2000 WO
0106717 Jan 2001 WO
0113585 Feb 2001 WO
WO 02033896 Apr 2002 WO
Related Publications (1)
Number Date Country
20020129161 A1 Sep 2002 US
Provisional Applications (2)
Number Date Country
60241450 Oct 2000 US
60275206 Mar 2001 US