System and method for achieving hardware acceleration for asymmetric flow connections

Information

  • Patent Grant
  • 10375155
  • Patent Number
    10,375,155
  • Date Filed
    Tuesday, January 17, 2017
    7 years ago
  • Date Issued
    Tuesday, August 6, 2019
    5 years ago
Abstract
Performance of connection flow management between a hardware-based network interface and a software module of a network traffic management device is disclosed. A flow connection setup for a flow connection is established between a client device and a server at the network traffic management device. It is then determined if the flow connection is symmetrical or asymmetrical in nature. A flow signature entry and a transformation data entry for the flow connection is generated, by software executed by the network traffic management device, in opposing first and second symmetric or asymmetric flow directions. The flow signature entry and the transformation data entry for the first and second flow directions is sent from the software module to the network interface. The network interface stores and utilizes the flow signature entry and the transformation data entry to perform acceleration on data packets in the first and second flow directions.
Description
FIELD

This technology generally relates to managing network traffic in a virtual bladed chassis, and more particularly, to a system and method for achieving hardware acceleration for asymmetric flow connections.


BACKGROUND

The Internet's core bandwidth continues to double every year. Some of this additional bandwidth is consumed as more and more users access the Internet. Other additional bandwidth is consumed as existing users increase their use of the Internet. This increase of Internet use translates into an increase in traffic directed to and from World Wide Web servers (“Web servers”).


Replacing a Web server with another Web server having twice the capacity is a costly undertaking, whereas merely adding the new Web server(s) is less costly but usually requires a load-balancing mechanism to balance workload so that each virtual server performs work proportional to its capacity. Network traffic management devices positioned between client devices and the Web servers typically handle the load balancing functions, which typically more processing of data packets communicated between the client devices and Web servers. With increasing traffic, the network traffic management device will eventually not be able to process traffic in a timely manner.


For software assisted hardware acceleration, at connection establishment, a software module may push connection flow signature and transformation data to a hardware device to perform acceleration on the flow. The flow signature and transformation data is typically pushed in a single transaction in which the signature and transformation data is embedded with the flow header and data. Accordingly, two flow signature and transformation entries may be created accordingly. This approach incorrectly assumes that these two flows are symmetric and are reversible. However, for an asymmetric flow connection, the client-to-server and server-to-client flows have different flow signature and transformation information. Therefore, the flow may be accelerated in one direction while the flow in the other direction may not be properly accelerated.


What is needed is a system and method for achieving hardware acceleration for asymmetric flow connections.


SUMMARY

In an aspect, a method for performing connection flow management between a hardware device and a software module is disclosed. The method comprises establishing, at a network traffic management device having a software module and a hardware acceleration device, a flow connection setup for a flow connection between a client device and a server. The method comprises determining if the flow connection is symmetrical or asymmetrical in nature. The method comprises generating, at the software module, a flow signature entry and a transformation data entry for the flow connection in the first flow direction and a second flow direction opposite to the first flow direction, wherein the first and second flow directions are capable of being either symmetric or asymmetric in nature. The method comprises sending the flow signature entry and the transformation data entry for the first and second flow directions from the software module to the hardware acceleration device, wherein the hardware acceleration device at least stores the flow signature entry and the transformation data entry for the first and second flow directions, the hardware acceleration device configured to utilize the flow signature entry and the transformation data entry to perform acceleration on data packets in the first and second flow directions.


In an aspect, a non-transitory computer readable medium having stored computer executable code thereon in form of instructions for connection flow management to be performed by a network traffic management device is disclosed. The network traffic management device executes the code which causes at least a portion of the network traffic management device to perform a method. The method comprises establishing, at a hardware acceleration device of a network traffic management device, a flow connection setup for a flow connection to be handled by the network traffic management device between a client device and a server. The method comprises determining if the flow connection is symmetrical or asymmetrical in nature. The method comprises generating, at the software module, a flow signature entry and a transformation data entry for the flow connection in the first flow direction and a second flow direction opposite to the first flow direction, wherein the first and second flow directions are capable of being either symmetric or asymmetric in nature. The method comprises sending the flow signature entry and the transformation data entry for the first and second flow directions from the software module to the hardware acceleration device, wherein the hardware acceleration device at least stores the flow signature entry and the transformation data entry for the first and second flow directions, the hardware acceleration device configured to utilize the flow signature entry and the transformation data entry to perform acceleration on data packets in both first and second flow directions.


In an aspect, a network traffic management device is disclosed. The device comprises a memory stored thereon machine executable code comprising instructions for performing connection flow management. The device comprises a hardware-based network interface controller coupled to the memory and capable of receiving and forwarding data packets over a network that relate to a plurality of applications. The network interface controller configured to establish a flow connection setup for a flow connection between a client device and a server via the network traffic management device and operate as an acceleration device. The device includes a processor operably coupled with the memory and the network interface controller. The processor is configured to execute programmed instructions stored in the memory which causes the network traffic management device to perform a method. The method comprises determining if the flow connection is symmetrical or asymmetrical in nature. The method comprises generating a flow signature entry and a transformation data entry for the flow connection in the first flow direction and a second flow direction opposite to the first flow direction, wherein the first and second flow directions are capable of being either symmetric or asymmetric in nature. The method comprises sending the flow signature entry and the transformation data entry for the first and second flow directions to the network interface controller. The network interface controller at least stores the flow signature entry and the transformation data entry for the first and second flow directions. The network interface controller is configured to utilize the flow signature entry and the transformation data entry to perform acceleration on data packets in both of the first and second flow directions.


In one or more of the above aspects, the method performed by the network traffic management device further comprises generating a flow creation message, wherein the flow creation message includes information associated with a flow type, actual data or pass flow information associated with the flow connection.


In one or more of the above aspects, the method performed by the network traffic management device further comprises updating the flow signature entry and the transformation data entry for the flow connection.


In one or more of the above aspects, the network interface controller is a high speed bridge.


In one or more of the above aspects, the method performed by the network traffic management device further comprises receiving, at the network interface controller, the flow signature and the transformation data entry; and storing the flow signature and the transformation data entry in a flow table in the memory.


In one or more of the above aspects, the method performed by the network traffic management device further comprises identifying a first flow connection associated with the received data packets; and accessing the memory to determine if the first flow connection is in a flow table. In one or more of the above aspects, method performed further comprises forwarding the data packets to a DMA when the first flow connection is not in the flow table.


In one or more of the above aspects, the method performed by the network traffic management device further comprises retrieving a first flow signature entry and a first transform information entry associated with the first flow connection; and transforming and multiplexing the data packets of the first flow connection into a transmit data path.


In one or more of the above aspects, the method performed by the network traffic management device further comprises determining that the flow connection employs a Direct Server Return (DSR) load balancing operation between the server and the client, wherein a response from the server is not received at the network traffic management device. The flow signature entry and the transform information entry is provided by the processor to the network interface to perform acceleration only on data packets traveling in one or more flow segments sent in a flow direction from the client device and the server.


In one or more of the above aspects, the method performed by the network traffic management device further comprises determining that the flow connection between the network traffic management device and the server is reused for multiple requests from one or more client devices and providing the flow signature entry and the transform information entry to the network interface to perform hardware acceleration only on data packets in one or more flow segments between the client device and the network traffic management device.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 illustrates an exemplary network system environment using a virtualized network traffic management system in accordance with an aspect of the present disclosure;



FIG. 2A is a block diagram of a network traffic management device in accordance with an aspect of the present disclosure;



FIG. 2B is a block diagram of a network traffic management system with multiple network traffic management devices capable of operating in full virtualization mode in accordance with an aspect of the present disclosure;



FIG. 2C is a ladder diagram illustrating flow directions associated with a flow connection in accordance with an aspect of the present disclosure;



FIG. 3A is a flowchart of an exemplary process and method performed by the network traffic management device in accordance with an aspect of the present disclosure;



FIG. 3B is a flowchart of an exemplary process and method performed by the network traffic management device in accordance with an aspect of the present disclosure;



FIG. 4 illustrates a block diagram of the high speed bridge (HSB) in accordance with an aspect of the present disclosure;



FIG. 5 illustrates a functional diagram of the HSB operating in conjunction with at least one processor in accordance with an aspect of the present disclosure;



FIG. 6A illustrates an example HSB single flow snoop header in accordance with an aspect of the present disclosure;



FIG. 6B illustrates an example HSB double flow snoop header in accordance with an aspect of the present disclosure;



FIG. 7 illustrates an exemplary HSB Flow Cache table entry in accordance with an aspect of the present disclosure; and



FIG. 8 illustrates an exemplary HSB Teardown descriptor in accordance with an aspect of the present disclosure.





DETAILED DESCRIPTION


FIG. 1 illustrates an exemplary network system environment using one or more virtualized network traffic management apparatus for achieving hardware acceleration for asymmetric flow connections in accordance with an aspect of the present disclosure. Referring to FIG. 1, the exemplary network system 100 includes a network traffic management apparatus which includes one or more network traffic management systems 222, wherein each system 222 includes one or more network traffic management clusters 220 having one or more network traffic management devices 110 are configured to achieve hardware acceleration for symmetric and asymmetric flow connections.


The exemplary network system 100 can include one or more client devices shown as 104(1)-104(n). Client devices 104(1)-104(n) are coupled to the network traffic management device 110 via network 108, although other communication channels may be implemented. Generally, the client devices 104(1)-104(n) can include virtually any computing device capable of connecting to another computing device to send and receive information, including Web-based information. The set of such devices can include devices that typically connect using a wired (and/or wireless) communications medium, such as personal computers (e.g., desktops, laptops), tablets, set up boxes, mobile and/or smart phones and the like. In this example, the client devices can run browsers and other types of applications (e.g., web-based applications) that can provide an interface to make one or more requests to different server-based applications via the network 108, although requests for other types of network applications may be made by the client devices 104(1)-104(n).


Servers 102(1)-102(n) comprise one or more server computing machines or devices capable of operating one or more Web-based or non Web-based applications that may be accessed by network devices via the network 108, such as client devices 104(1)-104(n)). The server 102 may provide data representing requested resources, such as particular Web page(s), image(s) of physical objects, and any other web objects, in response to requests. It should be noted that the servers 102(1)-102(n) may perform other tasks and provide other types of resources.


The client devices 104(1)-104(n) in an aspect are configured to run interface applications such as Web browsers that can provide a user interface to make requests for and send data to different Web server-based applications via the network 108 and via one or more network traffic management devices 110. A series of network applications can run on the servers 102(1)-102(n) that allow the transmission of data that is requested by the client devices 104(1)-104(n). The servers 102(1)-102(n) can provide data or receive data in response to requests directed toward the respective applications on the servers 102(1)-102(n) from the client devices 104(1)-104(n). For example, as per the Transmission Control Protocol (TCP), packets can be sent to the servers 102(1)-102(n) from the requesting client devices 104(1)-104(n) to send data, although other protocols (e.g., FTP) may be used. It is to be understood that the servers 102(1)-102(n) can be hardware or software or can represent a system with multiple servers, which can include internal or external networks. In this example, the servers 102(1)-102(n) can be any version of Microsoft® IIS servers or Apache® servers, although other types of servers can be used. Further, additional servers can be coupled to the network 108 and/or LAN 106 and many different types of applications can be available on servers coupled to the network 108 and/or LAN 106.


A series of Web-based and/or other types of protected and unprotected network applications can run on the servers 102(1)-102(n) that allow the transmission of data that is requested by the client devices 104(1)-104(n). The client devices 104(1)-104(n) can be further configured to engage in a secure communication with the network traffic management device 110 and/or the servers 102(1)-102(n) using mechanisms such as Secure Sockets Layer (SSL), Internet Protocol Security (IPSec), Tunnel Layer Security (TLS), and the like.


In this example, the network 108 comprises a publicly accessible network, such as the Internet, which includes client devices 104(1)-104(n), although the network 108 may comprise other types of private and public networks that include other devices. Communications, such as requests from client devices 104(1)-104(n) and responses from servers 102(1)-102(n), take place over the network 108 according to standard network protocols, such as the HTTP and TCP/IP protocols in this example, but the principles discussed herein are not limited to this example and can include other protocols (e.g., FTP). Further, the network 108 can include local area networks (LANs), wide area networks (WANs), direct connections, other types and numbers of network types, and any combination thereof. On an interconnected set of LANs or other networks, including those based on different architectures and protocols, routers, switches, hubs, gateways, bridges, crossbars, and other intermediate network devices may act as links within and between LANs and other networks to enable messages and other data to be sent from and to network devices. Also, communication links within and between LANs and other networks typically include twisted wire pair (e.g., Ethernet), coaxial cable, analog telephone lines, full or fractional dedicated digital lines including T1, T2, T3, and T4, Integrated Services Digital Networks (ISDNs), Digital Subscriber Lines (DSLs), wireless links including satellite links, optical fibers, and other communications links known to those skilled in the relevant arts. In essence, the network 108 includes any communication medium and method by which data may travel between client devices 104(1)-104(n), servers 102(1)-102(n), and network traffic management device 110, and these devices are provided by way of example only. By way of example only, network 108 can provide responses and requests according to the Hyper-Text Transfer Protocol (HTTP) based application, request for comments (RFC) document(s) or the Common Internet File System (CIFS) or network file system (NFS) protocol in this example, although the principles discussed herein are not limited to these examples and can include other application protocols and other types of requests (e.g., File Transfer Protocol (FTP) based requests).


By way of example only and not by way of limitation, LAN 106 comprises a private local area network that is connected to the network traffic management device 110 and the one or more servers 102(1)-102(n), although the LAN 106 may comprise other types of private and public networks with other devices. Networks, including local area networks, besides being understood by those of ordinary skill in the relevant art(s), have already been described above in connection with network 108, and thus will not be described further here.


As shown in the example environment of network system 100 depicted in FIG. 1, the network traffic management system 222, which includes one or more network traffic management device clusters 220 can be interposed between the network 108 and the servers 102(1)-102(n) coupled via LAN 106 as shown in FIG. 1. Again, the network system 100 could be arranged in other manners with other numbers and types of devices. It should be understood that the devices and the particular configuration shown in FIG. 1 are provided for exemplary purposes only and thus are not limiting.


Generally, the network traffic management devices 110 in a cluster 220 manage network communications, which may include one or more client requests and server responses, to/from the network 108 between the client devices 104(1)-104(n) and one or more of the servers 102(1)-102(n) in LAN 106 in these examples. These requests may be destined for one or more servers 102(1)-102(n), and may take the form of one or more TCP/IP data packets originating from the network 108 which pass through one or more intermediate network devices and/or intermediate networks until ultimately reaching one or more network traffic management devices 110.


As shown in FIG. 1, the network traffic management system 222 may include one or more network traffic management clusters 220, wherein each network traffic management cluster may include one or more network traffic management devices 110, as shown in FIG. 2B. The clusters 220 are configured to operate in a virtualized mode, whereby individual or combinations of processors or cores 220 among and/or between devices 110 may be used to execute virtual instances.


In an aspect, as discussed in FIG. 2B, one or more network traffic management devices 110 include a plurality of processors 200, whereby the processor(s) 200 allocate one or more connections to the servers 102(1)-102(n), which are one of the many measures of resource utilization of the servers 102(1)-102(n) by the client devices 104(1)-104(n). Some other examples of indicators relating to server resource utilization are bandwidth utilization, processor utilization, memory utilization and the like. In any case, the network traffic management cluster 220 may manage the network communications by performing several network traffic management related functions involving network communications, secured or unsecured, such as load balancing, access control, VPN hosting, network traffic acceleration, encryption, decryption, cookie and key management across multiple devices 110.



FIG. 2A is a block diagram of a network traffic management device in accordance with an aspect of the present disclosure. Referring to FIG. 2A, an example network traffic management device 110 includes one or more device processors or cores 200, one or more device I/O interfaces 202, one or more network interfaces 204, one or more device memories 206 (including an application module 210), one or more distributors or disaggregators 212, and one or more high speed bridges 214, and, all of which are coupled together by bus 208. It should be noted that the device 110 could include other types and numbers of components and is thereby not limited to the configuration shown in FIG. 2A.



FIG. 2B is a block diagram of a network traffic management cluster having a plurality of network traffic management devices in accordance with an aspect of the present disclosure. As shown in the example of FIG. 2B, the cluster 220 includes a plurality of network traffic management devices 110(A)-110(D) which include the processors 200, disaggregators 212, high speed bridge 214 and other components. It should be noted that although four network traffic management devices 110A-110D are shown, any number of network traffic management devices 110 in the system is contemplated. In an aspect, the network traffic management devices 110 may be referred to “blades”, wherein the blades 110 are electronic circuit boards or cards that are installed in a hardware chassis and are configured to communicate with one another over a backplane. In an aspect, virtualized guest services, such as software and other virtualized applications may be executed as virtual instances by one or processors 200 running on different devices 110 in the cluster 220.


Referring back to FIG. 2A, the device processor or core 200 comprises one or more microprocessors configured to execute computer/machine readable and executable instructions stored in device memory 206. Such instructions, when executed by one or more processors, implement network traffic management related functions of the network traffic management device 110. The processor 200 may comprise other types and/or combinations of processors, such as digital signal processors, micro-controllers, application specific integrated circuits (“ASICs”), programmable logic devices (“PLDs”), field programmable logic devices (“FPLDs”), field programmable gate arrays (“FPGAs”), and the like.


Device I/O interfaces 202 comprise one or more user input and output device interface mechanisms. The interface may include a computer keyboard, mouse, display device, and the corresponding physical ports and underlying supporting hardware and software to enable the network traffic management devices 110 to communicate with other devices 110 and/or other network devices in the outside environment. Such communication may include accepting user data input and to provide user output, although other types and numbers of user input and output devices may be used. Additionally or alternatively, as will be described in connection with network interface 204 below, the network traffic management device 110 may communicate with the outside environment for certain types of operations (e.g., configuration) via a network management port. In an aspect, the I/O interface 202 may be a high speed bridge between the bus 208 and the network interface 204. The I/O interface 202 may be a USB bus; an Apple Desktop Bus; an RS-232 serial connection; a SCSI bus; a FireWire bus; a FireWire 800 bus; an Ethernet bus; an AppleTalk bus; a Gigabit Ethernet bus; an Asynchronous Transfer Mode bus; a HIPPI bus; a Super HIPPI bus; a SerialPlus bus; a SCI/LAMP bus; a FibreChannel bus; a Serial Attached small computer system interface bus and the like.


Network interface 204 comprises one or more mechanisms that enable network traffic management device 110 to engage in network communications over the LAN 104 and the network 108 using one or more desired protocols (e.g. TCP/IP, UDP, HTTP, RADIUS, DNS). However, it is contemplated that the network interface 204 may be constructed for use with other communication protocols and types of networks. Network interface 204 is sometimes referred to as a transceiver, transceiving device, or network interface card (NIC), which transmits and receives network data packets to one or more networks, such as LAN 106 and network 108.


In an example where the network traffic management device 110 includes more than one device processor 200, each processor 200 (and/or core) may use the same single network interface 204 or a plurality of network interfaces 204. Further, the network interface 204 may include one or more physical ports, such as Ethernet ports, to couple the network traffic management device 110 with other network devices, such as other network traffic management devices 110 and/or Web servers 102. Moreover, the interface 204 may include certain physical ports dedicated to receiving and/or transmitting certain types of network data, such as device management related data for configuring the network traffic management device 110 and/or client request/server response related data.


Device memory 206 comprises non-transitory computer, processor or machine readable media, namely tangible computer readable or processor readable storage media, which are examples of machine-readable storage media. Computer readable storage/machine-readable storage media may include volatile, nonvolatile, removable, and non-removable media implemented in any method or technology for storage of information. Such storage media includes computer readable/machine-executable instructions, data structures, program modules, or other data, which may be obtained and/or executed by one or more processors, such as device processor 200. Such instructions, when executed by one or more processors, allows control of the general operation of network traffic management device 110 to manage network traffic, implement the application module 210, and perform the process described in the present disclosure. Examples of computer readable storage media include RAM, BIOS, ROM, EEPROM, flash/firmware memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the information.


Bus 208 may comprise one or more internal device component communication buses, links, bridges and supporting components, such as bus controllers and/or arbiters. The bus enables the various components of the network traffic management device 110, such as the processor 200, device I/O interfaces 202, network interface 204, and device memory 206, to communicate with one another. However, it is contemplated that the bus may enable one or more components of the network traffic management device 110 to communicate with components in other devices as well. Example buses include HyperTransport, PCI, PCI Express, InfiniBand, USB, Firewire, Serial ATA (SATA), SCSI, IDE and AGP buses. However, it is contemplated that other types and numbers of buses may be used, whereby the particular types and arrangement of buses will depend on the particular configuration of the network traffic management device 110.


The distributor or disaggregator 212 performs the functions of selectively routing one or more data packets for a virtual instance to one or more selected processors 200 within or among network traffic management devices 110 within the virtualized cluster 220.


High speed bridge or HSB 214 is a hardware device that executes logic to perform various functions with respect to internal execution as well as handling communications with other network traffic management devices 110 in a cluster 220. The HSB 214 may be configured in application specific integrated circuits (“ASICs”), programmable logic devices (“PLDs”), field programmable logic devices (“FPLDs”), field programmable gate arrays (“FPGAs”), and the like. As will be described in more detail below, the HSB 214 in the present disclosure is configured to perform hardware acceleration functions on data packets based on symmetric and/or asymmetric flows.


In an aspect, the network traffic management cluster 220 is configured to provide full virtualization of guest services applications among multiple processors 200 of multiple network traffic management devices 110 within a cluster 220. In particular, when operating in the virtual environment, the network traffic management cluster 220 provides a virtual machine environment in which the individual network traffic management devices 110 provide a virtual simulation of the underlying hardware. With regard to virtualization, one or more network traffic management devices 110 in the network traffic management cluster 220 are configured to perform functions similar to a hypervisor. In particular, the network traffic management devices 110, in acting as a hypervisor, perform one or more hardware virtualization techniques which allow multiple operating systems, applications, or virtual machines (“guest services”), to run concurrently on one or more processors 200 of the devices 110(A)-110(D) in a cluster 220. In other words, the network traffic management devices 110, when operating in the virtualization mode, present a guest service with a virtual operating platform, whereby the network traffic management devices 110 implement and manage the execution of those guest service(s) among an emulated or virtualized set of hardware.


The execution of a guest operation occurs in a virtual instance, whereby one or more processors 200 on one or more network traffic management devices 110(A)-110(D) of the network traffic management system 220 share the virtualized hardware resources to execute a portion or all of the guest service's operations. In particular, the network traffic management devices 110, when operating in a virtualization mode, are able to, per virtual instance, manage the resources of the pre-selected processors 200 for any network traffic management device 110 in the cluster 220.


In general, the present system is directed to a network traffic management system which includes a plurality of network traffic management devices, wherein one or more network traffic management devices contain a plurality of processors or cores 200. The network traffic management devices in the network traffic management system are configured to operate in a full virtualization mode. The system of the present disclosure utilizes a unidirectional-based flow creation and management method, instead of traditional connection based method, to achieve hardware acceleration for both asymmetric and symmetric connection flows. Furthermore, the system and method provides the fundamentals for advanced fine tuned, flow management between the hardware device and the software system to achieve advanced application performance and flexibility.



FIG. 2C illustrates a ladder diagram showing the respective flow segments in a first flow direction and a second flow direction in accordance with an aspect of the present disclosure. As shown in FIG. 2C, a flow connection may contain a first flow direction 250 and a second flow direction 252, whereby the flow connection has a flow signature which contains information to uniquely identify the flow within a connection. The flow signature is usually found in L2, L3 and L4 protocol fields of the data packets in the flow. As shown in FIG. 2C, the network traffic management device 110 receives data packets from the client device 104 in an incoming first flow segment 250A and passes those data packets to the server 102 in an incoming second flow segment 250B. Similarly, the network traffic management device 110 receives data packets from the server 102 in an outgoing first flow segment 252A and passes those data packets to the client device 104 in an outgoing second flow segment 252B.


As will be described in more detail below, when the network traffic management device 110 performs hardware acceleration on the data packets, it will recognize the flow signature of the incoming or outgoing first flow segment 250A or 252A and replace it with the second flow segment 250B, 252B. In the case where the incoming and outgoing flows are symmetric, the segments for each flow direction are reversible. However, if the flows are asymmetric in nature, the flow signatures of the first and second segments in both directions may not be the same or even related to one another.



FIG. 3A illustrates a process performed by the software module of the network traffic management device in accordance with an aspect of the present disclosure. In particular to an aspect in FIG. 3A, the network traffic management system 110 will receive an incoming flow, whereby the software module will perform a connection load balance setup (Block 300). The software module will thereafter determine whether the connection for the received flow is asymmetric or symmetric in nature (Block 302).


Once the type of the flow connection is identified and determined, the software module of the network traffic management device 110 generates a flow signature entry and a transformation information entry for both directions of flow (Block 304). In an aspect, the flow signature may contain VLAN ID information, source IP and destination IP as well as source port, and/or destination port information. It is contemplated that additional and/or different data may be included in the flow signature in an aspect of the present disclosure.


The software module of the network traffic management device 110 then provides the generated flow signature entry and transformation information entry to a hardware acceleration device, such as an ASIC/FPGA hardware device (e.g. high speed bridge or “HSB”) of the network traffic management device 110 (Block 306). The software module then creates a snoop header which contains two flow entries, one for each half of the connection, which is then placed on a DMA transmit ring (Block 308). As will be described in more detail below, the hardware acceleration device, upon receiving this information from the software module, will create corresponding flow signature and transformation entries for its own use whenever hardware acceleration is desired.


When communicating with the high speed bridge, the software engine of the network traffic management device 110 can either embed a header with the flow type, signature and flow transformation information, together with the actual data or pass flow information header via one or more unidirectional based flow creation messages. The protocol header provides sufficient connection and flow information for the correct creation of flow entry in the high speed bridge. The method of embedding the flow header along with actual data can be used for both symmetric and asymmetric flow connection to save extra control network bandwidth. Accordingly, the flow association is decoupled from any single connection session, such that each flow can now be handled properly and uniquely according to the flow nature.


In an aspect, the network traffic management device may apply the process in various load balancing scenarios. For example, the connection may employ a Direct Server Return (DSR), which is an asymmetric-based load balancing option where the server 102, when responding to a client request, sends the response directly to the client device 104, thereby bypassing the network traffic management device 110. In this scenario, the software module of the network traffic management device 110 will send the flow signature entry and the transform information entry to the hardware acceleration device only for flow traveling in the first flow direction (i.e. from client to server).


In another example, the connection may be a HTTP one-connect, whereby the network traffic management device 110 is configured to reuse multiple connections for the second segment (i.e. between the device 110 and the server 102) for multiple client devices 104. In this scenario, the network traffic management device 110 is configured to have the software module handle the second flow segment (i.e. from server to client). At the same time, the software module is configured to provide the flow signature and transform information entries to the hardware acceleration device incoming first flow segment and the outgoing second flow segments. Accordingly, the hardware acceleration device will be configured to handle only the flows between the client device 104 and the network traffic management device 110. Accordingly, this enables the flexibility of dealing with all kinds of hardware flow acceleration based on the nature, type or other factor of the connection irrespective of whether it is symmetric or asymmetric in nature.



FIG. 3B illustrates a method performed by the hardware acceleration device in accordance with an aspect of the present disclosure. The functionality of the high speed bridge is based two processes: flow detection and packet transformation. Packet transform information is stored in a flow table on a per flow basis, wherein each data packet received at the network traffic management device 110 is checked to see if its flow is present in the flow table. If it is, the information from the table is used to transform the packet which is then directly forwarded back to the network. If the packet has a flow which is not in the table, the packet is forwarded to the software module for further processing.


Referring back to FIG. 3B, the HSB, upon receiving data packets from a client device 104, server 102 or other network traffic management device 110, identifies the flow information associated with the received packets (Block 310). The HSB thereafter looks up flow information for the received data packets in a Flow Table (Blocks 312 & 314). Packets without flows in the Flow Table are forwarded to the DMA engines for delivery to the core or processor 200 (Block 316). Packets with flows present in the flow table are transformed and multiplexed into the transmission or Tx Data Path (Block 318).



FIG. 4 illustrates a block diagram of the high speed bridge (HSB) in accordance with an aspect of the present disclosure. As shown in FIG. 4, the flow table used by the HSB can be thought of as a flow cache. As connections are established by software, some are identified as good candidates for hardware transform offload. The flows associated with these connections are pushed or inserted by the software module into the HSB flow cache. Other connections are identified as poor candidates for offload, and their flows are kept by the software module. Flows are deleted from the cache when they become idle or collide with a newer flow. Deleted flows have their flow state information returned to software via a DMA mechanism, as shown in FIG. 4.


The benefit of the HSB shown in FIG. 4 is realized from the fact that each packet that can be fully processed in hardware and returned directly to the network so that valuable CPU resources are not consumed. The benefits of these savings are felt in the conservation of the CPU cycles, I/O bandwidth, memory bandwidth, and CPU cache line turnover. In particular, large packets transiting the CPU sub-system just for header transformation represent a significant load on these elements of the CPU sub-system. When the HSB handles these packets directly, it considerably enhances the systems overall L4 performance.



FIG. 5 illustrates a functional diagram of the HSB operating in conjunction with at least one processor in accordance with an aspect of the present disclosure. FIG. 5 illustrates the elements used to implement functionality of the HSB. In an aspect, the Flow Table is an SRAM based cache of flows available for direct HSB processing. The HSB Lookup module receives packets from the network and looks up their flows in the Flow Table. Packets with flows present in the table are transformed and multiplexed into the transmission or Tx Data Path. Packets without flows in the Flow Table are forwarded to the DMA engines for delivery to the core or processor 200.


As shown in FIG. 5, there are different possible packet flow scenarios for the HSB. In an aspect, where the packet flow is un-cached, as shown by Arrow A, the packet received from the network is looked up and its flow is not found in the flow table. There are many reasons for a flow to not be in the table. This may be a new flow, the software module may have chosen not to cache the flow, or the flow may have been bumped out the table. In any case, the packet is forwarded, unmodified, to the DMA engines for delivery to the core.


For cached flow, shown as Arrow B, the packet received from the network is looked up and a matching entry is found in the flow table. Flow transform information is read from the flow table and applied to the packet. Flow state information is then written back into the table entry. The transformed packet is multiplexed into the TX Data Path for transmission back to the network.


For the scenario where there is flow insertion, as shown by Arrow C, if the software module determines that a connection should be offloaded to the HSB, it creates a snoop header. The snoop header contains two flow entries, one for each half of the connection. Optionally, either of the two flows can be marked as invalid. The snoop header is attached to the front of a frame which is then placed on a DMA transmit ring. Typically, the snoop header and its attached frame are associated with the same connection but this is not required. The software module marks the DMA descriptor to indicate that a snoop header is attached. The DMA hardware detects the snoop header, removes it, and forwards the frame to the TX Data Path. The snoop header is separately passed to the Flow Table for insertion.


For the scenario where there is flow deletion, as shown by Arrow D, the HSB can choose to delete a flow from the Flow Table for several reasons. These include a collision with a newly inserted flow or an old flow being scrubbed from the table. When a flow is deleted, the flow state information is read from the table and forwarded to the DMA engine. The DMA engines uses a management DMA ring to transfer flow state information to the core 200.


Regarding the snoop header described above, FIG. 6A illustrates a HSB single flow snoop header, whereas FIG. 6B illustrates a HSB double flow snoop header, both of which are in accordance with an aspect of the present disclosure. In an aspect, the single flow format in FIG. 6A is 64 bytes and contains the flow specification and transform specification for a single flow, although other byte sizes are contemplated. The double flow format shown in FIG. 6B is 112 bytes and contains the flow specification and transform specification for two flows, although other byte sizes are contemplated. Both of these formats have 16 byte modulus sizes for hardware alignment reasons. The fields in the HSB Snoop Header are defined as follows. All reserved fields have all bits set to zero.


The 3-bit Type field declares the type of the header. The available types are shown in Table 1. Type 2 is used for single flow format headers. Type 3 is used for double flow format headers.









TABLE 1







DMA Buffer Header Types








TYPE
Descriptor Format





0
Reserved


1
Standard RT


2
HSB Single Flow


3
HSB Double Flow


4-7
Reserved









The 8-bit Cookie field is loaded by the software. The value is opaque to the hardware and is echoed back to software in the flow teardown message.


In an example aspect, the flow specification fields (for an aspect in which the protocol is IPv4/TCP over Ethernet) can be a 12-bit VLAN ID; a 32-bit IP Source Address; a 32-bit IP Destination Address; a 16-bit TCP Destination Port; and a 16-bit TCP Source Port, although additional, lesser and/or different values and headers may be utilized.


In an example aspect, the flow transformation fields can include a 8-bit TMM number (same as PDE number) which associates the flow with a particular TMM and PDE and can be used as an index to resolve source MAC and HiGig source fields. In an aspect, values from 0-31 are supported in the flow transformation fields, although other values are contemplated. In an example aspect, the flow transformation fields can include a 7-bit HiGig Destination Module ID, a 5-bit HiGig Destination Port number; a 12-bit VLAN ID; a 48-bit Destination MAC Address; a 32-bit IP Source Address; a 32-bit IP Destination Address; a 16-bit TCP Destination Port; a 16-bit TCP Source Port; a 32-bit Sequence Number Delta adjustment value; a 32-bit Acknowledgement Number Delta adjustment value; and/or a 32-bit Timestamp Delta adjustment value.



FIG. 7 illustrates an exemplary HSB Flow Cache table entry in accordance with an aspect of the present disclosure. The cache entry is laid out into sixteen 36-bits wide words. Each word is protected by parity and bit 35 is assigned as the parity (P) bit. The overall entry is divided into three functional sections; a 4-word flow specification, an 8-word transform specification, and a 4-word flow state. The size of these regions is based on the burst-of-4 access style of the underlying SRAM technology and must be respected. The flow specification is used to fully identify the flow and any packets belonging to it. The flow transformation is used to modify these packets for transmission back to the network without involvement of the software module. The flow state is used to track events in the flow that need to be communicated back to software module when the flow is torn down.


In an aspect, the flow cache entry fields, such as the flow specification, can include a 8-bit Cookie value which is opaque to the hardware and is echoed back to software in the flow teardown message. The flow specification, in an aspect, can include a 12-bit VLAN ID; a 32-bit IP Source Address; a 32-bit IP Destination Address; a 16-bit TCP Destination Port; and/or a 16-bit TCP Source Port.


Regarding the flow transformation field in the flow cache entry, the flow transformation field, in an aspect, can include: a 7-bit HiGig Destination Module ID; a 12-bit VLAN ID; a 48-bit Destination MAC Address; a 5-bit TMM number (e.g. PDE number used as an index to resolve source MAC and HiGig source fields, in which the TMM number is split across two SRAM words); a 32-bit IP Source Address; a 5-bit HiGig Destination Port number which can be split across two SRAM words; a 32-bit IP Destination Address; a 16-bit TCP Destination Port; a 16-bit TCP Source Port; a 32-bit Sequence Number Delta adjustment value; a 32-bit Acknowledgement Number Delta adjustment value; and/or a 32-bit Timestamp Delta adjustment value.


Regarding the flow state field in the flow cache entry, the flow state field, in an aspect, can include a 4-bit Scrub Count. The Scrub Count value reflects the age of the flow. The count is set/reset to its start value when the flow is inserted into the cache and each time a packet is processed for the flow. The count is decremented each time the scrubber accesses the flow. When this counter reaches zero the flow is torn down and removed from the cache. The counter is loaded to a value of 1 when a FIN packet is processed to accelerate aging of the flow.


In an aspect, the flow state field can include a 24-bit Packet Counter. In an example, the 24-bit Packet Counter is initialized to zero when the flow is inserted into the cache. The counter is incremented by one each time a packet is processed for the flow, wherein the final counter value is sent to the software when the flow is torn down.


In an aspect, the flow state field can include a 32-bit Byte Counter. For example, such a counter can be initialized to zero when the flow is inserted into the cache. The counter then increments by the packets byte length each time a packet is processed for the flow. The final counter value is sent to the software when the flow is torn down.


In an aspect, the flow state field can include a Last Sequence Number which records the last sequence number seen by the flow. The Last Sequence Number is initialized to zero when the flow is inserted, wherein the Number is updated with each packet processed for the flow until a FIN is seen. After the FIN is seen, the Last Sequence Number is no longer updated.


In an aspect, the flow state field can include a Last Acknowledgement Number. This Last Acknowledgement Number is initialized to zero when the flow is inserted, wherein the field records the last acknowledgment number seen by the flow. The number is updated with each packet processed for the flow with an ACK bit set.


The flow state field, in an aspect, can include: 4-bit Flow State Flags which record state events seen on the flow. The Flow State Flags are updated with each packet processed by the flow.


For instance in an aspect, FLAG[0] is reserved and is set to a value of zero.


FLAG[1] represents SEQ # Valid, whereby this bit is cleared when the flow is inserted into the cache or the bit is set if at least one packet has been processed by the flow and the Last SEQ Number field has a valid value.


In another aspect, FLAG[2] represents that ACK # Valid, wherein the bit is cleared when the flow is inserted into the cache or the bit is set if at least one ACK packet has been processed by the flow and the Last ACK Number field has a valid value.


In another aspect, FLAG[3] represents FIN Seen, whereby the bit is cleared when the flow is inserted into the cache or the bit is set when a FIN packet has been processed by the flow. When this bit is set, the scrub count is also set to 1 to accelerate aging of the flow.



FIG. 8 illustrates an exemplary HSB Teardown descriptor in accordance with an aspect of the present disclosure. The descriptor is 32 bytes in size and consumes two slots in the descriptor ring, although other byte sizes are contemplated.


Having thus described the basic concepts, it will be rather apparent to those skilled in the art that the foregoing detailed disclosure is intended to be presented by way of example only and is not limiting. Various alterations, improvements, and modifications will occur and are intended to those skilled in the art, though not expressly stated herein. The order that the measures and processes for providing secure application delivery are implemented can also be altered. Furthermore, multiple networks in addition to network 108 and LAN 106 could be associated with network traffic management device 110 from/to which network packets can be received/transmitted, respectively. These alterations, improvements, and modifications are intended to be suggested by this disclosure, and are within the spirit and scope of the examples. Additionally, the recited order of processing elements or sequences, or the use of numbers, letters, or other designations therefore, is not intended to limit the claimed processes and methods to any order except as can be specified in the claims.

Claims
  • 1. A method for data packet processing implemented by a network traffic management system operating in a network environment comprising one or more network traffic management devices, one or more server devices, or one or more client devices, wherein at least one of the network traffic management devices includes a software component implemented by a general processing unit and a hardware component configured for packet processing, the method comprising: receiving at the at least one network traffic management device one or more data packets associated with a sub-flow within a connection containing at least two sub-flows wherein each sub-flow is associated with a direction within the connection;determining, by the at the at least one network traffic management device, when a flow entry exists in a flow cache table of the hardware component for a sub-flow associated with the one or more data packets;when the determining indicates that the flow entry does not exist in the flow cache table, the software component performs the following actions: generate a snoop header for the one or more data packets that comprises flow signature information comprising a flow signature entry and transformation information comprising a transformation data entry for each of a first flow direction of the sub-flow of the connection and a second flow direction opposite the first flow direction of the sub-flow of the connection, andprovide the snoop header comprising the flow signature information and the transformation information to the hardware component for incorporation into the flow cache table for further processing of the one or more data packets associated with the sub-flow; andwhen the determining indicates that the flow entry does exist in the flow cache table, the hardware component performs the following actions: obtain the flow signature information and the transformation information from the flow cache table,transform the one or more data packets using at least one of the flow signature information and the transformation information, andtransmit the one or more transformed data packets through the sub-flow of the connection associated with the one or more data packets.
  • 2. The method of claim 1, wherein the hardware component is configured to be capable of extracting and using the flow signature entry and the transformation data entry from the snoop header to generate entries in the flow cache table for each of the first and second flow directions.
  • 3. The method of claim 1, wherein the first flow direction comprises a first connection between one of the client devices and the at least one network traffic management device, and the second flow direction comprises a second connection between the at least one network traffic management device and one of the server devices or a third connection between one of the server devices and one of the clients devices.
  • 4. The method of claim 1, wherein at least one of the first or second flow directions is asymmetrical.
  • 5. The method of claim 1, further comprising selecting by the at least one of the network traffic management devices some of the one or more data packets for processing by the hardware component and selecting at least some other data packets for processing by the software component.
  • 6. The method of claim 5, further comprising processing, by the software component, the at least some other data packets selected for processing by the software component rather than the hardware component for transmission through the sub-flow of the connection associated with the at least some other data packets without providing any flow signature and transformation information for the associated sub-flow to the hardware component.
  • 7. The method of claim 1, further comprising removing, by the hardware component, the flow signature information and the transformation information for a particular sub-flow from the flow cache table when either there is a collision with the flow signature information and the transformation information of another sub-flow or the flow signature and transformation information has aged out.
  • 8. A network traffic management device, comprising a hardware component configured for processing packets, one or more processors, and a software component, wherein: the hardware component comprises configurable hardware logic configured to: receive one or more data packets associated with a sub-flow within a connection containing at least two sub-flows wherein each sub-flow is associated with a direction within the connection;determine when a flow entry exists in a flow cache table of the hardware component for a sub-flow associated with the one or more data packets; andthe software component comprises memory comprising programmed instructions stored thereon and the one or more processors are configured to be capable of executing the stored programmed instructions to, when the determining indicates that the flow entry does not exist in the flow cache table: generate a snoop header for the one or more data packets that comprises flow signature information comprising a flow signature entry and transformation information comprising a transformation data entry for each of a first flow direction of the sub-flow of the connection and a second flow direction opposite the first flow direction of the sub-flow of the connection, andprovide the snoop header comprising the flow signature information and the transformation information to the hardware component for incorporation into the flow cache table for further processing of the one or more data packets associated with the sub-flow; andthe configurable hardware logic component is further configured to, when the determining indicates that the flow entry does exist in the flow cache table: obtain the flow signature information and the transformation information from the flow cache table,transform the one or more data packets using at least one of the flow signature information and the transformation information, andtransmit the one or more transformed data packets through the sub-flow of the connection associated with the one or more data packets.
  • 9. The network traffic management device of claim 8, wherein the hardware component is configured to be capable of extracting and using the flow signature entry and the transformation data entry from the snoop header to generate entries in the flow cache table for each of the first and second flow directions.
  • 10. The network traffic management device of claim 8, wherein the first flow direction comprises a first connection between a client device and the network traffic management device, and the second flow direction comprises a second connection between the network traffic management device and a server device or a third connection between the server device and the clients device.
  • 11. The network traffic management device of claim 8, wherein at least one of the first or second flow directions is asymmetrical.
  • 12. The network traffic management device of claim 8, wherein the one or more processors are configured to be capable of executing the stored programmed instructions to select some of the one or more data packets for processing by the hardware component and select at least some other data packets for processing by the software component.
  • 13. The network traffic management device of claim 12, wherein the one or more processors are configured to be capable of executing the stored programmed instructions to process the at least some other data packets selected for processing by the software component rather than the hardware component for transmission through the sub-flow of the connection associated with the at least some other data packets without providing any flow signature and transformation information for the associated sub-flow to the hardware component.
  • 14. The network traffic management device of claim 8, wherein the configurable hardware logic of the hardware component is further configured to remove the flow signature information and the transformation information for a particular sub-flow from the flow cache table when either there is a collision with the flow signature information and the transformation information of another sub-flow or the flow signature and transformation information has aged out.
  • 15. A non-transitory computer readable medium having stored thereon instructions for processing network packets comprising executable code which when executed by one or more processors, causes the one or more processors to, when a hardware component determines that a flow entry does not exist in a flow cache table: generate a snoop header for the one or more data packets that comprises flow signature information comprising a flow signature entry and transformation information comprising a transformation data entry for each of a first flow direction of the sub-flow of the connection and a second flow direction opposite the first flow direction of the sub-flow of the connection, andprovide the snoop header comprising the flow signature information and the transformation information to the hardware component for incorporation into the flow cache table for further processing of the one or more data packets associated with the sub-flow, wherein the hardware component comprises configurable hardware logic configured to, when the hardware component determines that the flow entry does exist in the flow cache table: obtain the flow signature information and the transformation information from the flow cache table,transform the one or more data packets using at least one of the flow signature information and the transformation information, andtransmit the one or more transformed data packets through the sub-flow of the connection associated with the one or more data packets.
  • 16. The non-transitory computer readable medium of claim 15, wherein the hardware component is configured to be capable of extracting and using the flow signature entry and the transformation data entry from the snoop header to generate entries in the flow cache table for each of the first and second flow directions.
  • 17. The non-transitory computer readable medium of claim 15, wherein the first flow direction comprises a first connection between a client device and a network traffic management device, and the second flow direction comprises a second connection between the network traffic management device and a server device or a third connection between the server device and the clients device.
  • 18. The non-transitory computer readable medium of claim 15, wherein at least one of the first or second flow directions is asymmetrical.
  • 19. The non-transitory computer readable medium of claim 15, wherein the executable code when executed by the one or more processors further causes the one or more processors to select some of the one or more data packets for processing by the hardware component and select at least some other data packets for processing by the software component.
  • 20. The non-transitory computer readable medium of claim 19, wherein the executable code when executed by the one or more processors further causes the one or more processors to process the at least some other data packets selected for processing by the software component rather than the hardware component for transmission through the sub-flow of the connection associated with the at least some other data packets without providing any flow signature and transformation information for the associated sub-flow to the hardware component.
  • 21. The non-transitory computer readable medium of claim 19, wherein the configurable hardware logic of the hardware component is further configured to remove the flow signature information and the transformation information for a particular sub-flow from the flow cache table when either there is a collision with the flow signature information and the transformation information of another sub-flow or the flow signature and transformation information has aged out.
Parent Case Info

The present application claims priority to U.S. patent application Ser. No. 13/770,685, filed Feb. 19, 2013, which claims priority to U.S. Provisional Patent Application Ser. No. 61/500,503, filed Feb. 17, 2012, each of which is hereby incorporated by reference in its entirety.

US Referenced Citations (1176)
Number Name Date Kind
3950735 Patel Apr 1976 A
4644532 George et al. Feb 1987 A
4897781 Chang et al. Jan 1990 A
4914650 Sriram Apr 1990 A
4965772 Daniel et al. Oct 1990 A
4991030 Krakauer et al. Feb 1991 A
5023826 Patel Jun 1991 A
5053953 Patel Oct 1991 A
5167024 Smith et al. Nov 1992 A
5218695 Noveck et al. Jun 1993 A
5282201 Frank et al. Jan 1994 A
5299312 Rocco, Jr. Mar 1994 A
5303368 Kotaki Apr 1994 A
5327529 Fults et al. Jul 1994 A
5367635 Bauer et al. Nov 1994 A
5371852 Attanasio et al. Dec 1994 A
5388237 Sodos et al. Feb 1995 A
5406502 Haramaty et al. Apr 1995 A
5473362 Fitzgerald et al. Dec 1995 A
5475857 Dally Dec 1995 A
5477541 White et al. Dec 1995 A
5511177 Kagimasa et al. Apr 1996 A
5517617 Sathaye et al. May 1996 A
5519694 Brewer et al. May 1996 A
5519778 Leighton et al. May 1996 A
5521591 Arora et al. May 1996 A
5528701 Aref Jun 1996 A
5537585 Blickenstaff et al. Jul 1996 A
5548724 Akizawa et al. Aug 1996 A
5550816 Hardwick et al. Aug 1996 A
5550965 Gabbe et al. Aug 1996 A
5581764 Fitzgerald et al. Dec 1996 A
5583995 Gardner et al. Dec 1996 A
5586260 Hu Dec 1996 A
5590320 Maxey Dec 1996 A
5596742 Agarwal et al. Jan 1997 A
5606665 Yang et al. Feb 1997 A
5611049 Pitts Mar 1997 A
5623490 Richter et al. Apr 1997 A
5649194 Miller et al. Jul 1997 A
5649200 Leblang et al. Jul 1997 A
5663018 Cummings et al. Sep 1997 A
5668943 Attanasio et al. Sep 1997 A
5692180 Lee Nov 1997 A
5699361 Ding et al. Dec 1997 A
5721779 Funk Feb 1998 A
5724512 Winterbottom Mar 1998 A
5742765 Wong et al. Apr 1998 A
5752023 Choucri et al. May 1998 A
5761484 Agarwal et al. Jun 1998 A
5761534 Lundberg et al. Jun 1998 A
5768423 Aref et al. Jun 1998 A
5774660 Brendel et al. Jun 1998 A
5790554 Pitcher et al. Aug 1998 A
5797033 Ecclesine Aug 1998 A
5802052 Venkataraman Sep 1998 A
5806061 Chaudhuri et al. Sep 1998 A
5812550 Sohn et al. Sep 1998 A
5825772 Dobbins et al. Oct 1998 A
5828835 Isfeld et al. Oct 1998 A
5832283 Chou et al. Nov 1998 A
5832496 Anand et al. Nov 1998 A
5832522 Blickenstaff et al. Nov 1998 A
5838970 Thomas Nov 1998 A
5862325 Reed et al. Jan 1999 A
5875296 Shi et al. Feb 1999 A
5884303 Brown Mar 1999 A
5892914 Pitts Apr 1999 A
5892932 Kim Apr 1999 A
5893086 Schmuck et al. Apr 1999 A
5897638 Lasser et al. Apr 1999 A
5905990 Inglett May 1999 A
5917998 Cabrera et al. Jun 1999 A
5919247 Van Hoff et al. Jul 1999 A
5920873 Van Huben et al. Jul 1999 A
5926816 Bauer et al. Jul 1999 A
5936939 Des Jardins et al. Aug 1999 A
5937406 Balabine et al. Aug 1999 A
5941988 Bhagwat et al. Aug 1999 A
5946690 Pitts Aug 1999 A
5949885 Leighton Sep 1999 A
5951694 Choquier et al. Sep 1999 A
5959990 Frantz et al. Sep 1999 A
5974460 Maddalozzo, Jr. et al. Oct 1999 A
5983281 Ogle et al. Nov 1999 A
5988847 McLaughlin et al. Nov 1999 A
5991302 Berl et al. Nov 1999 A
5995491 Richter et al. Nov 1999 A
5999664 Mahoney et al. Dec 1999 A
6006260 Barrick, Jr. et al. Dec 1999 A
6006264 Colby et al. Dec 1999 A
6012083 Savitzky et al. Jan 2000 A
6026090 Benson et al. Feb 2000 A
6026443 Oskouy et al. Feb 2000 A
6026452 Pitts Feb 2000 A
6026500 Topff et al. Feb 2000 A
6028857 Poor Feb 2000 A
6029168 Frey Feb 2000 A
6029175 Chow et al. Feb 2000 A
6041365 Kleinerman Mar 2000 A
6044367 Wolff Mar 2000 A
6047129 Frye Apr 2000 A
6047356 Anderson et al. Apr 2000 A
6051169 Brown et al. Apr 2000 A
6067558 Wendt et al. May 2000 A
6070219 McAlpine et al. May 2000 A
6072942 Stockwell et al. Jun 2000 A
6078929 Rao Jun 2000 A
6078956 Bryant et al. Jun 2000 A
6085234 Pitts et al. Jul 2000 A
6088694 Burns et al. Jul 2000 A
6092196 Reiche Jul 2000 A
6104706 Richter et al. Aug 2000 A
6108703 Leighton et al. Aug 2000 A
6111876 Frantz et al. Aug 2000 A
6115802 Took et al. Sep 2000 A
6128279 ONeil et al. Oct 2000 A
6128627 Mattis et al. Oct 2000 A
6128657 Okanoya et al. Oct 2000 A
6128717 Harrison et al. Oct 2000 A
6154777 Ebrahim Nov 2000 A
6157950 Krishnan Dec 2000 A
6160874 Dickerman et al. Dec 2000 A
6161145 Bainbridge et al. Dec 2000 A
6161185 Guthrie et al. Dec 2000 A
6170022 Linville et al. Jan 2001 B1
6178423 Douceur et al. Jan 2001 B1
6181336 Chin et al. Jan 2001 B1
6182139 Brendel Jan 2001 B1
6192051 Lipman et al. Feb 2001 B1
6202156 Kalajan Mar 2001 B1
6223206 Dan et al. Apr 2001 B1
6223648 Tomita May 2001 B1
6233612 Fruchtman et al. May 2001 B1
6237008 Beal et al. May 2001 B1
6246684 Chapman et al. Jun 2001 B1
6253226 Chidambaran et al. Jun 2001 B1
6253230 Couland et al. Jun 2001 B1
6256031 Meijer et al. Jul 2001 B1
6259405 Stewart et al. Jul 2001 B1
6260070 Shah Jul 2001 B1
6263368 Martin Jul 2001 B1
6282610 Bergsten Aug 2001 B1
6289012 Harrington et al. Sep 2001 B1
6289345 Yasue Sep 2001 B1
6292832 Shah et al. Sep 2001 B1
6298380 Coile et al. Oct 2001 B1
6304913 Rune Oct 2001 B1
6308162 Ouimet et al. Oct 2001 B1
6324581 Xu et al. Nov 2001 B1
6327622 Jindal et al. Dec 2001 B1
6329985 Tamer et al. Dec 2001 B1
6330574 Murashita Dec 2001 B1
6338082 Schneider Jan 2002 B1
6339785 Feigenbaum Jan 2002 B1
6343324 Hubis et al. Jan 2002 B1
6347337 Shinohara Feb 2002 B1
6347339 Morris et al. Feb 2002 B1
6349343 Foody et al. Feb 2002 B1
6353848 Morris Mar 2002 B1
6360270 Cherkasova et al. Mar 2002 B1
6363056 Beigi et al. Mar 2002 B1
6370527 Singhal Apr 2002 B1
6370543 Hoffert et al. Apr 2002 B2
6374263 Bunger et al. Apr 2002 B1
6374300 Masters Apr 2002 B2
6374336 Peters et al. Apr 2002 B1
6388989 Malhortra May 2002 B1
6389433 Bolosky et al. May 2002 B1
6389462 Cohen et al. May 2002 B1
6393581 Friedman et al. May 2002 B1
6396833 Zhang et al. May 2002 B1
6397246 Wolfe May 2002 B1
6411986 Susai et al. Jun 2002 B1
6412004 Chen et al. Jun 2002 B1
6430562 Kardos et al. Aug 2002 B1
6434081 Johnson et al. Aug 2002 B1
6438595 Blumenau et al. Aug 2002 B1
6446108 Rosenberg et al. Sep 2002 B1
6466580 Leung Oct 2002 B1
6469983 Narayana et al. Oct 2002 B2
6477544 Bolosky et al. Nov 2002 B1
6480476 Willars Nov 2002 B1
6484261 Wiegel Nov 2002 B1
6487561 Ofek et al. Nov 2002 B1
6490624 Sampson et al. Dec 2002 B1
6493804 Soltis et al. Dec 2002 B1
6510135 Almulhem et al. Jan 2003 B1
6510458 Berstis et al. Jan 2003 B1
6513061 Ebata et al. Jan 2003 B1
6514085 Slattery et al. Feb 2003 B2
6516350 Lumelsky et al. Feb 2003 B1
6516351 Borr Feb 2003 B2
6519643 Foulkes et al. Feb 2003 B1
6529508 Li et al. Mar 2003 B1
6542909 Tamer et al. Apr 2003 B1
6542936 Mayle et al. Apr 2003 B1
6549916 Sedlar Apr 2003 B1
6553352 Delurgio et al. Apr 2003 B2
6556997 Levy Apr 2003 B1
6556998 Mukherjee et al. Apr 2003 B1
6560230 Li et al. May 2003 B1
6574220 Petty Jun 2003 B1
6578069 Hopmann et al. Jun 2003 B1
6601084 Bhaskaran et al. Jul 2003 B1
6601101 Lee et al. Jul 2003 B1
6606663 Liao et al. Aug 2003 B1
6612490 Herrendoerfer et al. Sep 2003 B1
6615267 Whalen et al. Sep 2003 B1
6636503 Shiran et al. Oct 2003 B1
6636894 Short et al. Oct 2003 B1
6650640 Muller et al. Nov 2003 B1
6650641 Albert et al. Nov 2003 B1
6654346 Mahalingaiah et al. Nov 2003 B1
6654701 Halley Nov 2003 B2
6661802 Homberg et al. Dec 2003 B1
6683873 Kwok et al. Jan 2004 B1
6691165 Bruck et al. Feb 2004 B1
6694517 James et al. Feb 2004 B1
6697871 Hansen Feb 2004 B1
6700871 Harper et al. Mar 2004 B1
6701415 Hendren, III Mar 2004 B1
6704755 Midgley et al. Mar 2004 B2
6708187 Shanumgam et al. Mar 2004 B1
6708220 Olin Mar 2004 B1
6718380 Mohaban et al. Apr 2004 B1
6721794 Taylor et al. Apr 2004 B2
6728265 Yavatkar et al. Apr 2004 B1
6728704 Mao et al. Apr 2004 B2
6738357 Richter et al. May 2004 B1
6738790 Klein et al. May 2004 B1
6742035 Zayas et al. May 2004 B1
6742045 Albert et al. May 2004 B1
6744776 Kalkunte et al. Jun 2004 B1
6748420 Quatrano et al. Jun 2004 B1
6748457 Fallon et al. Jun 2004 B2
6751663 Farrell et al. Jun 2004 B1
6754228 Ludwig Jun 2004 B1
6754699 Swildens et al. Jun 2004 B2
6757706 Dong et al. Jun 2004 B1
6754215 Snyder, II et al. Jul 2004 B1
6760337 Snyder, II et al. Jul 2004 B1
6760775 Anerousis et al. Jul 2004 B1
6772219 Shobatake Aug 2004 B1
6775672 Mahalingam et al. Aug 2004 B2
6775673 Mahalingam et al. Aug 2004 B2
6775679 Gupta Aug 2004 B2
6779039 Bommareddy et al. Aug 2004 B1
6781986 Sabaa et al. Aug 2004 B1
6781990 Puri et al. Aug 2004 B1
6782450 Arnott et al. Aug 2004 B2
6785236 Lo et al. Aug 2004 B1
6795860 Shah Sep 2004 B1
6798777 Ferguson et al. Sep 2004 B1
6801960 Ericson et al. Oct 2004 B1
6804542 Haartsen Oct 2004 B1
6816901 Sitaraman et al. Nov 2004 B1
6816977 Brakmo et al. Nov 2004 B2
6820133 Grove et al. Nov 2004 B1
6826613 Wang et al. Nov 2004 B1
6829238 Tokuyo et al. Dec 2004 B2
6839761 Kadyk et al. Jan 2005 B2
6847959 Arrouye et al. Jan 2005 B1
6847970 Keller et al. Jan 2005 B2
6850997 Rooney et al. Feb 2005 B1
6865593 Reshef et al. Mar 2005 B1
6868082 Allen, Jr. et al. Mar 2005 B1
6868439 Basu et al. Mar 2005 B2
6868447 Slaughter et al. Mar 2005 B1
6871221 Styles Mar 2005 B1
6871245 Bradley Mar 2005 B2
6876629 Beshai et al. Apr 2005 B2
6876654 Hegde Apr 2005 B1
6880017 Marce et al. Apr 2005 B1
6883137 Girardot et al. Apr 2005 B1
6888836 Cherkasova May 2005 B1
6889249 Miloushev et al. May 2005 B2
6904040 Salapura et al. Jun 2005 B2
6914881 Mansfield et al. Jul 2005 B1
6922688 Frey, Jr. Jul 2005 B1
6928082 Liu et al. Aug 2005 B2
6928518 Talagala Aug 2005 B2
6934706 Mancuso et al. Aug 2005 B1
6934776 Connor et al. Aug 2005 B2
6938039 Bober et al. Aug 2005 B1
6938059 Tamer et al. Aug 2005 B2
6947985 Hegli et al. Sep 2005 B2
6950434 Viswanath et al. Sep 2005 B1
6954780 Susai et al. Oct 2005 B2
6957272 Tallegas et al. Oct 2005 B2
6959373 Testardi Oct 2005 B2
6959394 Brickell et al. Oct 2005 B1
6961815 Kistler et al. Nov 2005 B2
6970475 Fraser et al. Nov 2005 B1
6970924 Chu et al. Nov 2005 B1
6973455 Vahalia et al. Dec 2005 B1
6973490 Robertson et al. Dec 2005 B1
6973549 Testardi Dec 2005 B1
6975592 Seddigh et al. Dec 2005 B1
6985936 Agarwalla et al. Jan 2006 B2
6985956 Luke et al. Jan 2006 B2
6986015 Testardi Jan 2006 B2
6987763 Rochberger et al. Jan 2006 B2
6990074 Wan et al. Jan 2006 B2
6990114 Erimli et al. Jan 2006 B1
6990547 Ulrich et al. Jan 2006 B2
6990667 Ulrich et al. Jan 2006 B2
6996841 Kadyk et al. Feb 2006 B2
6999457 Shinohara Feb 2006 B2
6999912 Loisey et al. Feb 2006 B2
7003533 Noguchi et al. Feb 2006 B2
7003564 Greuel et al. Feb 2006 B2
7006502 Lin Feb 2006 B2
7006981 Rose et al. Feb 2006 B2
7007092 Peiffer Feb 2006 B2
7010553 Chen et al. Mar 2006 B2
7013379 Testardi Mar 2006 B1
7020644 Jameson Mar 2006 B2
7020669 McCann et al. Mar 2006 B2
7023974 Brannam et al. Apr 2006 B1
7024427 Bobbitt et al. Apr 2006 B2
7035212 Mittal et al. Apr 2006 B1
7039061 Connor et al. May 2006 B2
7046628 Luhmann et al. May 2006 B2
7051112 Dawson May 2006 B2
7054998 Arnott et al. May 2006 B2
7055010 Lin et al. May 2006 B2
7058633 Gnagy et al. Jun 2006 B1
7065482 Shorey et al. Jun 2006 B2
7065630 Ledebohm et al. Jun 2006 B1
7072917 Wong et al. Jul 2006 B2
7075924 Richter et al. Jul 2006 B2
7076689 Atkinson Jul 2006 B2
7080314 Garofalakis et al. Jul 2006 B1
7089286 Malik Aug 2006 B1
7089491 Feinberg et al. Aug 2006 B2
7107348 Shimada et al. Sep 2006 B2
7111115 Peters et al. Sep 2006 B2
7113962 Kee et al. Sep 2006 B1
7113993 Cappiello et al. Sep 2006 B1
7113996 Kronenberg Sep 2006 B2
7117308 Mitten et al. Oct 2006 B1
7120728 Krakirian et al. Oct 2006 B2
7120746 Campbell et al. Oct 2006 B2
7124196 Hooper Oct 2006 B2
7127556 Blumenau et al. Oct 2006 B2
7113967 Fujie et al. Nov 2006 B2
7133863 Teng et al. Nov 2006 B2
7133944 Song et al. Nov 2006 B2
7139792 Mishra et al. Nov 2006 B1
7142540 Bendel et al. Nov 2006 B2
7143146 Nakatani et al. Nov 2006 B2
7146524 Patel et al. Dec 2006 B2
7152184 Maeda et al. Dec 2006 B2
7155466 Rodriguez et al. Dec 2006 B2
7161904 Hussain Jan 2007 B2
7164678 Connor Jan 2007 B2
7165095 Sim Jan 2007 B2
7167821 Hardwick et al. Jan 2007 B2
7171469 Ackaouy et al. Jan 2007 B2
7173929 Testardi Feb 2007 B1
7174393 Boucher et al. Feb 2007 B2
7181523 Sim Feb 2007 B2
7191163 Herrera et al. Mar 2007 B2
7194579 Robinson et al. Mar 2007 B2
7197615 Arakawa et al. Mar 2007 B2
7228359 Monteiro Jun 2007 B1
7228422 Morioka et al. Jun 2007 B2
7234074 Cohn et al. Jun 2007 B2
7236491 Tsao et al. Jun 2007 B2
7237076 Nakano et al. Jun 2007 B2
7240100 Wein et al. Jul 2007 B1
7243089 Becker-Szendy et al. Jul 2007 B2
7243094 Tabellion et al. Jul 2007 B2
7269610 Parker et al. Aug 2007 B2
7269168 Roy et al. Sep 2007 B2
7269582 Winter et al. Sep 2007 B2
7272150 Bly et al. Sep 2007 B2
7272613 Sim et al. Sep 2007 B2
7272654 Brendel Sep 2007 B1
7280536 Testardi Oct 2007 B2
7281030 Davis Oct 2007 B1
7283470 Sindhu et al. Oct 2007 B1
7284150 Ma et al. Oct 2007 B2
7287082 O'Toole, Jr. Oct 2007 B1
7292541 CS Nov 2007 B1
7293097 Borr Nov 2007 B2
7293099 Kalajan Nov 2007 B1
7293133 Colgrove et al. Nov 2007 B1
7295827 Liu et al. Nov 2007 B2
7296263 Jacob Nov 2007 B1
7299250 Douceur et al. Nov 2007 B2
7308475 Pruitt et al. Dec 2007 B1
7308703 Wright et al. Dec 2007 B2
7308709 Brezak et al. Dec 2007 B1
7310339 Powers et al. Dec 2007 B1
7321926 Zhang et al. Jan 2008 B1
7324525 Fuhs et al. Jan 2008 B2
7324533 DeLiberato et al. Jan 2008 B1
7327674 Eberle et al. Feb 2008 B2
7330486 Ko et al. Feb 2008 B2
7333999 Njemanze Feb 2008 B1
7340571 Saze Mar 2008 B2
7343398 Lownsbrough Mar 2008 B1
7343413 Gilde et al. Mar 2008 B2
7346664 Wong et al. Mar 2008 B2
7349391 Ben-Dor et al. Mar 2008 B2
7349405 Deforche Apr 2008 B2
7353326 Cho et al. Apr 2008 B2
7355977 Li Apr 2008 B1
7359321 Sindhu et al. Apr 2008 B1
7373438 DeBergalis et al. May 2008 B1
7376772 Fallon May 2008 B2
7382725 Kakadia Jun 2008 B1
7383288 Vladimir Jun 2008 B2
7398552 Pardee et al. Jul 2008 B2
7401220 Bolosky et al. Jul 2008 B2
7403542 Thompson Jul 2008 B1
7406484 Srinivasan et al. Jul 2008 B1
7409440 Jacob Aug 2008 B1
7411957 Stacy et al. Aug 2008 B2
7415034 Muller et al. Aug 2008 B2
7415488 Muth et al. Aug 2008 B1
7415608 Bolosky et al. Aug 2008 B2
7418439 Wong Aug 2008 B2
7420931 Nanda et al. Sep 2008 B2
7433962 Janssen et al. Oct 2008 B2
7437358 Arrouye et al. Oct 2008 B2
7440982 Lu et al. Oct 2008 B2
7454480 Labio et al. Nov 2008 B2
7457313 Patrick Nov 2008 B2
7457982 Rajan Nov 2008 B2
7467158 Marinescu Dec 2008 B2
7475122 Azpitarte Jan 2009 B2
7475241 Patel et al. Jan 2009 B2
7477796 Sasaki et al. Jan 2009 B2
7478186 Onufryk et al. Jan 2009 B1
7490162 Masters Feb 2009 B1
7493398 Bush Feb 2009 B2
7496367 Ozturk et al. Feb 2009 B1
7496689 Sharp et al. Feb 2009 B2
7496695 Go et al. Feb 2009 B2
7500028 Yamagishi Mar 2009 B2
7500243 Huetsch et al. Mar 2009 B2
7500269 Huotari et al. Mar 2009 B2
7505795 Lim et al. Mar 2009 B1
7509322 Miloushev et al. Mar 2009 B2
7512078 Swain Mar 2009 B2
7512673 Miloushev et al. Mar 2009 B2
7512721 Olson Mar 2009 B1
7516492 Nisbet et al. Apr 2009 B1
7519813 Cox et al. Apr 2009 B1
7526541 Roese et al. Apr 2009 B2
7533197 Leonard et al. May 2009 B2
7552232 Helmer, Jr. et al. Jun 2009 B2
7555608 Naik Jun 2009 B2
7558197 Sindhu et al. Jul 2009 B1
7558910 Alverson et al. Jul 2009 B2
7562110 Miloushev et al. Jul 2009 B2
7571168 Bahar et al. Aug 2009 B2
7571299 Loeb Aug 2009 B2
7574433 Engel Aug 2009 B2
7577723 Matsuda et al. Aug 2009 B2
7580971 Gollapudi et al. Aug 2009 B1
7587471 Yasuda et al. Sep 2009 B2
7590747 Coates et al. Sep 2009 B2
7590753 Wolde et al. Sep 2009 B2
7599941 Bahar et al. Oct 2009 B2
7610307 Havewala et al. Oct 2009 B2
7610390 Yared et al. Oct 2009 B2
7620046 Ronciak et al. Nov 2009 B2
7620071 Makineni et al. Nov 2009 B2
7621162 Bartky Nov 2009 B2
7624109 Testardi Nov 2009 B2
7624424 Morita et al. Nov 2009 B2
7639883 Gill Dec 2009 B2
7640347 Sloat et al. Dec 2009 B1
7644109 Manley et al. Jan 2010 B2
7644137 Bozak et al. Jan 2010 B2
7647416 Chiang et al. Jan 2010 B2
7653699 Colgrove et al. Jan 2010 B1
7656788 Ma et al. Feb 2010 B2
7657659 Lambeth et al. Feb 2010 B1
7660916 Moskalev et al. Feb 2010 B2
7668166 Rekhter et al. Feb 2010 B1
7668727 Mitchell et al. Feb 2010 B2
7668851 Triplett Feb 2010 B2
7680836 Anderson et al. Mar 2010 B2
7680915 Still et al. Mar 2010 B2
7684423 Tripathi et al. Mar 2010 B2
7685126 Patel et al. Mar 2010 B2
7685177 Hagerstrom et al. Mar 2010 B1
7689596 Tsunoda Mar 2010 B2
7694082 Golding et al. Apr 2010 B2
7698458 Liu et al. Apr 2010 B1
7706261 Sun et al. Apr 2010 B2
7710989 Chew May 2010 B2
7711771 Kirnos et al. May 2010 B2
7724657 Rao et al. May 2010 B2
7725093 Sengupta et al. May 2010 B2
7729239 Aronov et al. Jun 2010 B1
7734603 McManis Jun 2010 B1
7734809 Joshi et al. Jun 2010 B2
7735099 Micalizzi, Jr. Jun 2010 B1
7739540 Akutsu et al. Jun 2010 B2
7742412 Medina Jun 2010 B1
7743031 Cameron et al. Jun 2010 B1
7743035 Chen et al. Jun 2010 B2
7752294 Srinivasan et al. Aug 2010 B2
7778187 Chaturvedi et al. Aug 2010 B2
7784093 Deng et al. Aug 2010 B2
7788335 Miloushev et al. Aug 2010 B2
7801978 Susai et al. Sep 2010 B1
7809691 Karmarkar et al. Oct 2010 B1
7813277 Okholm et al. Oct 2010 B2
7818299 Federwisch et al. Oct 2010 B1
7822839 Pruitt et al. Oct 2010 B1
7822939 Veprinsky et al. Oct 2010 B1
7826487 Mukerji et al. Nov 2010 B1
7831639 Panchbudhe et al. Nov 2010 B1
7831662 Clark et al. Nov 2010 B2
7840841 Huang et al. Nov 2010 B2
7849112 Mane et al. Dec 2010 B2
7853958 Mathew et al. Dec 2010 B2
7861085 Case et al. Dec 2010 B1
7870154 Shitomi et al. Jan 2011 B2
7876677 Cheshire Jan 2011 B2
7877511 Berger et al. Jan 2011 B1
7877524 Annem et al. Jan 2011 B1
7885970 Lacapra Feb 2011 B2
7886218 Watson Feb 2011 B2
7889734 Hendel et al. Feb 2011 B1
7895653 Calo et al. Feb 2011 B2
7900002 Lyon Mar 2011 B2
7903554 Manur et al. Mar 2011 B1
7904466 Valencia et al. Mar 2011 B1
7908245 Nakano et al. Mar 2011 B2
7908314 Yamaguchi et al. Mar 2011 B2
7913053 Newland Mar 2011 B1
7916728 Mimms Mar 2011 B1
7925908 Kim Apr 2011 B2
7929433 Husak et al. Apr 2011 B2
7933946 Livshits et al. Apr 2011 B2
7936772 Kashyap May 2011 B2
7937421 Mikesell et al. May 2011 B2
7945908 Waldspurger et al. May 2011 B1
7953085 Chang et al. May 2011 B2
7953701 Okitsu et al. May 2011 B2
7958222 Pruitt et al. Jun 2011 B1
7958347 Ferguson Jun 2011 B1
7984108 Landis et al. Jul 2011 B2
7984141 Gupta et al. Jul 2011 B2
7984500 Khanna et al. Jul 2011 B1
7991918 Jha et al. Aug 2011 B2
7996569 Aloni et al. Aug 2011 B2
8005953 Miloushev et al. Aug 2011 B2
8006016 Muller et al. Aug 2011 B2
8010756 Linde Aug 2011 B1
8015157 Kamei et al. Sep 2011 B2
8024443 Jacob Sep 2011 B1
8046547 Chatterjee et al. Oct 2011 B1
8055724 Amegadzie et al. Nov 2011 B2
8064342 Badger Nov 2011 B2
8069225 McCanne et al. Nov 2011 B2
8077620 Solomon et al. Dec 2011 B2
8099528 Millet et al. Jan 2012 B2
8099758 Schaefer et al. Jan 2012 B2
8103622 Karinta Jan 2012 B1
8103781 Wu et al. Jan 2012 B1
8103809 Michels et al. Jan 2012 B1
8112392 Bunnell et al. Feb 2012 B1
8112491 Michels et al. Feb 2012 B1
8112594 Giacomoni et al. Feb 2012 B2
8117244 Marinov et al. Feb 2012 B2
8130650 Allen, Jr. et al. Mar 2012 B2
8155128 Balyan et al. Apr 2012 B2
8171124 Kondamuru May 2012 B2
8180747 Marinkovic et al. May 2012 B2
8190769 Shukla et al. May 2012 B1
8195760 Lacapra et al. Jun 2012 B2
8199757 Pani et al. Jun 2012 B2
8204860 Ferguson et al. Jun 2012 B1
8209403 Szabo et al. Jun 2012 B2
8233380 Subramanian et al. Jul 2012 B2
8239354 Lacapra et al. Aug 2012 B2
8248928 Wang Aug 2012 B1
8271751 Hinrichs, Jr. Sep 2012 B2
8279865 Giacomoni et al. Oct 2012 B2
8302100 Deng et al. Oct 2012 B2
8306036 Bollay et al. Nov 2012 B1
8306948 Chou et al. Nov 2012 B2
8321908 Gai et al. Nov 2012 B2
8326798 Driscoll et al. Dec 2012 B1
8346993 Michels et al. Jan 2013 B2
8351333 Rao et al. Jan 2013 B2
8351600 Resch Jan 2013 B2
8352785 Nicklin et al. Jan 2013 B1
8380854 Szabo Feb 2013 B2
8392372 Ferguson et al. Mar 2013 B2
8396836 Ferguson et al. Mar 2013 B1
8396895 Miloushev et al. Mar 2013 B2
8397059 Ferguson Mar 2013 B1
8400919 Amdahl et al. Mar 2013 B1
8417681 Miloushev et al. Apr 2013 B1
8417746 Gillett, Jr. et al. Apr 2013 B1
8417817 Jacobs Apr 2013 B1
8433735 Lacapra Apr 2013 B2
8447871 Szabo May 2013 B1
8447884 Baumann May 2013 B1
8448234 Mondaeev et al. May 2013 B2
8463850 McCann Jun 2013 B1
8464265 Worley Jun 2013 B2
8468542 Jacobson et al. Jun 2013 B2
8484348 Subramanian et al. Jul 2013 B2
8548953 Wong et al. Oct 2013 B2
8549582 Andrews et al. Oct 2013 B1
8601000 Stefani et al. Dec 2013 B1
8606921 Vasquez et al. Dec 2013 B2
8615022 Harrison et al. Dec 2013 B2
8665868 Kay Mar 2014 B2
8682916 Wong et al. Mar 2014 B2
8701179 Penno et al. Apr 2014 B1
8745266 Agarwal et al. Jun 2014 B2
8778665 Gilde et al. Jul 2014 B2
8799403 Chan et al. Aug 2014 B2
8804504 Chen Aug 2014 B1
8819109 Krishnamurthy et al. Aug 2014 B1
8819768 Koeten et al. Aug 2014 B1
8830874 Cho et al. Sep 2014 B2
8848715 Izenberg et al. Sep 2014 B2
8880632 Michels et al. Nov 2014 B1
8880696 Michels et al. Nov 2014 B1
8954492 Lowell, Jr. Feb 2015 B1
8984178 Michels et al. Mar 2015 B2
9020912 Majee et al. Apr 2015 B1
9032113 Conroy et al. May 2015 B2
9497614 Ridel et al. Nov 2016 B1
20010007560 Masuda et al. Jul 2001 A1
20010009554 Katseff et al. Jul 2001 A1
20010023442 Masters Sep 2001 A1
20010038629 Shinohara Nov 2001 A1
20010042200 Lamberton et al. Nov 2001 A1
20010047923 Waller et al. Nov 2001 A1
20020012352 Hansson et al. Jan 2002 A1
20020035537 Waller et al. Mar 2002 A1
20020038360 Andrews et al. Mar 2002 A1
20020049842 Huetsch et al. Apr 2002 A1
20020059263 Shima et al. May 2002 A1
20020059428 Susai et al. May 2002 A1
20020065848 Walker et al. May 2002 A1
20020072048 Slattery et al. Jun 2002 A1
20020083067 Tamayo et al. Jun 2002 A1
20020087571 Stapel et al. Jul 2002 A1
20020087744 Kitchin Jul 2002 A1
20020087887 Busam et al. Jul 2002 A1
20020099829 Richards et al. Jul 2002 A1
20020099842 Jennings et al. Jul 2002 A1
20020103823 Jackson et al. Aug 2002 A1
20020106263 Winker Aug 2002 A1
20020112061 Shih et al. Aug 2002 A1
20020120763 Miloushev et al. Aug 2002 A1
20020138615 Schmeling Sep 2002 A1
20020143819 Han et al. Oct 2002 A1
20020143852 Guo et al. Oct 2002 A1
20020143909 Botz et al. Oct 2002 A1
20020143955 Shimada et al. Oct 2002 A1
20020150253 Brezak et al. Oct 2002 A1
20020156905 Weissman Oct 2002 A1
20020156927 Boucher et al. Oct 2002 A1
20020161911 Pinckney, III et al. Oct 2002 A1
20020161913 Gonzalez et al. Oct 2002 A1
20020162118 Levy et al. Oct 2002 A1
20020174216 Shorey et al. Nov 2002 A1
20020188753 Tang et al. Dec 2002 A1
20020194112 DePinto et al. Dec 2002 A1
20020194342 Lu et al. Dec 2002 A1
20020198956 Dunshea et al. Dec 2002 A1
20020198993 Cudd et al. Dec 2002 A1
20030005172 Chessell Jan 2003 A1
20030009528 Sharif et al. Jan 2003 A1
20030012382 Ferchichi et al. Jan 2003 A1
20030018450 Carley Jan 2003 A1
20030018585 Butler et al. Jan 2003 A1
20030028514 Lord et al. Feb 2003 A1
20030033308 Patel et al. Feb 2003 A1
20030033535 Fisher et al. Feb 2003 A1
20030034905 Anton et al. Feb 2003 A1
20030037070 Marston Feb 2003 A1
20030046291 Fascenda Mar 2003 A1
20030051045 Connor Mar 2003 A1
20030055723 English Mar 2003 A1
20030065951 Igeta et al. Apr 2003 A1
20030065956 Belapurkar et al. Apr 2003 A1
20030067930 Salapura et al. Apr 2003 A1
20030069918 Lu et al. Apr 2003 A1
20030069974 Lu et al. Apr 2003 A1
20030070069 Belapurkar et al. Apr 2003 A1
20030072318 Lam et al. Apr 2003 A1
20030074301 Solomon Apr 2003 A1
20030076849 Morgan Apr 2003 A1
20030086415 Bernhard et al. May 2003 A1
20030088671 Klinker et al. May 2003 A1
20030105846 Zhao et al. Jun 2003 A1
20030105983 Brakmo et al. Jun 2003 A1
20030108000 Chaney et al. Jun 2003 A1
20030108002 Chaney et al. Jun 2003 A1
20030108052 Inoue et al. Jun 2003 A1
20030120948 Schmidt et al. Jun 2003 A1
20030128708 Inoue et al. Jul 2003 A1
20030130945 Force Jul 2003 A1
20030139934 Mandera Jul 2003 A1
20030145062 Sharma et al. Jul 2003 A1
20030145233 Poletto et al. Jul 2003 A1
20030156586 Lee et al. Aug 2003 A1
20030159072 Belinger et al. Aug 2003 A1
20030163576 Janssen et al. Aug 2003 A1
20030171978 Jenkins et al. Sep 2003 A1
20030177364 Walsh et al. Sep 2003 A1
20030177388 Botz et al. Sep 2003 A1
20030179755 Fraser Sep 2003 A1
20030189936 Terrell et al. Oct 2003 A1
20030191812 Agarwalla et al. Oct 2003 A1
20030195813 Pallister et al. Oct 2003 A1
20030200207 Dickinson Oct 2003 A1
20030204635 Ko et al. Oct 2003 A1
20030204636 Greenblat et al. Oct 2003 A1
20030212954 Patrudu Nov 2003 A1
20030220835 Barnes, Jr. Nov 2003 A1
20030225485 Fritz et al. Dec 2003 A1
20030229665 Ryman Dec 2003 A1
20030236995 Fretwell, Jr. Dec 2003 A1
20040003266 Moshir et al. Jan 2004 A1
20040003287 Zissimopoulos et al. Jan 2004 A1
20040006575 Visharam et al. Jan 2004 A1
20040006591 Matsui et al. Jan 2004 A1
20040010654 Yasuda et al. Jan 2004 A1
20040015783 Lennon et al. Jan 2004 A1
20040017825 Stanwood et al. Jan 2004 A1
20040028043 Maveli et al. Feb 2004 A1
20040030627 Sedukhin Feb 2004 A1
20040030740 Stelting Feb 2004 A1
20040030857 Krakirian et al. Feb 2004 A1
20040032830 Bly et al. Feb 2004 A1
20040043758 Sorvari et al. Mar 2004 A1
20040044705 Stager et al. Mar 2004 A1
20040054748 Ackaouy et al. Mar 2004 A1
20040059789 Shum Mar 2004 A1
20040062245 Sharp et al. Apr 2004 A1
20040064544 Barsness et al. Apr 2004 A1
20040064554 Kuno et al. Apr 2004 A1
20040072569 Omae et al. Apr 2004 A1
20040093361 Therrien et al. May 2004 A1
20040093474 Lin et al. May 2004 A1
20040098595 Aupperle et al. May 2004 A1
20040103283 Hornak May 2004 A1
20040111523 Hall et al. Jun 2004 A1
20040111621 Himberger et al. Jun 2004 A1
20040117493 Bazot et al. Jun 2004 A1
20040122926 Moore et al. Jun 2004 A1
20040123277 Schrader et al. Jun 2004 A1
20040133577 Miloushev et al. Jul 2004 A1
20040133605 Chang et al. Jul 2004 A1
20040133606 Miloushev et al. Jul 2004 A1
20040138858 Carley Jul 2004 A1
20040139355 Axel et al. Jul 2004 A1
20040148380 Meyer et al. Jul 2004 A1
20040151186 Akama Aug 2004 A1
20040153479 Mikesell et al. Aug 2004 A1
20040167967 Bastian et al. Aug 2004 A1
20040192312 Li et al. Sep 2004 A1
20040199547 Winter et al. Oct 2004 A1
20040199762 Carlson et al. Oct 2004 A1
20040202161 Stachura et al. Oct 2004 A1
20040210731 Chatterjee et al. Oct 2004 A1
20040213156 Smallwood et al. Oct 2004 A1
20040215665 Edgar et al. Oct 2004 A1
20040236798 Srinivasan et al. Nov 2004 A1
20040236826 Harville et al. Nov 2004 A1
20040240447 Dorbolo Dec 2004 A1
20040249881 Jha et al. Dec 2004 A1
20040249948 Sethi et al. Dec 2004 A1
20040264472 Oliver et al. Dec 2004 A1
20040264481 Darling et al. Dec 2004 A1
20040267897 Hill et al. Dec 2004 A1
20040267920 Hydrie et al. Dec 2004 A1
20040267948 Oliver et al. Dec 2004 A1
20040268358 Darling et al. Dec 2004 A1
20050004887 Igakura et al. Jan 2005 A1
20050007991 Ton et al. Jan 2005 A1
20050008017 Datta et al. Jan 2005 A1
20050021703 Cherry et al. Jan 2005 A1
20050021736 Carusi et al. Jan 2005 A1
20050027841 Rolfe Feb 2005 A1
20050027862 Nguyen et al. Feb 2005 A1
20050027869 Johnson Feb 2005 A1
20050044158 Malik Feb 2005 A1
20050044213 Kobayashi et al. Feb 2005 A1
20050050107 Mane et al. Mar 2005 A1
20050050364 Feng Mar 2005 A1
20050052440 Kim et al. Mar 2005 A1
20050055435 Gbadegesin et al. Mar 2005 A1
20050078604 Yim Apr 2005 A1
20050083952 Swain Apr 2005 A1
20050091214 Probed et al. Apr 2005 A1
20050091390 Helmer et al. Apr 2005 A1
20050100011 Chiruvolu et al. May 2005 A1
20050108575 Yung May 2005 A1
20050114559 Miller May 2005 A1
20050114701 Atkins et al. May 2005 A1
20050117589 Douady et al. Jun 2005 A1
20050122977 Lieberman Jun 2005 A1
20050141427 Bartky Jun 2005 A1
20050154837 Keohane et al. Jul 2005 A1
20050160161 Barrett et al. Jul 2005 A1
20050160243 Lubbers et al. Jul 2005 A1
20050165656 Frederick et al. Jul 2005 A1
20050174944 Legault et al. Aug 2005 A1
20050175013 Le Pennec et al. Aug 2005 A1
20050175014 Patrick Aug 2005 A1
20050187866 Lee Aug 2005 A1
20050188220 Nilsson et al. Aug 2005 A1
20050198234 Leib et al. Sep 2005 A1
20050198310 Kim et al. Sep 2005 A1
20050198501 Andreev et al. Sep 2005 A1
20050213570 Stacy et al. Sep 2005 A1
20050213587 Cho et al. Sep 2005 A1
20050226234 Sano et al. Oct 2005 A1
20050234928 Shkvarchuk et al. Oct 2005 A1
20050240664 Chen et al. Oct 2005 A1
20050246393 Coates et al. Nov 2005 A1
20050254490 Gallatin et al. Nov 2005 A1
20050256806 Tien et al. Nov 2005 A1
20050262238 Reeves et al. Nov 2005 A1
20050267941 Addante Dec 2005 A1
20050273456 Revanuru et al. Dec 2005 A1
20050281196 Tornetta et al. Dec 2005 A1
20050289111 Tribble et al. Dec 2005 A1
20060007928 Sangillo Jan 2006 A1
20060010502 Mimatsu et al. Jan 2006 A1
20060031374 Lu et al. Feb 2006 A1
20060031520 Bedekar et al. Feb 2006 A1
20060031778 Goodwin et al. Feb 2006 A1
20060036764 Yokota et al. Feb 2006 A1
20060045089 Bacher et al. Mar 2006 A1
20060045096 Farmer et al. Mar 2006 A1
20060047785 Wang et al. Mar 2006 A1
20060059267 Cugi et al. Mar 2006 A1
20060067349 Ronciak et al. Mar 2006 A1
20060074922 Nishimura Apr 2006 A1
20060075475 Boulos et al. Apr 2006 A1
20060077902 Kannan et al. Apr 2006 A1
20060077986 Rune Apr 2006 A1
20060080353 Miloushev et al. Apr 2006 A1
20060100752 Kim et al. May 2006 A1
20060104303 Makineni et al. May 2006 A1
20060106882 Douceur et al. May 2006 A1
20060112176 Liu et al. May 2006 A1
20060112272 Morioka et al. May 2006 A1
20060112367 Harris May 2006 A1
20060123062 Bobbitt et al. Jun 2006 A1
20060123210 Pritchett et al. Jun 2006 A1
20060129684 Datta Jun 2006 A1
20060130133 Andreev et al. Jun 2006 A1
20060133374 Sekiguchi Jun 2006 A1
20060135198 Lee Jun 2006 A1
20060140193 Kakani et al. Jun 2006 A1
20060153201 Hepper et al. Jul 2006 A1
20060156416 Huotari et al. Jul 2006 A1
20060161577 Kulkarni et al. Jul 2006 A1
20060167838 Lacapra Jul 2006 A1
20060171365 Borella Aug 2006 A1
20060174324 Zur et al. Aug 2006 A1
20060179261 Rajan Aug 2006 A1
20060184589 Lees et al. Aug 2006 A1
20060184647 Dixit et al. Aug 2006 A1
20060200470 Lacapra et al. Sep 2006 A1
20060206547 Kulkarni et al. Sep 2006 A1
20060209669 Nishio Sep 2006 A1
20060209853 Hidaka et al. Sep 2006 A1
20060218135 Bisson et al. Sep 2006 A1
20060221832 Muller et al. Oct 2006 A1
20060221835 Sweeney Oct 2006 A1
20060224636 Kathuria et al. Oct 2006 A1
20060224687 Popkin et al. Oct 2006 A1
20060224820 Cho et al. Oct 2006 A1
20060230148 Forecast et al. Oct 2006 A1
20060230265 Krishna Oct 2006 A1
20060233106 Achlioptas et al. Oct 2006 A1
20060235996 Wolde et al. Oct 2006 A1
20060235998 Stechler et al. Oct 2006 A1
20060242179 Chen et al. Oct 2006 A1
20060242300 Yumoto et al. Oct 2006 A1
20060259320 LaSalle et al. Nov 2006 A1
20060259949 Schaefer et al. Nov 2006 A1
20060268692 Wright et al. Nov 2006 A1
20060268704 Ansari et al. Nov 2006 A1
20060268932 Singh et al. Nov 2006 A1
20060270341 Kim et al. Nov 2006 A1
20060271598 Wong et al. Nov 2006 A1
20060277225 Mark et al. Dec 2006 A1
20060282442 Lennon et al. Dec 2006 A1
20060282461 Marinescu Dec 2006 A1
20060282471 Mark et al. Dec 2006 A1
20060288128 Moskalev et al. Dec 2006 A1
20070005807 Wong Jan 2007 A1
20070006293 Balakrishnan et al. Jan 2007 A1
20070016613 Foresti et al. Jan 2007 A1
20070016662 Desai et al. Jan 2007 A1
20070024919 Wong et al. Feb 2007 A1
20070027929 Whelan Feb 2007 A1
20070027935 Haselton et al. Feb 2007 A1
20070028068 Golding et al. Feb 2007 A1
20070038994 Davis et al. Feb 2007 A1
20070058670 Konduru et al. Mar 2007 A1
20070061441 Landis et al. Mar 2007 A1
20070064661 Sood et al. Mar 2007 A1
20070083646 Miller et al. Apr 2007 A1
20070088702 Fridella et al. Apr 2007 A1
20070088822 Coile et al. Apr 2007 A1
20070106796 Kudo et al. May 2007 A1
20070107048 Halls et al. May 2007 A1
20070112775 Ackerman May 2007 A1
20070118879 Yeun May 2007 A1
20070124415 Lev-Ran et al. May 2007 A1
20070124502 Li May 2007 A1
20070130255 Wolovitz et al. Jun 2007 A1
20070136308 Tsirigotis et al. Jun 2007 A1
20070139227 Speirs et al. Jun 2007 A1
20070147246 Hurley Jun 2007 A1
20070162619 Aloni et al. Jul 2007 A1
20070162891 Burner et al. Jul 2007 A1
20070165622 O'Rourke Jul 2007 A1
20070168320 Borthakur et al. Jul 2007 A1
20070174491 Still et al. Jul 2007 A1
20070180314 Kawashima et al. Aug 2007 A1
20070192543 Naik Aug 2007 A1
20070208748 Li Sep 2007 A1
20070209075 Coffman Sep 2007 A1
20070220598 Salowey et al. Sep 2007 A1
20070233809 Brownell et al. Oct 2007 A1
20070233826 Tindal et al. Oct 2007 A1
20070250560 Wein et al. Oct 2007 A1
20070260830 Faibish et al. Nov 2007 A1
20070274314 Werber Nov 2007 A1
20070297410 Yoon et al. Dec 2007 A1
20070297551 Choi Dec 2007 A1
20080004022 Johannesson et al. Jan 2008 A1
20080010372 Khendouri et al. Jan 2008 A1
20080022059 Zimmerer et al. Jan 2008 A1
20080025297 Kashyap Jan 2008 A1
20080031258 Acharya et al. Feb 2008 A1
20080034136 Ulenas Feb 2008 A1
20080046432 Anderson et al. Feb 2008 A1
20080070575 Claussen et al. Mar 2008 A1
20080072303 Syed Mar 2008 A1
20080114718 Anderson et al. May 2008 A1
20080120370 Chan et al. May 2008 A1
20080126509 Subramanian et al. May 2008 A1
20080133518 Kapoor et al. Jun 2008 A1
20080134311 Medvinsky et al. Jun 2008 A1
20080148340 Powell et al. Jun 2008 A1
20080159145 Muthukrishnan et al. Jul 2008 A1
20080178278 Grinstein et al. Jul 2008 A1
20080184248 Barua et al. Jul 2008 A1
20080189468 Schmidt et al. Aug 2008 A1
20080201599 Ferraiolo et al. Aug 2008 A1
20080201772 Mondaeev et al. Aug 2008 A1
20080205613 Lopez Aug 2008 A1
20080208917 Smoot et al. Aug 2008 A1
20080208933 Lyon Aug 2008 A1
20080209073 Tang Aug 2008 A1
20080215836 Sutoh et al. Sep 2008 A1
20080219279 Chew Sep 2008 A1
20080222223 Srinivasan et al. Sep 2008 A1
20080222646 Sigal et al. Sep 2008 A1
20080225710 Raja et al. Sep 2008 A1
20080229415 Kapoor et al. Sep 2008 A1
20080243769 Arbour et al. Oct 2008 A1
20080253395 Pandya Oct 2008 A1
20080256224 Kaji et al. Oct 2008 A1
20080263401 Stenzel Oct 2008 A1
20080270578 Zhang et al. Oct 2008 A1
20080279200 Shatzkamer et al. Nov 2008 A1
20080281908 McCanne et al. Nov 2008 A1
20080282047 Arakawa et al. Nov 2008 A1
20080282354 Wobber et al. Nov 2008 A1
20080285578 DeLay et al. Nov 2008 A1
20080288661 Galles Nov 2008 A1
20080294446 Guo et al. Nov 2008 A1
20080301760 Lim Dec 2008 A1
20090003204 Okholm et al. Jan 2009 A1
20090007162 Sheehan Jan 2009 A1
20090007266 Wu et al. Jan 2009 A1
20090013138 Sudhakar Jan 2009 A1
20090016217 Kashyap Jan 2009 A1
20090019535 Mishra et al. Jan 2009 A1
20090028337 Balabine et al. Jan 2009 A1
20090037500 Kirshenbaum Feb 2009 A1
20090037975 Ishikawa et al. Feb 2009 A1
20090041230 Williams Feb 2009 A1
20090049230 Pandya Feb 2009 A1
20090055507 Oeda Feb 2009 A1
20090055607 Schack et al. Feb 2009 A1
20090070617 Arimilli et al. Mar 2009 A1
20090077097 Lacapra Mar 2009 A1
20090077619 Boyce Mar 2009 A1
20090080440 Balyan et al. Mar 2009 A1
20090089344 Brown et al. Apr 2009 A1
20090089619 Huang et al. Apr 2009 A1
20090094252 Wong et al. Apr 2009 A1
20090094311 Awadallah et al. Apr 2009 A1
20090094610 Sukirya Apr 2009 A1
20090106255 Lacapra et al. Apr 2009 A1
20090106263 Khalid et al. Apr 2009 A1
20090106413 Salo et al. Apr 2009 A1
20090119504 van Os et al. May 2009 A1
20090125496 Wexler et al. May 2009 A1
20090125532 Wexler et al. May 2009 A1
20090125625 Shim et al. May 2009 A1
20090125955 DeLorme May 2009 A1
20090129393 Okuno et al. May 2009 A1
20090132616 Winter et al. May 2009 A1
20090138314 Bruce May 2009 A1
20090138749 Moll et al. May 2009 A1
20090141891 Boyen et al. Jun 2009 A1
20090154459 Husak et al. Jun 2009 A1
20090157678 Turk Jun 2009 A1
20090161542 Ho Jun 2009 A1
20090187915 Chew et al. Jul 2009 A1
20090193513 Agarwal et al. Jul 2009 A1
20090196282 Fellman et al. Aug 2009 A1
20090204649 Wong et al. Aug 2009 A1
20090204650 Wong et al. Aug 2009 A1
20090204705 Marinov et al. Aug 2009 A1
20090210431 Marinkovic et al. Aug 2009 A1
20090210875 Bolles et al. Aug 2009 A1
20090217163 Jaroker Aug 2009 A1
20090217386 Schneider Aug 2009 A1
20090222598 Hayden Sep 2009 A1
20090228956 He et al. Sep 2009 A1
20090240705 Miloushev et al. Sep 2009 A1
20090240899 Akagawa et al. Sep 2009 A1
20090241176 Beletski et al. Sep 2009 A1
20090248911 Conroy et al. Oct 2009 A1
20090265396 Ram et al. Oct 2009 A1
20090265467 Peles Oct 2009 A1
20090279559 Wong et al. Nov 2009 A1
20090287935 Aull et al. Nov 2009 A1
20090292957 Bower et al. Nov 2009 A1
20090296624 Ryu et al. Dec 2009 A1
20090300161 Pruitt et al. Dec 2009 A1
20090300407 Kamath et al. Dec 2009 A1
20090313503 Atluri et al. Dec 2009 A1
20090316708 Yahyaoui et al. Dec 2009 A1
20090319600 Sedan et al. Dec 2009 A1
20100011434 Kay Jan 2010 A1
20100017643 Baba et al. Jan 2010 A1
20100023582 Pedersen et al. Jan 2010 A1
20100030777 Panwar et al. Feb 2010 A1
20100042743 Jeon et al. Feb 2010 A1
20100061232 Zhou et al. Mar 2010 A1
20100064001 Daily Mar 2010 A1
20100070476 O'Keefe et al. Mar 2010 A1
20100071048 Novak et al. Mar 2010 A1
20100082542 Feng et al. Apr 2010 A1
20100082849 Millet et al. Apr 2010 A1
20100085875 Solomon et al. Apr 2010 A1
20100093318 Zhu et al. Apr 2010 A1
20100094945 Chan et al. Apr 2010 A1
20100115236 Bataineh et al. May 2010 A1
20100122091 Huang et al. May 2010 A1
20100122248 Robinson et al. May 2010 A1
20100131654 Malakapalli et al. May 2010 A1
20100150154 Viger et al. Jun 2010 A1
20100154031 Montemurro et al. Jun 2010 A1
20100165877 Shukla et al. Jul 2010 A1
20100179984 Sebastian Jul 2010 A1
20100188976 Rahman et al. Jul 2010 A1
20100189052 Kavanagh et al. Jul 2010 A1
20100199042 Bates et al. Aug 2010 A1
20100205206 Rabines et al. Aug 2010 A1
20100211547 Kamei et al. Aug 2010 A1
20100228819 Wei Sep 2010 A1
20100242092 Harris et al. Sep 2010 A1
20100250497 Redlich et al. Sep 2010 A1
20100251330 Kroeselberg et al. Sep 2010 A1
20100272117 Wu Oct 2010 A1
20100274772 Samuels Oct 2010 A1
20100279733 Karsten et al. Nov 2010 A1
20100299451 Yigang et al. Nov 2010 A1
20100306169 Pishevar et al. Dec 2010 A1
20100322250 Shetty et al. Dec 2010 A1
20100325257 Goel et al. Dec 2010 A1
20100325277 Muthiah et al. Dec 2010 A1
20100325634 Ichikawa et al. Dec 2010 A1
20110040889 Garrett et al. Feb 2011 A1
20110047620 Mahaffey et al. Feb 2011 A1
20110055921 Narayanaswamy et al. Mar 2011 A1
20110066718 Susai et al. Mar 2011 A1
20110066736 Mitchell et al. Mar 2011 A1
20110072321 Dhuse Mar 2011 A1
20110083185 Sheleheda et al. Apr 2011 A1
20110087696 Lacapra Apr 2011 A1
20110093471 Brockway et al. Apr 2011 A1
20110098087 Tseng Apr 2011 A1
20110107077 Henderson et al. May 2011 A1
20110107112 Resch May 2011 A1
20110119234 Schack et al. May 2011 A1
20110153822 Rajan et al. Jun 2011 A1
20110154443 Thakur et al. Jun 2011 A1
20110173295 Bakke et al. Jul 2011 A1
20110184733 Yu et al. Jul 2011 A1
20110185082 Thompson Jul 2011 A1
20110202676 Craig et al. Aug 2011 A1
20110228781 Izenberg et al. Sep 2011 A1
20110246800 Accpadi et al. Oct 2011 A1
20110255537 Ramasamy et al. Oct 2011 A1
20110273984 Hsu et al. Nov 2011 A1
20110282997 Prince et al. Nov 2011 A1
20110296411 Tang et al. Dec 2011 A1
20110314178 Kanode et al. Dec 2011 A1
20110320882 Beaty et al. Dec 2011 A1
20110321122 Mwangi et al. Dec 2011 A1
20120007239 Kolics et al. Jan 2012 A1
20120016994 Nakamura et al. Jan 2012 A1
20120039341 Latif et al. Feb 2012 A1
20120041965 Vasquez et al. Feb 2012 A1
20120042115 Young Feb 2012 A1
20120063314 Pignataro et al. Mar 2012 A1
20120066489 Ozaki et al. Mar 2012 A1
20120078856 Linde Mar 2012 A1
20120101952 Raleigh et al. Apr 2012 A1
20120117028 Gold et al. May 2012 A1
20120127998 Assarpour May 2012 A1
20120144229 Nadolski Jun 2012 A1
20120150699 Trapp et al. Jun 2012 A1
20120150805 Pafumi et al. Jun 2012 A1
20120191800 Michels et al. Jul 2012 A1
20120191847 Nas et al. Jul 2012 A1
20120195273 Iwamura et al. Aug 2012 A1
20120224531 Karuturi et al. Sep 2012 A1
20120246637 Kreeger et al. Sep 2012 A1
20120257506 Bazlamacci Oct 2012 A1
20120258766 Cho et al. Oct 2012 A1
20120311153 Morgan Dec 2012 A1
20120317266 Abbott Dec 2012 A1
20130029726 Berionne et al. Jan 2013 A1
20130031060 Lowery et al. Jan 2013 A1
20130058225 Casado et al. Mar 2013 A1
20130058229 Casado et al. Mar 2013 A1
20130058252 Casado et al. Mar 2013 A1
20130058358 Fulton Mar 2013 A1
20130091002 Christie et al. Apr 2013 A1
20130198322 Oran et al. Aug 2013 A1
20130205361 Narayanaswamy et al. Aug 2013 A1
20130238472 Fan et al. Sep 2013 A1
20130250777 Ziegler Sep 2013 A1
20130336122 Baruah et al. Dec 2013 A1
20140032695 Michels et al. Jan 2014 A1
20140040478 Hsu et al. Feb 2014 A1
20140059678 Parker Feb 2014 A1
20140071895 Bane et al. Mar 2014 A1
20140095661 Knowles et al. Apr 2014 A1
20140099945 Singh et al. Apr 2014 A1
20140105069 Potnuru Apr 2014 A1
20140162705 De Wit et al. Jun 2014 A1
20140171089 Janakiraman et al. Jun 2014 A1
20140185442 Newman et al. Jul 2014 A1
20140187199 Yan et al. Jul 2014 A1
20140226666 Narasimhan et al. Aug 2014 A1
20140269484 Dankberg et al. Sep 2014 A1
20140286316 Park et al. Sep 2014 A1
20140301207 Durand et al. Oct 2014 A1
20140317404 Carlson et al. Oct 2014 A1
20140372599 Gutt et al. Dec 2014 A1
20160127227 Lee May 2016 A1
Foreign Referenced Citations (38)
Number Date Country
2003300350 Jul 2004 AU
2080530 Apr 1994 CA
2512312 Jul 2004 CA
0605088 Jun 1994 EP
0738970 Oct 1996 EP
0744850 Nov 1996 EP
1081918 Aug 2000 EP
1813084 Aug 2007 EP
63010250 Jan 1988 JP
06-332782 Feb 1994 JP
6205006 Jul 1994 JP
8021924 Mar 1996 JP
08-328760 Dec 1996 JP
08-339355 Dec 1996 JP
9016510 Jan 1997 JP
11282741 Oct 1999 JP
566291 Dec 2008 NZ
WO 9114326 Sep 1991 WO
WO 9505712 Feb 1995 WO
WO 9709805 Mar 1997 WO
WO 9745800 Dec 1997 WO
WO 9905829 Feb 1999 WO
WO 9906913 Feb 1999 WO
WO 9910858 Mar 1999 WO
WO 9964967 Dec 1999 WO
WO 0004422 Jan 2000 WO
WO 0004458 Jan 2000 WO
WO 0058870 Mar 2000 WO
WO 200239696 May 2002 WO
WO 2002056181 Jul 2002 WO
WO 2004061605 Jul 2004 WO
WO 2004079930 Sep 2004 WO
WO 2006055494 May 2006 WO
WO 2006091040 Aug 2006 WO
WO 2008093174 Aug 2008 WO
WO 2008130983 Oct 2008 WO
WO 2008147973 Dec 2008 WO
WO 2009158680 Dec 2009 WO
Non-Patent Literature Citations (155)
Entry
“A Process for Selective Routing of Servlet Content to Transcoding Modules,” Research Disclosure 422124, Jun. 1999, pp. 889-890, IBM Corporation.
“A Storage Architecture Guide,” Second Edition, 2001, Auspex Systems, Inc., www.auspex.com, last accessed on Dec. 30, 2002.
“Cavium Networks Product Selector Guide—Single & Multi-Core MIPS Processors, Security Processors and Accelerator Boards—Spring 2008,” (2008) pp. 1-44, Cavium Networks, Mountain View, CA, US.
“Comtech AHA Announces 3.0 Gbps GZIP Compression/Decompression Accelerator AHA362-PCIX offers high-speed GZIP compression and decompression,” www.aha.com, Apr. 20, 2005, pp. 1-2, Comtech AHA Corporation, Moscow, ID, USA.
“Comtech AHA Announces GZIP Compression and Decompression IC Offers the highest speed and compression ratio performance in hardware on the market,” www.aha.com, Jun. 26, 2007, pp. 1-2, Comtech AHA Corporation, Moscow, ID, USA.
“CSA Persistent File System Technology,” A White Paper, Jan. 1, 1999, p. 1-3, http://www.cosoa.com/white_papers/ pfs.php, Colorado Software Architecture, Inc.
“Diameter MBLB Support Phase 2: Generic Message Based Load Balancing (GMBLB)”, last accessed Mar. 29, 2010, pp. 1-10, (http://peterpan.f5net.com/twiki/bin/view/TMOS/TMOSDiameterMBLB).
“Distributed File System: A Logical View of Physical Storage: White Paper,” 1999, Microsoft Corp., www.microsoft.com, <http://www.eu.microsoft.com/TechNet/prodtechnol/windows2000serv/maintain/DFS nt95>, pp. 1-26, last accessed on Dec. 20, 2002.
“DMA and Interrupt Handling,” EventHelix.com; www.eventhelix.com/RealtimeMantra—last accessed Jan. 29, 2010.
“Gigabit Ethernet/PCI Network Interface Card; Host/NIC Software Interface Definition,” Jul. 1999, pp. 1-80, Revision 12.4.13, P/N 020001, Alteon WebSystems, Inc., San Jose, California.
“Market Research & Releases, CMPP PoC documentation”, last accessed Mar. 29, 2010, (http:/Imainstreet/sites/PD/ Teams/ProdMgmt/MarketResearch/Universal).
“Market Research & Releases, Solstice Diameter Requirements”, last accessed Mar. 29, 2010, (http:)/mainstreet/ sites/PD/Teams/ProdMgmt/MarketResearch/Unisversal).
“NERSC Tutorials: I/O on the Cray T3E, ‘Chapter 8, Disk Striping’,” National Energy Research Scientific Computing Center (NERSC), http://hpcfnersc.gov, last accessed on Dec. 27, 2002.
“NITROX™ XL Security Acceleration Modules PCI 3V or 3V/5V-Universal Boards for SSL and IPSec,” at http://www.Caviumnetworks.com, (2002) pp. 1, Cavium Networks, Mountain View, CA USA.
“PCI, PCI-X,” at http://www.cavium.com/acceleration_boards_PCI_PCI-X.htm (Downloaded Oct. 2008), Cavium Networks—Products > Acceleration Boards > PCI, PCI-X.
“Plan 9 kernel history: overview / file list / diff list,” <http://switch.com/cgi-bin/plan9history.cgi?f=2001/0126/pc/etherga620.com>, accessed Oct. 22, 2007, pp. 1-16.
“Respond to server depending on TCP::client_port”, DevCentral Forums iRules, pp. 1-6, last accessed Mar. 26, 2010, (http://devcentral.f5.com/Default/aspx?tabid=53&forumid=5&tpage=1&v).
“Scaling Next Generation Web Infrastructure with Content-Intelligent Switching: White Paper,” Apr. 2000, p. 1-9 Alteon Web Systems, Inc.
“Servlet/Applet/HTML Authentication Process With Single Sign-On,” Research Disclosure 429128, Jan. 2000, pp. 163-164, IBM Corporation.
“TCP-Transmission Control Protocol (TCP Fast Retransmit and Recovery),” EventHelix.com/EventStudio1.0, Mar. 28, 2002, pp. 1-5.
“The AFS File System in Distributed Computing Environment,” www.transarc.ibm.com/Library/whitepapers1AFSI afsoverview.html, last accessed on Dec. 20, 2002.
“Traffic Surges; Surge Queue; Netscaler Defense,” 2005, PowerPoint Presentation, slides 1-12, Citrix Systems, Inc.
“UDDI Overview”, Sep. 6, 2000, pp. 1-21, uddi.org, (http://www.uddi.org/).
“UDDI Technical White Paper,” Sep. 6, 2000, pp. 1-12, uddi-org, (http://www.uddi.org/).
“UDDI Version 3.0.1”, UDDI Spec Technical Committee Specification, Oct. 14, 2003, pp. 1-383, uddi.org, (http:// wwwwddi.org/).
“VERITAS SANPoint Foundation Suite(tm) and SANPoint Foundation Suite(tm) HA: New VERITAS Volume Management and File System Technology for Cluster Environments,” Sep. 2001, VERITAS Software Corp.
“Windows Clustering Technologies—An Overview,” Nov. 2001, Microsoft Corp., www.microsoft.com, last accessed on Dec. 30, 2002.
“Windows Server 2003 Kerberos Extensions,” Microsoft TechNet, 2003 (Updated Jul. 31, 2004), http://technet.microsoft.com/en-us/library/cc738207, Microsoft Corporation.
Abad, C., et al., “An Analysis on the Schemes for Detecting and Preventing ARP Cache Poisoning Attacks”, IEEE, Computer Society, 27th International Conference on Distributed Computing Systems Workshops (ICDCSW'07), 2007, pp. 1-8.
Aguilera, Marcos K. et al., “Improving recoverability in multi-tier storage systems,” International Conference on Dependable Systems and Networks (DSN-2007), Jun. 2007, 10 pages, Edinburgh, Scotland.
Anderson, Darrell C. et al., “Interposed Request Routing for Scalable Network Storage,” ACM Transactions on Computer Systems 20(1): (Feb. 2002), pp. 1-24.
Anonymous, “How DFS Works: Remote File Systems,” Distributed File System (DFS) Technical Reference, retrieved from the Internet on Feb. 13, 2009:URL<:http://technetmicrosoft.com/en-us/libranficc782417WS.10,printer).aspx> (Mar. 2003).
Anonymous, “Memory Mapping and DMA,” Chapter 15, pp. 412-463, Jan. 21, 2005.
Apple, Inc., “Mac OS X Tiger Keynote Intro. Part 2,” Jun. 2004, www.youtube.com <http://www.youtube.com/watch? v=zSBJwEmRJbY>, p. 1.
Apple, Inc., “Tiger Developer Overview Series: Working with Spotlight,” Nov. 23, 2004, www.apple.com using www.archive.org<http://web.archive_org/web/20041123005335/developerapple.com/macosx/tiger/spotlight. html>, pp. 1-6.
Baer, T., et al., “The elements of Web services” ADTmag.com, Dec. 1, 2002, pp. 1-6, (http://www_adtmag.rn).
Basney et al., “Credential Wallets: A Classification of Credential Repositories Highlighting MyProxy,” TPRC 2003, Sep. 19-21, 2003, pp. 1-20.
Bell Laboratories, “Layer 4/7 Switching and Other Custom IP Traffic Processing using the NEPPI API,” Lucent Technologies, pp. 1-11, Murray Hill, NJ.
Blue Coat, “Technology Primer: CIFS Protocol Optimization,” Blue Coat Systems Inc., 2007, last accessed: Dec. 9, 2013, pp. 1-3, (http://www.bluecoat.com).
Botzum, Keys, “Single Sign on—A Contrarian View,” Open Group Website, <http://www.opengroup.org/security/ topics.htm>, Aug. 6, 2001, pp. 1-8.
Cabrera et al., “Swift: A Storage Architecture for Large Objects,” In Proceedings of the-Eleventh IEEE Symposium on Mass Storage Systems, Oct. 1991, pp. 123-128.
Cabrera et al., “Swift: Using Distributed Disk Striping to Provide High I/O Data Rates,” Fall 1991, pp. 405-436, vol. 4, No. 4, Computing Systems.
Cabrera et al., “Using Data Striping in a Local Area Network,” 1992, technical report No. UCSC-CRL-92-09 of the Computer & Information Sciences Department of University of California at Santa Cruz.
Callaghan et al., “NFS Version 3 Protocol Specifications” (RFC 1813), Jun. 1995, The Internet Engineering Task Force (IETN), www_ietforg, last accessed on Dec. 30, 2002.
Carns et al., “PVFS: A Parallel File System for Linux Clusters,” in Proceedings of the Extreme Linux Track: 4th Annual Linux Showcase and Conference, Oct. 2000, pp. 317-327, 327, Atlanta, Georgia, USENIX Association.
Cavale, M. R., “Introducing Microsoft Cluster Service (MSCS) in the Windows Server 2003”, Microsoft Corporation, Nov. 2002.
Crescendo Networks, “Application Layer Processing (ALP),” 2003-2009, pp. 168-186, Chapter 9, CN-5000E/5500E, Foxit Software Company.
English Translation of Notification of Reason(s) for Refusal for JP 2002-556371 (Dispatch Date: Jan. 22, 2007).
F5 Networks Inc., “3-DNS® Reference Guide, version 4.5”, F5 Networks Inc., Sep. 2002, pp. 2-1-2-28, 3-1-3-12, 5-1-5-24, Seattle, Washington.
F5 Networks Inc., “BIG-IP® Reference Guide, version 4.5”, F5 Networks Inc., Sep. 2002, pp. 11-1-11-32, Seattle, Washington.
F5 Networks Inc., “Case Information Log for ‘Issues with BoNY upgrade to 4.3’”, as early as Feb. 2008.
F5 Networks Inc., “Configuration Guide for Local Traffic Management”, F5 Networks Inc., Jan. 2006, version 9.2.2, 406 pgs.
F5 Networks Inc., “Deploying the BIG-IP LTM for Diameter Traffic Management,” F5® Deployment Guide, Publication date Sep. 2010, Version 1.2, pp. 1-19.
F5 Networks Inc., “F5 Diameter RM”, Powerpoint document, Jul. 16, 2009, pp. 1-7.
F5 Networks Inc., “F5 WANJet CIFS Acceleration”, White Paper, F5 Networks Inc., Mar. 2006, pp. 1-5, Seattle, Washington.
F5 Networks Inc., “Routing Global Internet Users to the Appropriate Data Center and Applications Using F5's 3DNS Controller”, F5 Networks Inc., Aug. 2001, pp. 1-4, Seattle, Washington, (http://www.f5.com/f5producs/3dns/ relatedMaterials/UsingF5.htnnl).
F5 Networks Inc., “Using F5's 3-DNS Controller to Provide High Availability Between Two or More Data Centers”, F5 Networks Inc., Aug. 2001, pp. 1-4, Seattle, Washington, (http://www.f5.com/f5products/3dns/ relatedMaterials/3DNSRouting.html).
F5 Networks, Inc., “BIG-IP Controller with Exclusive OneConnect Content Switching Feature Provides a Breakthrough System for Maximizing Server and Network Performance,” Press Release, May 8, 2001, 2 pages, Las Vegas, Nevada.
Fajardo V., “Open Diameter Software Architecture”, Jun. 25, 2004, pp. 1-6, Version 1.0.7.
Fan et al., “Summary Cache: A Scalable Wide-Area Web Cache Sharing Protocol”, Computer Communications Review, Association Machinery, New York, USA, Oct. 1998, vol. 28, Web Cache Sharing for Computing No. 4, pp. 254-265.
Farley, M., Book Review, by Enterprise Storage Forum Staff, of “Building Storage Networks,” Jan. 2001, McGraw-Hill, ISBN 0072130725.
Fielding et al., “Hypertext Transfer Protocol—HTTP/1.1,” Network Working Group, RFC: 2068, Jan. 1997, pp. 1-162.
Fielding et al., “Hypertext Transfer Protocol—HTTP/1.1,” Network Working Group, RFC: 2616, Jun. 1999, pp. 1-176, The Internet Society.
Floyd et al., “Random Early Detection Gateways for Congestion Avoidance,” Aug. 1993, pp. 1-22, IEEE/ACM Transactions on Networking, California.
Gibson et al., “File Server Scaling with Network-Attached Secure Disks,” in Proceedings of the ACM International Conference on Measurement and Modeling of Computer Systems (Sigmetrics '97), Association for Computing Machinery, Inc., Jun. 15-18, 1997.
Gibson et al., “NASD Scalable Storage Systems,” Jun. 1999, USENIX99, Extreme Linux Workshop, Monterey, California.
Gupta et al., “Algorithms for Packet Classification”, Computer Systems Laboratory, Stanford University, CA, Mar./ Apr. 2001, pp. 1-29.
Harrison, C., May 19, 2008 response to Communication pursuant to Article 96(2) EPC dated Nov. 9, 2007 in corresponding European patent application No. 02718824.2.
Hartman, J., “The Zebra Striped Network File System,” 1994, Ph.D. dissertation submitted in the Graduate Division of the University of California at Berkeley.
Harvey A.F. et al., “DMA Fundamentals on Various PC Platforms,” National Instruments Corporation: Application Note 011, Apr. 1991, pp. 1-18, 340023-01.
Haskin et al., “The Tiger Shark File System,” 1996, in proceedings of IEEE, Spring COMPCON, Santa Clara, CA, www.research_ibm.com, last accessed on Dec. 30, 2002.
Heinz G., “Priorities in Stream Transmission Control Protocol (SCTP) Multistreaming”, Thesis submitted to the Faculty of the University of Delaware, Spring 2003, pp. 1-35.
Hochmuth, Phil, “F5, CacheFlow pump up content-delivery lines,” Network World Fusion, May 4, 2001, 1 page, Las Vegas, Nevada.
Hu, J., Final Office action dated Sep. 21, 2007 for related U.S. Appl. No. 10/336,784.
Hu, J., Office action dated Feb. 6, 2007 for related U.S. Appl. No. 10/336,784.
Hwang et al., “Designing SSI Clusters with Hierarchical Checkpointing and Single 1/0 Space,” IEEE Concurrency, Jan.-Mar. 1999, pp. 60-69.
Ilvesmaki M., et al., “On the Capabilities of Application Level Traffic Measurements to Differentiate and Classify Internet Traffic”, Presented in SPIE's International Symposium ITcom, Aug. 19-21, 2001, pp. 1-11, Denver, Colorado.
International Search Report and the Written Opinion, for International Patent Application No. PCT/US2011/058469, dated May 30, 2012.
International Search Report and the Written Opinion, for International Patent Application No. PCT/US2013/026615, dated Jul. 4, 2013.
International Search Report dated Mar. 25, 2011 issued to the Priority International Application No. PCT/FR2011/050041.
European Search Report for European Patent Application No. 14191232.9 (dated Feb. 12, 2015).
International Search Report for International Patent Application No. PCT/US 2008/083117 (dated Jun. 23, 2009).
International Search Report for International Patent Application No. PCT/US2008/060449 (dated Sep. 4, 2008).
International Search Report for International Patent Application No. PCT/US2008/064677 (dated Jun. 9, 2009).
International Search Report for International Patent Application No. PCT /US02/00720, dated Mar. 19, 2003.
International Search Report from International Application No. PCT/US03/41202, dated Sep. 15, 2005.
Internet Protocol, “DARPA Internet Program Protocol Specification”, (RFC:791), Information Sciences Institute, University of Southern California, Sep. 1981, pp. 1-49.
Karamanolis, C. et al., “An Architecture for Scalable and Manageable File Services,” HPL-2001-173, Jul. 26, 2001. p. 1-114.
Katsurashima, W. et al., “NAS Switch: A Novel CIFS Server Virtualization, Proceedings,” 20th IEEE/11th NASA Goddard Conference on Mass Storage Systems and Technologies, 2003 (MSST 2003), Apr. 2003.
Kawamoto, D., “Amazon files for Web services patent”, CNET News.com, Jul. 28, 2005, pp. 1-2, (http:/Inews. com).
Kimball, C.E. et al., “Automated Client-Side Integration of Distributed Application Servers,” 13th Lisa Conf., 1999, pp. 275-282 of the Proceedings.
Klayman, J., Nov. 13, 2008 e-mail to Japanese associate including instructions for response to office action dated May 26, 2008 in corresponding Japanese patent application No. 2002-556371.
Klayman, J., Jul. 18, 2007 e-mail to Japanese associate including instructions for response to office action dated Jan. 22, 2007 in corresponding Japanese patent application No. 2002-556371.
Klayman, J., Response filed by Japanese associate to office action dated Jan. 22, 2007 in corresponding Japanese patent application No. 2002-556371.
Kohl et al., “The Kerberos Network Authentication Service (V5),” RFC 1510, Sep. 1993. (http://www.ietf.org/ rfc/rfc1510.txt?number=1510).
Korkuzas, V., Communication pursuant to Article 96(2) EPC dated Sep. 11, 2007 in corresponding European patent application No. 02718824.2-2201.
LaMonica M., “Infravio spiffs up Web services registry idea”, CNET News.com, May 11, 2004, pp. 1-2, (http://www. news.com).
Lelil, S., “Storage Technology News: AutoVirt adds tool to help data migration projects,” Feb. 25, 2011, last accessed Mar. 17, 2011, <http://searchstorage.techtarget.cominews/article/0,289142,sid5_gci1527986,00. html>.
Long et al., “Swift/RAID: A distributed RAID System”, Computing Systems, Summer 1994, vol. 7, pp. 333-359.
Mac Vittie, L., “Message-Based Load Balancing: Using F5 solutions to address the challenges of scaling Diameter, RADIUS, and message-oriented protocols”, F5 Technical Brief, 2005, pp. 1-9, F5 Networks Inc., Seattle, Washington.
Mangino John, “Using DMA with High Performance Peripherals to Maximize System Performance,” WW TMS470 Catalog Applications, SPNA105, Jan. 2007, PowerPoint presentation, slides 1-23.
Modiano E., “Scheduling Algorithms for Message Transmission Over a Satellite Broadcast System,” MIT Lincoln Laboratory Advanced Network Group, Nov. 1997, pp. 1-7.
Mogul, Jeffrey, C., “The Case for Persistent-Connection HTTP,” SIGCOMM '95, 1995, pp. 299-313, Cambridge, MA.
Nichols K., et al., “Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers”, (RFC:2474) Network Working Group, Dec. 1998, pp. 1-19, (http://www.iettorg/rfc/rfc2474.txt).
Noghani et al., “A Novel Approach to Reduce Latency on the Internet: ‘Component-Based Download’,” Proceedings of the Computing, Las Vegas, NV, Jun. 2000, pp. 1-6 on the Internet: Intl Conf. on Internet.
Norton et al., “Common Internet File System (CIFS ) Version CIFS-Spec 0.9,” 2001, Storage Networking Industry Association (SNIA), www.snia_org, last accessed on Mar. 26, 2001.
Novotny et al., “An Online Credential Repository for the Grid: MyProxy,” 2001, pp. 1-8.
Office Action for Canadian Patent Application No. 2,788,434, dated Nov. 4, 2016, pp. 1-4.
Ott D., et al., “A Mechanism for TCP-Friendly Transport-level Protocol Coordination”, USENIX Annual Technical Conference, Jun. 10, 2002, University of North Carolina at Chapel Hill, pp. 1-12.
OWASP, “Testing for Cross site scripting”, OWASP Testing Guide v2, Table of Contents, Feb. 24, 2011, pp. 1-5, (www_owasp_org/index.php/Testing_for_Cross_site_scripting).
Padmanabhan V., et al., “Using Predictive Prefetching to Improve World Wide Web Latency”, SIGCOM, Jul. 1, 1996, pp. 1-15.
Pashalidis et al., “A Taxonomy of Single Sign-On Systems,” 2003, pp. 1-16, Royal Holloway, University of London, Egham Surray, TW20, OEX, United Kingdom.
Pashalidis et al., “Impostor: A Single Sign-On System for Use from Untrusted Devices,” Global Telecommunications Conference, 2004, GLOBECOM '04, IEEE, Issue Date: Nov. 29-Dec. 3, 2004.Royal Holloway, University of London.
Patterson et al., “A Case for Redundant Arrays of Inexpensive Disks (RAID)”, Chicago, Illinois, Jun. 1-3, 1998, in Proceedings of ACM SIGMOD conference on the Management of Data, pp. 109-116, Association for Computing Machinery, Inc., www.acm.org, last accessed on Dec. 20, 2002.
Pearson, P.K., “Fast Hashing of Variable-Length Text Strings,” Comm. of the ACM, Jun. 1990, pp. 1-4, vol. 33, No. 6.
Peterson, M., “Introducing Storage Area Networks,” Feb. 1998, InfoStor, www.infostor.com, last accessed on Dec. 20, 2002.
Preslan et al., “Scalability and Failure Recovery in a Linux Cluster File System,” in Proceedings of the 4th Annual Linux Showcase & Conference, Atlanta, Georgia, Oct. 10-14, 2000, pp. 169-180 of the Proceedings, www.usenix. org, last accessed on Dec. 20, 2002.
Rabinovich, Michael et al., “DHTTP: An Efficient and Cache-Friendly Transfer Protocol for the Web,” IEEE/ACM Transactions on Networking 12(6):1007-1020 (Dec. 2004).
Response filed Jul. 6, 2007 to Office action dated Feb. 6, 2007 for related U.S. Appl. No. 10/336,784.
Response filed Mar. 20, 2008 to Final Office action dated Sep. 21, 2007 for related U.S. Appl. No. 10/336,784.
Rodriguez et al., “Parallel-Access for Mirror Sites in the Internet,” InfoCom 2000. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE Tel Aviv, Israel Mar. 26-30, 2000, Piscataway, NJ, USA, IEEE, US, Mar. 26, 2000 (Mar. 26, 2000), pp. 864-873, XP010376176 ISBN: 0-7803-5880-5 p. 867, col. 2, last paragraph—p. 868, col. 1, paragraph 1.
Rosen E., et al., “MPLS Label Stack Encoding”, (RFC:3032) Network Working Group, Jan. 2001, pp. 1-22, (http://www.ieff. org/rfc/rfc3032.txt).
RSYNC, “Welcome to the RSYNC Web Pages,” Retrieved from the Internet URL: http://samba.anu.edu.utssync/. (Retrieved on Dec. 18, 2009).
Salchow, Jr., KJ, “Clustered Multiprocessing: Changing the Rules of the Performance Game,” F5 White Paper, Jan. 2008, pp. 1-11, F5 Networks, Inc.
Savage, et al., “AFRAID—A Frequently Redundant Array of Independent Disks,” Jan. 22-26, 1996, pp. 1-13, USENIX Technical Conference, San Diego, California.
Schaefer, Ken, “IIS and Kerberos Part 5—Protocol Transition, Constrained Delegation, S4U2S and S4U2P,” Jul. 18, 2007, 21 pages, http://www.adopenstatic.com/cs/blogs/ken/archive/2007/07/19/8460.aspx.
Schilit B., “Bootstrapping Location-Enhanced Web Services”, University of Washington, Dec. 4, 2003, (http:// www_cs.washington.edu/news/colloqinfo.html).
Seeley R., “Can Infravio technology revive UDDI?”, ADTmag.com, Oct. 22, 2003, (http://www.adtmag.com).
Shohoud, Y., “Building XML Web Services with VB .NET and VB 6”, Addison Wesley, Sep. 2002, pp. 1-14.
Sleeper B., “The Evolution of UDDI”, UDDI.org White Paper, The Stencil Group, Inc., Jul. 19, 2002, pp. 1-15, San Francisco, California.
Sleeper B., “Why UDDI Will Succeed, Quietly: Two Factors Push Web Services Forward”, The Stencil Group, Inc., Apr. 2001, pp. 1-7, San Francisco, California.
Soltis et al., “The Design and Performance of a Shared Disk File System for IRIX,” Mar. 23-26, 1998, pp. 1-17, Sixth NASA Goddard Space Flight Center Conference on Mass Storage and Technologies in cooperation with the Fifteenth IEEE Symposium on Mass Storage Systems, University of Minnesota.
Soltis et al., “The Global File System,” Sep. 17-19, 1996, in Proceedings of the Fifth NASA Goddard Space Flight Center Conference on Mass Storage Systems and Technologies, College Park, Maryland.
Sommers F., “Whats New in UDDI 3.0—Part 1”, Web Services Papers, Jan. 27, 2003, pp. 1-4, (http://www. webservices_org/index_php/article/articleprint/8711-1/241).
Sommers F., “Whats New in UDDI 3.0—Part 2”, Web Services Papers, Mar. 2, 2003, pp. 1-8, (http://www.web. archive_org/web/20040620131006/).
Sommers F., “Whats New in UDDI 3.0—Part 3”, Web Services Papers, Sep. 2, 2003, pp. 1-4, (http://www. webservices_org/index_php/article/articleprint/894/-1/241).
Sorenson, K.M., “Installation and Administration: Kimberlite Cluster Version 1.1.0, Rev. Dec. 2000,” Mission Critical Linux, http://oss.missioncriticallinux.corn/kimberlite/kimberlite.pdf.
Stakutis, C., “Benefits of SAN-based file system sharing,” Jul. 2000, pp. 1-4, InfoStor, www.infostor.com, last accessed on Dec. 30, 2002.
Stevens, W., “TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms,” Network Working Group; RFC: 2001; Standards Track, Jan. 1997, pp. 1-6, NOAO.
Thekkath et al., “Frangipani: A Scalable Distributed File System,” in Proceedings of the 16th ACM Symposium on Operating Systems Principles, Oct. 1997, pp. 1-14, Association for Computing Machinery, Inc.
Tulloch, Mitch, “Microsoft Encyclopedia of Security,” 2003, pp. 218, 300-301, Microsoft Press, Redmond, Washington.
Uesugi, H., Nov. 26, 2008 amendment filed by Japanese associate in response to office action dated May 26, 2008 in corresponding Japanese patent application No. 2002-556371.
Uesugi, H., English translation of office action dated May 26, 2008 in corresponding Japanese patent application No. 2002-556371.
Uesugi, H., Jul. 15, 2008 letter from Japanese associate reporting office action dated May 26, 2008 in corresponding Japanese patent application No. 2002-556371.
Wadge, Wallace, “Achieving Gigabit Performance on Programmable Ethernet Network Interface Cards,” May 29, 2001, pp. 1-9.
Wang B., “Priority and realtime data transfer over the best-effort Internet”, Dissertation Abstract, ScholarWorks@UMASS, Sep. 2005, pp. i-xiv and pp. 1-9.
Welch, Von, “A User's Guide to TCP Windows,” http://www.vonwelch.com/report/tcp_windows, updated 1996, last accessed Jan. 29, 2010, pp. 1-5.
Wikipedia, “Diameter (protocol)”, pp. 1-11, last accessed Oct. 27, 2010, (http://en.wikipedia.org/wiki/Diameter_ (protocol)).
Wikipedia, “Direct memory access,” <http://en.wikipedida.org/wiki/Direct_memory_access>, last modified Oct. 1, 2009.
Wikipedia, “Nagle's algorithm,” <http://en.wikipedia.org/wiki/Nagle%27s_algorithm>, last modified Oct. 9, 2009.
Wilkes, J., et al., “The HP AutoRAID Hierarchical Storage System,” Feb. 1996, vol. 14, No. 1, ACM Transactions on Computer Systems.
Williams et al., “The Ultimate Windows Server 2003 System Administrator's Guide: Forwarding Authentication,” 2003, 2 pages, Figure 10.7, Addison-Wesley Professional, Boston, Massachusetts.
Woo T.Y.C., “A Modular Approach to Packet Classification: Algorithms and Results”, Nineteenth Annual Conference of the IEEE Computer and Communications Societies 3(3):1213-22, Mar. 26-30, 2000, abstract only, (http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=832499).
Zayas, E., “AFS-3 Programmers Reference: Architectural Overview,” Transarc Corp., version 1.0 of Sep. 2, 1991, doc. No. FS-00-D160.
Bell Laboratories, “Layer 4/7 Switching and Other Custom IP Traffic Processing Using the NEPPI API,” Bell Laboratories, Lucent Technologies, Murray Hill, NJ 07974 USA, pp. 1-11 (2000).
Continuations (1)
Number Date Country
Parent 13770685 Feb 2013 US
Child 15408354 US