HK1035818B - Method and system for monitoring broadband quality of services - Google Patents
Method and system for monitoring broadband quality of services Download PDFInfo
- Publication number
- HK1035818B HK1035818B HK01106362.6A HK01106362A HK1035818B HK 1035818 B HK1035818 B HK 1035818B HK 01106362 A HK01106362 A HK 01106362A HK 1035818 B HK1035818 B HK 1035818B
- Authority
- HK
- Hong Kong
- Prior art keywords
- virtual circuit
- cell
- monitoring
- network
- steps
- Prior art date
Links
Description
Technical Field
The present invention relates to the monitoring of Asynchronous Transfer Mode (ATM) networks. More particularly, the present invention relates to point-to-point quality of service (QoS) operation monitoring for ATM networks.
Technical Field
In an ATM network, a user can exchange information with another user via a connection established in the network, called a virtual circuit, which connection can carry voice, video and data in fixed size cells of 53 bytes, which cells comprise a header of 5 bytes and a payload field of 48 bytes. The connection is capable of supporting a wide range of services defined by a set of quality of service (QoS) parameters.
In the ATM forum standard-service management specification 4 th edition (ATM forum/95-0013R 10, 2 months 1996), a set of QoS parameters is defined that are characterized by the point-to-point performance of connections in an ATM network. When a connection is established over an ATM network, a user may negotiate sets of QoS parameters with the network that describe the connection. The particular set of QoS parameters is related to the type of service the user requires the network to provide. These service types include: constant Bit Rate (CBR), Variable Bit Rate (VBR), Available Bit Rate (ABR), and Undefined Bit Rate (UBR).
Specifically, through a call admission control procedure, a user signals a request to establish a new connection in the network, and the network decides to accept or reject the request to establish the new connection based on specific QoS parameters and available network resources. Typically, the network accepts a new connection if the network determines that the available network resources are sufficient to meet a particular QoS. If the network accepts a new connection, the network will no doubt agree on a communication protocol that requires the network to maintain a specified QoS as long as the communication traffic in the connection conforms to the negotiated communication protocol.
The negotiated traffic protocol supporting a connection emphasizes the need to monitor and verify the actual QoS provided by the ATM network.
Existing methods of monitoring QoS in connections require users to measure the point-to-point performance of the connection by exchanging monitoring information at the adaptation layer (AAL) or higher protocol layers of ATM. For example, users measure the point-to-point delay for cell transmission in a connection by exchanging timing information.
However, existing methods of monitoring QoS for connections still have some drawbacks. First, ATM network switches, routers, and bridges have access only to cell headers, not cell payloads. Further, the ATM network cannot use the cell header for performance monitoring because the cell header is designed to be simple and short to make it possible to perform cell switching or relaying quickly. Finally, to reduce processing in ATM switches, an ATM cell is intentionally designed to not support a cell header field that contains performance monitoring information such as a cell sequence number and time stamp.
Second, when implementing QoS monitoring, the network management system typically polls the ATM switch in order to obtain performance monitoring information. However, the performance monitoring information collected by the network management system is typically specific to each switch and does not include point-to-point QoS monitoring information.
Third, network operators typically use special high-speed test equipment to test and monitor connections within an ATM network. However, existing test equipment for broadband networks, such as ATM networks, are generally expensive and complex to use, and are more suitable for controlled laboratory testing and not for large-scale field applications.
ITU-T rec.1.610, B-ISDN operation and maintenance principle and foundation, Geneva 1995 month 7, defines a monitoring method, which is called an operation and maintenance method (OAM) for operation performance monitoring of ATM networks. OAM method inserts OAM cell between cell blocks generated by users. In order to use the OAM method, the ATM switch must be able to identify the OAM cell and must be able to relay it to the subscriber cell. When a switch serving as an end node receives an OAM cell, the switch processes the OAM cell and inserts its monitoring information into a new OAM cell, which is then transmitted back to the switch. This is due in part to the complexity of the additional processes and cell handling involved in OAM methods, which are not supported by most existing ATM switches.
Furthermore, in order to reduce costs and integrate network management functions on a single hardware platform, the remaining ATM switches attempt to implement a monitoring system for monitoring point-to-point QoS in a connection or group of connections using standard computers such as Personal Computers (PCs). However, due to the multitasking operating environment of the PC, other tasks such as user applications, screen savers, disk caching, and even mouse movement compete with the monitoring system for CPU cycles, thus limiting the accuracy and continuity of the monitoring measurements, which is itself time sensitive.
For example: the monitoring system must time-stamp the outgoing cell immediately before it is sent to the network and similarly, the monitoring system must time-stamp an incoming cell when it is received from the network. However, the sharing of resources by the PC operating system may cause the monitoring system to be inaccurate in calculating the time stamp. In particular, the monitoring system cannot calculate the time stamp immediately when an incoming cell arrives, nor immediately before transmitting an outgoing cell, in part because the PC operating system may have allocated the current CPU cycle to other tasks, such that the monitoring system must wait for an idle CPU cycle.
Therefore, there is a strong need for a method and system for operation monitoring of point-to-point QoS for a connection or a group of connections in an ATM network that does not suffer from the various disadvantages described above.
Disclosure of the invention
In the method and system related to the present invention disclosed and broadly described herein, a first virtual circuit of an Asynchronous Transfer Mode (ATM) is monitored by establishing a second virtual circuit having the same path and QoS parameters thereof as the first virtual circuit in a network, and the first virtual circuit is monitored by determining the QoS parameters of the second virtual circuit. In particular, the methods and systems determine a QoS parameter for a second virtual circuit by inserting monitoring information in a cell transmitted in the second virtual circuit. Further, the methods and systems determine alarm information for the network by comparing the QoS parameter of the second virtual circuit to the QoS parameter of the first virtual circuit.
Specifically, the present invention provides a method for monitoring a first virtual circuit in a network, the first virtual circuit having a path and a first set of quality of service parameters, the method comprising the steps of: establishing a second virtual circuit in the network having the path and the first set of quality of service parameters; determining a second set of quality of service parameters for the second virtual circuit; and comparing the second group of service quality parameters of the second virtual circuit with the first group of service quality parameters of the first virtual circuit, and determining alarm information of the network to monitor the first virtual circuit.
The invention also provides a method for time stamping a cell in a computer, wherein the computer comprises a clock, an adapter driver, an adapter card interfacing with a communications network, wherein the adapter card comprises a memory, a processor, an interrupt controller, a register, said method comprising the steps of: receiving a cell generated from a traffic generator; writing the cell to the memory through the adapter driver; adding the current time of the clock into the cell; generating an interrupt signal in the adapter card by driving an interrupt controller; and responding to the interrupt signal and transmitting the cell into the network.
The present invention also provides a method for time stamping a cell in a computer, the computer comprising a memory, a clock, an adapter driver, and an adapter card for interfacing with a communications network, said method comprising the steps of: receiving cells from the network into the adapter card; storing the cell in a memory; generating an interrupt signal inside the computer; in response to the interrupt signal, the adapter driver generates a current time of the clock and stores the time in the memory; the stored current time of the clock is added to the cell.
The present invention also provides a computer for monitoring a first virtual circuit in a network, the first virtual circuit having a path and a set of quality of service parameters, the computer comprising: a connection manager for establishing a connection to a second virtual circuit, the second virtual circuit having the path and a first set of quality of service parameters; a traffic generator for transmitting a plurality of cells at the second virtual circuit; a communications analyzer of a first virtual circuit is monitored by determining a second set of quality of service parameters on a second virtual circuit.
The present invention also provides a method for monitoring a set of virtual circuits in a network, each virtual circuit of the set of virtual circuits having a path and a first set of quality of service parameters, the method comprising the steps of: establishing a second virtual circuit in the network, the second virtual circuit having the path and the first set of quality of service parameters; determining a second set of quality of service parameters for the second virtual circuit; and comparing the second group of service quality parameters of the second virtual circuit with the first group of service quality parameters of the first virtual circuit, and determining alarm information of the network to monitor the first virtual circuit.
The present invention also provides a computer for time stamping a cell prior to transmission to a communications network, the computer comprising: the memory, the central processing unit, the interrupt controller and the DMA controller are connected with each other through a high-speed bus, and are connected with the Ethernet card, the adapter card, the secondary memory, the input device and the video display through an external device bus interface.
The method and the system have the advantage that the point-to-point QoS parameters of one virtual circuit or a group of virtual circuits can be accurately and consistently monitored by using a standard PC. Moreover, such a method and system have the advantage of not interrupting the service of the virtual circuit when determining the QoS parameters of the virtual circuit, and thus being non-intrusive and transparent to the network users. Finally, the method and system are compatible with any existing ATM network, eliminating the need for implementing special, expensive functional blocks in the network switch.
The above summary and the following description of the present invention should not limit the scope of the claims of the present invention. Both of which provide examples and explanations so that others may practice the invention. The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several embodiments of the invention. Together with the description, the drawings serve to explain the principles of the invention.
Brief description of the drawings
FIG. 1 illustrates a block diagram of a communication network having a monitoring station for monitoring virtual circuits, according to one embodiment of the present invention;
FIG. 2 shows a block diagram of a monitoring station according to an embodiment of the invention;
FIG. 3 shows a block diagram of a network adapter card according to one embodiment of the invention;
FIG. 4 shows a block diagram of a monitoring system according to an embodiment of the invention;
FIG. 5 shows a flowchart of the steps performed by a connection manager in a monitoring system according to one embodiment of the invention;
FIGS. 6a and 6b show a flow chart of steps performed by a communication traffic generator in a monitoring system according to one embodiment of the invention;
FIGS. 7a, 7b and 7c show a flow chart of steps performed by a traffic analyzer in a monitoring system according to an embodiment of the invention;
FIG. 8 is a flowchart illustrating steps performed by an adapter driver in a monitoring system when transmitting a cell according to one embodiment of the invention;
FIG. 9 is a flowchart illustrating the steps performed by an adapter card in a monitoring system when transmitting a cell according to one embodiment of the invention;
FIG. 10 is a flowchart illustrating steps performed by an adapter card in a monitoring system when receiving a cell according to one embodiment of the invention;
FIG. 11 is a flowchart illustrating steps performed by an adapter driver in a monitoring system when receiving a cell according to one embodiment of the invention;
FIG. 12 illustrates a block diagram of a communication network having a monitoring station for monitoring a set of virtual circuits, in accordance with one embodiment of the present invention; and
fig. 13 shows a block diagram of a communication network with a single monitoring station according to an embodiment of the invention.
Best mode for carrying out the invention
Embodiments of the invention described below refer to the above-mentioned related figures. For convenience, the same reference numbers in different drawings identify the same or similar elements.
According to the method and system of the present invention, an Asynchronous Transfer Mode (ATM) is monitored by establishing a second Virtual Circuit (VC) having the same path as the first Virtual Circuit (VC) and its QoS parameter in a network, and the first virtual circuit is monitored by determining the QoS parameter of the second Virtual Circuit (VC). In particular, the methods and systems determine the QoS parameter of the second virtual circuit by inserting monitoring information, such as a transmit or receive timestamp and a sequence number, into cells transmitted and received by the monitoring station at the second virtual circuit. And the monitoring station determines alarm information of the network by comparing the QoS parameter of the second virtual circuit with the parameter of the first virtual circuit.
With respect to the insertion of monitoring information in a cell, an adapter driver within the monitoring station time stamps the cell immediately before sending the cell to the network. Specifically, the adapter driver writes the cell into the memory of the network adapter card and time stamps the payload field of the cell immediately prior to generating the interrupt signal within the adapter card. In response to the interrupt signal, the firmware of the adapter card sends the cell into the network.
The adapter driver also time stamps a cell immediately after it is received from the network. Specifically, the adapter firmware generates an interrupt signal at the monitoring station immediately after receiving a cell from the network. In response to the interrupt signal, the adapter driver immediately time stamps the payload field within the cell.
Network architecture
Fig. 1 is a block diagram of a communication network 140 according to one embodiment of the present invention. As shown in the figure, the network 140 includes monitoring stations 100A and 100B, a source node 120, a destination node 130, switches 105, 110, and 115. In particular, source node 120 communicates with destination node 130 via Virtual Circuit (VC)150, virtual circuit 150 passing through switches 105, 110, and 115. Monitoring station 100A communicates monitoring information with monitoring station 100B via a Virtual Circuit (VC)160, which VC160 has the same path through switches 105, 110, 115 and QoS parameters as 150. Accordingly, monitoring station 100A may monitor point-to-point QoS within VC150 by monitoring point-to-point QoS within VC 160.
Monitoring station 100A inserts monitoring information in the payload of each cell and transmits the cells in VC 160. These cells pass through switches 105, 110 and 115, which may be, for example, ATM switches, to the monitoring station 100B. The monitoring station 100B then transmits each cell back to 100A. When monitoring station 100A receives the returned cell, monitoring station 100A detects the point-to-point QoS of VC150 based on the round trip transmission time of the cell. As an alternative, in another embodiment, monitoring station 100B may also insert monitoring information in the payload of the cell before returning the cell to monitoring station 100A, and in this alternative embodiment, monitoring station 100A may detect the point-to-point QoS of VC150 based on the one-way transmission time.
Fig. 2 is a block diagram of, for example, a monitoring station 100A, according to one embodiment of the invention. The monitoring station 100A may include a Personal Computer (PC) having a memory unit 200, a central processing unit 200(CPU)210, an interrupt controller 215, a Direct Memory Access (DMA) controller 220, a high speed bus 222, a peripheral bus interface 225, a peripheral bus 260, an Ethernet card 230, an adapter card 235, secondary storage 240, an input device 240, and a video display 250. The memory unit 200, the CPU210, the interrupt controller 215, and the DMA controller 220 are connected to each other through a high-speed bus 222. Further, the memory unit 200, the CPU210, the interrupt controller 215, and the DMA controller 220 are interconnected to the peripheral bus 260, the Ethernet card 230, the adapter card 235, the secondary storage 240, the input device 245, and the video display 250 through the peripheral bus interface 225.
The memory unit 200 includes a monitoring system 201 and an operating system 209, both the monitoring system 201 and the operating system 209 containing a set of instructions that are executed by a CPU 210. The memory unit 200 may, for example, comprise a 32M Random Access Memory (RAM), while the CPU210 may, for example, comprise a 200MHz Pentium processor. The monitoring system 201 includes a monitor (INQIRE)202, a network manager 204, an adapter driver Application Program Interface (API)206, and an adapter driver 208. Operating system 209 may include a windows nt operating system. API 206 may contain WinSock2TMAnd (3) software. The operating system 209 and the API 206 are both from Microsoft corporation.
Secondary memory 240 includes computer readable media such as disk drives and tape drives. Software and data may be downloaded from a tape drive to a disk drive and then copied from the disk drive to the memory unit 200. Similarly, the software and data in the memory unit 200 may be copied to a disk drive and then downloaded to a tape drive.
FIG. 3 is a block diagram of a network adapter card 235 according to one embodiment of the invention. As shown in the figure, adapter card 235 includes an Electrically Programmable Read Only Memory (EPROM)300, a memory unit 305, a central processing unit 200(CPU)310, an external device bus interface 315, a Direct Memory Access (DMA) controller 320, an interrupt controller 325, a memory bank 330, and a link interface 335, all of which are coupled to an adapter bus 340.
EPROM 300 includes adapter firmware 302, and CPU 310 executes firmware 302. Memory unit 305 includes data and a set of instructions that are executed by CPU 310. Memory banks 330 include a transmit (Tx) register bank 334 and a receive (Rx) register bank. The Tx register bank and the Rx register bank contain a pointer register and a command register. The peripheral bus interface 315 interfaces with the peripheral bus 260. The adapter card 235 interfaces with the network 140 through a link interface 335.
Fig. 4 is a block diagram of a monitoring system 201 according to one embodiment of the invention. As shown in the figure, the monitor system 201 includes a monitor network manager 204, an INQIRE 202, an API 206, and an adapter driver 208. Network hypervisor 204 establishes, maintains, and terminates permanent virtual circuits between any two points in network 140. Specifically, the network manager 204 communicates with the switches 105, 110, and 115 via the ethernet card 230. The ethernet card 230 interfaces with the switches 105, 110, and 115 via, for example, an Internet Protocol (IP) network (not shown in the figures). Network hypervisor 204 may establish VC160 by sending a specific switch command to each switch 105, 110, 115 specifying the ingress and egress of each switch that VC160 must traverse. In addition, network manager 204 also establishes VC160 with the same path and QoS parameters as VC 150. The network management program may include configuration software for the switches that is specific to each switch and is typically provided by the corresponding switch manufacturer.
INQIRE 202 generally transmits and receives cells, determines and analyzes real-time QoS measurements, determines and analyzes QoS statistics, graphically displays these measurements and statistics, displays floor alarms that do not meet QoS, and stores QoS measurements and statistics in database 415. Further, INQIRE 202 invokes adapter driver 208 through API 206 to set up a socket (socket) to VC160 and insert monitoring information in the payload of the transmit and receive cells on each VC 160. To improve the accuracy of the monitoring information inserted into the payload of each cell, the INQIRE 202 and the adapter driver 208 are given high priority.
The INQIRE 202 includes a Connection Manager (CM)400, a Traffic Generator (TG)405, a Traffic Analyzer (TA)410, and a database 415. The CM 400 generally coordinates communication between the TA 410 and TG405, initiates and terminates monitoring sessions, and handles the primary graphical user interface. TG405 generally forms the payload of outgoing cells and passes these cells to CM 400 for retransmission onto network 140. TA 410 primarily determines QoS statistics and analyzes and stores these statistics in database 415 as well as provides a graphical user interface to display QoS statistics and alarms. The following is a flow chart detailing the steps performed by the CM 400, TG405 and TA 410 sections.
Fig. 5 is a flow chart of steps performed by the CM 400 according to one embodiment of the present invention. The CM 400 initializes the database 415 and program variables (step 500), and then the CM 400 initializes the adapter card 235 (step 502). The CM 400 displays a Master Session box (step 504) prompting the user for input (step 506).
If the user enters a request (step 508), then the CM 400 determines if the user's request is for a new monitoring session (step 512). If the user requests a new monitoring session to the monitor (step 514), for example, by establishing VC150 in network 140 between source node 120 and destination node 130, CM 400 displays a session box for entering monitoring parameters (step 532).
The CM 400 then prompts the user to determine the following monitoring parameters (step 534): virtual Path Identifier (VPI), Virtual Circuit Identifier (VCI), VCI identifies, for example, VC160 and a set of QoS floor parameters including, for example, cell propagation delay, cell delay variation, and cell loss ratio. The user must have network hypervisor 204 established the same path as VC150 in order to define a VPI and a VCI for VC 160. Likewise, the user must determine the baseline QoS of VC160 in order to match it to the negotiated QoS of VC 150. The user also determines the start time, duration, and end time of this monitoring session, as well as the rate at which monitoring station 100A generates cells on VC 160.
CM 400 then establishes a connection to VC160 (step 536), VC160 having been established by network manager 204. Specifically, the CM 400 calls the adapter driver 208 and establishes the connection to be established through the adapter card 235. CM 400 then creates task TG405 (step 538) and task TA 410 (step 540). The CM 400 then checks for any information from the TG405 and TA 410 (step 524).
If the user does not enter a request (step 510), the CM 400 determines if there is any information from the TG405 and TA 410 in the message queue of the internal process in the memory unit 200 (step 524). If there is a message in any of the internal process message queues (step 526), the CM 400 processes the message (step 530). Next, the CM 400 checks if there are any more user inputs (step 506).
How the user enters a request (step 508) and the user does not request a new monitoring session (step 516), the CM 400 determines whether the user requests termination of a monitoring session time (step 518). If the user does not require termination of a monitoring session time (step 520), the CM 400 looks up if there are any messages from the TG405 and TA 410 (step 524). If the user requests termination of a monitoring session (step 522), the CM 400 releases all program buffers and queues assigned to the monitoring session (step 542). The CM 400 then registers QoS statistics, which are measured during the monitoring session and stored in the memory unit 200, in the database 415 (step 544). The CM 400 then notifies the TG405 and TA 410 to terminate the monitoring session (step 546).
Fig. 6a is a flow chart of the steps performed by the TG405 according to one embodiment of the invention. The TG405 initializes the database 415 and program variables (step 600). TG405 then performs a handshake with the remote monitoring station 100B protocol via VC160 (step 605). The TG405 then generates a 48 byte cell payload and inserts the monitoring information into the payload by calling the adapter driver 208 (step 610). Specifically, the monitoring information may include, for example, a transmission time stamp indicating the current time and the sequence number. The adapter driver 208 performs the step of inserting a transmission time stamp in the payload of the cell, as described in detail below.
TG405 then immediately transmits the cells on VC160 into network 140 and updates the QoS statistics for VC160, which may include, for example, the total number of cells TG405 has transmitted (step 615). The TG405 then determines the transmission time of the next cell based on the transmission rate of the cell, which has been defined by the user and stored in the database 415. (step 620). The TG405 then schedules an interrupt for the next cell transmission (step 625).
The TG405 checks the internal process message queue for any messages from the CM 400 or TA 410 (step 630). If there is a message in any of the internal process message queues (step 640), the TG405 processes the message (step 645). The TG405 then detects more information in the queue (step 630). If there are no messages in either queue (step 635), the TG405 continues to detect messages (step 630).
Fig. 6b is a flow chart of the steps performed by the TG405 after an interrupt is received, according to one embodiment of the invention. At any point in time after step 625, the TG405 may receive an interrupt via the interrupt controller 215 to send a cell (step 650). As described above, the TG405 will generate a payload of one cell and insert the monitoring information in the payload (step 655).
Specifically, the monitoring information may include, for example, a time stamp indicating the current time and the serial number. TG405 then transmits the cells on VC160 to network 140 and updates the QoS statistics for VC160 in database 415 (step 655). The TG405 then determines the transmission time for the next cell based on the user defined cell transmission rate (step 660), and the TG405 then prepares an interrupt for the next cell transmission (step 665). The TG405 then returns to the point in the process at which it receives the interrupt (step 670).
Fig. 7a is a flow chart of the steps performed by TA 410 according to one embodiment of the present invention. TA 410 initializes the database and program variables (step 700). TA 410 then establishes two interrupts: timer interrupts and cell arrival interrupts (step 702). The timer interrupt generates an interrupt at a fixed interval, e.g., 100ms, of the CPU 210. Whenever adapter card 235 receives a cell from network 140, the arrival of the cell at the interrupt will cause an interrupt to be generated at CPU 210. As described in detail below, in one cell arrival interrupt, TA 410 typically measures the QoS parameters of VC160 based on the monitoring information in the payload in the newly arrived cell, while in one timer interrupt, TA 410 typically recalculates the QoS statistics and alarm status of VC160 based on the QoS parameters that have been measured.
After the timer interrupt and the cell arrival interrupt are established, TA 410 generates a session box for displaying QoS measurement data and QoS statistics (step 704). In particular, the QoS measurement data may comprise, for example, cell transmission delay. The cell transmission delay represents the difference between the transmit time stamp and the arrival time stamp in the payload of the cell. The QoS statistics displayed in the session box may include, for example, the total number of cells sent, the total number of cells received, variations in cell delay, cell loss ratio, minimum cell transfer delay, maximum cell transfer delay, and average cell transfer delay, which are defined in the ATM forum-communication service management specification version 4 (ATM forum/95-0013R 10, 2 months 1996).
Fig. 7b is a flowchart of the steps performed by TA 410 after receiving a timer interrupt, in accordance with one embodiment of the present invention. Within a fixed time interval after step 702, TA 410 receives a timer interrupt (step 722). TA 410 then determines the QoS statistics for VC160 according to the following steps: TA 410 reads the QoS measurement data of the last cell arriving at VC160 from database 415 and TA 410 compares the cell transmission delay of this last arriving cell with the maximum cell transmission delay and the minimum cell transmission delay stored in database 415. If the cell transmission delay of the cell is greater than the maximum cell transmission delay, TA 410 sets the maximum cell transmission delay to the cell transmission delay of the cell. If the cell transmission delay of this cell is less than the minimum cell transmission delay of VC160, TA 410 sets the minimum delay for cell transmission to the cell transmission delay of the last cell. Finally, based on the cell transmission delay of the last cell, TA 410 calculates a new average cell transmission delay by summing the cell transmission delays of each cell sent by TG405 and received by TA 410 and dividing by the total number of cells received by TA 410.
If TA 410 has calculated a new maximum cell transmission delay or minimum cell transmission delay, then TA 410 subtracts the minimum cell transmission delay from the maximum cell transmission delay to obtain a new change in cell delay. Then TA 410 calculates a new cell loss ratio according to the following steps: TA 410 increments a cell loss counter by subtracting the sequence number of the newly arrived cell from the sequence number of the previous cell received from TA 410, TA 410 then divides the contents of the cell loss counter by the sequence number of the newly arrived cell, and finally TA 410 stores the newly calculated QoS statistics in database 415.
TA 410 decides upon alert information for VC160 by comparing the QoS statistics determined in step 724 with baseline QoS parameters for VC160 (step 726). The baseline QoS parameters for VC160 are determined as follows: TA 410 reads the bottom line parameters of QoS such as average cell propagation delay, variation of cell delay and cell loss ratio from database 415. If any of the QoS statistics of VC160 calculated by TA 410 exceed these baseline parameters, TA 410 updates alert information that represents the difference between the QoS statistics and the baseline QoS parameters and is stored by TA 410. Finally, TA 410 displays the newly calculated QoS statistics and alarm state information within the session box that displays the QoS statistics and QoS measurement data (step 728). TA 410 then returns to the point in the process where it received the timer interrupt (step 730).
Fig. 7c is a flowchart of the steps performed by TA 410 after receiving a cell arrival interrupt, in accordance with one embodiment of the present invention. When a cell arrives at the adapter card 235, the interrupt controller 235 generates an interrupt in the CPU210 that causes the adapter driver 208 to insert an arrival time stamp in the payload of the newly arriving cell (step 732). The step of the adapter driver 208 inserting an arrival time stamp in the payload of the newly arriving cell is described in detail below.
TA 410 then measures the QoS of VC160 based on the monitoring information of the time stamp and sequence number on the cell payload (step 734) according to the following steps: TA 410 reads the sequence number, transmission timestamp, and received timestamp from the payload of the cell. TA 410 calculates the cell transmission delay for the cell by subtracting the transmission time stamp from the received time stamp and stores the result in database 415, which is then displayed in the previously generated session box (step 736). TA 410 then returns to the point at which it received the cell arrival interrupt (step 738).
The flow diagrams of fig. 8-11 collectively describe the steps performed by the adapter driver 208, the adapter firmware 302, in time stamping ATM cells, according to one embodiment of the invention. However, in an alternative embodiment, i.e. when transmitting and receiving data packets in a communication network other than an ATM network, the monitoring station may typically perform these same steps to time-stamp the packets. For example, a monitoring station may perform the steps of fig. 8 through fig. 11 described below to time stamp data packets for monitoring a packet-switched communication network.
Figure 8 is a flowchart of the steps performed by the adapter driver 208 when sending a cell, according to one embodiment of the invention. The adapter driver 208 stores the cell in the adapter card's memory 305 (step 800) and stores the address of the cell in the pointer register of the Tx register bank 334 (step 805). The adapter driver 208 inserts the time stamp and sequence number in the payload of the cell (step 810). The adapter driver 208 then writes a command register that sends a command to the Tx register bank 334 (step 812), which drives the interrupt controller 325 to generate a hardware interrupt on the adapter card 235 (step 814).
FIG. 9 is a flowchart of the steps performed by adapter card 235 when interrupt controller 325 generates a hardware interrupt within adapter card 235, in accordance with one embodiment of the present invention. The adapter firmware 302 reads the command code of the command register of the Tx register bank 334. The adapter firmware 302 determines whether the command is a send command (step 905). If the command is not a SEND command (step 910), the adapter firmware 302 processes the command code (step 915).
If the command code is a SEND command (step 920), adapter firmware 302 reads the address of the cell stored in adapter card memory 305 from the pointer register of Tx register bank 334 (step 925). The adapter firmware 302 then instructs the DMA controller 320 to read the cell from the adapter card memory 305 (step 930) and transfer the cell onto the network 140 through the link interface 335 (step 935).
Figure 10 is a flowchart of the steps performed when adapter card 235 receives a cell, according to one embodiment of the present invention. The adapter card 235 receives a cell from the network 140 via the link interface 335 (step 1000). The adapter firmware 302 stores the cell in the memory unit 200 via the peripheral bus interface 315, the peripheral bus 260, and the peripheral bus interface 225 (step 1005). The adapter card 235 stores the memory address of the cell into the pointer register of the Tx register bank 332 (step 1010). Interrupt controller 325 then generates an interrupt within CPU210 (step 1015).
FIG. 11 is a flowchart of the steps performed by the adapter driver 208 when the CPU210 receives an interrupt, in accordance with one embodiment of the present invention. The adapter driver 208 generates a timestamp of the current time and stores it in the memory unit 200 (step 1100). The adapter driver 208 reads the memory address of the cell from the pointer register of the Tx register bank 332 (step 1105). The adaptor driver 208 then generates a cell arrival interrupt on TA 410 (step 1115).
As described above, when the monitoring station 100A measures the point-to-point QoS of the VC160 according to the time of round trip transmission of the cell, the monitoring station 100B does not insert monitoring information in the payload of the cell before sending the cell back to the monitoring station 100A. However, in one embodiment, when monitoring station 100A measures the point-to-point QoS of VC160 by the time the cell is transmitted unidirectionally, monitoring station 100B must insert monitoring information in the payload of the cell before sending the cell back to monitoring station 100A, and in such an embodiment, monitoring station 100A must be synchronized with monitoring station 100B so that the QoS measurements are accurate and consistent.
According to one embodiment of the invention, the monitoring stations 100A and 100B may use various methods to obtain clock synchronization. For example: a Global Positioning System (GPS) receiver may periodically synchronize the terrestrial system to a constellation of orbiting satellites to within, for example, 10ns or less. And the monitoring stations 100A and 100B may periodically synchronize with an internet time server using Network Time Protocol (NTP). The accuracy of which is related to the hierarchy of time servers and the method of connecting the time servers. As an alternative, the monitors 100A and 100B may also periodically synchronize with the ordinary server over a circuit-switched connection. Each monitoring station may establish a circuit-switched link to a common server and send messages to the server. This server time stamps the information and returns it to the monitoring station, which can reduce the propagation delay to half the round trip delay and add it to each time stamp for synchronizing the clock time of the monitoring station with the normal server.
Fig. 12 is a block diagram of a communication network 1240, the communication network 1240 including a monitoring station for monitoring a set of virtual circuits, in accordance with one embodiment of the present invention. As shown in the figure, the network 1240 includes monitoring stations 1200A and 1200B, a source node 1220, a destination node 1230, and switches 1205, 1210, 1215. The switches 1205, 1210, 1215 may be, for example, ATM switches. Specifically, source node 1220 and destination node 1230 are interconnected by a set of Virtual Circuits (VCs) 1250 that pass through switches 1205, 1210, 12151To 1250NCommunication is performed. VC12501And 1250NEach with the same QoS parameters and the same path through the switches 1205, 1210, 1215. Monitoring station 1200A communicates monitoring information with monitoring station 1200B via VC 1260, VC 1260 has VC12501And 1250NThe same QoS parameters and the same path. Further, monitoring station 1200A may monitor VC1250 by performing the various steps of fig. 5-8 described above1To 1250NPoint-to-point QoS.
In yet another embodiment of the present invention, a single monitoring station monitors a single Virtual Circuit (VC) or a group of Virtual Circuits (VCs) within communication network 1340. Fig. 13 is a block diagram of a network 1340 including a monitoring station 1300, a source node 1320, a destination node 1330, Virtual Circuits (VCs) 1350 and 1360, and switches 1305, 1310, 1315. The switches 1305, 1310, 1315 may be, for example, ATM switches. The source node 1320 communicates with the destination node 1330 through a VC 1350. As shown in the figure, VCs 1350 and 1360 each have the same QoS parameters and the same path through switches 1305, 1310, 1315. Accordingly, monitoring station 1300 monitors the QoS parameters of VC 1350 by monitoring the QoS parameters of VC 1360. Specifically, the monitoring station 1300 may comprise, for example, a Personal Computer (PC) having an ATM adapter card, and may perform the various steps of FIGS. 5 through 8 described above.
A network manager (not shown) at monitoring station 1300 or a different computer may establish VC 1360 having the same paths and QoS parameters as VC 1350 by specifying the input and output ports of each switch 1305, 1310, 1315 through which VC 1360 passes. Further, the network manager configures switch 1315 so that VC 1360 implements a loop back within switch 1315. With the loop-back configuration, switch 1315 routes cells transmitted by monitoring station 1300 within switch 1315 and back to monitoring station 1300 via switches 1310 and 1305. Accordingly, monitoring station 1300 may monitor the point-to-point QoS parameters of VC 1350 by determining the QoS parameters of VC 1360.
Claims (24)
1. A method for monitoring a first virtual circuit in a network, the first virtual circuit having a path and a first set of quality of service parameters, the method comprising the steps of:
establishing a second virtual circuit in the network having the path and the first set of quality of service parameters; and
determining a second set of quality of service parameters for the second virtual circuit;
and comparing the second group of service quality parameters of the second virtual circuit with the first group of service quality parameters of the first virtual circuit, and determining alarm information of the network to monitor the first virtual circuit.
2. The method of claim 1, wherein the monitoring step further comprises the steps of:
a cell transmission delay in the second virtual circuit is determined.
3. The method of claim 1, wherein the monitoring step further comprises the steps of:
a change in cell delay in the second virtual circuit is determined.
4. The method of claim 1, wherein the monitoring step further comprises the steps of:
a cell loss ratio in the second virtual circuit is determined.
5. The method of claim 1, wherein the monitoring step further comprises the steps of:
a maximum cell transmission delay in the second virtual circuit is determined.
6. The method of claim 1, wherein the monitoring step further comprises the steps of:
a minimum cell transmission delay in the second virtual circuit is determined.
7. The method of claim 1, wherein the monitoring step further comprises the steps of:
an average cell transmission delay in the second virtual circuit is determined.
8. The method of claim 1, wherein the monitoring step further comprises the steps of:
time stamping a cell when the cell is transmitted in the second virtual circuit;
when a cell is received in the second virtual circuit, the cell is time stamped.
9. A computer for monitoring a first virtual circuit in a network, the first virtual circuit having a path and a set of quality of service parameters, the computer comprising:
a connection manager for establishing a connection to a second virtual circuit, the second virtual circuit having the path and a first set of quality of service parameters;
a traffic generator for transmitting a plurality of cells at the second virtual circuit;
a communications analyzer of a first virtual circuit is monitored by determining a second set of quality of service parameters on a second virtual circuit.
10. The computer of claim 9, wherein the traffic analyzer further comprises means for comparing the second set of quality of service parameters with the first set of quality of service parameters.
11. The computer of claim 9, wherein the traffic analyzer further comprises means for determining cell transmission delay in the second virtual circuit.
12. The computer of claim 9, wherein the traffic analyzer further comprises means for determining cell delay variation in the second virtual circuit.
13. The computer of claim 9, wherein the traffic analyzer further comprises means for determining a cell loss ratio in the second virtual circuit.
14. The computer of claim 9, wherein said traffic analyzer further comprises means for determining a maximum cell transmission delay in the second virtual circuit.
15. The computer of claim 9, wherein said traffic analyzer further comprises means for determining a minimum cell transmission delay in the second virtual circuit.
16. The computer of claim 9, wherein said traffic analyzer further comprises means for determining an average cell transmission delay in the second virtual circuit.
17. A method for monitoring a set of virtual circuits in a network, each virtual circuit of the set of virtual circuits having a path and a first set of quality of service parameters, the method comprising the steps of:
establishing a second virtual circuit in the network, the second virtual circuit having the path and the first set of quality of service parameters;
determining a second set of quality of service parameters for the second virtual circuit; and
and comparing the second group of service quality parameters of the second virtual circuit with the first group of service quality parameters of the first virtual circuit, and determining alarm information of the network to monitor the first virtual circuit.
18. The method of claim 17, wherein the monitoring step further comprises the steps of:
a delay of cell transmission of the second virtual circuit is determined.
19. The method of claim 17, wherein said monitoring step further comprises the steps of:
a change in cell delay of the second virtual circuit is determined.
20. The method of claim 17, wherein the monitoring step further comprises the steps of:
a cell loss ratio of the second virtual circuit is determined.
21. The method of claim 17, wherein the monitoring step further comprises the steps of:
a maximum cell transmission delay for the second virtual circuit is determined.
22. The method of claim 17, wherein the monitoring step further comprises the steps of:
a minimum cell transmission delay for the second virtual circuit is determined.
23. The method of claim 17, wherein the monitoring step further comprises the steps of:
an average cell transmission delay for the second virtual circuit is determined.
24. The method of claim 17, wherein the monitoring step further comprises the steps of:
time stamping a cell when the cell is transmitted in the second virtual circuit;
when a cell is received in the second virtual circuit, the cell is time stamped.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/092,605 | 1998-06-05 | ||
| US09/092,605 US6097699A (en) | 1998-06-05 | 1998-06-05 | Method and system for monitoring broadband quality of services |
| PCT/US1999/012416 WO1999063689A1 (en) | 1998-06-05 | 1999-06-03 | Method and system for monitoring broadband quality of services |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1035818A1 HK1035818A1 (en) | 2001-12-07 |
| HK1035818B true HK1035818B (en) | 2008-06-06 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN100352185C (en) | Method and system for monitoring broadband service quality | |
| EP1276281B1 (en) | Media stream delay monitoring for a network node | |
| US6058102A (en) | Method and apparatus for performing service level analysis of communications network performance metrics | |
| Cidon et al. | The plaNET/ORBIT high speed network | |
| US7106698B1 (en) | System for triggering the control plane in an asynchronous connection-oriented transmission network | |
| US7046693B1 (en) | Method and system for determining availability in networks | |
| US6285657B1 (en) | System and method of scheduling data cells based upon sustainable cell rate and peak cell rate over a variable bandwidth channel | |
| HK1035818B (en) | Method and system for monitoring broadband quality of services | |
| EP1090529B1 (en) | Method and system for a loop back connection using a priority ubr and adsl modem | |
| Crosby | Performance management in ATM networks | |
| KR0140782B1 (en) | Measurement system for performance of cell transferring system in atm switch | |
| KR100236940B1 (en) | Path testing method of atm switching system between atm local switching subsystem and interface module | |
| KR100211023B1 (en) | ATM (ATM) service node device supporting high-speed application service and its operation method | |
| Jepsen et al. | Linux update: an experimental ATM network | |
| Aboul-Magd et al. | Traffic experimentation in ATM testbed | |
| Jou et al. | A method of delay and jitter measurement in an ATM network | |
| KR100281422B1 (en) | Call processing method when asynchronous terminal user and TSI-based information provider connected to frame relay network interwork with frame relay network matching device | |
| Kim | Deterministic service guarantees in 802.12 networks. II. The cascaded network case | |
| Shimizu et al. | Application-coexistent wire-rate network monitor for 10 gigabit-per-second network | |
| Traore et al. | Performance management for a real full scale ATM network BETEUS (M1010) | |
| Ngoh et al. | Design and implementation of a manageable B-ISDN host interface | |
| Wilson et al. | ACSys/RDN experiences with Telstra’s experimental broadband network, first progress report | |
| Di Concetto et al. | Transputer-based architecture for ATM LAN protocol testing | |
| Zhu | Multimedia realtime transport protocol over ATM network. | |
| KR20040091846A (en) | Realtime Monitoring Agent and method for monitoring using thereof |