Patents by Inventor Maneesh Sah

Maneesh Sah 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: 11934306
    Abstract: Described herein is a system and method for an append-only block-oriented object storage system. An unstructured storage object is stored in cloud storage. A block is data is received, from a client, to append to the unstructured storage object. A universally unique identifier of the client, and client contextual information regarding the block of data, are received from the client. The client contextual information comprises an identifier of a most recently appended block from the client. When the identifier of the most recently appended block from the client matches a stored identifier associated with the universally unique identifier of the client, the block of data is appended to the unstructured storage object, and the stored identifier associated with the universally unique identifier of the client is updated in accordance with the received client contextual information.
    Type: Grant
    Filed: July 15, 2022
    Date of Patent: March 19, 2024
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sandesh Ashok Doddameti, Himanshu Gupta, Jegan Devaraju, Maneesh Sah
  • Patent number: 11803511
    Abstract: Example aspects include techniques for ordering operations in a file system having a hierarchical namespace including determining, by a first service that manages file system operations for a first entity in the hierarchical namespace, to perform a file system operation for the first entity, generating, by the first service, a first counter record for the file system operation, obtaining, based on determining to perform the file system operation and from a second service that manages file system operations on a second entity that is a parent of the entity in the hierarchical namespace, a second counter record for a last file system operation performed on the second entity, wherein the second counter record is generated by the second service, and storing, in a change feed, an indication of the file system operation along with the first counter record and the second counter record.
    Type: Grant
    Filed: November 5, 2021
    Date of Patent: October 31, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Shane Mainali, Ramy Wassef, Vamshi Konagari, Hao Wang, James Baker, Jegan Devaraju, Sandesh Doddameti, Maneesh Sah
  • Patent number: 11775528
    Abstract: Embodiments of the present disclosure are directed a distributed storage system that supports query data. One embodiment provides, at a front-end node, a method comprising receiving a query regarding data stored in an object, obtaining information identifying data nodes at which blocks of the object are stored, sending, to a first data node, a query regarding data in a first block, and receiving results for the query regarding the data in the first block comprising an incomplete record. The method further comprises sending, to a second data node, a query regarding data in a second block comprising the incomplete record, the second block being stored on a different physical device than the first block, and receiving results for the query regarding the data in the second block. The method further comprises outputting the results for the queries regarding the data in the first block and the data in the second block.
    Type: Grant
    Filed: July 26, 2021
    Date of Patent: October 3, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Eric Eilebrecht, Karthick Krishnamoorthy, Maneesh Sah
  • Patent number: 11700300
    Abstract: Techniques are provided for managing resources among clusters of computing devices in a computing system. Resource reassignment message are generated for indicating that servers are reassigned and in response to resource compute loads exceed or fall below certain thresholds. Techniques also include establishing communications with the reassigned servers to assign compute loads without physically relocating the servers from one cluster to another cluster.
    Type: Grant
    Filed: March 24, 2022
    Date of Patent: July 11, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Maneesh Sah, Rushi Surla, Arild Skjolsvold, Xinhua Ji, Jegan Devaraju
  • Publication number: 20230147552
    Abstract: Example aspects include techniques for ordering operations in a file system having a hierarchical namespace including determining, by a first service that manages file system operations for a first entity in the hierarchical namespace, to perform a file system operation for the first entity, generating, by the first service, a first counter record for the file system operation, obtaining, based on determining to perform the file system operation and from a second service that manages file system operations on a second entity that is a parent of the entity in the hierarchical namespace, a second counter record for a last file system operation performed on the second entity, wherein the second counter record is generated by the second service, and storing, in a change feed, an indication of the file system operation along with the first counter record and the second counter record.
    Type: Application
    Filed: November 5, 2021
    Publication date: May 11, 2023
    Inventors: Shane MAINALI, Ramy WASSEF, Vamshi KONAGARI, Hao WANG, James Baker, Jegan DEVARAJU, Sandesh DODDAMETI, Maneesh SAH
  • Publication number: 20220350736
    Abstract: Described herein is a system and method for an append-only block-oriented object storage system. An unstructured storage object is stored in cloud storage. A block is data is received, from a client, to append to the unstructured storage object. A universally unique identifier of the client, and client contextual information regarding the block of data, are received from the client. The client contextual information comprises an identifier of a most recently appended block from the client. When the identifier of the most recently appended block from the client matches a stored identifier associated with the universally unique identifier of the client, the block of data is appended to the unstructured storage object, and the stored identifier associated with the universally unique identifier of the client is updated in accordance with the received client contextual information.
    Type: Application
    Filed: July 15, 2022
    Publication date: November 3, 2022
    Inventors: Sandesh Ashok DODDAMETI, Himanshu GUPTA, Jegan DEVARAJU, Maneesh SAH
  • Publication number: 20220300183
    Abstract: One example provides a method of migrating a data partition from a first storage cluster to a second storage cluster, the method including determining that the data partition meets a migration criteria for migrating from the first storage cluster to the second storage cluster, on the first storage cluster, preparing partition metadata to be transferred, the partition metadata describing one or more streams within the data partition and one or more extents within each stream, transferring the partition metadata from the first storage cluster to the second storage cluster, directing new transactions associated with the data partition to the second storage cluster, including while the one or more extents reside at the first storage cluster, on the first storage cluster, changing an access attribute of the one or more extents within the data partition to read-only, and on the second storage cluster, performing new ingress for the data partition.
    Type: Application
    Filed: June 17, 2020
    Publication date: September 22, 2022
    Inventors: Rushi Srinivas SURLA, Maneesh SAH, Shane Kumar MAINALI, Wei LIN, Girish SAINI, Arild Einar SKJOLSVOLD
  • Patent number: 11436139
    Abstract: Described herein is a system and method for a user accessible log of object storage change-events system. A change is detected within a cloud storage based on an unstructured storage object stored in the cloud storage. Contextual attributes of the change are identified from an updated state of the log file that stores information about the unstructured storage object. An output is provided based, at least in part, upon the detected change and at least some of the contextual attributes, wherein the output is an immutable, read-only log of change events.
    Type: Grant
    Filed: July 10, 2019
    Date of Patent: September 6, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sandesh Ashok Doddameti, Himanshu Gupta, Jegan Devaraju, Maneesh Sah
  • Publication number: 20220272242
    Abstract: Techniques are provided for managing resources among clusters of computing devices in a computing system. Resource reassignment message are generated for indicating that servers are reassigned and in response to resource compute loads exceed or fall below certain thresholds. Techniques also include establishing communications with the reassigned servers to assign compute loads without physically relocating the servers from one cluster to another cluster.
    Type: Application
    Filed: March 24, 2022
    Publication date: August 25, 2022
    Inventors: Maneesh Sah, Rushi Surla, Arild Skjolsvold, Xinhua Ji, Jegan Devaraju
  • Patent number: 11297031
    Abstract: A service enables a command that refers to a file system object using a hierarchical namespace identifier to be executed against the file system object in a flat namespace. The service selectively distributes the command to one of a plurality of name resolution nodes based on a directory name included in the hierarchical namespace identifier. The identified node resolves the directory name to a flat namespace identifier that is used to execute the command against the flat namespace. After communicating with at least one storage node to resolve a directory name, each name resolution node stores a mapping of the directory name to the corresponding flat namespace identifier in a cache, so that subsequent resolutions of that directory name may be performed more efficiently. Cache entries may be invalidated when an operation occurs that impacts the relevant mapping and/or based on system considerations such as cache expiry.
    Type: Grant
    Filed: July 6, 2020
    Date of Patent: April 5, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Georgi M. Chalakov, Shane Kumar Mainali, Thomas Leo Marquardt, Zichen Sun, Maneesh Sah, Esfandiar Manii, Saurabh Pant, Dana Yulian Kaban, Saher B. Ahwal, Jun Chen, Da Zhou, Amit Pratap Singh, Junhua Gu, Shaoyu Zhang, Wei Chen, Jingchao Zhang, Quan Zhang, Arild Einar Skjoldsvold
  • Patent number: 11297130
    Abstract: Techniques for managing resources among clusters of computing devices in a computing system are described herein. In one embodiment, a method includes receiving, via a computer network, a resource reassignment message indicating that a server is reassigned from a first cluster to a second cluster and in response to the received resource reassignment message, establishing communications with the server reassigned from the first cluster to the second cluster via the computer network. The method further includes subsequent to establishing communications with the server via the computer network, assigning a compute load to the server reassigned from the first cluster to the second cluster without physically relocating the server from the first cluster to the second cluster.
    Type: Grant
    Filed: February 18, 2020
    Date of Patent: April 5, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Maneesh Sah, Rushi Surla, Arild Skjolsvold, Xinhua Ji, Jegan Devaraju
  • Patent number: 11288140
    Abstract: Described herein is a system method for point in time blob restore. In response to receipt of a request to restore a particular blob range to a particular point in time, read and/or write operations on the particular blob range requested to be restored are blocked. Blob(s) in the particular blob range which have changed since the particular point in time are determined based, at least in part, upon information stored in a change log and/or a deleted blob store. A determination is made as to whether the requested restore operation can be performed, for example, based upon a restoration policy. When it is determined that the requested restore operation can be performed, blob(s) determined to have changed since the particular point in time based, at least in part, upon information stored in the change log and/or the deleted blob store are restored.
    Type: Grant
    Filed: November 14, 2019
    Date of Patent: March 29, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Venkates Paramasivam Balakrishnan, Krishnan Varadarajan, Maneesh Sah, Sundar P. Subramani, Bitan Deb, Bharat Joshi, Malavika Arunmozhi
  • Publication number: 20220067065
    Abstract: Methods, systems, apparatuses, and computer program products are provided that enable immediate access to data associated with a source blob. The foregoing is achieved by creating a copy-on-read blob based on the source blob and a link blob based on the copy-on-read blob for each virtual machine to be deployed. When creating the copy-on-read blob, the source blob is not copied. Instead, data from the source blob is copied to the copy-on-read blob upon request by a virtual machine. Subsequent requests for that data are retrieved from the copy-on-read blob. Each link blob stores write data provided by its corresponding virtual machine. When a virtual machine requests data, its corresponding link blob is checked for the data. If the data is not stored therein, the copy-on-read blob is checked for the data. If the copy-on-read blob does not store the data, the data is retrieved from the source blob.
    Type: Application
    Filed: November 9, 2021
    Publication date: March 3, 2022
    Inventors: Krishnan VARADARAJAN, Shane MAINALI, Maneesh SAH, Manan SHAH, Andrew EDWARDS, Ivan BRUGIOLO, Ju WANG, Ovais KHAN, Sivakumar KALVA, Venkates P. BALAKRISHNAN
  • Patent number: 11200253
    Abstract: Methods, systems, apparatuses, and computer program products are provided that enable immediate access to data associated with a source blob. The foregoing is achieved by creating a copy-on-read blob based on the source blob and a link blob based on the copy-on-read blob for each virtual machine to be deployed. When creating the copy-on-read blob, the source blob is not copied. Instead, data from the source blob is copied to the copy-on-read blob upon request by a virtual machine. Subsequent requests for that data are retrieved from the copy-on-read blob. Each link blob stores write data provided by its corresponding virtual machine. When a virtual machine requests data, its corresponding link blob is checked for the data. If the data is not stored therein, the copy-on-read blob is checked for the data. If the copy-on-read blob does not store the data, the data is retrieved from the source blob.
    Type: Grant
    Filed: June 12, 2019
    Date of Patent: December 14, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Krishnan Varadarajan, Shane Mainali, Maneesh Sah, Manan Shah, Andrew Edwards, Ivan Brugiolo, Ju Wang, Ovais Khan, Sivakumar Kalva, Venkates P. Balakrishnan
  • Publication number: 20210349905
    Abstract: Examples are disclosed that relate to querying data in a distributed storage system. One example provides, at a front-end node, a method comprising receiving a query regarding data stored in an object, obtaining information identifying data nodes at which blocks of the object are stored, sending, to a first data node, a query regarding data in a first block, and receiving results for the query regarding the data in the first block comprising an incomplete record. The method further comprises sending, to a second data node, a query regarding data in a second block comprising the incomplete record, the second block being stored on a different physical device than the first block, and receiving results for the query regarding the data in the second block. The method further comprises outputting the results for the queries regarding the data in the first block and the data in the second block.
    Type: Application
    Filed: July 26, 2021
    Publication date: November 11, 2021
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Eric EILEBRECHT, Karthick KRISHNAMOORTHY, Maneesh SAH
  • Patent number: 11150816
    Abstract: A cloud service provider supports immutable data on its servers and the immutable data is movable across multiple access tiers, in which each access tier affects access performance and cost. In typical implementations, the immutable data may be blobs of unstructured data such as text or binary data, multimedia, among other data types, which are organized into containers that provide a directory for user interaction with the data. Policies are applied at the container-level which regulates user interactions with the containers and the container's blobs. A policy can, for example, prohibit modification and deletion of blobs within a container until a policy's set retention period expires. After expiration of the retention period, the container and that container's blobs may be deleted, but blob modification may still be prohibited. A user interface is configured to enable a user to move containers to other access tiers while the container maintains its policy.
    Type: Grant
    Filed: September 25, 2018
    Date of Patent: October 19, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Krisjan David Fritz, Pratik Bhalgat, Dhivakar Mani, Maneesh Sah
  • Patent number: 11120046
    Abstract: 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: Grant
    Filed: March 21, 2019
    Date of Patent: September 14, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING LLC
    Inventors: Pradeep Seela, Pei Zhang, Yongfu Lou, Jegan Devaraju, Krishnan Varadarajan, Yi-Fan Tsai, Maneesh Sah, Kristopher T. Lange, Shane K. Mainali
  • Patent number: 11100109
    Abstract: One example provides, at a front-end node of a distributed storage system, a method comprising receiving a query regarding data stored in an object, obtaining information identifying data nodes at which blocks of the object are stored, sending, to a first data node, a query regarding data in a first block, and receiving results for the query regarding the data in the first block comprising an incomplete record. The method further comprises sending, to a second data node, a query regarding data in a second block comprising the incomplete record, the second block being stored on a different physical device than the first block, and receiving results for the query regarding the data in the second block. The method further comprises outputting the results for the queries regarding the data in the first block and the data in the second block.
    Type: Grant
    Filed: July 9, 2019
    Date of Patent: August 24, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Eric Eilebrecht, Karthick Krishnamoorthy, Maneesh Sah
  • Patent number: 11055010
    Abstract: One example provides a method of migrating a data partition from a first storage cluster to a second storage cluster, the method including determining that the data partition meets a migration criteria for migrating from the first storage cluster to the second storage cluster, on the first storage cluster, preparing partition metadata to be transferred, the partition metadata describing one or more streams within the data partition and one or more extents within each stream, transferring the partition metadata from the first storage cluster to the second storage cluster, directing new transactions associated with the data partition to the second storage cluster, including while the one or more extents reside at the first storage cluster, on the first storage cluster, changing an access attribute of the one or more extents within the data partition to read-only, and on the second storage cluster, performing new ingress for the data partition.
    Type: Grant
    Filed: September 5, 2019
    Date of Patent: July 6, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Rushi Srinivas Surla, Maneesh Sah, Shane Kumar Mainali, Wei Lin, Girish Saini, Arild Einar Skjolsvold
  • Patent number: 11010401
    Abstract: A snapshot of data from a table associated with a particular user may be generated. Tree data structures that are distributed across multiple computer systems may be accessed. Each of the tree structures may include data associated with one or more users. At least one tree data structure of the tree data structures that includes data associated with the particular user of the one or more users may be identified. The at least one tree data structure may then be filtered. Filtering may comprise identifying only data that is associated with the particular user. A snapshot of the data associated with the particular user may be generated. Generating the snapshot of the data associated with the particular user comprises generating a data structure that is configured to map to each data page of the at least one tree data structure that includes data associated with the particular user.
    Type: Grant
    Filed: April 25, 2017
    Date of Patent: May 18, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Venkates Paramasivam Balakrishnan, Krishnan Varadarajan, Maneesh Sah, Jegan Devaraju, Advait Kumar Mishra, Zichen Sun, Shane Kumar Mainali