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).

  • Publication number: 20110116370
    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: Application
    Filed: October 12, 2010
    Publication date: May 19, 2011
    Applicant: Riverbed Technology, Inc.
    Inventors: Lap Nathan Trac, Steven McCanne
  • Publication number: 20110047295
    Abstract: 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 the client. 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.
    Type: Application
    Filed: October 29, 2010
    Publication date: February 24, 2011
    Applicant: Riverbed Technology, Inc.
    Inventors: Steven McCanne, Michael J. Demmer
  • Patent number: 7852237
    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: December 8, 2008
    Date of Patent: December 14, 2010
    Assignee: Riverbed Technology, Inc.
    Inventors: Steven McCanne, Michael J. Demmer
  • Patent number: 7849134
    Abstract: 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 the client. 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.
    Type: Grant
    Filed: August 14, 2008
    Date of Patent: December 7, 2010
    Assignee: Riverbed Technology, Inc.
    Inventors: Steven McCanne, Michael J. Demmer
  • Patent number: 7839781
    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: September 12, 2008
    Date of Patent: November 23, 2010
    Assignee: Riverbed Technology, Inc.
    Inventors: Lap Nathan Trac, Steven McCanne
  • Publication number: 20100241673
    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; however, virtual storage arrays actually store data at the data center. The virtual storage arrays overcomes bandwidth and latency limitations of the wide area network by predicting and prefetching storage blocks, which are then cached at the branch location. Virtual storage arrays leverage an understanding of the semantics and structure of high-level data structures associated with storage blocks to predict which storage blocks are likely to be requested by a storage client in the near future. Virtual storage arrays determine the association between requested storage blocks and corresponding high-level data structure entities to predict additional high-level data structure entities that are likely to be accessed. From this, the virtual storage array identifies the additional storage blocks for prefetching.
    Type: Application
    Filed: March 23, 2010
    Publication date: September 23, 2010
    Applicant: RIVERBED TECHNOLOGY, INC.
    Inventors: David Tze-Si Wu, Steven McCanne, Michael J. Demmer, Nitin Gupta
  • Publication number: 20100241807
    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; however, virtual storage arrays actually store data at the data center. The virtual storage arrays overcomes bandwidth and latency limitations of the wide area network by predicting and prefetching storage blocks, which are then cached at the branch location. Virtual storage arrays leverage an understanding of the semantics and structure of high-level data structures associated with storage blocks to predict which storage blocks are likely to be requested by a storage client in the near future. Virtual storage arrays determine the association between requested storage blocks and corresponding high-level data structure entities to predict additional high-level data structure entities that are likely to be accessed. From this, the virtual storage array identifies the additional storage blocks for prefetching.
    Type: Application
    Filed: March 23, 2010
    Publication date: September 23, 2010
    Applicant: RIVERBED TECHNOLOGY, INC.
    Inventors: David Tze-Si Wu, Steven McCanne, Michael J. Demmer, Nitin Gupta
  • Patent number: 7733910
    Abstract: Shift-varying segmentation uses a shift-varying predicate function to evaluate input data within a sliding window to determine if the current sliding window position should be a segment boundary. The shift-varying predicate function is a function of both the input data within the sliding window and the position of the sliding window relative to a previous segment boundary or the beginning of the input data. The shift-varying predicate function includes a containment property and may compute a hash value from the input data in the sliding window. The hash value is compared to a threshold value that is a function of the sliding window position. As the sliding window position advances away from a previous segment boundary, the probability of a segment boundary at the window position increases. Shift-varying segmentation can be used in compression, transaction acceleration, and data storage applications.
    Type: Grant
    Filed: December 29, 2006
    Date of Patent: June 8, 2010
    Assignee: Riverbed Technology, Inc.
    Inventors: James E. Mace, David B. Anderson, Steven McCanne
  • Publication number: 20100088370
    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: Application
    Filed: December 7, 2009
    Publication date: April 8, 2010
    Applicant: Riverbed Technology, Inc.
    Inventors: David Tze-Si Wu, Steven McCanne
  • Patent number: 7668966
    Abstract: The present invention provides for a system and method for data network control. Using a flow control system, embodiments of the present invention can analyze traffic flow volume and performance, incorporate usage, billing, and cost control data to yield an improved data network controller. Efficiency in data routing is improved while costs are decreased by enabling the selection of the optimal performance data route. Cost constraints and costs are minimized for an overall data load. Given a diverse set of cost structures for available transit providers, the overall system cost can be minimized by distributing traffic in a manner that takes advantage of the diverse billing structures and yet maintains acceptable performance levels. Systems and methods in accordance with embodiments of the present invention determine projected flow performance and projected flow volume in relation to the available bandwidth and marginal cost to a destination provider.
    Type: Grant
    Filed: November 1, 2002
    Date of Patent: February 23, 2010
    Assignee: Internap Network Services Corporation
    Inventors: Eric Klinker, Jeremy Johnson, Steven McCanne, Daniel S. McKernan, Gordon Chaffee, Charles J. Fraleigh
  • Patent number: 7650416
    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: August 12, 2003
    Date of Patent: January 19, 2010
    Assignee: Riverbed Technology
    Inventors: David Tze-Si Wu, Steven McCanne
  • Publication number: 20090207840
    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: April 17, 2009
    Publication date: August 20, 2009
    Inventor: Steven McCanne
  • Publication number: 20090157888
    Abstract: In a network supporting transactions between clients and servers and proxies that are interposable in a network path between at least one client and at least one server, wherein a pair of proxies can modify a packet stream between a client and a server such that packet data from the client to the server is transformed at a client-side proxy of the proxy pair and untransformed at a server-side proxy of proxy pair and such that packet data from the server to the client is transformed at the server-side proxy and untransformed at the client-side proxy, a method and apparatus for a discovering proxy to transparently discover its position in a proxy pair by using proxy signals to indicate to other proxies that could pair with the discovering proxy. A discovering proxy might determine that it is a client-side proxy by receipt of a packet from client without a proxy signal. A discovering proxy might determine that it is a server-side proxy by receipt of a packet from server without a return proxy signal.
    Type: Application
    Filed: February 24, 2009
    Publication date: June 18, 2009
    Applicant: Riverbed Technology, Inc.
    Inventors: Michael J. Demmer, Steven McCanne, Alfred Landrum
  • Publication number: 20090079597
    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: Application
    Filed: December 8, 2008
    Publication date: March 26, 2009
    Applicant: Riverbed Technology, Inc.
    Inventors: Steven McCanne, Michael J. Demmer
  • Patent number: 7480240
    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: May 31, 2007
    Date of Patent: January 20, 2009
    Assignee: Riverbed Technology, Inc.
    Inventors: Lap Nathan Trac, Steven McCanne
  • Patent number: 7477166
    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: August 22, 2006
    Date of Patent: January 13, 2009
    Assignee: Riverbed Technology, Inc.
    Inventors: Steven McCanne, Michael J. Demmer
  • Publication number: 20090010166
    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: Application
    Filed: September 12, 2008
    Publication date: January 8, 2009
    Applicant: Riverbed Technology, Inc.
    Inventors: Lap Nathan Trac, Steven McCanne
  • Publication number: 20080320154
    Abstract: In a network supporting transactions between clients and servers and proxies that are interposable in a network path between at least one client and at least one server, wherein a pair of proxies can modify a packet stream between a client and a server such that packet data from the client to the server is transformed at a client-side proxy of the proxy pair and untransformed at a server-side proxy of proxy pair and such that packet data from the server to the client is transformed at the server-side proxy and untransformed at the client-side proxy, a method and apparatus for a discovering proxy to transparently discover its position in a proxy pair by using proxy signals to indicate to other proxies that could pair with the discovering proxy. A discovering proxy might determine that it is a client-side proxy by receipt of a packet from client without a proxy signal. A discovering proxy might determine that it is a server-side proxy by receipt of a packet from server without a return proxy signal.
    Type: Application
    Filed: June 6, 2008
    Publication date: December 25, 2008
    Applicant: Riverbed Technology, Inc.
    Inventors: Michael J. Demmer, Steven McCanne, Alfred Landrum
  • Publication number: 20080320151
    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: August 14, 2008
    Publication date: December 25, 2008
    Applicant: RIVERBED TECHNOLOGY, INC.
    Inventors: Steven McCanne, Michael J. Demmer, Arvind Jain, David Tze-Si Wu, Alfred Landrum
  • Publication number: 20080320106
    Abstract: 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 the client. 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.
    Type: Application
    Filed: August 14, 2008
    Publication date: December 25, 2008
    Applicant: RIVERBED TECHNOLOGY, INC.
    Inventors: Steven McCANNE, Michael J. Demmer