Patents by Inventor Ganesh Venkitachalam
Ganesh Venkitachalam 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: 11507477Abstract: System and method for providing fault tolerance in virtualized computer systems use a first guest and a second guest running on virtualization software to produce outputs, which are produced when a workload is executed on the first and second guests. An output of the second guest is compared with an output of the first guest to determine if there is an output match. If there is no output match, the first guest is paused and a resynchronization of the second guest is executed to restore a checkpointed state of the first guest on the second guest. After the resynchronization of the second guest, the paused first guest is caused to resume operation.Type: GrantFiled: February 25, 2020Date of Patent: November 22, 2022Assignee: VMware, Inc.Inventors: Ganesh Venkitachalam, Rohit Jain, Boris Weissman, Daniel J. Scales, Vyacheslav Vladimirovich Malyugin, Jeffrey W. Sheldon, Min Xu
-
Patent number: 11307765Abstract: Data in a storage system is deduplicated after receiving from at least one writing entity requests for a plurality of write operations for a corresponding plurality of data blocks in a storage object. The received blocks are buffered and sorted in order and a sequence of clumps is created from the buffered blocks, where each clump comprises a grouping of at least one of the sorted, buffered blocks. A boundary is determined between at least one pair of clumps based at least in part on the content of at least one of the buffered blocks, and it is then determined whether at least one of the clumps is a duplicate of a previously stored clump.Type: GrantFiled: March 18, 2019Date of Patent: April 19, 2022Assignee: VMware, Inc.Inventors: R. Hugo Patterson, III, Sazzala Reddy, Vijayan Prabhakaran, Garrett Smith, Lakshmi Narayanan Bairavasundaram, Ganesh Venkitachalam
-
Patent number: 10877940Abstract: A data storage system includes a plurality of hosts, each of which includes at least one processor and communicates over a network with a plurality of storage nodes, at least one of which has at least one storage device, at least one storage controller, and at least one non-volatile memory. At least one process within a host issues data storage read/write requests. At least one of the hosts has a cache for caching data stored in at least one of the plurality of storage nodes. The host writes data corresponding to a write request to at least one remote non-volatile memory and carries out at least one storage processing function; data in the written-to node may then be made available for subsequent reading by a different one of the hosts. Examples of the storage processing function include compression, ECC computation, deduplicating, garbage collection, write logging, reconstruction, rebalancing, and scrubbing.Type: GrantFiled: January 7, 2019Date of Patent: December 29, 2020Assignee: VMware, Inc.Inventors: R. Hugo Patterson, III, Brian Biles, Boris Weissman, Sazzala Reddy, Ganesh Venkitachalam
-
Publication number: 20200192771Abstract: System and method for providing fault tolerance in virtualized computer systems use a first guest and a second guest running on virtualization software to produce outputs, which are produced when a workload is executed on the first and second guests. An output of the second guest is compared with an output of the first guest to determine if there is an output match. If there is no output match, the first guest is paused and a resynchronization of the second guest is executed to restore a checkpointed state of the first guest on the second guest. After the resynchronization of the second guest, the paused first guest is caused to resume operation.Type: ApplicationFiled: February 25, 2020Publication date: June 18, 2020Inventors: Ganesh Venkitachalam, Rohit Jain, Boris Weissman, Daniel J. Scales, Vyacheslav Vladimirovich Malyugin, Jeffrey W. Sheldon, Min Xu
-
Patent number: 10579485Abstract: In a computer system running at least a first virtual machine (VM) and a second VM on virtualization software, a computer implemented method for the second VM to provide quasi-lockstep fault tolerance for the first VM includes executing a workload on the first VM and the second VM that involves producing at least one externally visible output and comparing an externally visible output of the second VM with an externally visible output of the first VM to determine if there is an output match. In response to a determination that the externally visible output of the second VM does not match the externally visible output of the first VM, a resynchronization of the second VM is executed. The externally visible output of the first VM is kept from being output externally until completion of the resynchronization.Type: GrantFiled: October 3, 2016Date of Patent: March 3, 2020Assignee: VMWARE, INC.Inventors: Ganesh Venkitachalam, Rohit Jain, Boris Weissman, Daniel J. Scales, Vyacheslav Vladimirovich Malyugin, Jeffrey W. Sheldon, Min Xu
-
Patent number: 10394560Abstract: The output of a non-deterministic instruction is handled during record and replay in a virtual machine. An output of a non-deterministic instruction is stored to a buffer during record mode and retrieved from a buffer during replay mode without exiting to the hypervisor. At least part of the contents of the buffer can be stored to a log when the buffer is full during record mode, and the buffer can be replenished from a log when the buffer is empty during replay mode.Type: GrantFiled: September 2, 2016Date of Patent: August 27, 2019Assignee: VMware, Inc.Inventors: Vyacheslav V. Malyugin, Min Xu, Boris Weissman, Ganesh Venkitachalam, Alexander Klaiber
-
Publication number: 20190250818Abstract: Data in a storage system is deduplicated after receiving from at least one writing entity requests for a plurality of write operations for a corresponding plurality of data blocks in a storage object. The received blocks are buffered and sorted in order and a sequence of clumps is created from the buffered blocks, where each clump comprises a grouping of at least one of the sorted, buffered blocks. A boundary is determined between at least one pair of clumps based at least in part on the content of at least one of the buffered blocks, and it is then determined whether at least one of the clumps is a duplicate of a previously stored clump.Type: ApplicationFiled: March 18, 2019Publication date: August 15, 2019Inventors: R. Hugo Patterson, III, Sazzala Reddy, Vijayan Prabhakaran, Garrett Smith, Lakshmi Narayanan Bairavasundaram, Ganesh Venkitachalam
-
Patent number: 10359945Abstract: A data storage system has a plurality of hosts that request writes of data to a relatively high-performance storage device (RHPSD) such as NVRAM, which may be one of a plurality of RHPSDs in a plurality of storage nodes. A storage management system receives the write requests and writes received data to the RHPSD. According to an allocation policy, the storage management system indicates to at least one of the hosts that it should limit its use of RHPSD and it then discards data upon indication from that host to do so. Before being discarded from the RHPSD, the data may be written to a persistent storage device.Type: GrantFiled: September 13, 2018Date of Patent: July 23, 2019Assignee: Datrium, Inc.Inventors: Garrett Smith, Nitin Garg, Alex Mirgorodsky, R. Hugo Patterson, III, Vasudevan Sangili, Ganesh Venkitachalam
-
Publication number: 20190138504Abstract: A data storage system includes a plurality of hosts, each of which includes at least one processor and communicates over a network with a plurality of storage nodes, at least one of which has at least one storage device, at least one storage controller, and at least one non-volatile memory. At least one process within a host issues data storage read/write requests. At least one of the hosts has a cache for caching data stored in at least one of the plurality of storage nodes. The host writes data corresponding to a write request to at least one remote non-volatile memory and carries out at least one storage processing function; data in the written-to node may then be made available for subsequent reading by a different one of the hosts. Examples of the storage processing function include compression, ECC computation, deduplicating, garbage collection, write logging, reconstruction, rebalancing, and scrubbing.Type: ApplicationFiled: January 7, 2019Publication date: May 9, 2019Inventors: R. Hugo PATTERSON, III, Brian BILES, Boris WEISSMAN, Sazzala REDDY, Ganesh VENKITACHALAM
-
Patent number: 10235044Abstract: Data in a storage system is deduplicated after receiving from at least one writing entity requests for a plurality of write operations for a corresponding plurality of data blocks in a storage object. The received blocks are buffered and sorted in order and a sequence of clumps is created from the buffered blocks, where each clump comprises a grouping of at least one of the sorted, buffered blocks. A boundary is determined between at least one pair of clumps based at least in part on the content of at least one of the buffered blocks, and it is then determined whether at least one of the clumps is a duplicate of a previously stored clump.Type: GrantFiled: June 9, 2016Date of Patent: March 19, 2019Assignee: Datrium, Inc.Inventors: R. Hugo Patterson, III, Sazzala Reddy, Vijayan Prabhakaran, Garrett Smith, Lakshmi Narayanan Bairavasundaram, Ganesh Venkitachalam
-
Patent number: 10180948Abstract: A data storage system includes a plurality of hosts, each of which includes at least one processor and communicates over a network with a plurality of storage nodes, at least one of which has at least one storage device, at least one storage controller, and at least one non-volatile memory. At least one process within a host issues data storage read/write requests. At least one of the hosts has a cache for caching data stored in at least one of the storage nodes. The host writes data corresponding to a write request to at least one remote non-volatile memory and carries out at least one storage processing function; data in the written-to node may then be made available for subsequent reading by a different one of the hosts. Examples of the storage processing function include compression, ECC computation, deduplicating, garbage collection, write logging, reconstruction, rebalancing, and scrubbing.Type: GrantFiled: May 12, 2015Date of Patent: January 15, 2019Assignee: DATRIUM, INC.Inventors: R. Hugo Patterson, III, Brian Biles, Boris Weissman, Sazzala Reddy, Ganesh Venkitachalam
-
Publication number: 20190012083Abstract: A data storage system has a plurality of hosts that request writes of data to a relatively high-performance storage device (RHPSD) such as NVRAM, which may be one of a plurality of RHPSDs in a plurality of storage nodes. A storage management system receives the write requests and writes received data to the RHPSD. According to an allocation policy, the storage management system indicates to at least one of the hosts that it should limit its use of RHPSD and it then discards data upon indication from that host to do so. Before being discarded from the RHPSD, the data may be written to a persistent storage device.Type: ApplicationFiled: September 13, 2018Publication date: January 10, 2019Inventors: Garrett SMITH, Nitin GARG, Alex MIRGORODSKY, R. Hugo PATTERSON, III, Vasudevan SANGILI, Ganesh VENKITACHALAM
-
Patent number: 10140136Abstract: Embodiments of a distributed virtual array data storage system and method are disclosed. Storage nodes made up of relatively unsophisticated disks with associated processors are scalable to store very large amounts of data. The storage nodes communicate with servers directly over a network through, for example, an Ethernet connection. Control of the storage nodes and access to the storage nodes is handled entirely on the server side of the system by distributed virtual array (DVA) software running on the server side and employing a particular protocol over the standard network connection. In an embodiment, server-side virtual machine (VM) hosts host application VMs that are associated with vDisks. The DVA software distributes data for the vDisk over the storage nodes. In the case of failure of one or more of the storage nodes, the DVA software reconstructs the data, for example by reading redundant data from surviving storage nodes.Type: GrantFiled: November 7, 2013Date of Patent: November 27, 2018Assignee: Datrium, linc.Inventors: R. Hugo Patterson, Brian Biles, Boris Weissman, Ganesh Venkitachalam, Sazzala Reddy
-
Patent number: 10089013Abstract: A data storage system has a plurality of hosts that request writes of data to a relatively high-performance storage device (RHPSD) such as NVRAM, which may be one of a plurality of RHPSDs in a plurality of storage nodes. A storage management system receives the write requests and writes received data to the RHPSD. According to an allocation policy, the storage management system indicates to at least one of the hosts that it should limit its use of RHPSD and it then discards data upon indication from that host to do so. Before being discarded from the RHPSD, the data may be written to a persistent storage device.Type: GrantFiled: August 28, 2016Date of Patent: October 2, 2018Assignee: Datrium, Inc.Inventors: Garrett Smith, Nitin Garg, Alex Mirgorodsky, R. Hugo Patterson, III, Vasudevan Sangili, Ganesh Venkitachalam
-
Patent number: 9928180Abstract: The translation lookaside buffer (TLB) of a processor is kept in synchronization with a guest page table by use of an indicator referred to as a “T” bit. The T bit of the NPT/EPT entries mapping the guest page table are set when a page walk is performed on the NPT/EPT. When modifications are made to pages mapped by NPT/EPT entries with their T bit set, changes to the TLB are made so that the TLB remains in synchronization with the guest page table. Accordingly, record/replay of virtual machines of virtualized computer systems may be performed reliably with no non-determinism introduced by stale TLBs that fall out of synchronization with the guest page table.Type: GrantFiled: February 20, 2017Date of Patent: March 27, 2018Assignee: VMware, Inc.Inventors: Vyacheslav Vladimirovich Malyugin, Boris Weissman, Ganesh Venkitachalam, Min Xu
-
Publication number: 20170228320Abstract: The translation lookaside buffer (TLB) of a processor is kept in synchronization with a guest page table by use of an indicator referred to as a “T” bit. The T bit of the NPT/EPT entries mapping the guest page table are set when a page walk is performed on the NPT/EPT. When modifications are made to pages mapped by NPT/EPT entries with their T bit set, changes to the TLB are made so that the TLB remains in synchronization with the guest page table. Accordingly, record/replay of virtual machines of virtualized computer systems may be performed reliably with no non-determinism introduced by stale TLBs that fall out of synchronization with the guest page table.Type: ApplicationFiled: February 20, 2017Publication date: August 10, 2017Inventors: Vyacheslav Vladimirovich MALYUGIN, Boris WEISSMAN, Ganesh VENKITACHALAM, Min XU
-
Patent number: 9575899Abstract: The translation lookaside buffer (TLB) of a processor is kept in synchronization with a guest page table by use of an indicator referred to as a “T” bit. The T bit of the NPT/EPT entries mapping the guest page table are set when a page walk is performed on the NPT/EPT. When modifications are made to pages mapped by NPT/EPT entries with their T bit set, changes to the TLB are made so that the TLB remains in synchronization with the guest page table. Accordingly, record/replay of virtual machines of virtualized computer systems may be performed reliably with no non-determinism introduced by stale TLBs that fall out of synchronization with the guest page table.Type: GrantFiled: November 30, 2015Date of Patent: February 21, 2017Assignee: VMware, Inc.Inventors: Vyacheslav Vladimirovich Malyugin, Boris Weissman, Ganesh Venkitachalam, Min Xu
-
Publication number: 20170031994Abstract: Data in a storage system is deduplicated after receiving from at least one writing entity requests for a plurality of write operations for a corresponding plurality of data blocks in a storage object. The received blocks are buffered and sorted in order and a sequence of clumps is created from the buffered blocks, where each clump comprises a grouping of at least one of the sorted, buffered blocks. A boundary is determined between at least one pair of clumps based at least in part on the content of at least one of the buffered blocks, and it is then determined whether at least one of the clumps is a duplicate of a previously stored clump.Type: ApplicationFiled: June 9, 2016Publication date: February 2, 2017Applicant: Datrium, Inc.Inventors: R. Hugo PATTERSON, III, Sazzala REDDY, Vijayan PRABHAKARAN, Garrett SMITH, Lakshmi Narayanan BAIRAVASUNDARAM, Ganesh VENKITACHALAM
-
Publication number: 20170024291Abstract: In a computer system running at least a first virtual machine (VM) and a second VM on virtualization software, a computer implemented method for the second VM to provide quasi-lockstep fault tolerance for the first VM includes executing a workload on the first VM and the second VM that involves producing at least one externally visible output and comparing an externally visible output of the second VM with an externally visible output of the first VM to determine if there is an output match. In response to a determination that the externally visible output of the second VM does not match the externally visible output of the first VM, a resynchronization of the second VM is executed. The externally visible output of the first VM is kept from being output externally until completion of the resynchronization.Type: ApplicationFiled: October 3, 2016Publication date: January 26, 2017Applicant: VMware, Inc.Inventors: Ganesh Venkitachalam, Rohit Jain, Boris Weissman, Daniel J. Scales, Vyacheslav Vladimirovich Malyugin, Jeffrey W. Sheldon, Min Xu
-
Publication number: 20160371086Abstract: The output of a non-deterministic instruction is handled during record and replay in a virtual machine. An output of a non-deterministic instruction is stored to a buffer during record mode and retrieved from a buffer during replay mode without exiting to the hypervisor. At least part of the contents of the buffer can be stored to a log when the buffer is full during record mode, and the buffer can be replenished from a log when the buffer is empty during replay mode.Type: ApplicationFiled: September 2, 2016Publication date: December 22, 2016Inventors: Vyacheslav V. MALYUGIN, Min XU, Boris WEISSMAN, Ganesh VENKITACHALAM, Alexander KLAIBER