Management of B-tree leaf nodes with variable size values

    公开(公告)号:US10698865B2

    公开(公告)日:2020-06-30

    申请号:US15633726

    申请日:2017-06-26

    申请人: VMware, Inc.

    摘要: 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.

    Tracking data of virtual disk snapshots using tree data structures

    公开(公告)号:US10860560B2

    公开(公告)日:2020-12-08

    申请号:US15882123

    申请日:2018-01-29

    申请人: VMware, Inc.

    IPC分类号: G06F16/22 G06F3/06 G06F16/11

    摘要: User data of different snapshots for the same virtual disk are stored in the same storage object. Similarly, metadata of different snapshots for the same virtual disk are stored in the same storage object, and log data of different snapshots for the same virtual disk are stored in the same storage object. As a result, the number of different storage objects that are managed for snapshots do not increase proportionally with the number of snapshots taken. In addition, any one of the multitude of persistent storage back-ends can be selected as the storage back-end for the storage objects according to user preference, system requirement, snapshot policy, or any other criteria. Another advantage is that the storage location of the read data can be obtained with a single read of the metadata storage object, instead of traversing metadata files of multiple snapshots.

    Tracking data of virtual disk snapshots using tree data structures

    公开(公告)号:US09881040B2

    公开(公告)日:2018-01-30

    申请号:US14831808

    申请日:2015-08-20

    申请人: VMware, Inc.

    IPC分类号: G06F3/06 G06F17/30

    摘要: User data of different snapshots for the same virtual disk are stored in the same storage object. Similarly, metadata of different snapshots for the same virtual disk are stored in the same storage object, and log data of different snapshots for the same virtual disk are stored in the same storage object. As a result, the number of different storage objects that are managed for snapshots do not increase proportionally with the number of snapshots taken. In addition, any one of the multitude of persistent storage back-ends can be selected as the storage back-end for the storage objects according to user preference, system requirement, snapshot policy, or any other criteria. Another advantage is that the storage location of the read data can be obtained with a single read of the metadata storage object, instead of traversing metadata files of multiple snapshots.

    Tuning key space at the time of instantiation of a tree data structure

    公开(公告)号:US10262016B2

    公开(公告)日:2019-04-16

    申请号:US14869099

    申请日:2015-09-29

    申请人: VMware, Inc.

    IPC分类号: G06F17/30

    摘要: Techniques for tuning the key space of an instance of a tree data structure are provided. In one embodiment, a computer system can receive a request to create the instance, where the request includes an expected key space value indicating an expected range of key values to be addressed by the instance. The computer system can further calculate a number of bits to allocate to each key of each node of the instance based on the expected key space value. The computer system can then, at a time of instantiating each node of the instance, allocate the keys for the node in accordance with the calculated number of bits.

    MANAGEMENT OF B-TREE LEAF NODES WITH VARIABLE SIZE VALUES

    公开(公告)号:US20180373727A1

    公开(公告)日:2018-12-27

    申请号:US15633726

    申请日:2017-06-26

    申请人: VMware, Inc.

    IPC分类号: G06F17/30

    摘要: 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.

    LEVERAGING HIERARCHY IN A TREE DATA STRUCTURE TO DYNAMICALLY ALLOCATE KEYS

    公开(公告)号:US20170091241A1

    公开(公告)日:2017-03-30

    申请号:US14869024

    申请日:2015-09-29

    申请人: VMware, Inc.

    IPC分类号: G06F17/30

    摘要: Techniques for dynamically allocating keys in an instance of a tree data structure are provided. In one embodiment, a computer system can, at a time of instantiating each non-root node in the instance, determine a key space to be addressed by the non-root node, where the key space is based on a key subinterval in a parent node of the non-root node that is associated with a pointer to the non-root node. The computer system can further calculate a number of bits to allocate to each key of the non-root node in view of the determined key space. The computer system can then allocate the keys of the non-root node in accordance with the calculated number of bits.

    Tuning Key Space at the Time of Instantiation of a Tree Data Structure

    公开(公告)号:US20170091242A1

    公开(公告)日:2017-03-30

    申请号:US14869099

    申请日:2015-09-29

    申请人: VMware, Inc.

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30327

    摘要: Techniques for tuning the key space of an instance of a tree data structure are provided. In one embodiment, a computer system can receive a request to create the instance, where the request includes an expected key space value indicating an expected range of key values to be addressed by the instance. The computer system can further calculate a number of bits to allocate to each key of each node of the instance based on the expected key space value. The computer system can then, at a time of instantiating each node of the instance, allocate the keys for the node in accordance with the calculated number of bits.

    Leveraging hierarchy in a tree data structure to dynamically allocate keys

    公开(公告)号:US10067966B2

    公开(公告)日:2018-09-04

    申请号:US14869024

    申请日:2015-09-29

    申请人: VMware, Inc.

    IPC分类号: G06F17/30

    摘要: Techniques for dynamically allocating keys in an instance of a tree data structure are provided. In one embodiment, a computer system can, at a time of instantiating each non-root node in the instance, determine a key space to be addressed by the non-root node, where the key space is based on a key subinterval in a parent node of the non-root node that is associated with a pointer to the non-root node. The computer system can further calculate a number of bits to allocate to each key of the non-root node in view of the determined key space. The computer system can then allocate the keys of the non-root node in accordance with the calculated number of bits.