# Patent

## Title
Filtering wireless network packets

## Abstract

A universal mobile telephony system (UMTS) network monitoring system for capturing intercepted UMTS data. ATM cells from a UTRAN interface may be intercepted. The UTRAN interface may be an lu interface, an lur interface, or an lub interface, which are, respectively, interfaces between a core network (CN) of the UTRAN and a radio network controller (RNC) of the UTRAN, an interface between RNCs of the UTRAN, and an interface between a Node B of the UTRAN and an RNC of the UTRAN. The ATM cells may be reassembled into UMTS packets of the UTRAN, among which user plane packets may be segregated from control plane UMTS packets based on fields and bytes of the reassembled UMTS packets. The control plane packets may be stored to a non-volatile storage medium of the network monitoring system or processed in real time and results thereof displayed graphically.

## Background
BACKGROUND
Wireless networks are transitioning from second generation to third generation networks. Two emerging third generation wireless network schemes are the UMTS (Universal Mobile Telecommunications System) and the CDMA2000 (Code-division Multiple Access). Firms that deploy these types of networks must monitor network traffic, often in real time. Embodiments described herein relate to monitoring wireless network traffic.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a typical portion of a UTRAN.
FIG. 2 shows a data flow diagram.
FIG. 3 shows a reassembly and filtering process.
FIG. 4 shows a process of filtering packets.
FIG. 5 shows filter patterns or conditions for lub filtering.
FIG. 6 shows filter patterns or conditions for lu filtering.
FIG. 7 shows filter patterns or conditions for lur filtering.
FIG. 8 shows network monitor equipment.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Some relevant acronyms are well known in the art of wireless networks but are repeated here for the reader's convenience. The term “UMTS” refers to the Universal Mobile Telecommunications System, which is a known industry standard for a type of mobile telecommunications system. The term “CN” refers to a core network. The term “Node B” refers to a UMTS base station or physical tower. The term “RNC” refers to a radio network controller. The term “lub” refers to an interface or link between a Node B and an RNC. The term “lur” refers to an interface or link between an RNC and another RNC. The term “lu” refers to an interface or link between an RNC and a CN. The term “UTRAN” refers to a UMTS terrestrial radio access network, which is an actual implementation of a UTMTS
Additionally, the term “VPI” (virtual path indicator) refers to an 8-bit or 12 bit field in the header of an ATM cell. The term “VCI” (virtual channel indicator) refers to a 16-bit field in the header of an ATM cell. ATM switches use the VPI/VCI fields to identify the next VCL (virtual channel link) that a cell needs to transit on its way to its final destination. In other words, the VCI together with the VPI is used to identify the next destination of a cell as it passes through a series of ATM switches on its way to its destination. ATM switches use the VPI/VCI fields to identify the next network VCL (virtual channel link) that an ATM cell needs to transit on its way to its final destination. The terms “user plane” and “control plane” are well known in the art and are discussed in the IEC publication mentioned below. They generally refer to user-oriented packets (user plane) and control or system oriented packets (control plane).
FIG. 1 shows a typical portion of a UTRAN. In FIG. 1, Node B's 50 communicate with RNCs 52 via lubs 54. The RNCs 52 communicate with each other via an lur 56 and with a CN 58 via lus 60. For additional background discussion of the UMTS and a UTRAN, see the International Engineering Consortium's (“IEC”) tutorial titled “Universal Mobile Telecommunications System (UMTS) Protocols and Protocol Testing”, published by the IEC, and, as of Dec. 13, 2004 available at www.iec.org/online/tutorials/acrobat/umts.pdf, and incorporated herein by reference.
With a UMTS, there is a common part loosely called the core network, CN, or just core (see e.g. CN 58 in FIG. 1). The UMTS standard has been described as an extension of existing networks, for example the CN exists in both second generation (2G) and third generation (3G) wireless networks. A UTRAN such as shown in FIG. 1 is divided into different RNSs (Radio Network Systems), each controlled by an RNC. The RNC is connected to a set of Node B elements, each of which can serve one or several cells. The core network or CN 58 can be a GSM Phase2+core network, for example, which can be found in 2G networks. Other components of the UTRAN are generally specific to 3G networks.
Embodiments discussed herein relate to testing and/or monitoring the UTRAN. Test or monitor equipment works with an RNC (such equipment is discussed below with reference to FIG. 8). The test/monitor equipment can hook into the lus, lurs, and lubs and intercept cells/packets therefrom (or receives intercepted cells/packets). One piece of test equipment can monitor all three types of links at one time. Again, the UTRAN diagram in FIG. 1 shows what the test/monitor equipment can hook into and monitor in real time. For example, testing/monitoring can be performed by use of optical splitters on an OC-3 or an STM-1 at the RNC.
An RNC is an expensive piece of equipment—about the size of a filing cabinet—and has links to the Node B's (lub links). An RNC can have one or more physical links (e.g. T1 or E1) for each Node B. Then, per concepts of 3G networks such as the UTMS, one RNC can talk to many Node B's, and each one can go over an ATM network, each being distinguishable by its ATM VCI/VPI. ATM is preferably the transport; a Node B talks to an RNC over an ATM link. User, voice, video, signaling data, etc. is carried over the ATM link.
When there are many lub links (Node B's) on one RNC, instead of using a 2 MB E1, an OC3 or STM1 link may be used (155 MB), which will go to a router which routes the different virtual paths to the respective Node B's. A hook onto one or more of these links (E1, OC3, etc.) is provided. The inventors have observed that the rate of data to be intercepted and monitored may potentially increase as the number and capacity of these links increase. The inventors have projected that streaming intercepted test/monitor data to disk can become impractical in the near to distant future. For example, storage can be quickly exhausted. Furthermore, the capacity of the network connection (e.g. LAN connection) between a capture device and a PC or monitoring device may be insufficient. The inventors have determined that there is a need to intelligently reduce the bandwidth of data going to PC/monitor 78 or other test/monitor equipment or that is otherwise being used to monitor real time wireless packets.
FIG. 2 shows a data flow diagram. Intercepted ATM cells 70 are received. The cells are reassembled 72 to ATM adaptation layer type 2 (AAL2) and to ATM adaptation layer 5 (AAL5) reassembled packets. AAL2 is usually used to transport small packets, which is useful for voice data and other time sensitive data. AAL5 is usually used to transport larger packets such as text or IP data that is less time sensitive. The reassembled packets are tagged with the VPI/VCI of their parent cells, a length field indicating the length of the respective packet, and an AAL mode (e.g. cell/AAL2/AAL5). The reassembled packets are filtered 74 and passed to a capture buffer 76. From the capture buffer 76 the filtered packets can flow to a workstation, test/monitor device, or PC 78 for analysis by a user. Alternatively, the packet-capturing device may be equipped with its own storage medium and packets may be stored locally at the capture device. Details of filtering 74 are discussed further below with reference to FIGS. 4-7.
The first box in the filter diagram of FIG. 2 is the interception or snoop point. The test equipment monitors the respective lines or ATM links 54, 56, and/or 60, and generally can take one of three approaches to handle cells/packets intercepted therefrom. Looking at the ATM cells, it can send everything to a capture buffer and can come along later and look at it manually, by software, etc. However, as mentioned above, this approach is limited by the size of the capture buffer. Or, the test equipment can send the data traffic taken off the lines straight to a PC/workstation (usually over a LAN or some other shared network connection), which can then analyze it in real time to make conclusions about the link or the network. A Signaling Analyzer Real Time (“SART”) test equipment performs a “call trace” function, which can capture and display in real time all data related to a call made with a mobile device. An example of a SART is a J7326A available from Agilent Technologies. Even this approach can be constrained by high volumes of intercepted data, for example because the data may need to pass through a test device or PC's network connection. Finally, rather than viewing captured data in real time, a user can opt to stream all of the data to disk storage. However, if the user returns at a later time, terabytes of data may have accumulated, and analysis becomes cumbersome if not impossible. Each test/monitor approach mentioned above can be improved by providing filtering 74.
Regarding filtering 74, if only ATM cells are parsed then the information primarily available for intelligent packet processing would be the particular corresponding Node B (known via the VPI). This is less than useful for a user who desires to look at events on many different Node B's at one time or otherwise perform pan-network analysis. For example, a user may be interested in data related to a handover when a mobile device or call gets handed over from one Node B to another. The user may desire to observe packets generated to handle the handover. In this case, more intelligent filtering is called for. Furthermore, users that monitor, test, or observe a mobile wireless network are interested generally in signaling and control data as opposed to user data such as voice data. Reassembled ATM data is convenient to intelligently filter and therefore it is preferable to reassemble 72 ATM cells prior to filtering 74. Reassembly 72 may be performed with available technology, such as with a logic design running in an FPGA (field programmable gate array).
FIG. 3 shows a reassembly and filtering process. Data is intercepted 100 from lus, lubs, and/or lurs, for example by a measurement (see e.g. Measurement System 142 in FIG. 8). The intercepted data or cells 102 are reassembled 102 into the lu, lub, and/or lur packets that they are transporting. The reassembled packets are analyzed 104 to filter, remove, or suppress unwanted packets, preferably packets in the UTMS user plane. Non-filtered packets are forwarded 106, preferably over a LAN or other network connection to a testing station, capture device, etc. (see e.g. PC 144 in FIG. 8).
FIG. 4 shows a process of filtering packets. Bytes of an incoming packet are compared 120 against a plurality of arrays of 0 to 255 comparand bytes. Matching results of the plurality of comparisons are logically “anded” 122 for each filter, and according to the result stored or suppressed 124. In one implementation, suppression may have priority over storing (non-suppressing). As each byte is received it can be compared against a mask to see which bits are the bits of interest and to see if it matches a predefined byte. Although this can be done in parallel for received bytes, each individual byte may be checked for a match. After examining up to 256 bytes of a packet, it can be concluded whether the packet matches a pattern and therefore can be kept or discarded or otherwise segregated.
FIG. 5 shows filter patterns or conditions 130 for lub filtering. FIG. 6 shows filter patterns or conditions 132 for lu filtering. FIG. 7 shows filter patterns or conditions 134 for lur filtering. As can be seen in these FIGS. 5-7, filtering or packet segregation can be based on whether a packet is an AAL2 or AAL5 packet, whether its VPI/VCI is within a given range, whether its length is under a given value, whether certain pattern bytes are found in certain locations in a packet, the uplink/downlink direction of a packet, and/or whether the packet is a known control packet (e.g. FP control packet), and the like, and in different combinations as needed. One skilled in the art of computer programming can implement the conditions in FIGS. 5-7 in any number of ways. For example, a field programmable gate array may be used. A software based state machine can also be used to logically apply the conditions. One skilled in the art will appreciate that substantially most, if not all user plane data will preferably be filtered out. However, in some cases some small amount of user plane data may be passed through.
FIG. 8 shows network monitor equipment. Analog and digital line interface modules (LIMs) 140 receive physical line signals and output digital traffic to link layer processors of a Measurement System 142. An example of a Measurement System 142 is a J6801A Distributed Network Analyzer available from Agilent Technologies. The Line Interface Modules may perform reassembly and the Link Layer Processors may perform filtering. The Measurement System 142 can pass packets that passed through the filtering process over an ethernet link to a workstation or PC System 144, which can capture the packets to a hard drive or otherwise process the packets. In this case, because filtering has already occurred, there is significant reduction or elimination of user data flowing over the ethernet and onto the hard drive or other storage medium.
Embodiments discussed above may relate to a universal mobile telephony system (UMTS) network monitoring system for capturing intercepted UMTS data. ATM cells from a UTRAN interface may be intercepted. The UTRAN interface may be an lu interface, an lur interface, or an lub interface, which are, respectively, interfaces between a core network (CN) of the UTRAN and a radio network controller (RNC) of the UTRAN, an interface between RNCs of the UTRAN, and an interface between a Node B of the UTRAN and an RNC of the UTRAN. The ATM cells may be reassembled into UMTS packets of the UTRAN, among which user plane packets may be segregated from control plane UMTS packets based on fields and bytes of the reassembled UMTS packets. The control plane packets may be stored to a non-volatile storage medium of the network monitoring system or processed in real time and results thereof displayed graphically.
A volatile or non-volatile computer-readable storage stores information to enable a computer to perform a method of filtering data intercepted from a UTRAN, the method comprising: reassembling the intercepted data to ATM adaptation layer type 2 (AAL2) and to ATM adaptation layer 5 (AAL5) reassembled packets; and automatically filtering the reassembled packets, where a packet is filtered based on: whether it is an AAL2 or an AAL5 packet, its packet length, and whether it is within a virtual path identifier (VPI) and/or virtual channel identifier (VCI) range. FIGS. 5-7 illustrate various types of packets which may be suppressed, including POLL packets, STAT packets, BEGIN packets, END packets, and various types of packets which may not be suppressed, including NBAP packets, ALCQAP packets and RNSAP packets. The many features and advantages of the invention are apparent from the detailed specification and, thus, it is intended by the appended claims to cover all such features and advantages of the invention that fall within the true spirit and scope of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly all suitable modifications and equivalents may be resorted to, falling within the scope of the invention.

## Claims

1. A method, comprising:
employing a line interface module to reassemble data intercepted from a UTRAN into ATM adaptation layer type 2 (AAL2) and into ATM adaptation layer 5 (AAL5) reassembled packets; and
employing a link layer processor to automatically filter the reassembled packets, where a packet is filtered based on:
whether it is an AAL2 or an AAL5 packet,
its packet length, and
whether it is within a virtual path identifier (VPI) and/or virtual channel identifier (VCI) range.

2. A method according to claim 1, wherein the VPI/VCI range is defined in advance by a user.

3. A method according to claim 1, wherein the filtering is further based on whether the reassembled packet was passing in a downlink direction relative to a corresponding mobile user.

4. A method according to claim 1, wherein the filtering is further based on whether bytes in the packet match particular predefined byte values.

5. A method according to claim 1, wherein the filtering is also based on comparing the packet length to predefined packet filtering lengths.

6. A method according to claim 1, wherein when filtered packets were intercepted from an lub, the filtering suppresses poll packets, begin packets, end packets, line speech packets, and stat packets.

7. A method according to claim 1, wherein at least one or more of the following types of packets are suppressed by the filtering: POLL packets, STAT packets, BEGIN packets, END packets, or line speech packets.

8. A method according to claim 1, wherein at least two or more of the following types of packets are suppressed by the filtering: POLL packets, STAT packets, BEGIN packets, END packets, or line speech packets.

9. A method according to claim 1, wherein at least three or more of the following types of packets are suppressed by the filtering: POLL packets, STAT packets, BEGIN packets, END packets, or line speech packets.

10. A method according to claim 1, wherein at least four or more of the following types of packets are suppressed by the filtering: POLL packets, STAT packets, BEGIN packets, END packets, or line speech packets.

11. A method according to claim 1, wherein at least the following types of packets are suppressed by the filtering: POLL packets, STAT packets, BEGIN packets, END packets, or line speech packets.

12. A method according to claim 1, wherein at least one or more of the following types of packets are not suppressed by the filtering: NBAP packets, ALCAP packets, RNSAP packets, IP packets, signaling packets, or FP control packets.

13. A method according to claim 1, wherein at least two or more of the following types of packets are not suppressed by the filtering: NBAP packets, ALCAP packets, RNSAP packets, IP packets, signaling packets, or FP control packets.

14. A method according to claim 1, wherein at least three or more of the following types of packets are not suppressed by the filtering: NBAP packets, ALCAP packets, RNSAP packets, IP packets, signaling packets, or FP control packets.

15. A method according to claim 1, wherein at least four or more of the following types of packets are not suppressed by the filtering: NBAP packets, ALCAP packets, RNSAP packets, IP packets, signaling packets, or IFP control packets.

16. A method according to claim 1, wherein at least five or more of the following types of packets are not suppressed by the filtering: NBAP packets, ALCAP packets, RNSAP packets, IP packets, signaling packets, or FP control packets.

17. A method according to claim 1, wherein at least the following types of packets are not suppressed by the filtering: NBAP packets, ALCAP packets, RNSAP packets, IP packets, signaling packets, or FP control packets.

18. A network monitoring apparatus configured to perform the method according to claim 1.

19. A volatile or non-volatile computer-readable storage storing information to enable a computer to perform a method according to claim 1.

20. The method of claim 1, further comprising:
the link layer processor discarding the reassembled packets that do not satisfy filter conditions of the filter; and
storing in a storage medium the reassembled packets that do satisfy filter conditions of the filter.