Riverbed Technology Patent Applications

Selective Monitoring of Software Applications

Granted: January 9, 2014
Application Number: 20140013310
Au application monitoring system autonomously selects routines for performance monitoring based on characteristics of the content of the routines. These characteristics are preferably related to aspects of routines that are likely candidates for performance improvement, such as repetitive loops, event waits, synchronized blocks, and on. Routines that appear to be relatively un-improvable are excluded from initial monitoring, and routines that are subsequently determined to be relatively…

Cooperative Proxy Auto-Discovery and Connection Interception

Granted: November 14, 2013
Application Number: 20130304902
In a network supporting transactions between clients and servers and proxies that are interposable in a network path, a pair of proxies can modify a packet stream such that packet data from client to server is transformed at a client-side proxy of the pair and untransformed at a server-side of the pair and packet data from server to client is transformed at the server-side proxy and untransformed at the client-side proxy. A discovering proxy transparently discovers its position in a…

ENSURING WRITE OPERATION CONSISTENCY USING MULTIPLE STORAGE DEVICES

Granted: November 7, 2013
Application Number: 20130297855
Relatively small capacity solid-state storage devices (SSD) are combined with larger capacity magnetic disk storage devices for storing storage block write data to ensure data consistency. Write operations are stored in a sequential write buffer in an SSD to guarantee the storage of write data and then copied from the sequential write buffer to the destination address in a magnetic disk storage device. The sequential write buffer store write data in locations corresponding to the order…

ENSURING WRITE OPERATION CONSISTENCY USING RAID STORAGE DEVICES

Granted: November 7, 2013
Application Number: 20130297854
Solid-state storage devices (SSD) are combined with larger capacity magnetic disk-based RAID arrays for storing write data to ensure data consistency across multiple RAID disks. Write operations are stored in a sequential write buffer in at least one SSD to guarantee their storage and then copied from the sequential write buffer to the destination address in RAID array. The sequential write buffer stores write data in locations corresponding to the order of receipt of write operations.…

TRANSACTION ACCELERATION FOR CLIENT-SERVER COMMUNICATION SYSTEMS

Granted: September 19, 2013
Application Number: 20130246508
Self-discovering transaction accelerators improve communications between a client and a server. A client directs a message to a server. A client-side transaction accelerator intercepts the message, terminates the connection with the client, and accelerates the request by replacing segments of data with references. The accelerated request is forwarded to a server-side transaction accelerator through a new connection. The server-side transaction accelerator reconstructs the message by…

VIRTUALIZED DATA STORAGE SYSTEM ARCHITECTURE USING PREFETCHING AGENT

Granted: September 5, 2013
Application Number: 20130232215
Virtual storage arrays consolidate data storage from branch locations at data centers. The virtual storage array appears to storage clients as a local data storage; however, the virtual storage array data is actually stored at a data center. To overcome the bandwidth and latency limitations of wide area networks between branch locations and the data center, systems and methods predict, prefetch, and cache at the branch location storage blocks that are likely to be requested in the future…

EVENT DETECTION/ANOMALY CORRELATION HEURISTICS

Granted: June 27, 2013
Application Number: 20130167232
A system for detecting network intrusions and other conditions in a network is described. The system includes a plurality of collector devices that are disposed to collect data and statistical information on packets that are sent between nodes on a network. An aggregator device is disposed to receive data and statistical information from the plurality of collector devices. The aggregator device produces a connection table that maps each node on the network to a record that stores…

CONNECTION FORWARDING

Granted: June 6, 2013
Application Number: 20130145036
Two or more network traffic processors connected with the same LAN and WAN are identified as neighbors. Neighboring network traffic processors cooperate to overcome asymmetric routing, thereby ensuring that related sequences of network traffic are processed by the same network proxy. A network proxy can be included in a network traffic processor or as a standalone unit. A network traffic processor that intercepts a new connection initiation by a client assigns a network proxy to handle…

AUTOMATIC FRAMING SELECTION

Granted: May 9, 2013
Application Number: 20130114439
Network traffic is monitored and an optimal framing heuristic is automatically determined and applied. Framing heuristics specify different rules for framing network traffic. While a framing heuristic is applied to the network traffic, alternative framing heuristics are speculatively evaluated for the network traffic. The results of these evaluations are used to rank the framing heuristics. The framing heuristic with the best rank is selected for framing subsequent network traffic. Each…

ROUTING NETWORK TRAFFIC

Granted: April 25, 2013
Application Number: 20130103854
A traffic manager (121-124) for, and a method of, routing network traffic to a plurality of server computers (131-138). The traffic manager includes a network interface (204) and a processor (201). The processor is configured to receive network traffic comprising a request (701 ,702) from a client computer (102-105) via the network interface. The processor is configured to then identify, based on attributes of the request, a server computer that is responsible for servicing the request…

Cooperative Proxy Auto-Discovery and Connection Interception Through Network Address Translation

Granted: April 11, 2013
Application Number: 20130091273
Proxy devices associate their direct connection with a client/server connection passing through one or more NAT devices. First proxy device receives a network connection request from a client. First proxy device stores connection information in association with a connection identifier. Connection information may reflect the usage of NAT devices between the two proxy devices. First proxy device sends a connection response including the connection identifier to the client. Second proxy…

Optimized Prefetching of Compound Data

Granted: April 4, 2013
Application Number: 20130086264
Access to compound data over a wide-area network is optimized by analyzing metadata within compound data to identify internal and external data streams to be prefetched. Upon receiving or intercepting a network packet including an access request for a data resource, metadata in this data resource is analyzed to identify associated data streams and their storage locations within and/or outside of the data resource. Data streams may be proactively or reactively prefetched. Proactive…

Distributed Network Traffic Data Collection and Storage

Granted: March 21, 2013
Application Number: 20130070622
Network traffic information from multiple sources, at multiple time scales, and at multiple levels of detail are integrated so that users may more easily identify relevant network information. The network monitoring system stores and manipulates low-level and higher-level network traffic data separately to enable efficient data collection and storage. Packet traffic data is collected, stored, and analyzed at multiple locations. The network monitoring locations communicate summary and…

Identifying Related Network Traffic Data for Monitoring and Analysis

Granted: March 21, 2013
Application Number: 20130070608
Network traffic information from multiple sources, at multiple time scales, and at multiple levels of detail are integrated so that users may more easily identify relevant network information. The network monitoring system stores and manipulates low-level and higher-level network traffic data separately to enable efficient data collection and storage. Packet traffic data is collected, stored, and analyzed at multiple locations. The network monitoring locations communicate summary and…

Accessing Network Traffic Data at Multiple Time Scales and Levels of Detail

Granted: March 14, 2013
Application Number: 20130067034
Network traffic information from multiple sources, at multiple time scales, and at multiple levels of detail are integrated so that users may more easily identify relevant network information. The network monitoring system stores and manipulates low-level and higher-level network traffic data separately to enable efficient data collection and storage. Packet traffic data is collected, stored, and analyzed at multiple locations. The network monitoring locations communicate summary and…

Multilevel Monitoring System Architecture

Granted: March 14, 2013
Application Number: 20130064096
Network traffic information from multiple sources, at multiple time scales, and at multiple levels of detail are integrated so that users may more easily identify relevant network information. The network monitoring system stores and manipulates low-level and higher-level network traffic data separately to enable efficient data collection and storage. Packet traffic data is collected, stored, and analyzed at multiple locations. The network monitoring locations communicate summary and…

TRANSACTION ACCELERATOR FOR CLIENT-SERVER COMMUNICATIONS SYSTEMS

Granted: February 14, 2013
Application Number: 20130041940
For an accelerated transaction, a client directs a request to a client-side transaction handler that forwards the request to a server-side transaction handler, which in turn provides the request, or a representation thereof, to a server for responding to the request. The server sends the response to the client via the server-side transaction handler and the client-side transaction handler. When data is to be sent between handlers, the sending transaction handler compares data segments…

TRANSACTION ACCELERATOR FOR CLIENT-SERVER COMMUNICATION SYSTEMS

Granted: August 16, 2012
Application Number: 20120209959
In a network having transaction acceleration, for an accelerated transaction, a client directs a request to a client-side transaction handler that forwards the request to a server-side transaction handler, which in turn provides the request, or a representation thereof, to a server for responding to the request. The server sends the response to the server-side transaction handler, which forwards the response to the client-side transaction handler, which in turn provides the response to…

TRANSACTION ACCELERATOR FOR CLIENT-SERVER COMMUNICATIONS SYSTEMS

Granted: August 2, 2012
Application Number: 20120197965
Self-discovering transaction accelerators improve communications between a client and a server. A client directs a message to a server. A client-side transaction accelerator intercepts the message, terminates the connection with the client, and accelerates the request by replacing segments of data with references. The accelerated request is forwarded to a server-side transaction accelerator through a new connection. The server-side transaction accelerator reconstructs the message by…

CONNECTION FORWARDING

Granted: June 28, 2012
Application Number: 20120166661
Two or more network traffic processors connected with the same LAN and WAN are identified as neighbors. Neighboring network traffic processors cooperate to overcome asymmetric routing, thereby ensuring that related sequences of network traffic are processed by the same network proxy. A network proxy can be included in a network traffic processor or as a standalone unit. A network traffic processor that intercepts a new connection initiation by a client assigns a network proxy to handle…