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: 20230039191
    Abstract: 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: Application
    Filed: October 21, 2022
    Publication date: February 9, 2023
    Inventors: Venkates Paramasivam BALAKRISHNAN, Krishnan VARADARAJAN
  • Patent number: 11509596
    Abstract: 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: Grant
    Filed: June 22, 2020
    Date of Patent: November 22, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Venkates Paramasivam Balakrishnan, Krishnan Varadarajan
  • Publication number: 20220164323
    Abstract: 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: Application
    Filed: January 3, 2022
    Publication date: May 26, 2022
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: 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: 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
  • Patent number: 11249961
    Abstract: 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: Grant
    Filed: June 30, 2017
    Date of Patent: February 15, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: 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: 11032140
    Abstract: 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: Grant
    Filed: April 5, 2019
    Date of Patent: June 8, 2021
    Assignee: 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: 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
  • Publication number: 20210064483
    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: Application
    Filed: November 14, 2019
    Publication date: March 4, 2021
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Venkates PARAMASIVAM BALAKRISHNAN, Krishnan VARADARAJAN, Maneesh SAH, Sundar P. SUBRAMANI, Bitan DEB, Bharat JOSHI, Malavika ARUNMOZHI
  • Publication number: 20200322282
    Abstract: 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: Application
    Filed: June 22, 2020
    Publication date: October 8, 2020
    Inventors: Venkates Paramasivam BALAKRISHNAN, Krishnan VARADARAJAN
  • Patent number: 10728166
    Abstract: 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: Grant
    Filed: June 27, 2017
    Date of Patent: July 28, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Venkates Paramasivam Balakrishnan, Krishnan Varadarajan
  • Publication number: 20200142868
    Abstract: 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: Application
    Filed: June 30, 2017
    Publication date: May 7, 2020
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: 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: 10447607
    Abstract: 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: Grant
    Filed: May 5, 2017
    Date of Patent: October 15, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Krishnan Varadarajan, Jieqing Wang, Venkates Paramasivam Balakrishnan, Shane K. Mainali, Quan Zhang, Zichen Sun
  • Publication number: 20190238478
    Abstract: 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: Application
    Filed: April 5, 2019
    Publication date: August 1, 2019
    Applicant: 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: 10348642
    Abstract: 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: Grant
    Filed: March 26, 2018
    Date of Patent: July 9, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: Avinash Jaisinghani, Reto Kramer, Prashant Jayaraman, Christopher Whitaker, Venkates Paramasivam Balakrishnan
  • Publication number: 20180375784
    Abstract: 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: Application
    Filed: June 27, 2017
    Publication date: December 27, 2018
    Inventors: Venkates Paramasivam BALAKRISHNAN, Krishnan VARADARAJAN
  • Publication number: 20180324129
    Abstract: 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: Application
    Filed: May 5, 2017
    Publication date: November 8, 2018
    Inventors: Krishnan Varadarajan, Jieqing Wang, Venkates Paramasivam Balakrishnan, Shane K. Mainali, Quan Zhang, Zichen Sun
  • Publication number: 20180307736
    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: Application
    Filed: April 25, 2017
    Publication date: October 25, 2018
    Inventors: Venkates Paramasivam Balakrishnan, Krishnan Varadarajan, Maneesh Sah, Jegan Devaraju, Advait Kumar Mishra, Zichen Sun, Shane Kumar Mainali
  • Publication number: 20180212898
    Abstract: 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: Application
    Filed: March 26, 2018
    Publication date: July 26, 2018
    Applicant: Amazon Technologies, Inc.
    Inventors: AVINASH JAISINGHANI, RETO KRAMER, PRASHANT JAYARAMAN, CHRISTOPHER WHITAKER, VENKATES PARAMASIVAM BALAKRISHNAN
  • Patent number: 9929974
    Abstract: 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: Grant
    Filed: June 15, 2015
    Date of Patent: March 27, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: Avinash Jaisinghani, Reto Kramer, Prashant Jayaraman, Christopher Whitaker, Venkates Paramasivam Balakrishnan
  • Publication number: 20150288618
    Abstract: 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: Application
    Filed: June 15, 2015
    Publication date: October 8, 2015
    Applicant: AMAZON TECHNOLOGIES, INC.
    Inventors: AVINASH JAISINGHANI, RETO KRAMER, PRASHANT JAYARAMAN, CHRISTOPHER WHITAKER, VENKATES PARAMASIVAM BALAKRISHNAN