Patents by Inventor Rob T. JOHNSON

Rob T. JOHNSON 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: 11836134
    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: Grant
    Filed: March 20, 2018
    Date of Patent: December 5, 2023
    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: 11720568
    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: Grant
    Filed: March 20, 2018
    Date of Patent: August 8, 2023
    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: 11507553
    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: Grant
    Filed: March 20, 2018
    Date of Patent: November 22, 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: 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
  • 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: 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: 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: 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