Patents by Inventor Richard P. Spillane

Richard P. Spillane 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: 11436353
    Abstract: Embodiments of the present disclosure relate to techniques for performing a merge update for a database. In particular, certain embodiments of a method include generating a message comprising a first key and a first transaction associated with the first key, the first transaction indicating a transaction to perform other than for key-value pairs comprising the first key. The method further includes storing the message in a database. The method further includes merging the message with a first key-value pair stored in the database, the first-key value pair comprising the first key. The method further includes performing the first transaction based on merging the message with the first key-value pair.
    Type: Grant
    Filed: September 13, 2017
    Date of Patent: September 6, 2022
    Assignee: VMWARE, INC.
    Inventors: Abhishek Gupta, Richard P. Spillane, Kapil Chowksey, Rob Johnson, Wenguang Wang
  • Patent number: 11403261
    Abstract: The disclosure provides for isolation of concurrent read and write transactions on the same file, thereby enabling higher file system throughput relative to serial-only transactions. Race conditions and lock contentions in multi-writer scenarios are avoided in file stat (metadata) updates by the use of an aggregator to merge updates of committed transactions to maintain file stat truth, and an upgrade lock that enforces atomicity of file stat access, even while still permitting multiple processes to concurrently read from and/or write to the file data. The disclosure is applicable to generic file systems, whether native or virtualized, and may be used, for example, to speed access to database files that require prolonged input/output (I/O) transaction time periods.
    Type: Grant
    Filed: December 7, 2018
    Date of Patent: August 2, 2022
    Assignee: VMware, Inc.
    Inventors: Wenguang Wang, Richard P. Spillane, Junlong Gao, Fengshuang Li
  • Patent number: 11372813
    Abstract: The present disclosure provides techniques for deduplicating files. The techniques include creating a data structure that organizes metadata about chunks of files, the organization of the metadata preserving order and locality of the chunks within files. The organization of the metadata within storage blocks of storage devices matches the order of chunks within files. Upon a read or write operation to a metadata, the preservation of locality of metadata results in the likely fetching, from storage into a memory cache, metadata of subsequent and contiguous chunks. The preserved locality results in faster subsequent read and write operations of metadata, because the read and write operations are likely to be executed from memory rather than from storage.
    Type: Grant
    Filed: August 27, 2019
    Date of Patent: June 28, 2022
    Assignee: VMware, Inc.
    Inventors: Wenguang Wang, Junlong Gao, Marcos K. Aguilera, Richard P. Spillane, Christos Karamanolis, Maxime Austruy
  • Publication number: 20220188267
    Abstract: Techniques for efficiently managing a file clone from a filesystem which supports efficient volume snapshots are provided. In some embodiments, a system may receive an instruction to remove the file clone from the filesystem. The file clone may be a point-in-time copy of metadata of an original file. The system may further—for a file map entry in a filesystem tree associated with the file clone, the file map entry indicating a data block—decrement a reference count in a reference count entry associated with the file map entry. The reference count entry may be stored in the filesystem tree according to a key and the key may comprise an identification of the original file. The system may further reclaim the data block in a storage system when the reference count is zero.
    Type: Application
    Filed: December 11, 2020
    Publication date: June 16, 2022
    Inventors: Sriram Patil, Abhay Kumar Jain, Wenguang Wang, Nitin Rastogi, Pranay Singh, Richard P. Spillane
  • Patent number: 11354288
    Abstract: Exemplary methods, apparatuses, and systems include a file system process determining to a flush a node in a first tree. The first node includes a buffer structured as a second tree. The file system process generates an input/output instruction to load the buffer from a first memory to a second memory. The second tree is stored in two more non-contiguous locations in the first memory and the input/output operation includes a read operation corresponding to each of the two or more non-contiguous locations. The file system process causes the input/output instruction to be executed concurrently on the first memory.
    Type: Grant
    Filed: March 20, 2018
    Date of Patent: June 7, 2022
    Assignee: VMware, Inc.
    Inventors: Abhishek Gupta, Rob T. Johnson, Srinath Premachandran, Richard P. Spillane, Sandeep Rangaswamy, Jorge Guerra Delgado, Kapil Chowksey, Wenguang Wang
  • Patent number: 11334498
    Abstract: A system and method for transferring data between a user space buffer in the address space of a user space process running on a virtual machine and a storage system are described. The user space buffer is represented as a file with a file descriptor. In the method, a file system proxy receives a request for I/O read or write from the user space process without copying data to be transferred. The file system proxy then sends the request to a file system server without copying data to be transferred. The file system server then requests that the storage system perform the requested I/O directly between the storage system and the user space buffer, the only transfer of data being between the storage system and the user space buffer.
    Type: Grant
    Filed: August 27, 2019
    Date of Patent: May 17, 2022
    Assignee: VMware, Inc.
    Inventors: Kamal Jeet Charan, Adrian Drzewiecki, Mounesh Badiger, Pushpesh Sharma, Wenguang Wang, Maxime Austruy, Richard P Spillane
  • Patent number: 11321197
    Abstract: System and method for automatic remediation for a distributed file system uses a file system (FS) remediation module running in a cluster management server and FS remediation agents running in a cluster of host computers. The FS remediation module monitors the cluster of host computers for related events. When a first file system service (FSS)-impacting event is detected, a cluster-level remediation action is executed at the cluster management server by the FS remediation module in response to the detected first FSS-impacting event. When a second FSS-impacting event is detected, a host-level remediation action is executed at one or more of the host computers in the cluster by the FS remediation agents in response to the detected second FSS-impacting event.
    Type: Grant
    Filed: April 27, 2020
    Date of Patent: May 3, 2022
    Assignee: VMWARE, INC.
    Inventors: Yang Yang, Ye Zhang, Xiang Yu, Wenguang Wang, Richard P. Spillane, Sriram Patil
  • Patent number: 11263252
    Abstract: Embodiments described herein are related to cloning a volume in a file system. In some embodiments, for each index node representing a file or directory in the volume, the index node is updated to include a back pointer to each file or directory which points to the index node in the volume. In some embodiments, a copy-on-write operation is performed in order to generate a clone of the volume's root node. In certain embodiments, upon determining that a file or directory of the clone has been modified, a new index node is generated representing the file or directory by copying an index node representing a corresponding file or directory of the volume. In some embodiments, each file or directory which should point to the new index node in the clone is identified based on one or more back pointers and updated to point to the new index node.
    Type: Grant
    Filed: June 20, 2017
    Date of Patent: March 1, 2022
    Assignee: VMware, Inc.
    Inventors: Wenguang Wang, Richard P. Spillane
  • Publication number: 20220027264
    Abstract: An example method of memory management in a computing system having a plurality of processors includes: receiving a first memory allocation request at a memory manager from a process executing on a processor of the plurality of processors in the computing system; allocating a local memory pool for the processor from a global memory pool for the plurality of processors in response to the first memory allocation request; and allocating memory from the local memory pool for the processor in response to the first memory allocation request without locking the local memory pool.
    Type: Application
    Filed: September 9, 2020
    Publication date: January 27, 2022
    Inventors: ABHAY KUMAR JAIN, Richard P. Spillane, Wenguang Wang, Nitin Rastogi, Mounesh Badiger
  • Patent number: 11176099
    Abstract: The disclosure herein describes synchronizing a data cache and an LSM tree file system on an object storage platform. Instructions to send a cached data set from the data cache to the LSM tree file system are received. An updated metadata catalog is generated. If the LSM tree structure is out of shape, compaction is performed on the LSM tree file system which may be on a different system or server. When an unmerged compacted metadata catalog is identified, a merged metadata catalog is generated, based on the compacted metadata catalog and the cached data set, and associated with the cached data set. The cached data set and the associated metadata catalog are sent to the LSM tree file system, whereby the data cache and the LSM tree file system are synchronized. Synchronization is enabled without the data cache or file system being locked and/or waiting for the other entity.
    Type: Grant
    Filed: December 21, 2018
    Date of Patent: November 16, 2021
    Assignee: VMware, Inc.
    Inventors: Wenguang Wang, Junlong Gao, Richard P. Spillane, Robert T. Johnson, Christos Karamanolis, Maxime Austruy
  • Patent number: 11163461
    Abstract: System and method for writing updated versions of a configuration data file for a distributed file system in a storage system uses a directory renaming operation to write a new updated version of the configuration data file using the latest version of the configuration data file and a target directory. After the latest version of the configuration data file is modified by a particular host computer in the storage system, the modified configuration data file is written to a temporary file. The directory naming operation is then initiated on the temporary file to change the directory for the temporary file to the target directory. If the directory renaming operation has failed, a retry is performed by the particular host computer to write the new updated version of the configuration data file using a new latest version and a new target directory.
    Type: Grant
    Filed: April 20, 2020
    Date of Patent: November 2, 2021
    Assignee: VMware, Inc.
    Inventors: Ye Zhang, Wenguang Wang, Sriram Patil, Richard P. Spillane, Junlong Gao, Wangping He, Zhaohui Guo, Yang Yang
  • Publication number: 20210334178
    Abstract: System and method for automatic remediation for a distributed file system uses a file system (FS) remediation module running in a cluster management server and FS remediation agents running in a cluster of host computers. The FS remediation module monitors the cluster of host computers for related events. When a first file system service (FSS)-impacting event is detected, a cluster-level remediation action is executed at the cluster management server by the FS remediation module in response to the detected first FSS-impacting event. When a second FSS-impacting event is detected, a host-level remediation action is executed at one or more of the host computers in the cluster by the FS remediation agents in response to the detected second FSS-impacting event.
    Type: Application
    Filed: April 27, 2020
    Publication date: October 28, 2021
    Inventors: Yang YANG, Ye ZHANG, Xiang YU, Wenguang WANG, Richard P. SPILLANE, Sriram PATIL
  • Publication number: 20210326049
    Abstract: System and method for writing updated versions of a configuration data file for a distributed file system in a storage system uses a directory renaming operation to write a new updated version of the configuration data file using the latest version of the configuration data file and a target directory. After the latest version of the configuration data file is modified by a particular host computer in the storage system, the modified configuration data file is written to a temporary file. The directory naming operation is then initiated on the temporary file to change the directory for the temporary file to the target directory. If the directory renaming operation has failed, a retry is performed by the particular host computer to write the new updated version of the configuration data file using a new latest version and a new target directory.
    Type: Application
    Filed: April 20, 2020
    Publication date: October 21, 2021
    Inventors: Ye ZHANG, Wenguang WANG, Sriram PATIL, Richard P. SPILLANE, Junlong GAO, Wangping HE, Zhaohui GUO, Yang YANG
  • Patent number: 11093471
    Abstract: Embodiments herein are directed towards systems and methods for performing range lookups in B?-trees. One example method involves receiving a request to return key-value pairs within a range of keys from the B?-tree. The B?-tree includes a plurality of nodes, each node being associated with a buffer that stores key-value pairs. The method further involves determining a fractional size of the range of keys. The method further involves, for each level of the B?-tree, obtaining from within one or more buffers of one or more nodes of the level, a set of key-value pairs within the range of keys up to a size equal to the fractional size and transferring the set of key-value pairs to a result data structure. The method further involves sorting and merging all key-value pairs in the result data structure and returning the result data structure in response to the request.
    Type: Grant
    Filed: June 5, 2018
    Date of Patent: August 17, 2021
    Assignee: VMware, Inc.
    Inventors: Abhishek Gupta, Richard P. Spillane, Robert T. Johnson, Wenguang Wang, Kapil Chowksey, Jorge Guerra Delgado, Sandeep Rangaswamy, Srinath Premachandran
  • Patent number: 11093450
    Abstract: A B?-tree associated with a file system on a storage volume includes a hierarchy of nodes. Each node includes a buffer portion to store key-value pairs as messages in the buffer. Each node can be characterized by having a maximum allowable size that is periodically updated at run time. The buffers in the nodes of the B?-tree are therefore characterized by having a maximum allowed size that can vary over time.
    Type: Grant
    Filed: September 27, 2017
    Date of Patent: August 17, 2021
    Assignee: VMware, Inc.
    Inventors: Wenguang Wang, Abhishek Gupta, Richard P Spillane, Kapil Chowksey, Robert T Johnson
  • Patent number: 11093472
    Abstract: The disclosure herein describes providing and accessing data on an object storage platform using a log-structured merge (LSM) tree file system. The LSM tree file system on the object storage platform includes sorted data tables, each sorted data table including a payload portion and an index portion. Data is written to the LSM tree file system in at least one new sorted data table. Data is ready by identifying a data location of the data based on index portions of the sorted data tables and reading the data from a sorted data table associated with the identified data location. The use of the LSM tree file system on the object storage platform provides an efficient means for interacting with the data stored thereon.
    Type: Grant
    Filed: December 7, 2018
    Date of Patent: August 17, 2021
    Assignee: VMware, Inc.
    Inventors: Richard P. Spillane, Wenguang Wang, Junlong Gao, Robert T. Johnson, Christos Karamanolis, Maxime Austruy
  • Patent number: 11086779
    Abstract: Disclosed are a method and system for managing multi-threaded concurrent access to a cache data structure. The cache data structure includes a hash table and three queues. The hash table includes a list of elements for each hash bucket with each hash bucket containing a mutex object and elements in each of the queues containing lock objects. Multiple threads can each lock a different hash bucket to have access to the list, and multiple threads can each lock a different element in the queues. The locks permit highly concurrent access to the cache data structure without conflict. Also, atomic operations are used to obtain pointers to elements in the queues so that a thread can safely advance each pointer. Race conditions that are encountered with locking an element in the queues or entering an element into the hash table are detected, and the operation encountering the race condition is retried.
    Type: Grant
    Filed: November 11, 2019
    Date of Patent: August 10, 2021
    Assignee: VMware, Inc.
    Inventors: Wenguang Wang, Mounesh Badiger, Abhay Kumar Jain, Junlong Gao, Zhaohui Guo, Richard P. Spillane
  • Patent number: 11080189
    Abstract: The present disclosure provides techniques for managing a cache of a computer system using a cache management data structure. The cache management data structure includes a cold queue, a ghost queue, and a hot queue. The techniques herein improve the functioning of the computer because management of the cache management data structure can be performed in parallel with multiple cores or multiple processors, because a sequential scan will only pollute (i.e., add unimportant memory pages) cold queue, and to an extent, ghost queue, but not hot queue, and also because the cache management data structure has lower memory requirements and lower CPU overhead on cache hit than some prior art algorithms.
    Type: Grant
    Filed: January 24, 2019
    Date of Patent: August 3, 2021
    Assignee: VMware, Inc.
    Inventors: Wenguang Wang, Christoph Klee, Adrian Drzewiecki, Christos Karamanolis, Richard P. Spillane, Maxime Austruy
  • Patent number: 11074225
    Abstract: The disclosure herein describes synchronizing cached index copies at a first site with indexes of a log-structured merge (LSM) tree file system on an object storage platform at a second site. An indication that the LSM tree file system has been compacted based on a compaction process is received. A cached metadata catalog of the included parent catalog version at the first site is accessed. A set of cached index copies is identified at the first site based on the metadata of the cached metadata catalog. The compaction process is applied to the identified set of cached index copies and a compacted set of cached index copies is generated at the first site, whereby the compacted set of cached index copies is synchronized with a respective set of indexes of the plurality of sorted data tables of the LSM tree file system at the second site.
    Type: Grant
    Filed: December 21, 2018
    Date of Patent: July 27, 2021
    Assignee: VMware, Inc.
    Inventors: Wenguang Wang, Richard P. Spillane, Junlong Gao, Robert T. Johnson, Christos Karamanolis, Maxime Austruy
  • Patent number: 11061881
    Abstract: A buffer tree structure includes, at each internal node, a buffer having a compacted portion and an uncompacted portion. Insertion of data elements to the buffer tree can occur units called packets. A packet is initially stored in the uncompacted portion of a receiving node's buffer. When a compaction trigger condition exists, packet compaction is performed including a data element compaction operation. A buffer-emptying (flush) operation pushes the compacted packets to children nodes.
    Type: Grant
    Filed: November 8, 2018
    Date of Patent: July 13, 2021
    Assignee: VMWARE, INC.
    Inventors: Robert T Johnson, Abhishek Gupta, Jorge Guerra Delgado, Ittai Abraham, Richard P Spillane, Srinath Premachandran, Sandeep Rangaswamy, Kapil Chowksey