-
公开(公告)号:US20190026303A1
公开(公告)日:2019-01-24
申请号:US15652572
申请日:2017-07-18
Applicant: VMware, Inc.
Inventor: Jorge GUERRA DELGADO , Eric KNAUFT , Gopala SURYANARAYANA , Sandeep RANGASWAMY , Srinath PREMACHANDRAN
Abstract: Exemplary methods, apparatuses, and systems include a destination node receiving, from a source node, a hash of data stored by the source node and designated for transfer from the source node to the destination node. In response to determining the hash received from the source node maps to data stored by the destination node, the destination node reads the data into a write buffer and transmits an indication to the source node that the data is present at the source node. The destination node reads the data from write buffer and, in response to determining the data read from the write buffer remains unchanged as stored by the destination node, increases a reference count for the data as stored by the destination node.
-
公开(公告)号:US20190294715A1
公开(公告)日:2019-09-26
申请号:US15927030
申请日:2018-03-20
Applicant: VMware, Inc.
Inventor: Abhishek GUPTA , Rob T. JOHNSON , Srinath PREMACHANDRAN , Richard P. SPILLANE , Sandeep RANGASWAMY , Jorge GUERRA DELGADO , Kapil CHOWKSEY , Wenguang WANG
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.
-
公开(公告)号:US20210026825A1
公开(公告)日:2021-01-28
申请号:US16931219
申请日:2020-07-16
Applicant: VMware, Inc.
Inventor: Abhishek GUPTA , Richard P. SPILLANE , Robert T. JOHNSON , Srinath PREMACHANDRAN , Jorge GUERRA DELGADO , Kapil CHOWKSEY , Sandeep RANGASWAMY
Abstract: Embodiments described herein are related to a method of scanning a B-tree. For example, a method comprises receiving a scan request to scan a B-tree having a plurality of levels, each level comprising one or more nodes, wherein for each of one or more levels of the plurality of levels, nodes are grouped into groups, where nodes of any given group are stored across sequential disk blocks. The method further comprises generating a queue for each level of the B-tree. For each queue, the method further comprises loading into memory a next group of nodes based upon determining a storage location of a node of the next group of nodes.
-
4.
公开(公告)号:US20190294716A1
公开(公告)日:2019-09-26
申请号:US15927016
申请日:2018-03-20
Applicant: VMware, Inc.
Inventor: Abhishek GUPTA , Rob T. JOHNSON , Srinath PREMACHANDRAN , Richard P. SPILLANE , Sandeep RANGASWAMY , Jorge GUERRA DELGADO , Kapil CHOWKSEY , Wenguang WANG
IPC: G06F17/30
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.
-
公开(公告)号:US20200233801A1
公开(公告)日:2020-07-23
申请号:US16252488
申请日:2019-01-18
Applicant: VMware, Inc.
Inventor: Abhishek GUPTA , Robert T. JOHNSON , Richard P. SPILLANE , Sandeep RANGASWAMY , Jorge GUERRA DELGADO , Kapil CHOWKSEY , Srinath PREMACHANDRAN
IPC: G06F12/0804 , G06F16/22 , G06F16/2455 , G06F7/16
Abstract: Certain aspects provide systems and methods for performing an operation on a Bε-tree. A method comprises writing a message associated with the operation to a first slot in a first buffer of a first non-leaf node of the Bε-tree in an append-only manner, wherein a first filter associated with the first slot is used for query operations associated with the first slot. The method further comprises determining that the first buffer is full and, upon determining to flush the message to a non-leaf child node, flushing the message in an append-only manner to a second slot in a second buffer of the non-leaf child node, wherein a second filter associated with the second slot is used for query operations associated with the second slot. The method further comprises, upon determining to flush the message to a leaf node, flushing the message to the leaf node in a sorted manner.
-
公开(公告)号:US20190294709A1
公开(公告)日:2019-09-26
申请号:US15927019
申请日:2018-03-20
Applicant: VMware, Inc.
Inventor: Abhishek GUPTA , Rob T. JOHNSON , Srinath PREMACHANDRAN , Richard P. SPILLANE , Sandeep RANGASWAMY , Jorge GUERRA DELGADO , Kapil CHOWKSEY , Wenguang WANG
IPC: G06F17/30
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.
-
公开(公告)号:US20200293506A1
公开(公告)日:2020-09-17
申请号:US16353535
申请日:2019-03-14
Applicant: VMware, Inc.
Inventor: Abhishek GUPTA , Robert T. JOHNSON , Richard P. SPILLANE , Sandeep RANGASWAMY , Jorge GUERRA DELGADO , Srinath PREMACHANDRAN , Kapil CHOWKSEY
IPC: G06F16/22 , G06F16/2455 , G06F7/08
Abstract: Embodiments described herein are related to bulk loading data into a B-tree. Embodiments include generating a first leaf node of a B-tree by allocating a first page for the first leaf node from a leaf page queue comprising a first plurality of sequential pages; and writing one or more tuples to the first page allocated for the first leaf node. Embodiments further include generating an parent node for the first leaf node and a second leaf node of the B-tree by allocating a third page for the parent node from an parent page queue comprising a second plurality of sequential pages, the parent node comprising a first indication of the first leaf node and a second indication of the second leaf node, the first indication and the second indication stored in the third page allocated for the parent.
-
公开(公告)号:US20190311047A1
公开(公告)日:2019-10-10
申请号:US15947072
申请日:2018-04-06
Applicant: VMware, Inc.
Inventor: Jorge GUERRA DELGADO , Richard P. SPILLANE , Kapil CHOWKSEY , Sandeep RANGASWAMY , Abhishek GUPTA , Srinath PREMACHANDRAN
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.
-
公开(公告)号:US20190294710A1
公开(公告)日:2019-09-26
申请号:US15927025
申请日:2018-03-20
Applicant: VMware, Inc.
Inventor: Abhishek GUPTA , Rob T. JOHNSON , Srinath PREMACHANDRAN , Richard P. SPILLANE , Sandeep RANGASWAMY , Jorge GUERRA DELGADO , Kapil CHOWKSEY , Wenguang WANG
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.
-
公开(公告)号:US20190220211A1
公开(公告)日:2019-07-18
申请号:US15870506
申请日:2018-01-12
Applicant: VMware, Inc.
Inventor: Wenguang WANG , Eric KNAUFT , Srinath PREMACHANDRAN , Zhaohui GUO , Richard P. SPILLANE
CPC classification number: G06F16/10 , G06F3/0617 , G06F3/0665 , G06F3/0667 , G06F3/067 , G06F2009/45579
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.
-
-
-
-
-
-
-
-
-