Patents by Inventor Gopal Kakivaya

Gopal Kakivaya 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: 11132350
    Abstract: In various embodiments, methods and systems for optimizing database transactions based on replicable differential data store data structure are provided. A write operation request, having a key for a write operation on a replicable differential store data structure, is accessed. An intent write lock on a differential state and a write lock on the key are acquired. The differential state comprises a result set of currently committing transactions. A transaction instance, of the write operation, is generated for a write set, the transaction instance comprising a modification to the key. The write-set comprises an uncommitted set of writes for in-flight transactions. A determination is made that the write operation is committed. A result of the transaction instance is persisted when the write operation is committed. It is contemplated that the differential state and a consolidated state can be merged, the consolidated state comprises a result set of previously committed transactions.
    Type: Grant
    Filed: December 4, 2018
    Date of Patent: September 28, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mihail Gavril Tarta, Gopal Kakivaya, Preetha Lakshmi Subbarayalu
  • Publication number: 20200287961
    Abstract: In various implementations, methods and systems resource balancing in a distributed computing environment are provided. A client defined resource metric is received that represents a resource of nodes of the cloud computing platform. A placement plan for job instances of service applications is generated. The placement plan includes one or more movements that are executable to achieve a target placement of the job instances on the nodes. It is determined that the placement plan complies with placement rules. Each placement rule dictates whether a given job instance of the job instances is suitable for placement on a given node of the nodes. The placement plan is executed based on determining that the target placement of the job instances improves balance of resources across the nodes of the cloud computing platform based on the resource represented by the client defined resource metric.
    Type: Application
    Filed: February 27, 2020
    Publication date: September 10, 2020
    Inventors: Matthew Snider, Anurag Gupta, Lu Xun, Yang Li, Gopal Kakivaya, Hua-Jun Zeng
  • Patent number: 10623481
    Abstract: In various implementations, methods and systems resource balancing in a distributed computing environment are provided. A client defined resource metric is received that represents a resource of nodes of the cloud computing platform. A placement plan for job instances of service applications is generated. The placement plan includes one or more movements that are executable to achieve a target placement of the job instances on the nodes. It is determined that the placement plan complies with placement rules. Each placement rule dictates whether a given job instance of the job instances is suitable for placement on a given node of the nodes. The placement plan is executed based on determining that the target placement of the job instances improves balance of resources across the nodes of the cloud computing platform based on the resource represented by the client defined resource metric.
    Type: Grant
    Filed: September 11, 2015
    Date of Patent: April 14, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Matthew Snider, Anurag Gupta, Lu Xun, Yang Li, Gopal Kakivaya, Hua-Jun Zeng
  • Publication number: 20190108166
    Abstract: In various embodiments, methods and systems for optimizing database transactions based on replicable differential data store data structure are provided. A write operation request, having a key for a write operation on a replicable differential store data structure, is accessed. An intent write lock on a differential state and a write lock on the key are acquired. The differential state comprises a result set of currently committing transactions. A transaction instance, of the write operation, is generated for a write set, the transaction instance comprising a modification to the key. The write-set comprises an uncommitted set of writes for in-flight transactions. A determination is made that the write operation is committed. A result of the transaction instance is persisted when the write operation is committed. It is contemplated that the differential state and a consolidated state can be merged, the consolidated state comprises a result set of previously committed transactions.
    Type: Application
    Filed: December 4, 2018
    Publication date: April 11, 2019
    Inventors: Mihail Gavril TARTA, Gopal KAKIVAYA, Preetha Lakshmi SUBBARAYALU
  • Patent number: 10237339
    Abstract: A resource balancer for a cluster of nodes in a cloud computing system includes a load calculation module that receives load reports for respective load metrics associated with the nodes, wherein the load reports are indicative of respective loads on a plurality of resources provided by the nodes, calculates, based on the received load reports, an expected distribution of loads across the nodes for each load metric, and calculates, based on the expected distribution of loads, probabilities that each of the load metrics will exceed a respective predetermined capacity for each node. A load balancing module selectively balances, based on the calculated probabilities, the loads on the resources provided by the nodes.
    Type: Grant
    Filed: August 19, 2016
    Date of Patent: March 19, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Abhiram Chivukula, Gopal Kakivaya, Matthew Snider
  • Patent number: 10185736
    Abstract: In various embodiments, methods and systems for optimizing database transactions based on replicable differential data store data structure are provided. A write operation request, having a key for a write operation on a replicable differential store data structure, is accessed. An intent write lock on a differential state and a write lock on the key are acquired. The differential state comprises a result set of currently committing transactions. A transaction instance, of the write operation, is generated for a write set, the transaction instance comprising a modification to the key. The write-set comprises an uncommitted set of writes for in-flight transactions. A determination is made that the write operation is committed. A result of the transaction instance is persisted when the write operation is committed. It is contemplated that the differential state and a consolidated state can be merged, the consolidated state comprises a result set of previously committed transactions.
    Type: Grant
    Filed: June 26, 2015
    Date of Patent: January 22, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Mihail Gavril Tarta, Gopal Kakivaya, Preetha Lakshmi Subbarayalu
  • Patent number: 10153941
    Abstract: Certain embodiments of computing systems, devices, components, modules, routines, and processes for implementing distributed operational control in a computing fabric are described herein. In one embodiment, a method includes receiving, at a control cluster, a tenant request for a cloud-based computing service at the computing system. The method also includes creating an application configured to provide the requested cloud-based computing service based on the tenant request and pushing configuration data of the created application to the execution cluster to be executed at the execution cluster without further intervention from the control cluster.
    Type: Grant
    Filed: May 17, 2016
    Date of Patent: December 11, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Dion, James Johnson, Marcus Fontoura, Milan Vukosavljevic, Mark Russinovich, Gopal Kakivaya
  • Publication number: 20180054477
    Abstract: A resource balancer for a cluster of nodes in a cloud computing system includes a load calculation module that receives load reports for respective load metrics associated with the nodes, wherein the load reports are indicative of respective loads on a plurality of resources provided by the nodes, calculates, based on the received load reports, an expected distribution of loads across the nodes for each load metric, and calculates, based on the expected distribution of loads, probabilities that each of the load metrics will exceed a respective predetermined capacity for each node. A load balancing module selectively balances, based on the calculated probabilities, the loads on the resources provided by the nodes.
    Type: Application
    Filed: August 19, 2016
    Publication date: February 22, 2018
    Inventors: Abhiram CHIVUKULA, Gopal Kakivaya, Matthew Snider
  • Publication number: 20170339008
    Abstract: Certain embodiments of computing systems, devices, components, modules, routines, and processes for implementing distributed operational control in a computing fabric are described herein. In one embodiment, a method includes receiving, at a control cluster, a tenant request for a cloud-based computing service at the computing system. The method also includes creating an application configured to provide the requested cloud-based computing service based on the tenant request and pushing configuration data of the created application to the execution cluster to be executed at the execution cluster without further intervention from the control cluster.
    Type: Application
    Filed: May 17, 2016
    Publication date: November 23, 2017
    Inventors: David Dion, James Johnson, Marcus Fontoura, Milan Vukosavljevic, Mark Russinovich, Gopal Kakivaya
  • Publication number: 20160316003
    Abstract: In various implementations, methods and systems resource balancing in a distributed computing environment are provided. A client defined resource metric is received that represents a resource of nodes of the cloud computing platform. A placement plan for job instances of service applications is generated. The placement plan includes one or more movements that are executable to achieve a target placement of the job instances on the nodes. It is determined that the placement plan complies with placement rules. Each placement rule dictates whether a given job instance of the job instances is suitable for placement on a given node of the nodes. The placement plan is executed based on determining that the target placement of the job instances improves balance of resources across the nodes of the cloud computing platform based on the resource represented by the client defined resource metric.
    Type: Application
    Filed: September 11, 2015
    Publication date: October 27, 2016
    Inventors: MATTHEW SNIDER, Anurag Gupta, Lu Xun, Yang Li, Gopal Kakivaya, Hua-Jun Zeng
  • Publication number: 20160314162
    Abstract: In various embodiments, methods and systems for optimizing database transactions based on replicable differential data store data structure are provided. A write operation request, having a key for a write operation on a replicable differential store data structure, is accessed. An intent write lock on a differential state and a write lock on the key are acquired. The differential state comprises a result set of currently committing transactions. A transaction instance, of the write operation, is generated for a write set, the transaction instance comprising a modification to the key. The write-set comprises an uncommitted set of writes for in-flight transactions. A determination is made that the write operation is committed. A result of the transaction instance is persisted when the write operation is committed. It is contemplated that the differential state and a consolidated state can be merged, the consolidated state comprises a result set of previously committed transactions.
    Type: Application
    Filed: June 26, 2015
    Publication date: October 27, 2016
    Inventors: MIHAIL GAVRIL TARTA, GOPAL KAKIVAYA, PREETHA LAKSHMI SUBBARAYALU
  • Patent number: 9146794
    Abstract: Arbitrating node failures. A method includes determining at a first node that communication to a second node has been lost. The method further includes sending an arbitration request to a plurality of arbitrators. The method further includes receiving from the plurality of arbitrators a sufficient number of arbitration reply grant messages to have arbitration reply grant messages from a quorum of the arbitrators. As a result of receiving a sufficient number of arbitration reply grant messages to have arbitration reply grant messages from a quorum of the arbitrators, the method further includes declaring the second node down.
    Type: Grant
    Filed: October 1, 2012
    Date of Patent: September 29, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Lu Xun, Mihail Gavril Tarta, Yang Li, Gopal Kakivaya
  • Patent number: 7453875
    Abstract: A sending computer system can identify one or more available network resources at one or more network computers by sending a request for services using Simple Object Access Protocol (SOAP) over User Datagram Protocol (UDP). In particular, the sending computer system prepares a SOAP message that includes a request for available resources. The sending computer system then encapsulates the SOAP message into a user datagram, and sends the user datagram to one or more identifiable computer systems on the network. In one implementation, the sending computer system sends the user datagram to a multi-cast Uniform Resource Identifier (URI). The receiving computer system receives the message through UDP, unpacks the message, and responds to the SOAP message request. Accordingly, the sending computer system can query multiple computer systems in an efficient manner without necessarily incurring the overhead otherwise associated with connection-oriented communication.
    Type: Grant
    Filed: March 23, 2005
    Date of Patent: November 18, 2008
    Assignee: Microsoft Corporation
    Inventors: Michael S. Vernal, Erik B. Christensen, Martin Gudgin, John R. Justice, Gopal Kakivaya, David Langworthy, Yaniv Pessach, Jeffrey Schlimmer, Elliot Waingold, Kenneth D. Wolf
  • Publication number: 20060277458
    Abstract: Here is described an implementation of an object persister, which serializes an object to preserve the object's data structure and its current data. The serialized object is encoded using XML and inserted within a message. That message is transmitted to an entity over a network. Such a transmission is performed using standard Internet protocols, such as HTML. Upon receiving the serialed object, the receiving entity deserializes the object to use it. Rather than include copies of referenced objects within the serialized object, the object persister includes references to those objects. This avoids redundant inclusion of the same object and potentially infinite inclusion of the object itself that is being serialized.
    Type: Application
    Filed: July 16, 2004
    Publication date: December 7, 2006
    Applicant: Microsoft Corporation
    Inventors: Andrew Layman, Gopal Kakivaya, Satish Thatte
  • Publication number: 20060235983
    Abstract: Using a message exchanger (“message exchanger”), data messages are exchanged between entities in a decentralized, distributed, potentially heterogeneous, network environment. The message exchanger employs XML (extensible Markup Language). To accomplish this, the entities on both ends of the message exchange understand, identify, and parse the message format. The message exchanger defines such a mechanism. Data messages are broken down into two portions—one portion (the body) is intended from an ultimate destination and the other portion (the header) is intended for intermediate destination and/or the ultimate destination. The body may be defined so that it must be understood by the ultimate destination. The header may be defined so that it must be understood or changed. Regardless, the data in the body is delivered intact to the ultimate destination. The message exchanger defines a message envelope exchange format in XML over a transport protocol, such as HTTP (HyperText Transport Protocol).
    Type: Application
    Filed: June 26, 2006
    Publication date: October 19, 2006
    Applicant: Microsoft Corporation
    Inventors: Andrew Layman, Gopal Kakivaya, Satish Thatte, Henrik Nielsen, Robert Atkinson
  • Publication number: 20060215571
    Abstract: A sending computer system can identify one or more available network resources at one or more network computers by sending a request for services using SOAP over UDP. In particular, the sending computer system prepares a SOAP message that includes a request for available resources. The sending computer system then encapsulates the SOAP message into a user datagram, and sends the user datagram to one or more identifiable computer systems on the network. In one implementation, the sending computer system sends the user datagram to a multi-cast URI. The receiving computer system receives the message through UDP, unpacks the message, and responds to the SOAP message request. Accordingly, the sending computer system can query multiple computer systems in an efficient manner without necessarily incurring the overhead otherwise associated with connection-oriented communication.
    Type: Application
    Filed: March 23, 2005
    Publication date: September 28, 2006
    Applicant: Microsoft Corporation
    Inventors: Michael Vernal, Erik Christensen, Martin Gudgin, John Justice, Gopal Kakivaya, David Langworthy, Yaniv Pessach, Jeffrey Schlimmer, Elliot Waingold, Kenneth Wolf
  • Publication number: 20060123333
    Abstract: Herein is described an implementation of an object persister, which serializes an object to preserve the object's data structure and its current data. The serialized object is encoded using XML and inserted within a message. That message is transmitted to an entity over a network. Such a transmission is performed using standard Internet protocols, such as HTML. Upon receiving the serialized object, the receiving entity deserializes the object to use it. Rather than include copies of referenced objects within the serialized object, the object persister includes references to those objects. This avoids redundant inclusion of the same object and potentially infinite inclusion of the object itself that is being serialized.
    Type: Application
    Filed: July 16, 2004
    Publication date: June 8, 2006
    Applicant: Microsoft Corporation
    Inventors: Andrew Layman, Gopal Kakivaya, Satish Thatte
  • Publication number: 20050234873
    Abstract: A system and methods for service discovery and publication are disclosed. Application programs write requests for service discovery, publication, and subscription to a service discovery application programming interface. The service discovery application programming interface invokes one or more lower-level protocols to satisfy the discovery, publication and/or subscription request. Service information retrieved from lower-layer protocols is formatted into a consistent data model and returned to the client application. In addition, service information may be stored in a persistent data store managed by a discovery persistence service communicatively connected to the service discovery API.
    Type: Application
    Filed: October 24, 2003
    Publication date: October 20, 2005
    Inventors: Andrew Milligan, Charles Reeves, Jeffrey Parham, Gopal Kakivaya, Lawrence Buerk, Angela Mills, Richard Hasha