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: 10445409
    Abstract: System and method for supporting a user-level file system transaction use cloned files of original existing files specified in the user-level file system transaction to perform file system operations on at least one of the original existing files using the cloned files, which include metadata of the original existing files. After at least one of the cloned files have been modified, a batch rename operation is executed to atomically commit every modified cloned file of the user-level file system transaction.
    Type: Grant
    Filed: December 17, 2015
    Date of Patent: October 15, 2019
    Assignee: VMware, Inc.
    Inventors: Richard P. Spillane, Yunshan Lu, Wenguang Wang
  • Publication number: 20190311047
    Abstract: Embodiments described herein involve improved management of snapshots of a file system. Embodiments include copying a first root node of a first snapshot to a second snapshot, the second snapshot referencing other nodes of the first snapshot. Embodiments further include incrementing reference counts of the other nodes of the first snapshot. Embodiments further include adding a storage address of the first root node to a list. Embodiments further include, each time that a copy on write operation is performed for a node of the other nodes, adding a storage address of the node to the list and decrementing the reference count of the node. Embodiments further include iterating through the list and, for each storage address in the list, decrementing the reference count of the node corresponding to the storage address and, if the reference count of the node reaches zero, freeing storage space at the storage address.
    Type: Application
    Filed: April 6, 2018
    Publication date: October 10, 2019
    Inventors: Jorge GUERRA DELGADO, Richard P. SPILLANE, Kapil CHOWKSEY, Sandeep RANGASWAMY, Abhishek GUPTA, Srinath PREMACHANDRAN
  • Publication number: 20190294716
    Abstract: Exemplary methods, apparatuses, and systems include a file system process reading a first node in a tree data structure from a first memory. The first node includes a first approximate membership query data structure (“AMQ”), a first plurality of child pointers, a first plurality of pivot values, and a first buffer. The file system process determines that the first plurality of child pointers exceeds a maximum size. Using a pivot value in the first plurality of pivot values, the file system process splits the first node into a second node and a third node. The file system process uses the pivot value to split the first buffer into a second buffer and a third buffer. Using the pivot value and the first AMQ, the file system process generates a second AMQ and a third AMQ.
    Type: Application
    Filed: March 20, 2018
    Publication date: September 26, 2019
    Inventors: Abhishek GUPTA, Rob T. JOHNSON, Srinath PREMACHANDRAN, Richard P. SPILLANE, Sandeep RANGASWAMY, Jorge GUERRA DELGADO, Kapil CHOWKSEY, Wenguang WANG
  • Publication number: 20190294709
    Abstract: Exemplary methods, apparatuses, and systems include a file system process inserting a first key/value pair and a second key/value pair into a first tree. The second key is a duplicate of the first key and the value of the second key/value pair is an operation changing the value. In response to a request for a range of key/value pairs, the process reads the second key/value pair and inserts it in a second tree. The process reads the first pair and determines, while inserting the first pair in the second tree, that the second key is a duplicate of the first key. The file system process determines an updated value of the first value by applying the operation in the second value to first value. The file system operation updates the second key/value pair in the second tree with the updated value and returns the requested range of key/value pairs.
    Type: Application
    Filed: March 20, 2018
    Publication date: September 26, 2019
    Inventors: Abhishek GUPTA, Rob T. JOHNSON, Srinath PREMACHANDRAN, Richard P. SPILLANE, Sandeep RANGASWAMY, Jorge GUERRA DELGADO, Kapil CHOWKSEY, Wenguang WANG
  • Publication number: 20190294710
    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: Application
    Filed: March 20, 2018
    Publication date: September 26, 2019
    Inventors: Abhishek GUPTA, Rob T. JOHNSON, Srinath PREMACHANDRAN, Richard P. SPILLANE, Sandeep RANGASWAMY, Jorge GUERRA DELGADO, Kapil CHOWKSEY, Wenguang WANG
  • Publication number: 20190294715
    Abstract: Exemplary methods, apparatuses, and systems include a file system process obtaining locks on a first node and a second node in a tree structure, with the second node being a child node of the first node. The file system process determines a quantity of child nodes of the second. While holding the locks on the first and second nodes, the file system determines whether to proactively split or merge the second node. In response to determining that the quantity of child nodes is within a first range, the file system process splits the second node. If the file system process determines that the quantity of child nodes is within a second range, the file system process merges the second node.
    Type: Application
    Filed: March 20, 2018
    Publication date: September 26, 2019
    Inventors: Abhishek GUPTA, Rob T. JOHNSON, Srinath PREMACHANDRAN, Richard P. SPILLANE, Sandeep RANGASWAMY, Jorge GUERRA DELGADO, Kapil CHOWKSEY, Wenguang WANG
  • Publication number: 20190228096
    Abstract: Data storage system and method for managing transaction requests in the data storage system utilizes prepare requests for a transaction request for multiple data storage operations. The prepare requests are sent to selected destination storage nodes of the data storage system to handle the multiple data storage operations. Each prepare request includes at least one of the multiple data storage operations to be handled by a particular destination data store node and a list of the destination storage nodes involved in the transaction request.
    Type: Application
    Filed: January 23, 2018
    Publication date: July 25, 2019
    Applicant: VMware, Inc.
    Inventors: Wenguang Wang, Abhishek Gupta, Kapil Chowksey, Richard P. Spillane, Rob Johnson
  • Publication number: 20190220211
    Abstract: Techniques are disclosed for using in-memory replicated object to support file services. Certain embodiments provide a method of storing persistent file handles in a storage system comprising a plurality of computing devices. The method may include requesting to write a persistent file handle corresponding to a file to a file system stored on the plurality of computing devices. The request may be translated to a block input/output (I/O) command to an in-memory object, the in-memory object representing at least a portion of the file system, a copy of the in-memory object being stored at each of the plurality of computing devices in volatile memory. The persistent file handle may then be written to the copy of the in-memory object stored in the volatile memory of each of the plurality of computing devices.
    Type: Application
    Filed: January 12, 2018
    Publication date: July 18, 2019
    Inventors: Wenguang WANG, Eric KNAUFT, Srinath PREMACHANDRAN, Zhaohui GUO, Richard P. SPILLANE
  • Publication number: 20190188097
    Abstract: Data storage system and method for managing transaction requests to the data storage system utilizes an active write ahead log and a standby write ahead log to apply the transaction requests to a storage data structure stored in a storage system of the data storage system.
    Type: Application
    Filed: December 15, 2017
    Publication date: June 20, 2019
    Applicant: VMware, Inc.
    Inventors: Abhishek Gupta, Richard P. Spillane, Kapil Chowksey, Rob Johnson, Wenguang Wang
  • Publication number: 20190108104
    Abstract: Data storage system and method for managing transaction requests to the data storage system utilizes a write ahead log to write transaction requests received at the data storage system during a current checkpoint generation. After the transaction requests in the write ahead log are applied to a copy-on-write (COW) storage data structure stored in a storage system, one of first and second allocation bitmaps is updated to reflect changes in the COW storage data structure with respect to allocation of storage space in the storage system, and one of first and second super blocks is updated with references to central nodes of the COW storage data structure. After the allocation bitmap and the super block have been updated, an end indicator for the current checkpoint generation is written in the write ahead log to indicate that processing of the transaction requests for the current checkpoint generation has been completed.
    Type: Application
    Filed: October 6, 2017
    Publication date: April 11, 2019
    Applicant: VMware, Inc.
    Inventors: Abhishek Gupta, Richard P. Spillane, Kapil Chowksey, Rob Johnson, Wenguang Wang
  • Publication number: 20190095460
    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: Application
    Filed: September 27, 2017
    Publication date: March 28, 2019
    Inventors: Wenguang Wang, Abhishek Gupta, Richard P Spillane, Kapil Chowksey, Robert T Johnson
  • Publication number: 20190095457
    Abstract: A B?-tree associated with a file system on a storage volume includes a hierarchy of nodes. Each node includes a buffer portion that can be characterized by a fixed maximum allowable size to store key-value pairs as messages in the buffer. Messages can be initially buffered in the root node of the B?-tree, and flushed to descendent children from the root node. Messages stored in the buffers can be indexed using a B+-tree data structure. As the B+-tree data structure in a buffer grows (due to receiving flushed messages) and shrinks (due to messages being flushed), disk blocks can be allocated from the storage volume to increase the actual size of the buffer and deallocated from the buffer to reduce the actual size of the buffer.
    Type: Application
    Filed: September 27, 2017
    Publication date: March 28, 2019
    Inventors: Abhishek Gupta, Richard P Spillane, Kapil Chowksey, Wenguang Wang, Robert T Johnson
  • Publication number: 20190026301
    Abstract: A file system stores directories and files in a file system directory that uses case sensitive names. The same file system directory can support directory and file name lookups that treat the directory and file names in a case sensitive manner or in a case insensitive manner. The search criteria used for the lookup can be based on case-folding the name to produce a case-neutral name and on the original name with its case preserved. Search criteria can be generated for a case sensitive name lookup or for a case insensitive name lookup on the same file system directory, thus avoiding having to support separate file systems or separate file system directories for case sensitive and case insensitive file access.
    Type: Application
    Filed: July 20, 2017
    Publication date: January 24, 2019
    Inventors: Wenguang Wang, Richard P. Spillane
  • Publication number: 20190004735
    Abstract: System and method for managing multiple data storages using a file system of a computer system utilize a primary data storage to cache objects of logical object containers stored in a secondary data storage in caching-tier volumes. When an access request for an object stored in the secondary data storage is received at the file system and the object is not currently cached in the primary data storage, a caching-tier volume in the primary data storage is created that corresponds to a logical object container in the secondary data storage that includes the requested object. The caching-tier volume is used to cache the object as an inflated file so that the inflated file is available at the primary data storage in the caching-tier volume for a subsequent access request for the object stored in the secondary data storage.
    Type: Application
    Filed: August 1, 2017
    Publication date: January 3, 2019
    Applicant: VMware, Inc.
    Inventors: Richard P. Spillane, Wenguang Wang, Abhishek Gupta, Maxime Austruy, Christos Karamanolis
  • Publication number: 20180373727
    Abstract: System and method for managing leaf nodes of a B-tree for a file system of a computer system utilize used slots in a directory section of a leaf node to index variable size key-value pair entries stored in a data section of the leaf node and free spaces slots in the directory section to index contiguous free spaces in the data section. Contents of the free space slots in the directory section are updated in response to changes in the contiguous free spaces in the data section to manage free space in the data section of the leaf node.
    Type: Application
    Filed: June 26, 2017
    Publication date: December 27, 2018
    Applicant: VMware, Inc.
    Inventors: Li Ding, Richard P. Spillane, Wenguang Wang
  • Patent number: 9959279
    Abstract: A method for maintaining an index in multi-tier data structure includes providing a plurality of a storage devices forming the multi-tier data structure, caching an index of key-value pairs across the multi-tier data structure, wherein each of the key-value pairs includes a key, and one of a data value and a data pointer, the key-value pairs stored in the multi-tier data structure, providing a journal for interfacing with the multi-tier data structure, providing a plurality of zone allocators recording which zones of the multi-tier data structure are in used, and providing a plurality of zone managers for controlling access to cache lines of the multi-tier data structure through the journal and zone allocators, wherein each zone manager maintains a header object pointing to data to be stored in an allocated zone.
    Type: Grant
    Filed: April 20, 2016
    Date of Patent: May 1, 2018
    Assignee: THE RESEARCH FOUNDATION FOR THE STATE UNIVERSITY OF NEW YORK
    Inventors: Shrikar Archak, Sagar Dixit, Richard P. Spillane, Erez Zadok
  • Publication number: 20170177574
    Abstract: System and method for supporting a user-level file system transaction use cloned files of original existing files specified in the user-level file system transaction to perform file system operations on at least one of the original existing files using the cloned files, which include metadata of the original existing files. After at least one of the cloned files have been modified, a batch rename operation is executed to atomically commit every modified cloned file of the user-level file system transaction.
    Type: Application
    Filed: December 17, 2015
    Publication date: June 22, 2017
    Applicant: VMware, Inc.
    Inventors: Richard P. Spillane, Yunshan Lu, Wenguang Wang
  • Publication number: 20160230237
    Abstract: A method for identification of circulating tumor cells (CTCs) in a blood sample uses magnetic enrichment and a nanowell assay. The CTCs are magnetically labeled with cancer cell markers conjugated to magnetic nanoparticles and then separated by passing the blood sample through a magnetic sifter. The enriched CTCs are then loaded into a microfluidic single-cell molecular assay comprising an array of 25,600 or more nanowells, each containing at most a single one of the CTCs. Using multiple fluorescent gene markers, simultaneous multiple-color multiplexed gene expression of the CTCs is performed, preferably using RT-PCR. Images of fluorescence signals from individual nanowells are analyzed to identify CTCs.
    Type: Application
    Filed: April 20, 2016
    Publication date: August 11, 2016
    Inventors: Seung Min Park, Sugar Dixit, Richard P. Spillane, Erez Zadok
  • Publication number: 20160232169
    Abstract: A method for maintaining an index in multi-tier data structure includes providing a plurality of a storage devices forming the multi-tier data structure, caching an index of key-value pairs across the multi-tier data structure, wherein each of the key-value pairs includes a key, and one of a data value and a data pointer, the key-value pairs stored in the multi-tier data structure, providing a journal for interfacing with the multi-tier data structure, providing a plurality of zone allocators recording which zones of the multi-tier data structure are in used, and providing a plurality of zone managers for controlling access to cache lines of the multi-tier data structure through the journal and zone allocators, wherein each zone manager maintains a header object pointing to data to be stored in an allocated zone.
    Type: Application
    Filed: April 20, 2016
    Publication date: August 11, 2016
    Inventors: SHRIKAR ARCHAK, SAGAR DIXIT, RICHARD P. SPILLANE, EREZ ZADOK
  • Patent number: 9355109
    Abstract: A method for maintaining an index in multi-tier data structure includes providing a plurality of a storage devices forming the multi-tier data structure, caching an index of key-value pairs across the multi-tier data structure, wherein each of the key-value pairs includes a key, and one of a data value and a data pointer, the key-value pairs stored in the multi-tier data structure, providing a journal for interfacing with the multi-tier data structure, providing a plurality of zone allocators recording which zones of the multi-tier data structure are in used, and providing a plurality of zone managers for controlling access to cache lines of the multi-tier data structure through the journal and zone allocators, wherein each zone manager maintains a header object pointing to data to be stored in an allocated zone.
    Type: Grant
    Filed: June 13, 2011
    Date of Patent: May 31, 2016
    Assignee: The Research Foundation For the State University of New York
    Inventors: Shrikar Archak, Sagar Dixit, Richard P. Spillane, Erez Zadok