 for servers, where some complex tasks have to be performed at wire speed, as for instance things become very different: Typical examples would be: URL and cookie detection. On-the-fly switching of servers because some connections may be deemed to be (at least from an application standpoint) sticky and therefore unacceptable. Content that needs to be segregated from one server context to another (for example, streaming video must be delivered from one server while ordinary web pages must be delivered from another). High-speed intrusion detection systems (IDS). 31. Feliks Welfeld, "The Case for a Standalone Classification Processor," Solidum white paper. Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineeringlibrary.com) Copyright © 2004 The McGraw-Hill Companies. All rights reserved. Any use is subject to the Terms of Use as given at the website. CLASSIFICATION PROCESSORS CLASSIFICATION PROCESSORS 257 Host Look-aside I/F Header Classification Engine Engine Cascade SPI-4.2 SSRAM I/F Cascade Host CPU 32/64-bit bus SPI-4.2 SPI-4.2 framer RQDPC10G 64-bit-wide ZBT Results 64-bit-wide ZBT Cascade Sync Burst Cascade Sync Burst control SSRAM DPC (2-8) SSRAM FIGURE 13.10 Raqia's 10 Gbps deep packet classification processor (RQDPC10G). (a) The internal structure. (b) How it fits into a network-processor-based system. (Source: Raqia) Virus scanning of packets. Firewall load balancing. QoS concerns (for example, some requests should be served by one server, whereas others should be channeled for service to yet another server and SO forth). The common-thread operation needed in these environments is a string search. This involves tra- versing both the header and the payload of packets (or strings) trying to achieve a match between reg- ular expressions, including alternation, and based on ranges or wildcards, applying one or more policy rules or patterns. Therefore, because these classification requirements often come from edge network equipment or equipment facilitating the correct behavior of power