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: 11132350Abstract: 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: GrantFiled: December 4, 2018Date of Patent: September 28, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Mihail Gavril Tarta, Gopal Kakivaya, Preetha Lakshmi Subbarayalu
-
Publication number: 20200287961Abstract: 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: ApplicationFiled: February 27, 2020Publication date: September 10, 2020Inventors: Matthew Snider, Anurag Gupta, Lu Xun, Yang Li, Gopal Kakivaya, Hua-Jun Zeng
-
Patent number: 10623481Abstract: 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: GrantFiled: September 11, 2015Date of Patent: April 14, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Matthew Snider, Anurag Gupta, Lu Xun, Yang Li, Gopal Kakivaya, Hua-Jun Zeng
-
Publication number: 20190108166Abstract: 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: ApplicationFiled: December 4, 2018Publication date: April 11, 2019Inventors: Mihail Gavril TARTA, Gopal KAKIVAYA, Preetha Lakshmi SUBBARAYALU
-
Patent number: 10237339Abstract: 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: GrantFiled: August 19, 2016Date of Patent: March 19, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Abhiram Chivukula, Gopal Kakivaya, Matthew Snider
-
Patent number: 10185736Abstract: 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: GrantFiled: June 26, 2015Date of Patent: January 22, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Mihail Gavril Tarta, Gopal Kakivaya, Preetha Lakshmi Subbarayalu
-
Patent number: 10153941Abstract: 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: GrantFiled: May 17, 2016Date of Patent: December 11, 2018Assignee: Microsoft Technology Licensing, LLCInventors: David Dion, James Johnson, Marcus Fontoura, Milan Vukosavljevic, Mark Russinovich, Gopal Kakivaya
-
Publication number: 20180054477Abstract: 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: ApplicationFiled: August 19, 2016Publication date: February 22, 2018Inventors: Abhiram CHIVUKULA, Gopal Kakivaya, Matthew Snider
-
Publication number: 20170339008Abstract: 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: ApplicationFiled: May 17, 2016Publication date: November 23, 2017Inventors: David Dion, James Johnson, Marcus Fontoura, Milan Vukosavljevic, Mark Russinovich, Gopal Kakivaya
-
Publication number: 20160316003Abstract: 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: ApplicationFiled: September 11, 2015Publication date: October 27, 2016Inventors: MATTHEW SNIDER, Anurag Gupta, Lu Xun, Yang Li, Gopal Kakivaya, Hua-Jun Zeng
-
Publication number: 20160314162Abstract: 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: ApplicationFiled: June 26, 2015Publication date: October 27, 2016Inventors: MIHAIL GAVRIL TARTA, GOPAL KAKIVAYA, PREETHA LAKSHMI SUBBARAYALU
-
Patent number: 9146794Abstract: 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: GrantFiled: October 1, 2012Date of Patent: September 29, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Lu Xun, Mihail Gavril Tarta, Yang Li, Gopal Kakivaya
-
Patent number: 7453875Abstract: 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: GrantFiled: March 23, 2005Date of Patent: November 18, 2008Assignee: Microsoft CorporationInventors: 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: 20060277458Abstract: 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: ApplicationFiled: July 16, 2004Publication date: December 7, 2006Applicant: Microsoft CorporationInventors: Andrew Layman, Gopal Kakivaya, Satish Thatte
-
Publication number: 20060235983Abstract: 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: ApplicationFiled: June 26, 2006Publication date: October 19, 2006Applicant: Microsoft CorporationInventors: Andrew Layman, Gopal Kakivaya, Satish Thatte, Henrik Nielsen, Robert Atkinson
-
Publication number: 20060215571Abstract: 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: ApplicationFiled: March 23, 2005Publication date: September 28, 2006Applicant: Microsoft CorporationInventors: Michael Vernal, Erik Christensen, Martin Gudgin, John Justice, Gopal Kakivaya, David Langworthy, Yaniv Pessach, Jeffrey Schlimmer, Elliot Waingold, Kenneth Wolf
-
Publication number: 20060123333Abstract: 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: ApplicationFiled: July 16, 2004Publication date: June 8, 2006Applicant: Microsoft CorporationInventors: Andrew Layman, Gopal Kakivaya, Satish Thatte
-
Publication number: 20050234873Abstract: 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: ApplicationFiled: October 24, 2003Publication date: October 20, 2005Inventors: Andrew Milligan, Charles Reeves, Jeffrey Parham, Gopal Kakivaya, Lawrence Buerk, Angela Mills, Richard Hasha