throbber
USOO7336618B2
`
`(12) United States Patent
`Bennett
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,336,618 B2
`Feb. 26, 2008
`
`(54) METHOD FOR MONITORING
`PERFORMANCE OF NETWORK USING IP
`MEASUREMENT PROTOCOL PACKETS
`
`(75) Inventor: y style Russell Bennett, Sudbury,
`
`(*) Notice:
`
`(73) Assignee: General Instrument Corporation,
`Horsham, PA (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 848 days.
`(21) Appl. No.: 10/648,552
`(22) Filed:
`Aug. 25, 2003
`
`(65)
`
`Prior Publication Data
`US 2004/OO95926 A1
`May 20, 2004
`
`Related U.S. Application Data
`(60) Provisional application No. 60/421,303, filed on Oct.
`25, 2002.
`
`(51) Int. Cl.
`(2006.01)
`H04L 2/26
`(2006.01)
`H04L 12/28
`(52) U.S. Cl. ....................................... 370/252; 370/389
`
`
`
`(56)
`
`(58) Field of Classification Search ..................... None
`See application file for complete search history.
`References Cited
`U.S. PATENT DOCUMENTS
`6,978,223 B2 * 12/2005 Milliken ..................... TO2, 182
`2004/0062267 A1* 4/2004 Minami et al. ............. 370/463
`2005/00890 16 A1* 4/2005 Zhang et al. ............... 370,351
`OTHER PUBLICATIONS
`McGregor, IPMP draft-mcgregor-ipmp-00.txt, Feb. 2002.*
`* cited by examiner
`Primary Examiner Huy D. Vu
`Assistant Examiner—Clemence Han
`(74) Attorney, Agent, or Firm—Larry T. Cullen
`
`(57)
`ABSTRACT
`The practice and need for active network measurement is
`well established, however, current tools are not well suited
`to this task, mostly because the protocols which they employ
`have not been designed for measurement of the modem
`Internet. The IP Measurement Protocol (IPMP) is based on
`packet-probes, and is designed to allow routers to participate
`in measurements by the insertion of path information as the
`probe passes between a pair of hosts.
`
`20 Claims, 12 Drawing Sheets
`
`receiving an IPMP packet constructed by a
`measurement host, which PMP packet includes
`instructions for a recipient of the PMP packet
`
`examining a contents of the PMP packet for
`instructions before forwarding the PMP packet by a
`network device
`
`processing the PMP packet in accordance with the
`instructions
`
`Cloudflare - Exhibit 1071, page 1
`
`

`

`U.S. Patent
`
`Feb. 26, 2008
`
`Sheet 1 of 12
`
`US 7,336,618 B2
`
`FIG 1
`
`measurement host constructs an iPMP request
`packet, in so doing sets all words from end of data
`field to end of echo request packet to zero; echo
`request packet includes instructions for recipient
`
`13
`
`14
`
`When PMP echo reply packet arrives checksum is
`recomputed
`
`
`
`YE
`
`
`sissinceschecksum Correct?
`
`discard PMP
`echo reply packet
`
`
`
`
`
`
`
`Analyze echo reply
`packet for performance
`information
`
`Cloudflare - Exhibit 1071, page 2
`
`

`

`U.S. Patent
`
`Feb. 26, 2008
`
`Sheet 2 of 12
`
`US 7,336,618 B2
`
`FIG 2
`
`21
`
`22
`
`When a host receives a packet with the PMP
`packet option packet type field set to Echo Redirect
`Request, host acts as redirecting measurement host
`
`YES
`
`
`
`Does Echo
`Redirect Request packet include Redirect
`Options data section
`
`NO
`return packet to original measurement host with
`Error Return section with error value indicating
`Missing Required Data Elements
`
`24
`
`
`
`
`
`
`
`Does
`Host require authenticated
`edirect requests
`
`23
`YES
`
`NO
`
`
`
`
`
`
`
`S
`Security Option
`aid
`NO
`return packet to origina
`measurement host with
`Error Return section
`indicating Security Option
`Rejected
`
`
`
`
`
`Construct New PMP
`Echo Request Packet
`(see FIG 3)
`
`cho Redirect Reques
`packet include Redirect
`Security Option data
`Section?
`
`25
`
`return packet to origina
`measurement host with
`Error Return section
`
`26
`
`Cloudflare - Exhibit 1071, page 3
`
`

`

`U.S. Patent
`
`Feb. 26, 2008
`
`Sheet 3 of 12
`
`US 7,336,618 B2
`
`FIG 3
`
`30
`
`Copy fields from Redirect Options data section
`element of original packet into header
`
`insert Redirection Host identification Data data
`section element, if needed
`
`Copy Measurement Host identification Data data
`section element, if present, in original packet into
`new packet
`
`Copy Source Address and Port from original packet
`into an Original Sender data section element
`
`Set IPMP packet Options, Packet Type field to
`Redirected Echo Request
`
`zero remainder of packet
`
`set Path Pointer
`
`compute PMP packet checksum
`
`stop
`
`31
`
`32
`
`33
`
`34
`
`35
`
`36
`
`37
`
`38
`
`Cloudflare - Exhibit 1071, page 4
`
`

`

`U.S. Patent
`
`Feb. 26, 2008
`
`Sheet 4 of 12
`
`US 7,336,618 B2
`
`FIG 4
`
`
`
`When a host receives a packet with the PMP
`packet option packet type field with a value
`indicating a Redirected Echo Reply packet, the host
`acts as a redirecting measurement host
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Does
`host require authenticated redirect
`requests?
`
`Redirected Echo
`Reply packet include
`Redirect Security Option
`data
`section
`
`edirected Echo Rep
`packet include Original
`
`
`
`zero out any path
`records present and
`return packet to echo
`host with Error Return
`section indicating
`Security Option Required
`
`NO
`
`Security Option
`
`return packet to echo
`host with a Error Return
`section indicating
`Security Option Rejected
`
`Copy Original Sender
`Address/Port to
`Destination. Address and
`Port fields of header
`
`return packet to echo host
`with error value indicating
`Missing Required Data
`Elements
`
`PMP packet option Packet Type field to value indicating an Echo Redirect
`Reply packet
`
`Set PMP packet option Record Path Record field to 0
`
`Set TTL based on PMP packet option Reverse Path TL
`field
`
`Cloudflare - Exhibit 1071, page 5
`
`

`

`U.S. Patent
`
`Feb. 26, 2008
`
`Sheet 5 of 12
`
`US 7,336,618 B2
`
`FIG 5
`
`
`
`
`
`On receipt of the PMP Echo Request packet the
`echoing system constructs the echo reply packet
`from the echo request packet by:
`
`51
`
`52
`
`data section with value
`indicating Bad Checksum,
`may require moving any
`path records already
`present or drop the packet.
`
`
`
`optionally inserting a
`path record
`
`toggle value of Record
`Path Record field of
`PMP packet options
`
`swap the values of the
`Faux Source Destination
`Port fields
`
`Set the Packet Type field
`
`d
`
`to 5
`
`ls Checksum Valid?
`
`SPP
`packet option Toggle Record
`Path set to 12
`
`5.3a
`
`NC
`
`ls
`PMP packet option Swap Faux
`Ports Set to 17
`
`YES
`
`55
`
`NO
`
`ls
`the Packet Type field set
`to 0?
`YES
`
`56
`
`NO
`
`YES
`
`
`
`
`
`
`
`S
`the Packet Type field set
`to 4?
`
`
`
`
`
`schedule the packet for
`forwarding taking
`F
`account of the Faux P
`type field if appropriate.
`
`59C
`
`set TTL according to
`Reverse Path TTL option
`
`59a
`
`calculate the PMP
`packet checksum
`
`
`
`
`
`53b
`
`53C
`
`55
`
`57
`
`b 58
`
`
`
`
`
`
`
`59b
`
`Cloudflare - Exhibit 1071, page 6
`
`

`

`U.S. Patent
`
`Feb. 26, 2008
`
`Sheet 6 of 12
`
`US 7,336,618 B2
`
`FIG 6
`
`
`
`
`
`
`
`
`
`receiving an PMP packet constructed by a
`measurement host, which PMP packet includes
`instructions for a recipient of the PMP packet
`
`61
`
`examining a contents of the IPMP packet for
`instructions before forwarding the PMP packet by a
`network device
`
`processing the PMP packet in accordance with the
`instructions
`
`62
`
`63
`
`Cloudflare - Exhibit 1071, page 7
`
`

`

`U.S. Patent
`
`Feb. 26, 2008
`
`Sheet 7 of 12
`
`US 7,336,618 B2
`
`FIG 7
`transmitting from a measurement host to a first remote
`network device an PMP packet requesting a
`measurement test of a link between the first remote
`network device and a second remote network device
`
`
`
`receiving by the first remote network device the PMP
`measurement test request packet;
`
`
`
`performing a measurement test of the link between the
`first remote network device and the second remote
`network device by sending an IPM Predirected echo
`request packet to the second remote network device
`from the first remote network device
`
`71
`
`72
`
`73
`
`receiving an PMP redirected echo request packet by
`the second remote network device, which includes
`instructions for a recipient of the PMP redirected echo
`request packet, and creating an IPMP echo reply
`packet and including related information in the PMP
`echo reply packet based on the instructions in the PMP 74
`redirected echo request packet
`
`processing an PMP echo reply packet received by the
`first remote network device
`
`forwarding information included in the PMP echo reply
`packet to the measurement host
`
`75
`
`76
`
`Cloudflare - Exhibit 1071, page 8
`
`

`

`U.S. Patent
`
`Feb. 26, 2008
`
`Sheet 8 of 12
`
`US 7,336,618 B2
`
`FIG 8
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`receiving by a first remote network device an IPMP
`packet, which includes an address of a measurement
`host device as a source address, an address of a first
`remote network device as a destination address, a flag
`indicating the PMP packet is a redirection request
`packet, and a predetermined field with an address of a
`second remote network device as a redirection address
`to which the PMP packet is to be redirected
`
`81
`
`relabeling by the first remote network device, upon
`receipt of the PMP packet and before forwarding the
`PMP packet, the source address of the PMP packet
`with the address of the first remote network device
`
`82
`
`relabeling by the first remote network device, upon
`receipt of the PMP packet and before forwarding the
`IPMP packet, the destination address of the PMP
`packet with the address of the second remote network
`device
`
`83
`
`responding to the relabeled PMP packet by the second
`network device by sending a reply PMP packet to the
`first remote network device by exchanging the source
`address of the received PMP packet and the
`destination address of the received PMP packet in the
`reply IPMP packet
`
`receiving the rep
`network device and relabeling a destination address of
`the reply IPMP packet with the address of the
`measurement host device before forwarding the reply
`PMP packet to the measurement host device
`
`84
`
`85
`
`Cloudflare - Exhibit 1071, page 9
`
`

`

`U.S. Patent
`
`Feb. 26, 2008
`
`Sheet 9 of 12
`
`US 7,336,618 B2
`
`FIG 9
`
`90
`
`creating an Internet Protocol Measurement Protocol
`(PMP) packet by a measurement host
`
`including in the PMP packet in a predetermined
`field a start time to live value and a time to live value
`
`encapsulating the IPMP packet in an IP datagram
`and a predetermined link layer protocol and sending
`the PMP packet into the network from the
`measurement host
`
`decrementing the start time to live value by a
`recipient device of the PMP packet
`
`
`
`
`
`
`
`forward packet to a next
`network device
`
`95
`
`YES
`
`decrementing the time to live value by the recipient
`device of the PMP packet
`
`
`
`
`
`initiating one or more predetermined actions at one
`or more subsequent recipients of the PMP packet
`
`
`
`91
`
`92
`
`93
`
`94
`
`97
`
`98
`
`Cloudflare - Exhibit 1071, page 10
`
`

`

`U.S. Patent
`
`Feb. 26, 2008
`
`Sheet 10 of 12
`
`US 7,336,618 B2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`creating an IPMP packet by a measurement host
`
`
`
`including an instruction in the PMP packet to a
`recipient to process data included in a
`predetermined field in the PMP packet as a data
`packet
`
`encapsulating the PMP packet in an IP datagram
`and a predetermined link layer protocol and sending
`the PMP packet into the network from the
`measurement host
`
`identifying the PMP packet upon receipt by a
`recipient network device and examining a contents
`of the PMP packet for instructions before forwarding
`the PMP packet by the recipient network device
`
`101
`
`102
`
`103
`
`104
`
`
`
`106
`
`
`
`
`
`
`
`processing a contents of the
`predetermined field of the IPMP
`packet as a data packet
`
`Does
`recipient's address
`match destination
`address?
`
`105
`
`processing the IPMP packet as a measuremen
`packet
`
`
`
`Cloudflare - Exhibit 1071, page 11
`
`

`

`U.S. Patent
`
`Feb. 26, 2008
`
`Sheet 11 of 12
`
`US 7,336,618 B2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`creating an IPMP packet by a measurement host
`
`including in the PMP packet instructions for a
`recipient of the PMP packet, which instructions
`includes an instruction to a recipient to process the
`PMP packet in accordance with an actual packet
`type and an actual port number included in a first
`and second predetermined location, respectively,
`rather than a faux packet type and a faux port
`number that are included in the actual packet type
`and actual port number fields, respectively
`
`inserting in a packet type field in the PMP packet an
`identification indicating the PMP packet is a faux
`packet type
`
`inserting in a port number field in the PMP packet a
`faux port number, inserting in a first predetermined
`field in the PMP packet an actual packet type, and
`inserting in a second predetermined field in the
`PMP packet an actual port number
`
`encapsulating the PMP packet in an IP datagram
`and a predetermined link layer protocol and sending
`the PMP packet into the network from the
`measurement host.
`
`111
`
`12
`
`113
`
`114
`
`115
`
`Cloudflare - Exhibit 1071, page 12
`
`

`

`U.S. Patent
`
`Feb. 26, 2008
`
`Sheet 12 of 12
`
`US 7,336,618 B2
`
`Network B
`
`21
`
`
`
`126
`
`Cloudflare - Exhibit 1071, page 13
`
`

`

`US 7,336,618 B2
`
`1.
`METHOD FORMONITORING
`PERFORMANCE OF NETWORK USING IP
`MEASUREMENT PROTOCOL PACKETS
`
`2
`mitting packet data over a public computer network using
`Internet Protocol, as well as monitoring and testing these
`computer networks.
`
`STATEMENT OF RELATED APPLICATIONS
`
`5
`
`BACKGROUND
`
`10
`
`A previous method for sending test packets over a com
`puter network was mostly designed for use in an academic
`setting. As such, this method did not provide for centralized
`monitoring and did not provide mechanisms to Support use
`in a commercial environment. An Existing Internet Protocol
`Measurement Protocol (IPMP) involved having hosts and
`routers place timestamps in packets as they were forwarded,
`but did not provide a sufficiently rich set of methods for
`controlling the recording of timestamps or for providing
`information about the timestamps that would be needed in a
`commercial network.
`The present invention is therefore directed to the problem
`of developing a method and apparatus for enabling routers
`and other network devices to provide measurement infor
`mation to permit proper characterization of a computer
`network.
`
`SUMMARY OF THE INVENTION
`
`The present invention solves these and other problems by
`providing inter alia a method for monitoring propagation
`delays and other properties of paths in Internet Protocol (IP)
`networks. One embodiment of this method includes an
`Internet Protocol Measurement Protocol (IPMP) as aug
`mented and revised herein.
`One exemplary embodiment of the IP Measurement Pro
`tocol (IPMP) of the present invention provides several
`powerful capabilities, including:
`1. Redirection capability, which provides the capability to
`send a packet from a central location to a second host, and
`have that second host re-direct or transmit a measurement
`packet to a third host, receive the reply packet and
`forward the result to the first host.
`2. A Start Time to Live capability, which prevents measure
`ments from being taken until the Time to Live (TTL)
`counter reaches a certain value, which allows for mea
`Surement of very long paths or use of very short packets,
`in which it is not possible to fit all the measurement
`records into a single measurement packet.
`3. The Information Request Proxy, which allows assignment
`of certain information request tasks to a third party. The
`original IPMP required that Information Request packets
`(which were used to get additional information) had to be
`sent to the same location that inserted the measurement
`records. Many ISPs might not want users talking to their
`routers (or some devices may not have addressable IP
`addresses as they share a common IP address with one or
`more other devices, or exist behind firewalls, etc.) so this
`aspect of the present invention provides for designation of
`an Information Proxy that can respond for Such devices,
`and the ability to place the proxy's address along with the
`routers address into the timestamp.
`4. Timestamp qualifying information capability in the times
`tamp. The present invention provides additional informa
`tion about how and where the timestamp was inserted,
`along with information about the clock source to allow the
`timestamp to be used without having to make any Infor
`mation Requests. This capability makes the IPMP more
`useful for certain applications and protocols that do not
`need to send extra messages to be able to use the results.
`
`This application claims the benefit of priority to U.S.
`Provisional Patent Application No. 60/421,303, filed Oct.
`25, 2002, entitled “IP Measurement Protocol.”
`This application is also related to copending U.S. patent
`application Ser. No. 10/648,724, entitled “Method And
`Apparatus For Testing An IP Network, filed concurrently
`herewith by the same inventor and assigned to the same
`assignee, which application is hereby incorporated by ref
`erence as if repeated herein in its entirety, including the 15
`drawings.
`This application is also related to copending U.S. patent
`application Ser. No. 10/648,622, entitled “Method For Per
`forming Remote Testing Of Network Using IP Measurement
`Protocol Packets, filed concurrently herewith by the same
`inventor and assigned to the same assignee, which applica
`tion is hereby incorporated by reference as if repeated herein
`in its entirety, including the drawings.
`This application is also related to copending U.S. patent
`25
`application Ser. No. 10/648,690, entitled “Method For
`Enabling Initiation Of Testing Of Network Using IP Mea
`surement Protocol Packets.” filed concurrently herewith by
`same inventor and assigned to the same assignee, which
`application is hereby incorporated by reference as if
`repeated herein in its entirety, including the drawings.
`This application is also related to copending U.S. patent
`application Ser. No. 10/648,682, entitled “Method For Con
`verting An IP Measurement Protocol To A Data Packet,”
`filed concurrently herewith by the same inventor and
`assigned to the same assignee, which application is hereby
`incorporated by reference as if repeated herein in its entirety,
`including the drawings.
`This application is also related to copending U.S. patent
`application Ser. No. 10/648,549, entitled “Method For
`Enabling Non-Predetermined Testing Of Network Using IP
`Measurement Protocol Packets, filed concurrently herewith
`by the same inventor and assigned to the same assignee,
`which application is hereby incorporated by reference as if
`repeated herein in its entirety, including the drawings.
`This application is also related to copending U.S. patent
`application Ser. No. 10/648,866, entitled “Method For Using
`Different Packet Type And Port Options Values. In An IP
`Measurement Protocol Packet From Those Used To Process
`The Packet,” filed concurrently herewith by the same inven- so
`tor and assigned to the same assignee, which application is
`hereby incorporated by reference as if repeated herein in its
`entirety, including the drawings.
`This application is also related to copending U.S. patent
`application Ser. No. 10/694,632, entitled “Use Of Synchro- ss
`nized Clocks To Provide Input And Output Time Stamps For
`Performance Measurement Of Traffic Within A Communi
`cations System, filed Oct. 27, 2003 by at least one of the
`same inventors and assigned to the same assignee, which
`application is hereby incorporated by reference as if 60
`repeated herein in its entirety, including the drawings.
`
`30
`
`35
`
`40
`
`45
`
`FIELD OF THE INVENTION
`
`The present invention is directed to methods and appa- 65
`ratuses for transmitting packet data over computer networks,
`and more particularly to a method and apparatus for trans
`
`Cloudflare - Exhibit 1071, page 14
`
`

`

`3
`5. No timestamp mode capability, which allows for simply
`collecting IP addresses without timestamps, e.g., allows
`the IPMP to be used in place of Traceroute (http://
`www.freesoft.org/CIE/Topics/54.htm, http://www.nwfu
`sion.com/archive/1999b/0712gearhead.html ) as a more
`efficient way of finding out of about the path between two
`points.
`According to another aspect of the present invention,
`while the embodiments of the various inventions herein are
`described for Internet Protocol version 4 (IPv4), the embodi
`ments of the various inventions herein are equally applicable
`to Internet Protocol version 6 (IPv6), which has a different
`format for the packet header. The same may be true for
`subsequent versions of Internet Protocol as well.
`According to another aspect of the present invention, one
`embodiment of the IP Measurement Protocol provides that
`a regular data packet be replaced with an IPMP packet,
`which includes in one of the data sections extensions the
`data that would have been in the regular protocol packet,
`plus a flag that says “take this data out and process this data
`as if this data had been the only contents of a non-IPMP
`packet, where the faux ports and packet type were the real
`ports and packet type.” As such, a router or other similar
`device would then process the packet accordingly.
`According to still another aspect of the present invention,
`one embodiment of the IP Measurement Protocol provides
`that instead of using a different packet type, the protocol
`may be carried in Internet Protocol version six (IPv6) header
`extensions. This embodiment takes advantage of certain
`provisions in IPv6 for inserting optional features into
`“header extensions” between the header and the data portion
`of the packet.
`According to yet another aspect of the present invention,
`one embodiment of an IP Measurement Protocol provides a
`more explicit method of requesting information from routers
`along a path traversed by a packet rather than a single flag
`that says: “give me everything.” According to this embodi
`ment, the protocol provides a larger field, or extendable
`field, that permits one to request particular information items
`explicitly.
`Other aspects of the present invention will be apparent to
`those reviewing the following drawings in light of the
`specification.
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`45
`
`FIG. 1 depicts an exemplary embodiment of a method for
`performing a measurement of a remote host by using an
`Internet Protocol Measurement Protocol (IPMP) packet
`according to one aspect of the present invention.
`FIG. 2 depicts an exemplary embodiment of a method for
`responding to an IPMP redirection request packet sent from
`a measurement host according to another aspect of the
`present invention.
`FIG.3 depicts an exemplary embodiment of a method for
`constructing an IPMP echo request packet as part of a
`response to an IPMP redirection request packet from a
`measurement host according to yet another aspect of the
`present invention.
`FIG. 4 depicts an exemplary embodiment of a method for
`responding to an IPMP echo reply packet sent in response to
`an IPMP echo request packet, which itself was created as a
`result of an IPMP redirection request packet from a mea
`Surement host, according to still another aspect of the
`present invention.
`FIG. 5 depicts an exemplary embodiment of a method for
`responding to an IPMP echo request packet, which itself was
`
`50
`
`55
`
`60
`
`65
`
`US 7,336,618 B2
`
`4
`created as a result of an IPMP redirection request packet
`from a measurement host, according to yet another aspect of
`the present invention.
`FIG. 6 shows an exemplary embodiment of a process for
`employing packets sent using the Internet Measurement
`Protocol of the present invention for measuring performance
`of particular links in a network according to still another
`aspect of the present invention.
`FIG. 7 shows an exemplary embodiment of a method for
`performing a remote test of a link between a first remote
`network device and a second remote network device by a
`measurement host according to still another aspect of the
`present invention.
`FIG.8 shows another exemplary embodiment of a method
`for performing a remote test of a link between two remote
`network devices from a measurement host device according
`to yet another aspect of the present invention.
`FIG. 9 shows an exemplary embodiment of a method for
`using the Start Time to Live capability according to yet
`another aspect of the present invention.
`FIG. 10 shows an exemplary embodiment of a process for
`using the IP Measurement Protocol to transmit regular data
`packets according to still another aspect of the present
`invention.
`FIG. 11 shows an exemplary embodiment of a method for
`creating an IPMP packet with a faux port according to yet
`another aspect of the present invention.
`FIG. 12 shows an exemplary embodiment of an apparatus
`for sending and receiving Internet Protocol Measurement
`Protocol (IPMP) packets for measuring performance of
`various links in a computer network, Such as a link between
`a first remote network device and a second remote network
`device, according to still another aspect of the present
`invention.
`
`DETAILED DESCRIPTION
`
`It is worthy to note that any reference herein to “one
`embodiment' or “an embodiment’ means that a particular
`feature, structure, or characteristic described in connection
`with the embodiment is included in at least one embodiment
`of the invention. The appearances of the phrase “in one
`embodiment in various places in the specification are not
`necessarily all referring to the same embodiment.
`One application of the present invention is for perfor
`mance measurement of traffic through the Motorola Broad
`band Service Router (BSR) 64000.
`The present invention can be used to demonstrate to
`Multiple System Operators (MSOs) that BSR delivers prom
`ised Quality of Service (QoS) guarantees. MSOs can use to
`show to subscribers that the MSOS network has delivered
`promised QoS guarantees. This capability allows a hardware
`developer and its customers to prove they are delivering
`advanced services, not just making marketing claims.
`One additional capability includes the ability to redirect
`the packet multiple times, for example, to be able to send it
`out through a firewall and have the packet or echo come
`back through the firewall. FIG. 12 shows an exemplary
`embodiment 120 of an apparatus for sending and receiving
`Internet Protocol Measurement Protocol (IPMP) packets for
`measuring performance of various links in a computer
`network, such as a link between a first remote network
`device 123 and a second remote network device 126. The
`measurement host 121 sends an IPMP packet to the first
`remote network device 123 via network A 122. The first
`network device in turn sends an IPMP packet to the second
`remote network device 126 via network B 124. The second
`
`Cloudflare - Exhibit 1071, page 15
`
`

`

`US 7,336,618 B2
`
`5
`remote network device 126 may be behind a firewall 125 or
`a network address translation device.
`A measurement host 121 includes at least a processor and
`a memory. The processor prepares the IPMP packets as
`described above and forwards them to remote devices over
`a first network 122, of which remote devices the processor
`is attempting to determine the performance.
`Furthermore, the present invention includes a computer
`readable media having instructions encoded thereon to cause
`a network device. Such as a server, router, hub, terminal, or
`processor to perform the methods and processes described
`herein.
`Another additional feature adds security option fields for
`allowing the IPMP packets to pass through firewalls by
`putting in a security option that the firewall could use to
`authenticate the packet before allowing the packet to pass
`the same way that the redirecting host does.
`
`5
`
`10
`
`15
`
`6
`(element 61) examines a contents of the IPMP packet for
`instructions for the recipient before forwarding the IPMP
`packet (element 62), and then processes the IPMP packet in
`accordance with the instructions, if any (element 63).
`The protocol has been designed so measurement packets
`can be processed with about the same level of computation
`as IP packet forwarding. The protocol is intended to allow
`for easy implementation in hardware/firmware so as to
`provide for highly accurate measurements. It should be
`noted that only the TTL and Timestamp fields in the Path
`Records are dynamic, all the other fields are likely to be the
`same for all the Path Records inserted at a particular
`Stamping location.
`The IPMP has a number of options to allow it to measure
`a number of different properties of the links and devices on
`a path between two endpoints. It is intended that it should be
`practical to process IPMP packets in the same forwarding
`path as normal (non-IPMP) packets without any (significant)
`performance impact. To achieve this it is anticipated that a
`device will pre-compute all but one or two of the compo
`nents of the path record and insert Some combination of
`these components based on the options field of the packet.
`The option fields of the IPMP request packet are defined
`with the objective of allowing a forwarding device to
`determine what, if any, path records should be inserted with
`the minimum amount of logic complexity.
`Remote Measurement
`There are many applications of the IP Measurement
`Protocol where it is sufficient to be able to perform mea
`Surements only on paths originating with the measurement
`host. However, there are also applications, protocols and
`users/operators that would be served by being able to
`measure the properties along paths that originate at hosts
`other than their own.
`Some straightforward examples of Such non-local mea
`surement would be ISP operators wishing to monitor their
`customer's link quality to be able to demonstrate they have
`provided an agreed upon level of service. While the same
`customer may wish to have a third party organization
`perform the same monitoring to provide the customer with
`the same assurances, particularly if their traffic crosses
`multiple provider networks.
`An example of an application/protocol use for non-local
`monitoring might be client copy multicast trees. The source
`of the multicast tree could measure path properties not only
`between the source and the receivers but also from receiver
`to receiver and reform the tree based on the measured
`properties of the paths between the different receivers.
`To avoid hosts having to run many different client/server
`processes for each different entity that wishes to perform
`remote measurement, and to provide a common security
`framework IPMP provides a mechanism to support a remote
`measurement function.
`To make it possible to perform measurements, from a
`remote location, of paths that do not start or end at that
`location, the IPMP provides a mechanism for allowing
`redirection of the IPMP packet. This mechanism provides
`hooks to support methods for authenticating IPMP packets
`to prevent the unauthorized use of the redirection function.
`FIG. 7 shows an exemplary embodiment of a method 70
`for performing a remote test of a link between a first remote
`network device and a second remote network device by a
`measurement host. The measurement host begins the test by
`transmitting to a first remote network device an IPMP packet
`requesting a measurement test of a link between the first
`remote network device and a second remote network device
`
`IP Measurement Protocol (IPMP)
`
`Introduction
`The practice and need for active network measurement is
`well established, however, current tools are not well suited
`to this task, mostly because the protocols which they employ
`have not been designed for measurement of the modem
`Internet.
`ICMP for example, is widely used for measurement
`despite its well-known limitations for this task. These limi
`tations include it being treated differently than other IP
`protocols at routers and hosts. ICMP has also received bad
`press from denial of service attacks and because of the
`number of sites generating monitoring traffic. As a conse
`quence some ISPs disable ICMP even though this potentially
`causes poor performance and does not comply with
`RFC 1009.
`The protocol of the present invention operates as an echo
`protocol allowing packet loss, path length, route, RTT and in
`Some cases, one-way delay measurements to be taken.
`Packets are generated by a measurement host and returned
`by an echoing router or host, known as an echoing system
`herein. The translation of router time stamps to real-time
`time stamps is Supported through a separate information
`request and reply exchange between the measurement sys
`tem and systems that insert time

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket