Patents by Inventor Hemal Khatri

Hemal Khatri 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: 20160070720
    Abstract: Presented herein are methods of replicating versioned and hierarchical data structures, as well as data structures representing complex transactions. Due to interdependencies between data entities and a lack of guaranteed message ordering, simple replication methods employed for simple data types cannot be used. Operations on data structures exhibit dependencies between the messages making up the operations. This strategy can be extended to various types of complex transactions by considering certain messages to depend on other messages or on the existence of other entries at the data store. Regardless of origin, these dependencies can be enforced by suspending the processing of messages with unsatisfied dependencies until all of its dependencies have been met. Alternately, transactions can be committed immediately, creating entities that include versioned identifiers for each of their dependencies. These entities can then be garbage collected of the parent objects are not subsequently created.
    Type: Application
    Filed: July 8, 2015
    Publication date: March 10, 2016
    Inventors: BRADLEY GENE CALDER, NIRANJAN NILAKANTAN, SHASHWAT SRIVASTAV, JIESHENG WU, ABDUL RAFAY ABBASI, SHANE MAINALI, PADMANABHA CHAKRAVARTHY UDDARAJU, JU WANG, HEMAL KHATRI, ARILD SKJOLSVOLD, HARSHAWARDHAN GADGIL
  • Patent number: 9274906
    Abstract: Embodiments of the present invention relate to invoking and managing a failover of a storage account between partitions within a distributed computing environment, where each partition represents a key range of data for the storage account. The partitions affected by the failover include source partitions hosted on a primary storage stamp and destination partitions hosted on a secondary storage stamp, where the storage account's data is being actively replicated from the primary to the secondary storage stamp. Upon receiving a manual or automatic indication to perform the failover, configuring the source partitions to independently perform flush-send operations (e.g., distributing pending messages as a group) and then configuring the destination partitions to independently perform flush-replay operations (e.g., aggressively replaying currently pending transactions).
    Type: Grant
    Filed: June 9, 2014
    Date of Patent: March 1, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Bradley Gene Calder, Niranjan Nilakantan, Shashwat Srivastav, Jiesheng Wu, Arild Einar Skjolsvold, Maxim Mazeev, Abdul Rafay Abbasi, Shane Mainali, Hemal Khatri, Ju Wang, Padmanabha Chakravarthy Uddaraju, Leonidas Rigas
  • Patent number: 9170849
    Abstract: Systems and methods are presented for providing resources by way of a platform as a service in a distributed computing environment to perform a job. Resources of the system, job performing on the system, and schedulers of the jobs performing on the system are decoupled in a manner that allows a job to easily migrate among resources. It is contemplated that the migration of jobs from a first pool of resource to a second pool of resource is performed by the system without human intervention. The migration of a job may utilize different schedulers for the different resources. Further, it is contemplated that a pool of resources may automatically allocate additional or fewer resources in response to a migration of a job.
    Type: Grant
    Filed: January 9, 2012
    Date of Patent: October 27, 2015
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Bradley Gene Calder, Ju Wang, Vaman Bedekar, Sriram Sankaran, Marvin McNett, II, Pradeep Kumar Gunda, Yang Zhang, Shyam Antony, Kavitha Manivannan, Arild E. Skjolsvold, Hemal Khatri
  • Patent number: 9098470
    Abstract: Presented herein are methods of replicating versioned and hierarchical data structures, as well as data structures representing complex transactions. Due to interdependencies between data entities and a lack of guaranteed message ordering, simple replication methods employed for simple data types cannot be used. Operations on data structures exhibit dependencies between the messages making up the operations. This strategy can be extended to various types of complex transactions by considering certain messages to depend on other messages or on the existence of other entries at the data store. Regardless of origin, these dependencies can be enforced by suspending the processing of messages with unsatisfied dependencies until all of its dependencies have been met. Alternately, transactions can be committed immediately, creating entities that include versioned identifiers for each of their dependencies. These entities can then be garbage collected of the parent objects are not subsequently created.
    Type: Grant
    Filed: May 23, 2011
    Date of Patent: August 4, 2015
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Bradley Gene Calder, Niranjan Nilakantan, Shashwat Srivastav, Jiesheng Wu, Abdul Rafay Abbasi, Shane Mainali, Padmanabha Chakravarthy Uddaraju, Ju Wang, Hemal Khatri, Arild Skjolsvold, Harshawardhan Gadgil
  • Publication number: 20150067682
    Abstract: Systems and methods are provided for assigning and associating resources in a cloud computing environment. Virtual machines in the cloud computing environment can be assigned or associated with pools corresponding to users as dedicated, standby, or preemptible machines. The various states provide users with the ability to reserve a desired level of resources while also allowing the operator of the cloud computing environment to increase resource utilization.
    Type: Application
    Filed: October 28, 2014
    Publication date: March 5, 2015
    Applicant: MICROSOFT CORPORATION
    Inventors: BRADLEY GENE CALDER, JU WANG, VAMAN BEDEKAR, SRIRAM SANKARAN, MARVIN McNETT, II, PRADEEP KUMAR GUNDA, YANG ZHANG, SHYAM ANTONY, KAVITHA MANIVANNAN, HEMAL KHATRI
  • Patent number: 8904008
    Abstract: Systems and methods are provided for assigning and associating resources in a cloud computing environment. Virtual machines in the cloud computing environment can be assigned or associated with pools corresponding to users as dedicated, standby, or preemptible machines. The various states provide users with the ability to reserve a desired level of resources while also allowing the operator of the cloud computing environment to increase resource utilization.
    Type: Grant
    Filed: January 9, 2012
    Date of Patent: December 2, 2014
    Assignee: Microsoft Corporation
    Inventors: Bradley Gene Calder, Ju Wang, Vaman Bedekar, Sriram Sankaran, Marvin McNett, II, Pradeep Kumar Gunda, Yang Zhang, Shyam Antony, Kavitha Manivannan, Hemal Khatri
  • Patent number: 8886796
    Abstract: Embodiments of the present invention relate to invoking and managing load-balancing operation(s) applied to partitions within a distributed computing environment, where each partition represents a key range of data for a storage account. The partitions affected by the load-balancing operation(s) are source partitions hosted on a primary storage stamp and/or destination partitions hosted on a secondary storage stamp, where the primary and secondary storage stamps are located in geographically distinct areas and are equipped to replicate the storage account's data therebetween. The load-balancing operation(s) include splitting partitions into child partitions upon detecting an increased workload as a result of active replication, merging partitions to form parent partitions upon detecting a reduction in workload as a result of decreased processing-related resource consumption, or offloading partitions based on resource consumption.
    Type: Grant
    Filed: May 23, 2011
    Date of Patent: November 11, 2014
    Assignee: Microsoft Corporation
    Inventors: Bradley Gene Calder, Niranjan Nilakantan, Shashwat Srivastav, Jiesheng Wu, Abdul Rafay Abbasi, Shane Mainali, Padmanabha Chakravarthy Uddaraju, Arild Einar Skjolsvold, Hemal Khatri, Ju Wang
  • Publication number: 20140289554
    Abstract: Embodiments of the present invention relate to invoking and managing a failover of a storage account between partitions within a distributed computing environment, where each partition represents a key range of data for the storage account. The partitions affected by the failover include source partitions hosted on a primary storage stamp and destination partitions hosted on a secondary storage stamp, where the storage account's data is being actively replicated from the primary to the secondary storage stamp. Upon receiving a manual or automatic indication to perform the failover, configuring the source partitions to independently perform flush-send operations (e.g., distributing pending messages as a group) and then configuring the destination partitions to independently perform flush-replay operations (e.g., aggressively replaying currently pending transactions).
    Type: Application
    Filed: June 9, 2014
    Publication date: September 25, 2014
    Inventors: BRADLEY GENE CALDER, NIRANJAN NILAKANTAN, SHASHWAT SRIVASTAV, JIESHENG WU, ARILD EINAR SKJOLSVOLD, MAXIM MAZEEV, ABDUL RAFAY ABBASI, SHANE MAINALI, HEMAL KHATRI, JU WANG, PADMANABHA CHAKRAVARTHY UDDARAJU, LEONIDAS RIGAS
  • Publication number: 20140258499
    Abstract: Embodiments of the present invention relate to invoking and managing load-balancing operation(s) applied to partitions within a distributed computing environment, where each partition represents a key range of data for a storage account. The partitions affected by the load-balancing operation(s) are source partitions hosted on a primary storage stamp and/or destination partitions hosted on a secondary storage stamp, where the primary and secondary storage stamps are located in geographically distinct areas and are equipped to replicate the storage account's data therebetween. The load-balancing operation(s) include splitting partitions into child partitions upon detecting an increased workload as a result of active replication, merging partitions to form parent partitions upon detecting a reduction in workload as a result of decreased processing-related resource consumption, or offloading partitions based on resource consumption.
    Type: Application
    Filed: May 23, 2011
    Publication date: September 11, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Bradley Gene Calder, Niranjan Nilakantan, Shashwat Srivastav, Jiesheng Wu, Abdul Rafay Abbasi, Shane Mainali, Padmanabha Chakravarthy Uddaraju, Arild Einar Skjolsvold, Hemal Khatri, Ju Wang
  • Patent number: 8751863
    Abstract: Embodiments of the present invention relate to invoking and managing a failover of a storage account between partitions within a distributed computing environment, where each partition represents a key range of data for the storage account. The partitions affected by the failover include source partitions hosted on a primary storage stamp and destination partitions hosted on a secondary storage stamp, where the storage account's data is being actively replicated from the primary to the secondary storage stamp. Upon receiving a manual or automatic indication to perform the failover, configuring the source partitions to independently perform flush-send operations (e.g., distributing pending messages as a group) and then configuring the destination partitions to independently perform flush-replay operations (e.g., aggressively replaying currently pending transactions).
    Type: Grant
    Filed: May 23, 2011
    Date of Patent: June 10, 2014
    Assignee: Microsoft Corporation
    Inventors: Bradley Gene Calder, Niranjan Nilakantan, Shashwat Srivastav, Jiesheng Wu, Arild Einar Skjolsvold, Maxim Mazeev, Abdul Rafay Abbasi, Shane Mainali, Hemal Khatri, Ju Wang, Padmanabha Chakravarthy Uddaraju, Leonidas Rigas
  • Publication number: 20130179881
    Abstract: Systems and methods are presented for providing resources by way of a platform as a service in a distributed computing environment to perform a job. Resources of the system, job performing on the system, and schedulers of the jobs performing on the system are decoupled in a manner that allows a job to easily migrate among resources. It is contemplated that the migration of jobs from a first pool of resource to a second pool of resource is performed by the system without human intervention. The migration of a job may utilize different schedulers for the different resources. Further, it is contemplated that a pool of resources may automatically allocate additional or fewer resources in response to a migration of a job.
    Type: Application
    Filed: January 9, 2012
    Publication date: July 11, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: BRADLEY GENE CALDER, JU WANG, VAMAN BEDEKAR, SRIRAM SANKARAN, MARVIN MCNETT, II, PRADEEP KUMAR GUNDA, YANG ZHANG, SHYAM ANTONY, KAVITHA MANIVANNAN, ARILD E. SKJOLSVOLD, HEMAL KHATRI
  • Publication number: 20130179574
    Abstract: Systems and methods are provided for assigning and associating resources in a cloud computing environment. Virtual machines in the cloud computing environment can be assigned or associated with pools corresponding to users as dedicated, standby, or preemptible machines. The various states provide users with the ability to reserve a desired level of resources while also allowing the operator of the cloud computing environment to increase resource utilization.
    Type: Application
    Filed: January 9, 2012
    Publication date: July 11, 2013
    Applicant: MICROSOFT CORPORTAION
    Inventors: BRADLEY GENE CALDER, JU WANG, VAMAN BEDEKAR, SRIRAM SANKARAN, MARVIN McNETT, II, PRADEEP KUMAR GUNDA, YANG ZHANG, SHYAM ANTONY, KAVITHA MANIVANNAN, HEMAL KHATRI
  • Publication number: 20130179894
    Abstract: Systems and methods are presented for providing resources by way of a platform as a service in a distributed computing environment to perform a job. A user may submit a work item to the system that results in a job being processed on a pool of virtual machines. The pool may be automatically established by the system in response to the work item and other information associated with the work item, the user, and/or the account. Further, it is contemplated that resources associated with the pool, such as virtual machines, may be automatically allocated based, at least in part, on information associated with the work item, the user, the account, the pool, and/or the system.
    Type: Application
    Filed: January 9, 2012
    Publication date: July 11, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: BRADLEY GENE CALDER, JU WANG, VAMAN BEDEKAR, SRIRAM SANKARAN, MARVIN McNETT, II, PRADEEP KUMAR GUNDA, YANG ZHANG, SHYAM ANTONY, KAVITHA MANIVANNAN, ARILD E. SKJOLSVOLD, HEMAL KHATRI
  • Publication number: 20130179895
    Abstract: In various embodiments, systems and methods are presented for providing resources by way of a platform as a service in a distributed computing environment to perform a job. The system may be comprised of a number of components, such as a task machine, a task location service machine, and a high-level location service machines that in combination are useable to accomplish functions provided herein. It is contemplated that the system performs methods for providing resources by determining resources of the system, such as virtual machines, and applying auto-scaling rules to the system to scale those resources. Based on the determination of the auto-scaling rules, the resources may be allocated to achieve a desired result.
    Type: Application
    Filed: January 9, 2012
    Publication date: July 11, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: BRADLEY GENE CALDER, JU WANG, VAMAN BEDEKAR, SRIRAM SANKARAN, MARVIN MCNETT, II, PRADEEP KUMAR GUNDA, YANG ZHANG, SHYAM ANTONY, KAVITHA MANIVANNAN, ARILD E SKJOLSVOLD, HEMAL KHATRI
  • Publication number: 20130179289
    Abstract: Systems and methods are provided for assigning resources in a cloud computing environment via a spot pricing process. The spot pricing process allows virtual machines to be assigned on a preemptible basis to pools based on bids associated with the pools. The bids can be used to determine a price for assignment of preemptible virtual machines. Preemptible virtual machines can then be assigned to pools based at least in part on the submitted bids in relation to the determined price.
    Type: Application
    Filed: January 9, 2012
    Publication date: July 11, 2013
    Applicant: MICROSOFT CORPORTAION
    Inventors: BRADLEY GENE CALDER, JU WANG, SRIRAM SANKARAN, MARVIN McNETT, II, PRADEEP KUMAR GUNDA, YANG ZHANG, SHYAM ANTONY, KAVITHA MANIVANNAN, ARILD E. SKJOLSVOLD, HEMAL KHATRI
  • Publication number: 20120303912
    Abstract: Embodiments of the present invention relate to invoking and managing migration operations applied to partitions within a distributed computing environment, where each partition represents a key range of data for a storage account. The partitions affected by the migration operations are source partitions hosted on a primary storage stamp and/or destination partitions hosted on a secondary storage stamp, where the primary and secondary storage stamps are equipped to replicate the storage account's data therebetween upon initiating a migration. Upon substantial completion of a bootstrapping phase of replication, one migration operation includes designating the secondary storage stamp as a new primary storage stamp such that the destination partitions commence processing client requests, sending resultant transactions to the source partitions, and providing read and write access thereto.
    Type: Application
    Filed: May 23, 2011
    Publication date: November 29, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Bradley Gene Calder, Niranjan Nilakantan, Shashwat Srivastav, Jiesheng Wu, Arild Einar Skjolsvold, Maxim Mazeev, Abdul Rafay Abbasi, Shane Mainali, Hemal Khatri, Ju Wang
  • Publication number: 20120303578
    Abstract: Presented herein are methods of replicating versioned and hierarchical data structures, as well as data structures representing complex transactions. Due to interdependencies between data entities and a lack of guaranteed message ordering, simple replication methods employed for simple data types cannot be used. Operations on data structures exhibit dependencies between the messages making up the operations. This strategy can be extended to various types of complex transactions by considering certain messages to depend on other messages or on the existence of other entries at the data store. Regardless of origin, these dependencies can be enforced by suspending the processing of messages with unsatisfied dependencies until all of its dependencies have been met. Alternately, transactions can be committed immediately, creating entities that include versioned identifiers for each of their dependencies. These entities can then be garbage collected of the parent objects are not subsequently created.
    Type: Application
    Filed: May 23, 2011
    Publication date: November 29, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Bradley Gene Calder, Niranjan Nilakantan, Shashwat Srivastav, Jiesheng Wu, Abdul Rafay Abbasi, Shane Mainali, Padmanabha Chakravarthy Uddaraju, Ju Wang, Hemal Khatri, Arild Skjolsvold, Harshawardhan Gadgil
  • Publication number: 20120303999
    Abstract: Embodiments of the present invention relate to invoking and managing a failover of a storage account between partitions within a distributed computing environment, where each partition represents a key range of data for the storage account. The partitions affected by the failover include source partitions hosted on a primary storage stamp and destination partitions hosted on a secondary storage stamp, where the storage account's data is being actively replicated from the primary to the secondary storage stamp. Upon receiving a manual or automatic indication to perform the failover, configuring the source partitions to independently perform flush-send operations (e.g., distributing pending messages as a group) and then configuring the destination partitions to independently perform flush-replay operations (e.g., aggressively replaying currently pending transactions).
    Type: Application
    Filed: May 23, 2011
    Publication date: November 29, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Bradley Gene Calder, Niranjan Nilakantan, Shashwat Srivastav, Jiesheng Wu, Arild Einar Skjolsvold, Maxim Mazeev, Abdul Rafay Abbasi, Shane Mainali, Hemal Khatri, Ju Wang, Padmanabha Chakravarthy Uddaraju, Leonidas Rigas
  • Publication number: 20120303791
    Abstract: Embodiments of the present invention relate to invoking and managing load-balancing operation(s) applied to partitions within a distributed computing environment, where each partition represents a key range of data for a storage account. The partitions affected by the load-balancing operation(s) are source partitions hosted on a primary storage stamp and/or destination partitions hosted on a secondary storage stamp, where the primary and secondary storage stamps are located in geographically distinct areas and are equipped to replicate the storage account's data therebetween. The load-balancing operation(s) include splitting partitions into child partitions upon detecting an increased workload as a result of active replication, merging partitions to form parent partitions upon detecting a reduction in workload as a result of decreased processing-related resource consumption, or offloading partitions based on resource consumption.
    Type: Application
    Filed: May 23, 2011
    Publication date: November 29, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Bradley Gene Calder, Niranjan Nilakantan, Shashwat Srivastav, Jiesheng Wu, Abdul Rafay Abbasi, Shane Mainali, Padmanabha Chakravarthy Uddaraju, Arild Einar Skjolsvold, Hemal Khatri, Ju Wang