`
`(12) United States Patent
`US 6,975,617 132
`(10) Patent N0.:
`Walker et al.
`Dec. 13, 2005
`(45) Date of Patent:
`
`(54)
`
`(75)
`
`NETWORK MONITORING SYSTEM WITH
`BUILT-IN MONITORING DATA GATHERING
`
`Inventors: Richard C. Walker, Palo Alto, CA
`(US); Bharadwaj Amrutur, Santa
`Clara, CA (US); Peter Mottishaw, West
`Lothian (GB); C. Steven Joiner,
`Cupertino, CA (US); Larry A. Chesler,
`Loveland, CA (US); Ian Hardcastle,
`Sunnyvale, CA (US)
`
`(73)
`
`Assignee: Agilent Technologies, Inc., Palo Alto,
`CA (US)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 880 days.
`
`(21)
`
`Appl. No.: 09/816,605
`
`(22)
`
`Filed:
`
`Mar. 23, 2001
`
`(65)
`
`(60)
`
`(51)
`(52)
`
`(58)
`
`(56)
`
`Prior Publication Data
`
`US 2001/0039580 A1
`
`Nov. 8, 2001
`
`Related US. Application Data
`
`Provisional application No. 60/201,614, filed on May
`3, 2000.
`
`Int. Cl.7 ................................................. H04J 3/24
`US. Cl
`...................... 370/349; 370/355; 370/390;
`370/471
`Field of Search ................................ 370/252, 242,
`370/253, 349, 352, 353, 354, 355, 389, 390,
`370/392, 401, 400
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,646,941 A *
`5,787,253 A
`5,793,976 A
`5,812,528 A
`
`7/1997 Nishimura et al.
`7/1998 McCreery et al.
`8/1998 Chen et al.
`9/1998 VanDervort
`
`......... 370/389
`
`................. 370/252
`3/2002 Beigi et al.
`6,363,056 B1 *
`6,493,340 B1 * 12/2002 Kawanaka .................. 370/392
`FOREIGN PATENT DOCUMENTS
`
`EP
`
`0 477 448 A1
`
`4/1992
`
`OTHER PUBLICATIONS
`
`Miyaho, Noriharu et al., “ATM Switching Node System
`Technology for Effective Maintainabilty”, Global Telecom-
`munications Conference, 1995, IEEE Singapore Nov. 13-17,
`1995, pp. 1719-1723.
`
`* cited by examiner
`
`Primary Examiner—Chi Pham
`Assistant Examiner—Alexander O. Boakye
`(74) Attorney, Agent, or Firm—Ian Hardcastle
`
`(57)
`
`ABSTRACT
`
`The network monitoring system comprises a network router
`with built-in monitoring data gathering. The network router
`includes channels through which data pass in packets. Each
`of the packets includes a packet header. The network router
`additionally includes a header copier and a packet generator.
`The header copier generates a header copy from the packet
`header of at least some of the packets. The packet generator
`receives the header copies and forms monitoring data pack-
`ets from them. Each monitoring data packet additionally
`represents temporal data relating to the header copies
`included in it. A method of obtaining performance data
`relating to a data transmission network that includes a node
`passes data through the node in packets. Each of the packets
`includes a packet header. At least some of the packet headers
`are copied to obtain respective header copies as monitoring
`data from which monitoring data packets are formed. The
`monitoring data packets additionally represent temporal data
`relating to the header copies included in them. The moni-
`toring data packets are transmitted and the performance data
`are generated from the monitoring data contained in the
`monitoring data packets.
`
`32 Claims, 7 Drawing Sheets
`
`PASS DATA THROUGH NODE IN PACKETS THAT INCLUDE HEADERS
`
`
`
`402
`
`
`
`COPY AT LEAST SOME PACKET HEADERS TO OBTAIN
`RESPECTIVE HEADER COPIES AS MONITORING DATA
`
`404
`
`FORM FROM MONITORING DATA MONITORING DATA PACKETS THAT
`ADDITIONALLY REPRESENT TEMPORAL DATA RELATING TO HEADER
`COPIES INCLUDED THER EIN
`
`406
`
`
`
`
`
`
`TRANSMIT MONITORING DATA IN MONITORING DATA PACKETS
`
`GENERATE PERFORMANCE DATA FROM MONITORING DATA
`RECEIVED IN MONITORING DATA PACKETS
`
`408
`
`410
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 1
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 1
`
`
`
`US. Patent
`
`Dec. 13, 2005
`
`Sheet 1 0f 7
`
`US 6,975,617 B2
`
`CH CARD 1
`
`T0/
`FROM
`NET 0R
`USER
`
`CH CARD 2
`
`CH CARD 3
`
`CH CARD 4
`
`
`
`(PRIOR ART)
`
`" """""""""""""":22 """""""""25 """""
`
`
`
`
`TO/FROM
`NET
`0R USER
`
`
`
`ADDRESS
`
`MEMORY
`
`
`
`
`T0
`
`FROM
`
`BACK—
`PLANE
`
`FIG.1B
`(PRIOR ART)
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 2
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 2
`
`
`
`US. Patent
`
`Dec. 13, 2005
`
`Sheet 2 0f 7
`
`US 6,975,617 B2
`
`:TO/
`. FROM
`l BACK—
`: PLANE
`
`| | l I Il f |i | i l I
`
`
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 3
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 3
`
`
`
`US. Patent
`
`Dec. 13, 2005
`
`Sheet 3 0f 7
`
`US 6,975,617 B2
`
`177
`
`T0/FROM
`'DURX
`
`TU/FROM
`
`158
`
`
`218
`
`230
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 4
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 4
`
`
`
`US. Patent
`
`Dec. 13, 2005
`
`Sheet 4 0f 7
`
`US 6,975,617 B2
`
` ADDRESS
`MEMORY
`
`
`
`
`
`MON
`DATA
`OUT
`
`ADDRESS
`MEMORY
`
`______________________________________________
`
`
`
`
`
`TO/FHOM
`TX/HX
`
`
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 5
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 5
`
`
`
`US. Patent
`
`Dec. 13, 2005
`
`Sheet 5 0f 7
`
`US 6,975,617 B2
`
`ADDRESS
`MEMORY
`
`MEMORY
`
`ADDRESS
`
`PERE
`DADA
`OUT
`
`FIG.7
`
`UnmedEXMbfl1005
`Unified v. Olivistar
`Page6
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 6
`
`
`
`US. Patent
`
`Dec. 13, 2005
`
`Sheet 6 0f 7
`
`US 6,975,617 B2
`
`PASS DATA THROUGH NODE IN PACKETS THAT INCLUDE HEADERS
`
`
`
`402
`
`
`
`fl
`
`COPY AT LEAST SOME PACKET HEADERS TO OBTAIN
`RESPECTIVE HEADER COPIES AS MONITORING DATA
`
`404
`
`
`
`
`FORM FROM MONITORING DATA MONITORING DATA PACKETS THAT
`ADDITIONALLY REPRESENT TEMPORAL DATA RELATING TO HEADER
`COPIES INCLUDED THEREIN
`
`TRANSMIT MONITORING DATA IN MONITORING DATA PACKETS
`
`GENERATE PERFORMANCE DATA FROM MONITORING DATA
`RECEIVED IN MONITORING DATA PACKETS
`
`406
`
`408
`
`410
`
`BUILD DATA BASE OF MONITORING DATA RECEIVED IN
`MONITORING DATA PACKETS
`
`
`
`420
`
`
`
`ANALYZE MONITORING DATA IN DATA BASE TO GENERATE
`PERFORMANCE DATA RELATING TO NODE
`
`422
`
`
`
`
`FIG.BB
`
`RECEIVE ADDITIONAL DATA RELATING TO >=I ADDITIONAL NODE
`OF THE NETWORK—ADDITIONAL DATA INCLUDES EITHER OR BOTH
`MONITORING DATA AND PERFORMANCE DATA
`
`430
`
`
`
`ANALYZE MONITORING DATA AND ADDITIONAL DATA TO
`GENERATE PERFORMANCE DATA RELATING TO NETWORK
`
`432
`
`FIG.8C
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 7
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 7
`
`
`
`US. Patent
`
`Dec. 13, 2005
`
`Sheet 7 0f 7
`
`US 6,975,617 B2
`
`IDENTIFY ONES OF MONITORING DATA AND ADDITIONAL DATA INCLUDING
`HEADERS HAVING IDENTICAL SOURCE 8 DESTINATION ADDRESSES
`
`440
`
`
`GENERATE PERFORMANCE DATA FROM IDENTIFIED ONES 0F MONITORING DATA
`AND ADDITIONAL DATA. PERFORMANCE DATA RELATES TO PERFORMANCE OF
`
`CONNECTION THROUGH NETWORK BETWEEN SOURCE AND DESTINATION
`
`442
`
`FIG.8D
`
`GENERATE TIME STAMPS
`
`
`
`450
`
`
`
`
`INSERT >= OF TIME STAMPS INTO EACH OF THE
`
` 452
`MONITORING DATA PACKETS AS AT LEAST PART OF THE
`
`
`TEMPORAL DATA
`
`
`FIG.8E
`
`FORM EACH MONITORING DATA PACKET FROM THE
`
`
`
`HEADER COPIES OBTAINED DURING A PREDETERMINED
`
`INTERVAL OF TIME TO PROVIDE THE TEMPORAL DATA
`
`460
`
`FIG.8F
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 8
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 8
`
`
`
`US 6,975,617 B2
`
`This application claims benefit of provisional application
`60/201,614, filed May 3, 2000.
`
`5
`
`BACKGROUND OF THE INVENTION
`
`60
`
`1
`NETWORK MONITORING SYSTEM WITH
`BUILT-IN MONITORING DATA GATHERING
`
`2
`packet into one or more envelopes suitable for transmission
`through the router 10. For example, the envelopes may be
`packet-like structures having a fixed length.
`The PPE 22 additionally reads the destination address
`from the header of the packet and, using address data read
`from the address memory 24 determines a destination chan-
`nel in the router 10 for the envelopes derived from the
`packet. The PPE adds a header to each envelope indicating
`the address of the destination channel, and feeds the enve-
`Network routers control the flow 0f data traffic in net-
`works, between networks and between networks and end 10 lopes to the output queue 26. The output queue temporarily
`users. Basic information on routers and their use in networks
`stores the envelopes until they can be transmitted via the
`is disclosed by Radia Perlman in the book entitled INTER-
`backplane 14 to the destination channel.
`CONNECTIONS,
`the second edition 0f WhiCh was pub-
`In the destination channel, the PPE 22 regenerates the
`lished by Addison-Wesley in 1999.
`packets from their respective envelopes and feeds them to
`FIG. 1A shows the structure 0f a typical router 10. The 15 the transmitter/receiver 20, whence they are transmitted to
`router is composed 0f a number 0f Channel cards 12 con-
`the network or user. The packets may be stored in a transmit
`nected to the backplane 14. The channel cards receive
`queue (not shown) prior to transmission.
`packets of data from and transmit packets of data to the user
`The router architecture just described has a number of
`or the network. The channel cards additionally receive
`aspects that can limit its performance. For example; the
`packets of data from and transmit packets of data to the 20 internal queues can delay data through the router if the data
`backplane. The packets 0f data transmitted to or from the
`routes connected to the router are busy. Moreover, packets
`backplane differ from those transmitted to and from the
`can be lost if the quantity of data received for transmission
`network or user and will be called envelopes to distinguish
`to a given destination exceeds the quantity of data that can
`them.
`be transmitted to this destination. Lost or discarded packets
`The backplane 14 transmits envelopes 0f data received 25 are generally acceptable in a conventional data transmission
`from any of the channel cards 12 to a specific channel of any
`environment
`in which consequences of lost or delayed
`of the channel cards in accordance with a channel address
`packets are relatively minor. For example, the receiver can
`included in the header 0f the envelopes. The Channel card
`simply request that a lost packet be re-transmitted. However,
`determines the channel address in response to destination
`lost or delayed packets can be an issue for certain services,
`address data in the headers 0f the packets and address 30 such as when the network is used to transmit packets of
`information stored in the address table 16.The address table
`audio and video data, or when the network owner has
`is hierarchical and stores address information that indicates
`entered into a service level agreement in which a given
`the network or user connections made to each channel of the
`quality of service is guaranteed to a user.
`router 10. The address information is detailed with respect to
`It would be advantageous to increase the performance of
`the domains of users connected to the Channels and are more 35 the conventional router in a number of additionally aspects,
`general with respect to networks connected to the channels.
`for example:
`FIG. 1B shows details of the exemplary channel card 12.
`to provide a metering capability that does not seriously
`The channel card is composed of the transmitter/receiver 20,
`degrade the speed of the router. Such a capability would
`the packet processing engine (PPE) 22, the address memory
`enable a user connected to the router to be billed for the
`24 and the output queue buffer 26. More than one transmit- 40
`quantity of data transmitted or received from the net-
`ter/receiver may be connected to the packet processing
`work and could optionally additionally provide the
`engine, in which case the channel card handles more than
`customer with data indicating the quality of service
`one channel. In some applications, the transmitter/receiver
`provided;
`may be a transmitter only or a receiver only and the term
`to provide an enhanced capability for monitoring con-
`transmitter/receiver will be understood to cover all these 45
`formance with a service level agreement;
`possibilities.
`to provide an enhanced capability to police network traffic
`The transmitter/receiver (TX/RX) 20 transmits packets of
`and to reject attacks from hackers;
`data to, and receives packets of data from, the user or the
`to provide an ability to provide data for use in traffic
`network connected to it. The transmitter/receiver receives
`engineering. For example; to determine the need to
`packets of data for transmission from, and transmits received 50
`equip the network with additional or alternative hard-
`packets of data to, the paCket processing engine 22.
`ware to deal with increased traffic or changed traffic
`The address memory 24 stores all, or a subset of, the
`patterns; and
`address information stored in the address table 16 (FIG. 1A).
`to provide an ability to alter variable routing topologies to
`The address information is transferred from the address table
`take account of existing traffic. Conventionally, when
`to the address memory via the backplane 14 and the PPE 22. 55
`large quantities of data are distributed among multiple
`The address information indicates the network address of the
`routes,
`the routing pattern is fixed in advance and
`network device connected to each of the channels of the
`therefore cannot take into account the traffic sharing
`router 10. For example,
`the address information might
`each route. For example;
`round-robin sequencing
`indicate that a packet with a particular destination address
`between multiple routes is often used.
`should be transmitted to the m-th channel on channel card n.
`Akey to providing the above capabilities is to gather data
`The PPE 22 performs a framing operation on the data
`characterizing the data transmission performance of the
`stream received from the transmitter/receiver 20 to deter-
`router and of the network. Some routers include rudimentary
`mine the boundaries of the packets. Once the boundaries of
`systems for collecting monitoring data, but the monitoring
`the packets are determined, the PPE performs a header read
`data generated by such data collection systems have such a
`operation to read the header of each packet. The header 65 high granularity that bursty traffic is significantly under-
`includes data indicating the destination, in network terms, of
`recorded. It is bursty traffic that most seriously taxes the
`the packet and the length of the packet. The PPE inserts the
`transmission capabilities of a network. More sophisticated
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 9
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 9
`
`
`
`US 6,975,617 B2
`
`3
`monitoring data can be collected using external test devices,
`such as the test devices sold under the brand names acceSS7
`
`5
`
`the
`Inc.,
`and accessATM/IP by Agilent Technologies,
`assignee of this disclosure. However, such test devices are
`inconvenient to use because the interruption of the connec-
`tions between the channel cards of the router and the
`network or user. Moreover, such text devices are expensive
`since they duplicate a substantial portion of the circuitry of
`the router. It would be expensive to use such test devices to
`monitor the performance of the number of routers that would 10
`be required to provide an accurate picture of the network
`performance and to provide the above additional features.
`Thus, what is needed is a router having inexpensive,
`built-in monitoring data gathering so that one or more of the
`above capabilities can be provided. What is also needed is 15
`such a router whose built-in monitoring data gathering easily
`scales as the speed and throughput of succeeding genera-
`tions of routers increase in response to the exponential
`growth in network traffic. What is also needed is a router
`having built-in monitoring data gathering in which minimal 20
`modifications to the existing router architecture is required.
`
`SUMMARY OF THE INVENTION
`
`4
`The monitoring data packets are transmitted, and the per-
`formance data are generated from the monitoring data
`contained in the monitoring data packets.
`The monitoring data packets may be transmitted within
`the node, and may additionally or alternatively be transmit-
`ted through the network.
`Time stamps may additionally be generated and at least
`one of the time stamps may be inserted into each of the
`monitoring data packets as part of the monitoring data.
`Additionally or alternatively, each of the monitoring data
`packets may be formed from the header copies made during
`a predetermined time to provide the temporal data.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1A is a bIOCk diagram 0f a conventional network
`router.
`FIG 1B iS a b10Ck diagram Of a channel card 0f the
`conventional router Shown in FIG. 1A.
`FIG. 2 is a bIOCk diagram 0f a first embodiment of a
`network monitoring system according to the invention.
`FIG. 3 is a block diagram of an example of a router
`channel card in the network monitoring system shown in
`FIG. 2.
`
`35
`
`FIG. 4 is a block diagram of an example of the header
`The invention provides a network monitoring system that 25
`copier of the channel card shown in FIG. 3.
`comprises a network router with built-in monitoring data
`FIG. 5 is a block diagram of a second embodiment of a
`gathering. The network router includes channels through
`network monitoring system according to the invention.
`which data pass in packets. Each of the packets includes a
`FIG. 6A is a block diagram of an example of a router in
`packet header. The network router additionally includes a
`header copier and a packet generator. The header copier 30 the network monitoring system shown in FIG. 5.
`generates a header copy from the packet header of at least
`FIG. 6B is a block diagram of an example of the header
`some of the packets. The packet generator receives the
`processor of the router shown in FIG. 6A.
`header copies and forms monitoring data packets from them.
`FIG. 7 is a block diagram of a third embodiment of a
`Each monitoring data packet additionally represents tempo-
`network monitoring system according to the invention.
`ral data relating to the header copies included in it.
`FIG. 8A is a flow chart showing an example of a method
`The network router may additionally comprise a time
`according to the invention for generating performance data
`stamp generator that generates time stamps. In this case, the
`relating to a data transmission network
`packet generator additionally receives the time stamps and
`FIG. 8B is a flow chart showing a first embodiment of the
`inserts at least one of the time stamps into each of the
`performance data generating process of the method shown in
`monitoring data packets as part of the monitoring data.
`40 FIG. 8A.
`Additionally or alternatively, the packet generator may
`FIG. 8C is a flow chart showing a second embodiment of
`form each monitoring data packet from the header copies
`the performance data generating process of the method
`received during a predetermined interval of time to provide
`shown in FIG. 8A.
`the temporal data.
`FIG. 8D is a flow chart showing an alternative embodi-
`The network monitoring system may additionally com- 45 ment of the analyzing process of the process shown in FIG.
`prise a monitoring data processor connected to receive the
`SC to generate performance data relating to a network
`monitoring data packets.
`connection.
`The monitoring data packets may pass to the monitoring
`FIG. SE is a flow chart showing additional processing that
`data processor via a lateral signal path.
`may be included in the method shown in FIG. 8A.
`Alternatively, the monitoring data processor may be con- 50
`FIG. 8F is a flow chart showing an embodiment of the
`figured to appear as a channel of the network router, and the
`monitoring data packet forming process of the method
`monitoring data packets may be packaged for transport
`shown in FIG. 8A.
`through the network router to the monitoring data processor.
`As another alternative, the monitoring data packets may be
`packaged for transport
`through the network router to a 55
`channel of the network router, whence the monitoring data
`Embodiments of a network monitoring system according
`packets are transported through the network to the monitor-
`to the invention that includes at least one router with built-in
`ing data processor.
`monitoring data gathering will now be described with ref-
`The invention also provides a method of obtaining per-
`formance data relating to a data transmission network. The 60 erence to the drawings. In the drawings, like elements are
`data transmission network includes a node. In the method,
`indicated by the same reference numerals. In this disclosure,
`data are passed through the node in packets. Each of the
`a router interconnects one or more networks and one or more
`packets includes a packet header. At least some of the packet
`users. A router transports sets of data called, for example,
`headers are copied to obtain respective header copies as
`packets, frames, cells or protocol data units. In this disclo-
`monitoring data from which monitoring data packets are 65 sure, the term packet will be used to describe such sets of
`formed. The monitoring data packets additionally represent
`data. A common feature of the different ways in which data
`temporal data relating to the header copies included in them.
`are transported through a network and between a network
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 10
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 10
`
`
`
`US 6,975,617 B2
`
`5
`includes data fields that
`and a user is that each packet
`represent such things as address information, control infor-
`mation, protocol information, etc. in addition to the data
`being transported. In this disclosure, the term header is used
`to denote such fields and the term payload data is used to
`denote the data being transported.
`The invention is based on the observation that the headers
`
`of the packets received by and transmitted by a router can
`provide much of the monitoring data required to analyze the
`performance of the network and its components. The inven-
`tion is based on the additional observation that the headers
`
`represent a relatively small fraction of the size of the packets
`and so can be copied and transported to a monitoring data
`processor without significantly increasing the overall num-
`ber of data handled by the router.
`FIG. 2 shows an example of a first embodiment 100 of a
`network monitoring system according to the invention. In
`the example shown, the network monitoring system 100 is
`composed of the router 102 with built-in monitoring data
`gathering and the monitoring data processor 104. The
`example of the router shown is composed of four channel
`cards 112 each of which processes four channels. The
`number of channel cards in the router and the number of
`
`channels per card may differ from the example shown. The
`channel cards are connected to a backplane (not shown) that
`enables data to pass from one channel to another.
`An exemplary one of the channel cards that will now be
`described in more detail is shown at 118. The other channel
`
`cards are similar to the exemplary channel card 118. Each of
`the channels of the exemplary channel card includes a
`network connector for connecting to a user or a network. An
`exemplary network connector is shown at 130. The connec-
`tion may be made via a cable, an optical fiber or some other
`suitable form of connection. The exemplary channel card
`also includes the monitor port 132.
`The monitoring data processor 104 includes an input/
`output port corresponding to each monitoring data port of
`the router 102 and connected thereto by a link. The input/
`output port and link corresponding to the monitor port 132
`are shown at 134 and 136, respectively. The monitoring data
`processor also includes the communication port 138 through
`which the monitoring data processor can receive instructions
`and can transmit the performance data generated from the
`monitoring data received from the router 102. The monitor-
`ing data processor can also receive via the communication
`port the performance data or monitoring data generated by
`the monitoring data processors connected to other routers or
`independent monitoring data processors. The communica-
`tion port is typically a network port such as an Ethernet port.
`The monitoring data processor 104 is typically a member
`of a hierarchical structure of interconnected monitoring data
`processors. Afour-level hierarchical structure of monitoring
`data processors would typically be used to monitor the
`performance of a typical large network.
`FIG. 3 shows details of the exemplary channel card 118.
`The channel card includes the transmitter/receiver 20 for
`each of the channels CH1—CH4 on the channel card and the
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`packet processing engine (PPE) 22. Channel CH3 has been
`omitted to simplify the drawing. The channel card may
`include more or fewer channels than the number shown. The
`
`60
`
`channel card additionally includes an address memory and
`output queue connected to the PPE in a manner similar to the
`arrangement shown in FIG. 1B. However, these elements
`have been omitted from FIG. 3 to simplify the drawing.
`In each channel of the channel card 118, the header copier
`150 is interposed between the transmitter/receiver 20 and the
`PPE 22. The header copiers on the channel card are each
`
`65
`
`6
`connected to the lateral data path 152. The output of the
`lateral data path is connected to the monitoring data output
`154 of the monitoring port 132.
`The header copiers 150 on the channel card 118 are also
`connected to the clock and control signal path 156 through
`which they receive the clock signal CLOCK and the control
`data CTRL from the clock and control signal input 158 of the
`monitoring port 132. The clock signal may be, for example,
`SMPTE time code. Each header copier includes a time
`stamp generator (not shown) that is set and synchronized by
`the clock signal. Alternatively, one time stamp generator
`may provide time stamps to all the header copiers on one
`channel card via the clock and control signal path. The clock
`and control signal path can be additionally used to configure
`each header copier. For example, the path can be used to
`assign a unique identifier to each header copier and to set the
`operational parameters of its functional blocks. The opera-
`tional parameters may determine, for example, the portion or
`portions of the headers copied by the header copier.
`Although the header copiers 150 are shown as separate
`elements in the example shown in FIG. 3, they may alter-
`natively be integrated with the transmitter/receiver 20 or
`with the PPE 22.
`The remainder of the channel card 118 is conventional
`and will not be described further.
`
`FIG. 4 shows details of an example of the header copier
`150, which will now be described with additional reference
`to FIG. 3. The header copier includes the framer 160, the
`header reader 162 and the packet generator 164 controlled
`by the controller 169. Also shown is the portion 170 of the
`lateral data path 152 corresponding to the header copier 150.
`The controller 169 receives the clock and control signal
`CLOCK, CTRL from the clock and control signal path 158.
`Control data in the clock and control signal can include a
`unique identification number for the header copier and
`instructions for configuring components of the header copier
`150. Included in the controller 169 is a time stamp generator
`(not shown) that is set and synchronized by the clock signal
`CLOCK. The controller feeds time stamps TS generated by
`the time stamp generator in response to the clock signal to
`the packet generator 164. The controller additionally feeds
`control signals to control the operation of the framer 160, the
`header reader 162, the packet generator 164 and the path
`controller 179 to these components via the bus 165.
`The framer 160 and the header reader 162 have inputs
`connected as a side-branch to the data path 166 between the
`transmitter/receiver 20 and the PPE 22. A suitable buffer
`may be interposed between the data path 166 and the inputs
`of the framer and the header reader.
`
`The framer 160 performs a framing operation on the data
`stream received from the transmission path 166 to determine
`the boundaries of the packets. The data stream may be a
`stream of data in ATM, Ethernet, SONET or other data
`transmission format. The framer feeds a packet boundary
`control signal indicating the packet boundaries to the header
`reader 162 via the path 168.
`For example, when the data stream is in the Ethernet
`format, in which the start and end of each packet is indicated
`by a SOP byte and an EOP byte, respectively, the framer
`changes the state of the packet boundary control signal in
`response to the SOP byte, and restores the packet boundary
`control signal to its original state in response to the EOP
`byte.
`In response to the packet boundary control signal, the
`header reader 162 performs a header read operation to read
`the header of each packet in the data stream received from
`the transmission path 166. The header includes data indi-
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 11
`
`Unified Exhibit 1005
`Unified v. Olivistar
`Page 11
`
`
`
`US 6,975,617 B2
`
`7
`cating the destination, in network terms, of the packet and
`the length of the packet. Alternatively, only a portion or
`portions of the header that contain data of interest may be
`read. References to a header will be understood to encom-
`
`pass a portion of a header when such portion of a header is
`read. The header reader makes a header copy of each header
`and feeds the header copy to the packet generator 164. The
`header copies constitute at least part of the monitoring data.
`For example, when the data stream is in the Ethernet
`format, the header reader 162 can read the first n bytes it
`receives after the packet boundary control signal changes
`state. Alternatively, the header reader can read the first p
`bytes, ignore the next q bytes and read the next r bytes after
`the packet boundary control signal changes state. The header
`reader can also include a counter (not shown) that counts the
`number of bytes received while the packet boundary control
`signal is in its changed state. In this case, the header reader
`would append the resulting byte count to the header copy
`and would feed the resulting monitoring data to the packet
`generator 164.
`The packet generator 164 receives successive time stamps
`TS generated by the time stamp generator (not shown) in the
`controller 169 and appends the most recent time stamp to
`each header copy received from the header reader 162. The
`time stamps additionally constitute part of the monitoring
`data. The packet generator also packages the monitoring
`data for transmission via the lateral data path 152 to the
`monitor port 132. For example, the packet generator may
`form a monitoring data packet containing several header
`copies and their time stamps. Monitoring data packets can
`have the same structure as the packets processed by the
`router but their type identifier identifies them as monitoring
`data packets. The packet generator feeds the monitoring data
`packets to the monitor port 132 via the lateral data path 152.
`The packet generator 164 may also add a unique identi-
`fication number to the monitoring data packet to identify the
`channel of the router 102 from which the header copies
`included in the monitoring data packet were read. The
`packet generator may additionally generate a checksum for
`each monitoring data packet and include the checksum in the
`monitoring data packet. The packet generator may alterna-
`tively package the header copies and their time stamps in
`other suitable ways.
`The packet generator 164 can optionally compress the
`monitoring data prior to forming the monitoring data packets
`to reduce the number of data transferred to the monitor port
`132 through the lateral data path 152.
`The packet generator 164 and controller 169 are shown in
`FIG. 4 as being part of the header copier 150 of one of the
`channels on the channel card 118. However,
`this is not
`critical
`to the invention. A single packet generator and
`controller may be shared among all, or a subset, of the
`channels on the channel card.
`
`FIG. 4 also shows an example of the portion 170 of the
`lateral data path 152 that passes through the header copier
`150 of channel N, which is one of the channels on the
`channel card 118. The portions of the lateral data 152 path
`that pass through the remaining header copiers on the
`channel card 118 are identical, except for the portion of the
`lateral data path that passes through the header copier of
`channel CH1. In the portion of the lateral data path that
`passes through the header copier of channel CH1,
`the
`multiplexers 171 and 172, the data queues 174 and 175 and
`the path controller 179 are omitted, and the output of the
`packet generator 164 is connected directly to the monitoring
`data output OUT of channel CH1.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`The lateral data path portion 170 includes the demulti-
`plexer 171, the multiplexer 172, the data queues 174 and
`175, the paths 176, 177 and 178, and the path controller 179.
`The path controller controls the demultiplexer and the
`multiplexer in response to fullness signals that indicate the
`fullness of the data queues 173 a