Patents by Inventor Michael J. Demmer
Michael J. Demmer 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: 8312101Abstract: 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 data with references to entries in its persistent segment storage that match or closely match the segments of data to be replaced. The receiving transaction store reconstructs the data sent by replacing segment references with corresponding segment data from its persistent segment storage.Type: GrantFiled: September 30, 2011Date of Patent: November 13, 2012Assignee: Riverbed Technology, Inc.Inventors: Steven McCanne, Michael J. Demmer
-
Patent number: 8271688Abstract: 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: GrantFiled: October 29, 2010Date of Patent: September 18, 2012Assignee: Riverbed Technology, Inc.Inventors: Steven McCanne, Michael J. Demmer
-
Publication number: 20120209959Abstract: 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.Type: ApplicationFiled: April 27, 2012Publication date: August 16, 2012Applicant: Riverbed Technology, Inc.Inventors: Steven McCanne, Michael J. Demmer
-
Publication number: 20120197965Abstract: 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: ApplicationFiled: April 6, 2012Publication date: August 2, 2012Applicant: Riverbed Technology, Inc.Inventors: Steven McCanne, Michael J. Demmer, Arvind Jain, David Tze-Si Wu, Alfred Landrum
-
Patent number: 8176186Abstract: 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: GrantFiled: August 14, 2008Date of Patent: May 8, 2012Assignee: Riverbed Technology, Inc.Inventors: Steven McCanne, Michael J. Demmer, Arvind Jain, David Tze-Si Wu, Alfred Landrum
-
Publication number: 20120084465Abstract: 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 data with references to entries in its persistent segment storage that match or closely match the segments of data to be replaced. The receiving transaction store reconstructs the data sent by replacing segment references with corresponding segment data from its persistent segment storage.Type: ApplicationFiled: September 30, 2011Publication date: April 5, 2012Applicant: Riverbed Technology, Inc.Inventors: Steven McCanne, Michael J. Demmer
-
Publication number: 20120030456Abstract: 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: ApplicationFiled: June 22, 2011Publication date: February 2, 2012Applicant: RIVERBED TECHNOLOGY, INC.Inventors: David Tze-Si Wu, Steven McCanne, Michael J. Demmer, Nitin Gupta
-
Patent number: 8069225Abstract: In a network that conveys requests from clients to servers and responses from servers to clients, a network transaction accelerator for accelerating transactions involving data transfer between at least one client and at least one server over a network comprising a client-side engine, a server-side engine and a transaction predictor configured to predict, based on past transactions, which transactions are likely to occur in the future between the client and server. The transaction predictor might be in the server-side engine, the client-side engine, or both.Type: GrantFiled: August 12, 2003Date of Patent: November 29, 2011Assignee: Riverbed Technology, Inc.Inventors: Steven McCanne, Michael J. Demmer, Arvind Jain, David Tze-Si Wu
-
Publication number: 20110276963Abstract: 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 virtualization system accesses a storage block cache at the branch network location that includes storage blocks prefetched based on knowledge about the virtualized servers. The virtualization system can include a virtual LAN directing network traffic between the WAN, the virtualized servers, and branch location clients. The virtualized servers, virtual LAN, and virtual disk mapping can be configured remotely via a management application.Type: ApplicationFiled: December 23, 2010Publication date: November 10, 2011Applicant: RIVERBED TECHNOLOGY, INC.Inventors: David Tze-Si Wu, Steven McCanne, Michael J. Demmer
-
Publication number: 20110267207Abstract: 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: ApplicationFiled: November 4, 2010Publication date: November 3, 2011Applicant: Riverbed Technology, Inc.Inventors: Steven McCanne, Michael J. Demmer
-
Publication number: 20110238775Abstract: 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: ApplicationFiled: June 18, 2010Publication date: September 29, 2011Applicant: RIVERBED TECHNOLOGY, INC.Inventors: David Tze-Si Wu, Steven McCanne, Michael J. Demmer
-
Patent number: 7953869Abstract: 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: GrantFiled: February 24, 2009Date of Patent: May 31, 2011Assignee: Riverbed Technology, Inc.Inventors: Michael J. Demmer, Steven McCanne, Alfred Landrum
-
Publication number: 20110047295Abstract: 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: ApplicationFiled: October 29, 2010Publication date: February 24, 2011Applicant: Riverbed Technology, Inc.Inventors: Steven McCanne, Michael J. Demmer
-
Publication number: 20100318665Abstract: Methods and apparatus are provided for intercepting a client-server communication connection in a computing environment. A first network intermediary configured to facilitate optimization of client-server transactions may be installed in a path of communications between the client and the server. A second network intermediary configured to cooperate with the first network intermediary is not in the path of communications between the client and the server. The first network intermediary intercepts a connection request from the client and forwards a modified request toward the server. A module within the server intercepts the connection request and redirects it to the second network intermediary. The client-server connection is thus split-terminated at the two network intermediaries, which establish cooperative sessions between themselves and with the client and with the server.Type: ApplicationFiled: July 26, 2010Publication date: December 16, 2010Applicant: RIVERBED TECHNOLOGY, INC.Inventors: Michael J. Demmer, Kand Ly, Nitin Gupta
-
Patent number: 7852237Abstract: 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: GrantFiled: December 8, 2008Date of Patent: December 14, 2010Assignee: Riverbed Technology, Inc.Inventors: Steven McCanne, Michael J. Demmer
-
Patent number: 7849134Abstract: 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: GrantFiled: August 14, 2008Date of Patent: December 7, 2010Assignee: Riverbed Technology, Inc.Inventors: Steven McCanne, Michael J. Demmer
-
Publication number: 20100241673Abstract: 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: ApplicationFiled: March 23, 2010Publication date: September 23, 2010Applicant: RIVERBED TECHNOLOGY, INC.Inventors: David Tze-Si Wu, Steven McCanne, Michael J. Demmer, Nitin Gupta
-
Publication number: 20100241807Abstract: 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: ApplicationFiled: March 23, 2010Publication date: September 23, 2010Applicant: RIVERBED TECHNOLOGY, INC.Inventors: David Tze-Si Wu, Steven McCanne, Michael J. Demmer, Nitin Gupta
-
Publication number: 20090157888Abstract: 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: ApplicationFiled: February 24, 2009Publication date: June 18, 2009Applicant: Riverbed Technology, Inc.Inventors: Michael J. Demmer, Steven McCanne, Alfred Landrum
-
Publication number: 20090079597Abstract: 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: ApplicationFiled: December 8, 2008Publication date: March 26, 2009Applicant: Riverbed Technology, Inc.Inventors: Steven McCanne, Michael J. Demmer