Patents by Inventor Steven McCanne

Steven McCanne has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 8856222
    Abstract: 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 replacing the reference with segment data in a persistent segment store accessible to the server-side transaction accelerator. The reconstructed request is then provided to the server. Accelerations may occur in any direction of communication. Persistent segment stores can be pre-populated with segment data from other transaction accelerators and anticipated transactions.
    Type: Grant
    Filed: February 13, 2013
    Date of Patent: October 7, 2014
    Assignee: Riverbed Technology, Inc.
    Inventors: Steven McCanne, Michael J. Demmer, Arvind Jain, David Tze-Si Wu, Alfred Landrum
  • Patent number: 8762455
    Abstract: 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 with segments stored in its persistent segment storage and replaces segments with references to entries in its persistent segment storage that match or closely match the segments to be replaced. The transaction accelerators could handle multiple clients and/or multiple servers and the segments stored in the persistent segment stores can relate to different transactions, different clients and/or different servers. Persistent segment stores can be prepopulated with segment data from other transaction accelerators.
    Type: Grant
    Filed: August 20, 2012
    Date of Patent: June 24, 2014
    Assignee: Riverbed Technology, Inc.
    Inventors: Steven McCanne, Michael J. Demmer
  • Publication number: 20140156836
    Abstract: 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 proxy pair by using proxy signals. A discovering proxy might determine that it is a client-side proxy by receipt of a packet from client without a proxy signal, or that it is a server-side proxy by receipt of a packet from server without a return proxy signal. Once a proxy pair is discovered, it might transform traffic from server to client or vice versa, transforming and untransforming the traffic.
    Type: Application
    Filed: February 4, 2014
    Publication date: June 5, 2014
    Applicant: Riverbed Technology, Inc.
    Inventors: Michael J. Demmer, Steven McCanne, Alfred Landrum
  • Publication number: 20140143306
    Abstract: In address-manipulation enabled transaction accelerators, the transaction accelerators include outer-connection addressing information in packets emitted over an inner connection between transaction accelerators and inner-connection addressing information is added in packets sent over the inner connection. The inner-connection addressing information can be carried in TCP option fields, directly in other fields, or indirectly through data structures maintained by the endpoints processing the connection. Address information can be encoded into header fields originally intended for other purposes but that are unused or encoded into used fields, overlaid in combination with other data that is being carried in those used fields. The existence of inner-connection addressing information in a packet can be signaled by a flag in the packet, by a bit or other designated encoding. The flag can be in an unused header field or overlaid.
    Type: Application
    Filed: April 22, 2013
    Publication date: May 22, 2014
    Applicant: Riverbed Technology, Inc.
    Inventors: Alfred Landrum, Kand Ly, Steven McCanne
  • Publication number: 20140105209
    Abstract: An overlay protocol and system for allowing multicast routing in the Internet to be performed at the application level. The overlay protocol uses “native” Internet multicast and multicast routing protocols to route information, according to overlay routing tables. Overlay groups are mapped to native multicast groups to exploit native multicasting in regional or local forwarding domains. Use of the overlay protocol allows overlay distribution to be handled in a more intelligent and bandwidth-managed fashion. Overlay routers are placed at each of several local area networks, Internet service provider's point of presence, enterprise, or other cohesively-managed locations. The overlay computers are configured according to bandwidth and security policies, and perform application-level multicast distribution across the otherwise disjoint multicast networks by using the overlay routing. The result is an overlay multicast network that is effectively managed according to local network management policies.
    Type: Application
    Filed: December 25, 2013
    Publication date: April 17, 2014
    Applicant: Yahoo! Inc.
    Inventor: Steven McCanne
  • Patent number: 8681614
    Abstract: An edge network device controls the quality-of-service of incoming network traffic flows by limiting the bandwidth of incoming network traffic flows. To ensure that incoming network traffic classes quickly converge to the desired bandwidth allocations, the maximum bandwidth allocation to each network traffic class is dynamically varied based on current overall usage. The maximum bandwidth allocated to each traffic class at any given moment is the sum of its minimum guaranteed bandwidth and a portion of the available excess bandwidth. Each traffic class' portion of the excess bandwidth is proportional to the ratio between its minimum guaranteed bandwidth and the sum of all traffic classes' minimum guaranteed bandwidths. Phantom network packets equivalent to the difference between each traffic class' allocated and actual bandwidth may be added to its scheduling queue to implement this dynamic variation.
    Type: Grant
    Filed: March 29, 2011
    Date of Patent: March 25, 2014
    Assignee: Riverbed Technology, Inc.
    Inventors: Steven McCanne, Henri Dubois-Ferriere, Andrew Swan
  • Patent number: 8677111
    Abstract: 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 disks of the virtual storage array are mapped to physical data storage at the data center and accessed via a WAN using storage block-based protocols. A storage block cache at the branch network location includes storage blocks prefetched based on knowledge about the computer systems at the branch network location and the behavior of their operating systems and applications.
    Type: Grant
    Filed: June 22, 2011
    Date of Patent: March 18, 2014
    Assignee: Riverbed Technology, Inc.
    Inventors: David Tze-Si Wu, Steven McCanne, Michael J. Demmer, Nitin Gupta
  • Patent number: 8671205
    Abstract: 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 proxy pair by using proxy signals. A discovering proxy might determine that it is a client-side proxy by receipt of a packet from client without a proxy signal, or that it is a server-side proxy by receipt of a packet from server without a return proxy signal. Once a proxy pair is discovered, it might transform traffic from server to client or vice versa, transforming and untransforming the traffic.
    Type: Grant
    Filed: November 7, 2012
    Date of Patent: March 11, 2014
    Assignee: Riverbed Technology, Inc.
    Inventors: Michael J. Demmer, Alfred Landrum, Steven McCanne
  • Patent number: 8667173
    Abstract: An overlay protocol and system for allowing multicast routing in the Internet to be performed at the application level. The overlay protocol uses “native” Internet multicast and multicast routing protocols to route information, according to overlay routing tables. Overlay groups are mapped to native multicast groups to exploit native multicasting in regional or local forwarding domains. Use of the overlay protocol allows overlay distribution to be handled in a more intelligent and bandwidth-managed fashion. Overlay routers are placed at each of several local area networks, Internet service provider's point of presence, enterprise, or other cohesively-managed locations. The overlay computers are configured according to bandwidth and security policies, and perform application-level multicast distribution across the otherwise disjoint multicast networks by using the overlay routing. The result is an overlay multicast network that is effectively managed according to local network management policies.
    Type: Grant
    Filed: February 4, 2013
    Date of Patent: March 4, 2014
    Assignee: Yahoo! Inc.
    Inventor: Steven McCanne
  • Patent number: 8635346
    Abstract: In a network supporting transactions between clients and servers over a network path having operating characteristics to overcome, data is transported to overcome the operating characteristics using user affinities and dynamic user location information to selectively preload data, or representations, signatures, segments, etc. of data, in order to overcome the one or more operating characteristic. Examples of operating characteristics to overcome include bandwidth limitations, errors and latency. The dynamic location information can be stored in data structures accessible by agents of a data server and the data structures are populated based on user activities with respect to proxies associated with user locations, or the dynamic location information can be obtained implicitly as proxies maintain connections after termination by clients and the use of those maintained connections for preloading of data for the users associated with those clients.
    Type: Grant
    Filed: December 7, 2009
    Date of Patent: January 21, 2014
    Assignee: Riverbed Technology, Inc.
    Inventors: David Tze-Si Wu, Steven McCanne
  • Publication number: 20130246508
    Abstract: 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 replacing the reference with segment data in a persistent segment store accessible to the server-side transaction accelerator. The reconstructed request is then provided to the server. Accelerations may occur in any direction of communication. Persistent segment stores can be pre-populated with segment data from other transaction accelerators and anticipated transactions.
    Type: Application
    Filed: February 13, 2013
    Publication date: September 19, 2013
    Applicant: Riverbed Technology, Inc.
    Inventors: Steven McCanne, Michael J. Demmer, Arvind Jain, David Tze-Si Wu, Alfred Landrum
  • Patent number: 8509070
    Abstract: 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 by a shifted two-piece linear function shifted such that the service curve limits service to during a nonzero time period prior to the start of the two-piece linear function.
    Type: Grant
    Filed: October 12, 2010
    Date of Patent: August 13, 2013
    Assignee: Riverbed Technology, Inc.
    Inventors: Lap Nathan Trac, Steven McCanne
  • Patent number: 8508389
    Abstract: 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 points. For each segment so identified, the encoder determines whether the segment is to be a referenced segment or an unreferenced segment, replacing the segment data of each referenced segment with a reference label and storing a reference binding in a persistent segment store for each referenced segment, if needed.
    Type: Grant
    Filed: November 4, 2010
    Date of Patent: August 13, 2013
    Assignee: Riverbed Technology, Inc.
    Inventors: Steven McCanne, Michael J. Demmer
  • Patent number: 8504670
    Abstract: 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 center to a branch location while providing branch location users with immediate access to the data set stored at the data center. Virtual storage arrays may be migrated by disabling a virtual storage array interface at a first branch location and then configuring another branch virtual storage array interface at a second branch location to provide its storage clients with access to storage array data stored at the data center.
    Type: Grant
    Filed: June 18, 2010
    Date of Patent: August 6, 2013
    Assignee: Riverbed Technology, Inc.
    Inventors: David Tze-Si Wu, Steven McCanne, Michael J. Demmer
  • Patent number: 8463941
    Abstract: Protocol acceleration is performed between clients and servers over a network wherein transport connections are established between clients/servers and/or their proxies for acceleration of traffic that uses certain protocols. A first transport connection for a first application protocol and a second transport connection for a second application protocol can be made between two proxies, wherein a client-side proxy is in communication with a client and a server-side proxy is in communication with a server, and the proxies use information from message payloads flowing between the client device and the server device over the first transport connection for acceleration of traffic over the second transport connection. Examples of transport protocols include a file server protocol and a storage access protocol. Cross-protocol acceleration can be expanded so that information obtained for one client on one protocol can be used to accelerate traffic for another client with the same or different protocol.
    Type: Grant
    Filed: June 16, 2008
    Date of Patent: June 11, 2013
    Assignee: Riverbed Technology, Inc.
    Inventors: William Welch, Steven McCanne
  • Patent number: 8462629
    Abstract: Methods, systems, and apparatus provide efficient and flexible networking quality of service as well as transport protocol design. A hybrid transport/network quality of service (HTNQ) scheme improves the performance of TCP over specific links or network paths that are subject to high latency, a high bandwidth-delay product, high packet loss, and/or bit errors. A callback mechanism can be used between a packet scheduler and a transport module to control the transmission rate of packets across one or more connections or links.
    Type: Grant
    Filed: June 13, 2007
    Date of Patent: June 11, 2013
    Assignee: Riverbed Technology, Inc.
    Inventors: Nitin Gupta, William Welch, Steven McCanne
  • Publication number: 20130091273
    Abstract: 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 device sends a direct connection request to first proxy device to establish a direct connection. Direct connection request includes the connection identifier, which is used by first proxy device to associate the direct connection with stored connection information. First proxy device may use the connection information to direct network traffic received via this direct connection to the correct destination and to divert network traffic from the server to the client through the direct connection and first and second proxy devices.
    Type: Application
    Filed: March 31, 2012
    Publication date: April 11, 2013
    Applicant: RIVERBED TECHNOLOGY, INC.
    Inventors: Kand Ly, Michael J. Demmer, Steven McCanne, Alfred Landrum
  • Publication number: 20130070608
    Abstract: 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 aggregate data to central modules, which combine this data to provide an end-to-end description of network traffic at coarser time scales. The network monitoring system enables users to zoom in on high-level, coarse time scale network performance data to one or more lower levels of network performance data at finer time scales.
    Type: Application
    Filed: March 8, 2012
    Publication date: March 21, 2013
    Applicant: RIVERBED TECHNOLOGY, INC.
    Inventors: Steven McCanne, Loris Degioanni
  • Publication number: 20130070622
    Abstract: 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 aggregate data to central modules, which combine this data to provide an end-to-end description of network traffic at coarser time scales. The network monitoring system enables users to zoom in on high-level, coarse time scale network performance data to one or more lower levels of network performance data at finer time scales.
    Type: Application
    Filed: March 8, 2012
    Publication date: March 21, 2013
    Applicant: Riverbed Technology, Inc.
    Inventors: Loris Degioanni, Steven McCanne, Christopher J. White, Dimitri S. Vlachos
  • Patent number: 8402085
    Abstract: 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 replacing the reference with segment data in a persistent segment store accessible to the server-side transaction accelerator. The reconstructed request is then provided to the server. Accelerations may occur in any direction of communication. Persistent segment stores can be pre-populated with segment data from other transaction accelerators and anticipated transactions.
    Type: Grant
    Filed: April 6, 2012
    Date of Patent: March 19, 2013
    Assignee: Riverbed Technology, Inc.
    Inventors: Steven McCanne, Michael J. Demmer, Arvind Jain, David Tze-Si Wu, Alfred Landrum