Patents by Inventor SHANE K. MAINALI
SHANE K. MAINALI 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: 11314459Abstract: In various embodiments, methods and systems for implementing a distributed metadata management system in distributed storage systems are provided. A distributed storage system operates based on data storage resources (e.g., extents and streams). The distributed metadata management system is implemented for extent and stream metadata to facilitate the scalability of metadata processing. The distributed storage system implements extent managers and stream managers that independently manage extent and stream metadata, respectively. The extent managers are associated with an extent table that stores extent metadata. The stream managers are associated with streams that store associations with extents. The distributed metadata management system can also utilize a bootstrap layer that leverages components of a legacy distributed storage system to facilitate distributed management of extent and stream metadata.Type: GrantFiled: March 6, 2020Date of Patent: April 26, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Cheng Huang, Andrew James Edwards, Shane K. Mainali, Aaron William Ogus, Ioan Oltean, Huseyin Simitci, Ju Wang, Bradley Gene Calder, Yikang Xu
-
Patent number: 11120046Abstract: Data is replicated between primary and secondary storage systems using a data pulling process or a log shipping process. If data is to be replicated through the log shipping process, a transaction and its associated data get stored in a transaction log in the secondary storage system. Subsequently, when the transaction gets executed, actual data gets persisted from the transaction log to a data log in the secondary storage system. If the data is to be replicated through the data pulling process, the transaction is stored in the transaction log. However, the associated data for the transaction is retrieved from the first primary storage system and stored directly in the data log in the secondary system.Type: GrantFiled: March 21, 2019Date of Patent: September 14, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING LLCInventors: Pradeep Seela, Pei Zhang, Yongfu Lou, Jegan Devaraju, Krishnan Varadarajan, Yi-Fan Tsai, Maneesh Sah, Kristopher T. Lange, Shane K. Mainali
-
Patent number: 10817197Abstract: A distributed storage system includes multiple partitions. A block received for storage is striped across the partitions if it meets predetermined criteria. Multiple tables are maintained for indexing the blocks and the subblocks of blocks that are partitioned. The tables for the subblocks and the tables for the corresponding blocks of the subblocks are updated to include metadata for the subblocks for retrieving the subblocks in response to a request for a corresponding stored block.Type: GrantFiled: February 19, 2019Date of Patent: October 27, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Jegan Devaraju, Pradeep Seela, Yi-Fan Tsai, Yongfu Lou, Kristopher T. Lange, Pei Zhang, Maneesh Sah, Shane K. Mainali
-
Publication number: 20200326859Abstract: In various embodiments, methods and systems for implementing a distributed metadata management system in distributed storage systems are provided. A distributed storage system operates based on data storage resources (e.g., extents and streams). The distributed metadata management system is implemented for extent and stream metadata to facilitate the scalability of metadata processing. The distributed storage system implements extent managers and stream managers that independently manage extent and stream metadata, respectively. The extent managers are associated with an extent table that stores extent metadata. The stream managers are associated with streams that store associations with extents. The distributed metadata management system can also utilize a bootstrap layer that leverages components of a legacy distributed storage system to facilitate distributed management of extent and stream metadata.Type: ApplicationFiled: March 6, 2020Publication date: October 15, 2020Inventors: CHENG HUANG, ANDREW JAMES EDWARDS, SHANE K. MAINALI, AARON WILLIAM OGUS, IOAN OLTEAN, HUSEYIN SIMITCI, JU WANG, BRADLEY GENE CALDER, YIKANG XU
-
Patent number: 10789223Abstract: In various embodiments, methods and systems for implementing garbage collection in distributed storage systems are provided. The distributed storage system operates based on independent management of metadata of extent and stream data storage resources. A hybrid garbage collection system based on reference counting garbage collection operations and mark-and-sweep garbage collection operations is implemented. An extent lifetime table that tracks reference weights and mark sequences for extents is initialized and updated based on indications from extent managers and stream managers, respectively. Upon determining that an extent is to be handed-off from weighted reference counting garbage collection operations to mark-and-sweep garbage collection operations, a reference weight field for the extent is voided and a mark sequence field of the extent is updated. The mark sequence field is updated with a latest global sequence number.Type: GrantFiled: March 24, 2016Date of Patent: September 29, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Cheng Huang, Andrew James Edwards, Shane K Mainali, Aaron William Ogus, Ioan Oltean, Huseyin Simitci, Ju Wang, Bradley Gene Calder, Yikang Xu
-
Patent number: 10585627Abstract: In various embodiments, methods and systems for implementing a distributed metadata management system in distributed storage systems are provided. A distributed storage system operates based on data storage resources (e.g., extents and streams). The distributed metadata management system is implemented for extent and stream metadata to facilitate the scalability of metadata processing. The distributed storage system implements extent managers and stream managers that independently manage extent and stream metadata, respectively. The extent managers are associated with an extent table that stores extent metadata. The stream managers are associated with streams that store associations with extents. The distributed metadata management system can also utilize a bootstrap layer that leverages components of a legacy distributed storage system to facilitate distributed management of extent and stream metadata.Type: GrantFiled: March 24, 2016Date of Patent: March 10, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Cheng Huang, Andrew James Edwards, Shane K. Mainali, Aaron William Ogus, Ioan Oltean, Huseyin Simitci, Ju Wang, Bradley Gene Calder, Yikang Xu
-
Publication number: 20190340185Abstract: Data is replicated between primary and secondary storage systems using a data pulling process or a log shipping process. If data is to be replicated through the log shipping process, a transaction and its associated data get stored in a transaction log in the secondary storage system. Subsequently, when the transaction gets executed, actual data gets persisted from the transaction log to a data log in the secondary storage system. If the data is to be replicated through the data pulling process, the transaction is stored in the transaction log. However, the associated data for the transaction is retrieved from the first primary storage system and stored directly in the data log in the secondary system.Type: ApplicationFiled: March 21, 2019Publication date: November 7, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Pradeep Seela, Pei Zhang, Yongfu Lou, Jegan Devaraju, Krishnan Varadarajan, Yi-Fan Tsai, Maneesh Sah, Kristopher T. Lange, Shane K. Mainali
-
Publication number: 20190339886Abstract: A distributed storage system includes multiple partitions. A block received for storage is striped across the partitions if it meets predetermined criteria. Multiple tables are maintained for indexing the blocks and the subblocks of blocks that are partitioned. The tables for the subblocks and the tables for the corresponding blocks of the subblocks are updated to include metadata for the subblocks for retrieving the subblocks in response to a request for a corresponding stored block.Type: ApplicationFiled: February 19, 2019Publication date: November 7, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Jegan DEVARAJU, Pradeep Seela, Yi-Fan Tsai, Yongfu Lou, Kristopher T. Lange, Pei Zhang, Maneesh Sah, Shane K. Mainali
-
Patent number: 10447607Abstract: Methods for dequeue optimizations in queues are performed by systems and apparatuses. The methods optimize dequeue operations using aggregation of expired messages enqueued in a queue and conditional iteration over enqueued messages based on the aggregation to service dequeue commands. Queues utilize page hierarchies such as root pages, index pages, and data pages. The aggregation of expired messages for pages in the queue determines the latest expired time for messages for a given page, and these latest expired times are stored in their respective pages, including data pages, index pages, and root pages, for use in the conditional iteration. The conditional iteration bypasses pages for which a latest expired time for all messages is prior to the current time when servicing dequeue requests for the queue.Type: GrantFiled: May 5, 2017Date of Patent: October 15, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Krishnan Varadarajan, Jieqing Wang, Venkates Paramasivam Balakrishnan, Shane K. Mainali, Quan Zhang, Zichen Sun
-
Publication number: 20180324129Abstract: Methods for dequeue optimizations in queues are performed by systems and apparatuses. The methods optimize dequeue operations using aggregation of expired messages enqueued in a queue and conditional iteration over enqueued messages based on the aggregation to service dequeue commands. Queues utilize page hierarchies such as root pages, index pages, and data pages. The aggregation of expired messages for pages in the queue determines the latest expired time for messages for a given page, and these latest expired times are stored in their respective pages, including data pages, index pages, and root pages, for use in the conditional iteration. The conditional iteration bypasses pages for which a latest expired time for all messages is prior to the current time when servicing dequeue requests for the queue.Type: ApplicationFiled: May 5, 2017Publication date: November 8, 2018Inventors: Krishnan Varadarajan, Jieqing Wang, Venkates Paramasivam Balakrishnan, Shane K. Mainali, Quan Zhang, Zichen Sun
-
Publication number: 20170277453Abstract: In various embodiments, methods and systems for implementing a distributed metadata management system in distributed storage systems are provided. A distributed storage system operates based on data storage resources (e.g., extents and streams). The distributed metadata management system is implemented for extent and stream metadata to facilitate the scalability of metadata processing. The distributed storage system implements extent managers and stream managers that independently manage extent and stream metadata, respectively. The extent managers are associated with an extent table that stores extent metadata. The stream managers are associated with streams that store associations with extents. The distributed metadata management system can also utilize a bootstrap layer that leverages components of a legacy distributed storage system to facilitate distributed management of extent and stream metadata.Type: ApplicationFiled: March 24, 2016Publication date: September 28, 2017Inventors: CHENG HUANG, ANDREW JAMES EDWARDS, SHANE K. MAINALI, AARON WILLIAM OGUS, IOAN OLTEAN, HUSEYIN SIMITCI, JU WANG, BRADLEY GENE CALDER, YIKANG XU
-
Publication number: 20170277726Abstract: In various embodiments, methods and systems for implementing garbage collection in distributed storage systems are provided. The distributed storage system operates based on independent management of metadata of extent and stream data storage resources. A hybrid garbage collection system based on reference counting garbage collection operations and mark-and-sweep garbage collection operations is implemented. An extent lifetime table that tracks reference weights and mark sequences for extents is initialized and updated based on indications from extent managers and stream managers, respectively. Upon determining that an extent is to be handed-off from weighted reference counting garbage collection operations to mark-and-sweep garbage collection operations, a reference weight field for the extent is voided and a mark sequence field of the extent is updated. The mark sequence field is updated with a latest global sequence number.Type: ApplicationFiled: March 24, 2016Publication date: September 28, 2017Inventors: CHENG HUANG, ANDREW JAMES EDWARDS, SHANE K MAINALI, AARON WILLIAM OGUS, IOAN OLTEAN, HUSEYIN SIMITCI, JU WANG, BRADLEY GENE CALDER, YIKANG XU