The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Sep. 29, 2020
Filed:
Jun. 22, 2018
Microsoft Technology Licensing, Llc, Redmond, WA (US);
Georgi M. Chalakov, Duvall, WA (US);
Shane Kumar Mainali, Duvall, WA (US);
Thomas Leo Marquardt, Newcastle, WA (US);
Zichen Sun, Sammamish, WA (US);
Maneesh Sah, Sammamish, WA (US);
Esfandiar Manii, Kirkland, WA (US);
Saurabh Pant, Bellevue, WA (US);
Dana Yulian Kaban, Seattle, WA (US);
Saher B. Ahwal, Redmond, WA (US);
Jun Chen, Redmond, WA (US);
Da Zhou, Seattle, WA (US);
Amit Pratap Singh, Redmond, WA (US);
Junhua Gu, Bothel, WA (US);
Shaoyu Zhang, Shanghai, CN;
Wei Chen, Shanghai, CN;
Jingchao Zhang, Shanghai, CN;
Quan Zhang, Kenmore, WA (US);
Microsoft Technology Licensing, LLC, Redmond, WA (US);
Abstract
Methods, systems, and apparatuses are provided for a storage system that implements a hierarchical namespace service. A storage system includes a plurality of physical nodes and a plurality of sets of virtual nodes. Each set of virtual nodes is managed by a corresponding physical node. Each virtual node is configured to manage a respective set of directory blocks. Each directory block is a respective partition of a storage namespace and is managed by a corresponding single virtual node. Each virtual node maintains a directory block map. The directory block map maps file system object names in a hierarchical namespace to entity block identifiers in the flat namespace for entity blocks (files and folders) stored in directories corresponding to the managed set of directory blocks. Load balancing may be performed by moving virtual nodes between physical nodes, and by splitting directory blocks.