Patents by Inventor Venkates Paramasivam Balakrishnan
Venkates Paramasivam Balakrishnan 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).
-
Publication number: 20230039191Abstract: Various methods and systems for implementing request scheduling and processing in a multi-tenant distributed computing environment are provided. Requests to utilize system resources in the distributed computing environment are stored in account queues corresponding to tenant accounts. If storing a request in an account queue would exceed a throttling threshold such as a limit on the number of requests stored per account, the request is dropped to a throttling queue. A scheduler prioritizes processing requests stored in the processing queue before processing requests stored in the account queues. The account queues can be drained using dominant resource scheduling. In some embodiments, a request is not picked up from an account queue if processing the request would exceed a predefined hard limit on system resource utilization for the corresponding tenant account. In some embodiments, the hard limit is defined as a percentage of threads the system has to process requests.Type: ApplicationFiled: October 21, 2022Publication date: February 9, 2023Inventors: Venkates Paramasivam BALAKRISHNAN, Krishnan VARADARAJAN
-
Patent number: 11509596Abstract: Various methods and systems for implementing request scheduling and processing in a multi-tenant distributed computing environment are provided. Requests to utilize system resources in the distributed computing environment are stored in account queues corresponding to tenant accounts. If storing a request in an account queue would exceed a throttling threshold such as a limit on the number of requests stored per account, the request is dropped to a throttling queue. A scheduler prioritizes processing requests stored in the processing queue before processing requests stored in the account queues. The account queues can be drained using dominant resource scheduling. In some embodiments, a request is not picked up from an account queue if processing the request would exceed a predefined hard limit on system resource utilization for the corresponding tenant account. In some embodiments, the hard limit is defined as a percentage of threads the system has to process requests.Type: GrantFiled: June 22, 2020Date of Patent: November 22, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Venkates Paramasivam Balakrishnan, Krishnan Varadarajan
-
Publication number: 20220164323Abstract: A distributed storage system includes table controllers collectively storing partitions of a logical table having multiple rows. For each of the partitions, a corresponding table controller stores a subset of the rows of the logical table across individual pages. A management controller updates a schema of the logical table from a first to a second schema definition by, for each of the partitions, sending an update command indicating the second schema definition to the corresponding table controller. The first table controller corresponds to a first partition that includes a first subset of the rows. The first table controller, prior to receiving the update command, includes an identifier of the first schema definition within each page of data for the first subset. Subsequent to receiving the update command, the first table controller, when writing each new page of data for the first subset, includes an identifier of the second schema definition.Type: ApplicationFiled: January 3, 2022Publication date: May 26, 2022Applicant: Microsoft Technology Licensing, LLCInventors: Krishnan VARADARAJAN, Jianwu GAO, Jegan DEVARAJU, Shane MAINALI, Zichen SUN, Quan ZHANG, Venkates Paramasivam BALAKRISHNAN, Shaoyu ZHANG, Kaifeng ZHU, Ju WANG, Manish CHABLANI, Hao FENG
-
Patent number: 11288140Abstract: 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: GrantFiled: November 14, 2019Date of Patent: March 29, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Venkates Paramasivam Balakrishnan, Krishnan Varadarajan, Maneesh Sah, Sundar P. Subramani, Bitan Deb, Bharat Joshi, Malavika Arunmozhi
-
Patent number: 11249961Abstract: A distributed storage system includes table controllers collectively storing partitions of a logical table having multiple rows. For each of the partitions, a corresponding table controller stores a subset of the rows of the logical table across individual pages. A management controller updates a schema of the logical table from a first to a second schema definition by, for each of the partitions, sending an update command indicating the second schema definition to the corresponding table controller. The first table controller corresponds to a first partition that includes a first subset of the rows. The first table controller, prior to receiving the update command, includes an identifier of the first schema definition within each page of data for the first subset. Subsequent to receiving the update command, the first table controller, when writing each new page of data for the first subset, includes an identifier of the second schema definition.Type: GrantFiled: June 30, 2017Date of Patent: February 15, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Krishnan Varadarajan, Jianwu Gao, Jegan Devaraju, Shane Mainali, Zichen Sun, Quan Zhang, Venkates Paramasivam Balakrishnan, Shaoyu Zhang, Kaifeng Zhu, Ju Wang, Manish Chablani, Hao Feng
-
Patent number: 11032140Abstract: Techniques are described that enable a user to upgrade a stack of resources by providing a template that reflects the desired end state of the stack. Upon receiving a new template, the system automatically detects changes that should be performed and determines the order in which the changes should be performed. The system can also detect if the desired changes to the stack are a result of direct modifications; because parameters to the resources have changed; or the changes are indirectly caused by other dependency/attribute changing. Additionally, the system determines whether the changes require creating new resources or if the changes can be made to the resources live. In case of replacement of resources, the system will first create the new resource, move that new resource into the stack and remove the old resource(s). In case of failures, the system ensures that the stack rolls back to the initial state.Type: GrantFiled: April 5, 2019Date of Patent: June 8, 2021Assignee: Amazon Technologies, Inc.Inventors: Avinash Jaisinghani, Reto Kramer, Christopher Whitaker, Nishanth Shankaran, Jaykumar H. Gosar, Jeffrey L. Baker, Daniel Osiecki, Danny Rabbani, Prashant Jayaraman, Venkates Paramasivam Balakrishnan, Adam M. Thomas
-
Patent number: 11010401Abstract: 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: GrantFiled: April 25, 2017Date of Patent: May 18, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Venkates Paramasivam Balakrishnan, Krishnan Varadarajan, Maneesh Sah, Jegan Devaraju, Advait Kumar Mishra, Zichen Sun, Shane Kumar Mainali
-
Publication number: 20210064483Abstract: 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: ApplicationFiled: November 14, 2019Publication date: March 4, 2021Applicant: Microsoft Technology Licensing, LLCInventors: Venkates PARAMASIVAM BALAKRISHNAN, Krishnan VARADARAJAN, Maneesh SAH, Sundar P. SUBRAMANI, Bitan DEB, Bharat JOSHI, Malavika ARUNMOZHI
-
Publication number: 20200322282Abstract: Various methods and systems for implementing request scheduling and processing in a multi-tenant distributed computing environment are provided. Requests to utilize system resources in the distributed computing environment are stored in account queues corresponding to tenant accounts. If storing a request in an account queue would exceed a throttling threshold such as a limit on the number of requests stored per account, the request is dropped to a throttling queue. A scheduler prioritizes processing requests stored in the processing queue before processing requests stored in the account queues. The account queues can be drained using dominant resource scheduling. In some embodiments, a request is not picked up from an account queue if processing the request would exceed a predefined hard limit on system resource utilization for the corresponding tenant account. In some embodiments, the hard limit is defined as a percentage of threads the system has to process requests.Type: ApplicationFiled: June 22, 2020Publication date: October 8, 2020Inventors: Venkates Paramasivam BALAKRISHNAN, Krishnan VARADARAJAN
-
Patent number: 10728166Abstract: Various methods and systems for implementing request scheduling and processing in a multi-tenant distributed computing environment are provided. Requests to utilize system resources in the distributed computing environment are stored in account queues corresponding to tenant accounts. If storing a request in an account queue would exceed a throttling threshold such as a limit on the number of requests stored per account, the request is dropped to a throttling queue. A scheduler prioritizes processing requests stored in the processing queue before processing requests stored in the account queues. The account queues can be drained using dominant resource scheduling. In some embodiments, a request is not picked up from an account queue if processing the request would exceed a predefined hard limit on system resource utilization for the corresponding tenant account. In some embodiments, the hard limit is defined as a percentage of threads the system has to process requests.Type: GrantFiled: June 27, 2017Date of Patent: July 28, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Venkates Paramasivam Balakrishnan, Krishnan Varadarajan
-
Publication number: 20200142868Abstract: A distributed storage system includes table controllers collectively storing partitions of a logical table having multiple rows. For each of the partitions, a corresponding table controller stores a subset of the rows of the logical table across individual pages. A management controller updates a schema of the logical table from a first to a second schema definition by, for each of the partitions, sending an update command indicating the second schema definition to the corresponding table controller. The first table controller corresponds to a first partition that includes a first subset of the rows. The first table controller, prior to receiving the update command, includes an identifier of the first schema definition within each page of data for the first subset. Subsequent to receiving the update command, the first table controller, when writing each new page of data for the first subset, includes an identifier of the second schema definition.Type: ApplicationFiled: June 30, 2017Publication date: May 7, 2020Applicant: Microsoft Technology Licensing, LLCInventors: Krishnan VARADARAJAN, Jianwu GAO, Jegan DEVARAJU, Shane MAINALI, Zichen SUN, Quan ZHANG, Venkates Paramasivam BALAKRISHNAN, Shaoyu ZHANG, Kaifeng ZHU, Ju WANG, Manish CHABLANI, Hao FENG
-
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: 20190238478Abstract: Techniques are described that enable a user to upgrade a stack of resources by providing a template that reflects the desired end state of the stack. Upon receiving a new template, the system automatically detects changes that should be performed and determines the order in which the changes should be performed. The system can also detect if the desired changes to the stack are a result of direct modifications; because parameters to the resources have changed; or the changes are indirectly caused by other dependency/attribute changing. Additionally, the system determines whether the changes require creating new resources or if the changes can be made to the resources live. In case of replacement of resources, the system will first create the new resource, move that new resource into the stack and remove the old resource(s). In case of failures, the system ensures that the stack rolls back to the initial state.Type: ApplicationFiled: April 5, 2019Publication date: August 1, 2019Applicant: Amazon Technologies, Inc.Inventors: Avinash Jaisinghani, Reto Kramer, Christopher Whitaker, Nishanth Shankaran, Jaykumar H. Gosar, Jeffrey L. Baker, Daniel Osiecki, Danny Rabbani, Prashant Jayaraman, Venkates Paramasivam Balakrishnan, Adam M. Thomas
-
Patent number: 10348642Abstract: A resource stack managed by a resource stack provider is created based on a resource stack template that integrates a custom resource from a second provider into the resource stack using a notification system with the second provider. For example, a customer may create a template that defines a resource stack that comprises resources available from the resource stack provider and one or more custom resources provided by a second provider. When a resource stack is created, resources available from the resource stack provider may be provisioned. Custom resources may be initialized by notifying the provider of the custom resource of the requested integration of the custom resource with the resource stack and requested configuration details. The custom resource provider may respond with an indication of successful integration when the custom resource has been successfully initialized. After initializing the resources, the resource stack may be enabled for use.Type: GrantFiled: March 26, 2018Date of Patent: July 9, 2019Assignee: Amazon Technologies, Inc.Inventors: Avinash Jaisinghani, Reto Kramer, Prashant Jayaraman, Christopher Whitaker, Venkates Paramasivam Balakrishnan
-
Publication number: 20180375784Abstract: Various methods and systems for implementing request scheduling and processing in a multi-tenant distributed computing environment are provided. Requests to utilize system resources in the distributed computing environment are stored in account queues corresponding to tenant accounts. If storing a request in an account queue would exceed a throttling threshold such as a limit on the number of requests stored per account, the request is dropped to a throttling queue. A scheduler prioritizes processing requests stored in the processing queue before processing requests stored in the account queues. The account queues can be drained using dominant resource scheduling. In some embodiments, a request is not picked up from an account queue if processing the request would exceed a predefined hard limit on system resource utilization for the corresponding tenant account. In some embodiments, the hard limit is defined as a percentage of threads the system has to process requests.Type: ApplicationFiled: June 27, 2017Publication date: December 27, 2018Inventors: Venkates Paramasivam BALAKRISHNAN, Krishnan VARADARAJAN
-
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: 20180307736Abstract: 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: ApplicationFiled: April 25, 2017Publication date: October 25, 2018Inventors: Venkates Paramasivam Balakrishnan, Krishnan Varadarajan, Maneesh Sah, Jegan Devaraju, Advait Kumar Mishra, Zichen Sun, Shane Kumar Mainali
-
Publication number: 20180212898Abstract: A resource stack managed by a resource stack provider is created based on a resource stack template that integrates a custom resource from a second provider into the resource stack using a notification system with the second provider. For example, a customer may create a template that defines a resource stack that comprises resources available from the resource stack provider and one or more custom resources provided by a second provider. When a resource stack is created, resources available from the resource stack provider may be provisioned. Custom resources may be initialized by notifying the provider of the custom resource of the requested integration of the custom resource with the resource stack and requested configuration details. The custom resource provider may respond with an indication of successful integration when the custom resource has been successfully initialized. After initializing the resources, the resource stack may be enabled for use.Type: ApplicationFiled: March 26, 2018Publication date: July 26, 2018Applicant: Amazon Technologies, Inc.Inventors: AVINASH JAISINGHANI, RETO KRAMER, PRASHANT JAYARAMAN, CHRISTOPHER WHITAKER, VENKATES PARAMASIVAM BALAKRISHNAN
-
Patent number: 9929974Abstract: A resource stack managed by a resource stack provider is created based on a resource stack template that integrates a custom resource from a second provider into the resource stack using a notification system with the second provider. For example, a customer may create a template that defines a resource stack that comprises resources available from the resource stack provider and one or more custom resources provided by a second provider. When a resource stack is created, resources available from the resource stack provider may be provisioned. Custom resources may be initialized by notifying the provider of the custom resource of the requested integration of the custom resource with the resource stack and requested configuration details. The custom resource provider may respond with an indication of successful integration when the custom resource has been successfully initialized. After initializing the resources, the resource stack may be enabled for use.Type: GrantFiled: June 15, 2015Date of Patent: March 27, 2018Assignee: Amazon Technologies, Inc.Inventors: Avinash Jaisinghani, Reto Kramer, Prashant Jayaraman, Christopher Whitaker, Venkates Paramasivam Balakrishnan
-
Publication number: 20150288618Abstract: A resource stack managed by a resource stack provider is created based on a resource stack template that integrates a custom resource from a second provider into the resource stack using a notification system with the second provider. For example, a customer may create a template that defines a resource stack that comprises resources available from the resource stack provider and one or more custom resources provided by a second provider. When a resource stack is created, resources available from the resource stack provider may be provisioned. Custom resources may be initialized by notifying the provider of the custom resource of the requested integration of the custom resource with the resource stack and requested configuration details. The custom resource provider may respond with an indication of successful integration when the custom resource has been successfully initialized. After initializing the resources, the resource stack may be enabled for use.Type: ApplicationFiled: June 15, 2015Publication date: October 8, 2015Applicant: AMAZON TECHNOLOGIES, INC.Inventors: AVINASH JAISINGHANI, RETO KRAMER, PRASHANT JAYARAMAN, CHRISTOPHER WHITAKER, VENKATES PARAMASIVAM BALAKRISHNAN