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:
Oct. 27, 2020
Filed:
Jun. 26, 2018
Microsoft Technology Licensing, Llc, Redmond, WA (US);
Georgi 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);
Wei Chen, Redmond, WA (US);
Dana Yulian Kaban, Seattle, WA (US);
Saher B. Ahwal, Redmond, WA (US);
Shaoyu Zhang, Shanghai, CN;
Jingchao Zhang, Shanghai, CN;
Quan Zhang, Redmond, WA (US);
Jun Chen, Redmond, WA (US);
Esfandiar Manii, Kirkland, WA (US);
Saurabh Pant, Bellevue, WA (US);
Da Zhou, Redmond, WA (US);
Amit Pratap Singh, Redmond, WA (US);
Junhua Gu, Redmond, WA (US);
Microsoft Technology Licensing, LLC, Redmond, WA (US);
Abstract
Methods, systems, and programs provide for executing distributed transactions in a cloud storage system with a hierarchical namespace. One method includes receiving a request with operations to be executed atomically. Further, nodes are identified for executing the operations, each node having a respective clock and having at least part of a transactions table for controlling updates to entities. Each clock is one of a loosely-synchronized, a strictly-synchronized clock, a logical, or a physical clock. Additionally, the nodes process the operations, which includes setting a commit timestamp (CS) to a value of the clock in the node if the node is a first node in the processing. One node coordinates the transactions, and may be one of the nodes executing transactions. If the clock in the node is less than a current value of the CS, the node waits for the clock to reach the current value of the CS and the CS is updated. The transactions table is updated based on the value of the CS, the atomic execution is committed utilizing the final value of the CS, and a status is returned.