Riverbed Technology Patent Applications

METHOD OF IMPROVING PERFORMANCE OF A DATA STORAGE DEVICE

Granted: April 19, 2012
Application Number: 20120096237
Methods are provided for efficiently storing data to a data storage device or subsystem. The data storage device may be a Solid-State Device (SSD), and may be implemented as part of a RAID (Redundant Array of Independent Disks) or other subsystem. When existing data is read and updated, and must be re-stored, the data is assembled and stored as if it were new data, and is written in a sequential manner, instead of being written to the same storage location. A newer generation number…

TRANSACTION ACCELERATOR FOR CLIENT-SERVER COMMUNICATIONS SYSTEMS

Granted: April 5, 2012
Application Number: 20120084465
Transactions are accelerated by the transaction handlers by storing segments of data used in the transactions in persistent segment storage accessible to the server side transaction handler and in persistent segment storage accessible to the client side transaction handler. When data is to be sent between the transaction handlers, the sending transaction handler compares the segments of the data to be sent with segments stored in its persistent segment storage and replaces segments of…

CLOUD-BASED DISASTER RECOVERY OF BACKUP DATA AND METADATA

Granted: April 5, 2012
Application Number: 20120084261
Cloud storage services can be used to facilitate secondary backup and disaster data recovery without the need for specialized backup servers at the secondary location or cloud storage service. Backup data streams are transferred to a cloud storage service. In addition to the backup data streams, backup metadata is generated for each backup data stream. The backup metadata is adapted to configure a backup server to retrieve and access data in the backup data stream. The backup metadata is…

SYSTEM AND METHOD FOR WARMING AN OPTIMIZATION DEVICE

Granted: March 29, 2012
Application Number: 20120078995
A system and method are provided for warming a network intermediary (e.g., a proxy, a transaction accelerator) to enable it to provide effective optimization (e.g., data reduction) without a cold start. When a pair of network intermediaries cooperate to optimize a communication connection (e.g., between a client and a server), either or both intermediaries may form branch channels with one or more peers. Via these branch channels, the intermediaries may forward optimization information…

TIERED STORAGE INTERFACE

Granted: March 15, 2012
Application Number: 20120066337
The cloud storage services are extended with a cloud storage service access protocol that enables users to specify a desired storage tier for each data stream. In response to receiving storage tier specifiers via the protocol, the cloud storage service performs storage operations to identify target storage devices having attributes matching those associated with the requested storage tier. The cloud storage service stores a data stream from the storage client in the identified target…

Booting Devices Using Virtual Storage Arrays Over Wide-Area Networks

Granted: February 2, 2012
Application Number: 20120030456
Virtual storage arrays consolidate data storage at a data center for physical and virtual computer systems at one or more branch network locations. Standalone and virtualized computer systems at a branch network location load, execute, and store their operating systems, applications, and data using virtual storage arrays and do not require any built-in or external non-volatile data storage devices such as hard disk drives or solid-state drives at the branch network location. The virtual…

Virtual Data Storage Devices and Applications Over Wide Area Networks

Granted: November 10, 2011
Application Number: 20110276963
A virtualization system provides virtualized servers at a branch network location. Virtualized servers are implemented using virtual machine applications within the virtualization system. Data storage for the virtualized servers, including storage of the virtual machine files, is consolidated at a data center network location. The virtual disks of the virtualized servers are mapped to physical data storage at the data center and accessed via a WAN using storage block-based protocols. The…

CONTENT-BASED SEGMENTATION SCHEME FOR DATA COMPRESSION IN STORAGE AND TRANSMISSION INCLUDING HIERARCHICAL SEGMENT REPRESENTATION

Granted: November 3, 2011
Application Number: 20110267207
In a coding system, input data within a system is encoded. The input data might include sequences of symbols that repeat in the input data or occur in other input data encoded in the system. The encoding includes determining a target segment size, determining a window size, identifying a fingerprint within a window of symbols at an offset in the input data, determining whether the offset is to be designated as a cut point and segmenting the input data as indicated by the set of cut…

ESTABLISHING A SPLIT-TERMINATED COMMUNICATION CONNECTION THROUGH A STATEFUL FIREWALL, WITH NETWORK TRANSPARENCY

Granted: October 27, 2011
Application Number: 20110264810
A method and apparatus are provided for establishing a split-terminated client-server communication connection through a stateful firewall, with network transparency. In an environment in which a pair of network intermediaries is employed to optimize client-server communications, a first intermediary intercepts a client request for a new connection. The first intermediary probes the network for a counterpart near the server, and opens an optimized communication session with a second…

Virtualized Data Storage Applications and Optimizations

Granted: September 29, 2011
Application Number: 20110238775
Virtual storage arrays consolidate branch data storage at data centers connected via wide area networks. Virtual storage arrays appear to storage clients as local data storage, but actually store data at the data center. Virtual storage arrays may prioritize storage client and prefetching requests for communication over the WAN and/or SAN based on their associated clients, servers, storage clients, and/or applications. A virtual storage array may transfer large data sets from a data…

Rules-Based Transactions Prefetching Using Connection End-Point Proxies

Granted: September 29, 2011
Application Number: 20110238738
Network proxies reduce server latency in response to series of requests from client applications. Network proxies intercept messages clients and a server. Intercepted client requests are compared with rules. When client requests match a rule, additional request messages are forwarded to the server on behalf of a client application. In response to the additional request messages, the server provides corresponding response messages. A network proxy intercepts and caches the response…

DISASTER RECOVERY USING LOCAL AND CLOUD SPANNING DEDUPLICATED STORAGE SYSTEM

Granted: June 30, 2011
Application Number: 20110161723
A spanning storage interface facilitates the use of cloud storage services by storage clients and may perform data deduplication. The spanning storage interface may include local storage for caching data from storage clients. A disaster recovery application includes at least first and second spanning storage interfaces at first and second network locations. The second spanning storage interface is provided for at least disaster recovery operations. The second spanning storage interface…

CLOUD SYNTHETIC BACKUPS

Granted: June 30, 2011
Application Number: 20110161297
Synthetic backups are created without accessing previous backup data or retrieving backup data from a cloud storage service. A backup system provides two or more backup data sets to a cloud spanning storage interface for storage in deduplicated form as label maps and data segments in a cloud storage service. A specification defines portions of two or more previous backup data sets to be copied into the synthetic backup. Labels corresponding with the specified portions of previous backup…

WAN-OPTIMIZED LOCAL AND CLOUD SPANNING DEDUPLICATED STORAGE SYSTEM

Granted: June 30, 2011
Application Number: 20110161291
A spanning storage interface facilitates the use of cloud storage services by storage clients. The spanning storage interface presents one or more data interfaces to storage clients at a network location, such as file, object, data backup, archival, and storage block based interfaces. The data interfaces allows storage clients to store and retrieve data using non-cloud based protocols. The spanning storage interface may perform data deduplication on data received from storage clients.…

Service Curve Mapping

Granted: May 19, 2011
Application Number: 20110116370
A method for configuring service curves for managing the output port of a networking device includes the following steps. A multitude of traffic classes is defined, each traffic class being characterized by a bandwidth and a delay priority. A multitude of traffic service curves is computed, each of the plurality of traffic service curves is associated with a different one of the multitude of traffic classes. At least one of the multitude of traffic classes service curves is characterized…

TRANSACTION ACCELERATOR FOR CLIENT-SERVER COMMUNICATIONS SYSTEMS

Granted: February 24, 2011
Application Number: 20110047295
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…

Extended Network Protocols for Communicating Metadata with Virtual Machines

Granted: January 6, 2011
Application Number: 20110002346
Network devices include hosted virtual machines and virtual machine applications. Hosted virtual machines and their applications implement additional functions and services in network devices. Network devices include data taps for directing network traffic to hosted virtual machines and allowing hosted virtual machines to inject network traffic. Network devices include unidirectional data flow specifications, referred to as hyperswitches. Each hyperswitch is associated with a hosted…

Defining Network Traffic Processing Flows Between Virtual Machines

Granted: January 6, 2011
Application Number: 20110004698
Network devices include hosted virtual machines and virtual machine applications. Hosted virtual machines and their applications implement additional functions and services in network devices. Network devices include data taps for directing network traffic to hosted virtual machines and allowing hosted virtual machines to inject network traffic. Network devices include unidirectional data flow specifications, referred to as hyperswitches. Each hyperswitch is associated with a hosted…

Network Traffic Processing Pipeline for Virtual Machines in a Network Device

Granted: January 6, 2011
Application Number: 20110004876
Network devices include hosted virtual machines and virtual machine applications. Hosted virtual machines and their applications implement additional functions and services in network devices. Network devices include data taps for directing network traffic to hosted virtual machines and allowing hosted virtual machines to inject network traffic. Network devices include unidirectional data flow specifications, referred to as hyperswitches. Each hyperswitch is associated with a hosted…

Maintaining Virtual Machines in a Network Device

Granted: January 6, 2011
Application Number: 20110004877
Network devices include hosted virtual machines and virtual machine applications. Hosted virtual machines and their applications implement additional functions and services in network devices. Network devices include data taps for directing network traffic to hosted virtual machines and allowing hosted virtual machines to inject network traffic. Network devices include unidirectional data flow specifications, referred to as hyperswitches. Each hyperswitch is associated with a hosted…