Patents by Inventor Gopala Krishna R. Kakivaya

Gopala Krishna R. 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: 8516032
    Abstract: The present invention extends to methods, systems, and computer program products for performing computations in a distributed infrastructure. Embodiments of the invention include a general purpose distributed computation infrastructure that can be used to perform efficient (in-memory), scalable, failure-resilient, atomic, flow-controlled, long-running state-less and state-full distributed computations. Guarantees provided by a distributed computation infrastructure can build upon existent guarantees of an underlying distributed fabric in order to hide the complexities of fault-tolerance, enable large scale highly available processing, allow for efficient resource utilization, and facilitate generic development of stateful and stateless computations. A distributed computation infrastructure can also provide a substrate on which existent distributed computation models can be enhanced to become failure-resilient.
    Type: Grant
    Filed: September 28, 2010
    Date of Patent: August 20, 2013
    Assignee: Microsoft Corporation
    Inventors: Mihail Gavril Tarta, Gopala Krishna R. Kakivaya
  • Patent number: 8417813
    Abstract: Methods, systems and computer program products are provided for rendezvousing resource requests with corresponding resources. Doubly linked sorted lists are traversed using modulo arithmetic in both directions. Sorted lists can be partitioned based on a multiple proximity metrics. Node routing tables provide a logarithmic index to nodes within the ID space of the federation infrastructure to facilitate more efficient routing. Messages can be routed to nodes within a ring and proximally routed to nodes in other partitioned rings.
    Type: Grant
    Filed: June 7, 2011
    Date of Patent: April 9, 2013
    Assignee: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Richard L. Hasha, Thomas Lee Rodeheffer
  • Patent number: 8392515
    Abstract: A computational system determines that a joining node in the federation infrastructure desires to join an identified subfederation within the federation infrastructure. The system accesses the joining node's group table, where the group table includes membership information identifying subfederations within the federation infrastructure. Each node in the federation maintains neighborhood information for each subfederation of which the node is aware. The system determines that no entry for the identified subfederation exists in the joining node's group table and, based on the determination, routes a group join message to a rendezvous point within the federation infrastructure. The rendezvous point checks its group table for an entry corresponding to the identified subfederation.
    Type: Grant
    Filed: June 25, 2009
    Date of Patent: March 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Lu Xun, Richard L. Hasha
  • Patent number: 8352658
    Abstract: A replicated finite state machine lock service facilitates resource sharing in a distributed system. A lock request from a client identifies a resource and a lock-mode, and requests a leaseless lock on the resource. The service uses client instance identifiers to categorize requests as duplicate, stale, abandoned, or actionable. A lock may be abandoned when a client holding the lock goes down. After a per-client abandonment timer expires, the lock service may treat any exclusive lock granted to the client as abandoned, and treat any non-exclusive lock granted to the client as unlocked. The service tries to notify a lock-holding client if another client requests the same lock, and treats the lock as abandoned if the notification attempt fails. An abandoned read lock is granted to a different client on request. An abandoned write lock is granted or refused depending on whether the requesting client accepts abandoned write locks.
    Type: Grant
    Filed: May 27, 2010
    Date of Patent: January 8, 2013
    Assignee: Microsoft Corporation
    Inventors: Mihail Gavril Tarta, Gopala Krishna R. Kakivaya
  • Publication number: 20120331122
    Abstract: Resources are organized into collections to facilitate more efficient and reliable resource access. Namespace managers communicate with one another to form a federation namespace infrastructure. The infrastructure efficiently routes, migrates, and processes namespace requests, such as, for example, namespace registration requests from providers requesting to manage portions of namespaces and lookup requests from consumers requesting access to managed resources. Resources are registered in and made accessible from multiple different namespaces. Resources are identified using nested queries that filter results at multiple levels of a hierarchical namespace.
    Type: Application
    Filed: August 30, 2012
    Publication date: December 27, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Gopala Krishna R. Kakivaya, Richard L. Hasha
  • Publication number: 20120331103
    Abstract: Resources are organized into collections to facilitate more efficient and reliable resource access. Namespace managers communicate with one another to form a federation namespace infrastructure. The infrastructure can efficiently route, migrate, and process namespace requests, such as, for example, namespace registration requests from providers requesting to manage portions of namespaces and lookup requests from consumers requesting access to managed resources. Resources can be registered in and made accessible from multiple different namespaces. Resources can be identified using nested queries that filter results at multiple levels of a hierarchical namespace.
    Type: Application
    Filed: August 30, 2012
    Publication date: December 27, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Gopala Krishna R. Kakivaya, Richard L. Hasha
  • Patent number: 8307028
    Abstract: The present invention extends to methods, systems, and computer program products for organizing resources into collections to facilitate more efficient and reliable resource access. Namespace managers communicate with one another to form a federation namespace infrastructure. The infrastructure can efficiently route, migrate, and process namespace requests, such as, for example, namespace registration requests from providers requesting to manage portions of namespaces and lookup requests from consumers requesting access to managed resources. Resources can be registered in and made accessible from multiple different namespaces. Resources can be identified using nested queries that filter results at multiple levels of a hierarchical namespace.
    Type: Grant
    Filed: September 9, 2009
    Date of Patent: November 6, 2012
    Assignee: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Richard L. Hasha
  • Patent number: 8275826
    Abstract: The present invention extends to methods, systems, and computer program products for organizing resources into collections to facilitate more efficient and reliable resource access. Namespace managers communicate with one another to form a federation namespace infrastructure. The infrastructure can efficiently route, migrate, and process namespace requests, such as, for example, namespace registration requests from providers requesting to manage portions of namespaces and lookup requests from consumers requesting access to managed resources. Resources can be registered in and made accessible from multiple different namespaces. Resources can be identified using nested queries that filter results at multiple levels of a hierarchical namespace.
    Type: Grant
    Filed: September 9, 2009
    Date of Patent: September 25, 2012
    Assignee: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Richard L. Hasha
  • Patent number: 8250230
    Abstract: Implementations of the present invention relate in part to optimizations to peer-to-peer communication systems. For example, one implementation relates to use of a smart transceiver that creates, caches, and manages communication channels dynamically between peers. Another implementation relates to use of a central tracking object that can be used to efficiently register and distribute peer messages among the various peers. In one implementation, the central tracking object is shared amongst peers in the group. Still another implementation relates to associating peer groups with namespaces, and for including peer groups of one namespace within still other peer groups of different namespaces. These and other aspects of the invention can also be used to ensure delivery intent of a given peer message is preserved, and to ensure that optimal numbers of messages are communicated to any given peer at any given time.
    Type: Grant
    Filed: January 4, 2006
    Date of Patent: August 21, 2012
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, Gopala Krishna R. Kakivaya, Hervey Oliver Wilson, Richard L. Hasha
  • Publication number: 20120079234
    Abstract: The present invention extends to methods, systems, and computer program products for performing computations in a distributed infrastructure. Embodiments of the invention include a general purpose distributed computation infrastructure that can be used to perform efficient (in-memory), scalable, failure-resilient, atomic, flow-controlled, long-running state-less and state-full distributed computations. Guarantees provided by a distributed computation infrastructure can build upon existent guarantees of an underlying distributed fabric in order to hide the complexities of fault-tolerance, enable large scale highly available processing, allow for efficient resource utilization, and facilitate generic development of stateful and stateless computations. A distributed computation infrastructure can also provide a substrate on which existent distributed computation models can be enhanced to become failure-resilient.
    Type: Application
    Filed: September 28, 2010
    Publication date: March 29, 2012
    Applicant: Microsoft Corporation
    Inventors: Mihail Gavril Tarta, Gopala Krishna R. Kakivaya
  • Publication number: 20120036237
    Abstract: A primary node is elected from among a plurality of nodes in a replica set of nodes. The primary node accepts and processes client data access requests. The replica set includes the primary node and other secondary nodes. The primary node receives client data access requests and assigns a data sequence number to each client data access request that mutates state in the order the client data access requests are received. The data sequence numbers include a linearized processing order that is followed by each of the nodes in the replica set. The primary node sends the mutating client data access requests including any corresponding data sequence numbers to the secondary nodes. The primary node receives, from a threshold number of secondary nodes, an acknowledgement indicating reception of the client data access request. The primary node commits the data mutating access request.
    Type: Application
    Filed: August 30, 2011
    Publication date: February 9, 2012
    Applicant: Microsoft Corporation
    Inventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya, Dahlia Malkhi
  • Patent number: 8095601
    Abstract: The present invention extends to methods, systems, and computer program products for facilitating inter-proximity communication within a rendezvous federation. Nodes maintain collateral ring set entry tables that include collateral rings and corresponding entry nodes into the collateral rings. Nodes can exchange collateral ring set entry state to update one another on the configuration of rings within a tree of rings. Nodes can refer to collateral ring set entry tables, as well as to other nodes, to identify entry nodes into rings that are collateral rings of the node. Messages can be sent to entry nodes in collateral rings. A message can include an indication that an entry node in a target proximity ring is to resolve the message to the node in the target proximity ring which has a node ID closest to an indicated destination node.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: January 10, 2012
    Assignee: Microsoft Corporation
    Inventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya
  • Patent number: 8095600
    Abstract: The present invention extends to methods, systems, and computer program products for facilitating inter-proximity communication within a rendezvous federation. Nodes maintain collateral ring set entry tables that include collateral rings and corresponding entry nodes into the collateral rings. Nodes can exchange collateral ring set entry state to update one another on the configuration of rings within a tree of rings. Nodes can refer to collateral ring set entry tables, as well as to other nodes, to identify entry nodes into rings that are collateral rings of the node. Messages can be sent to entry nodes in collateral rings. A message can include an indication that an entry node in a target proximity ring is to resolve the message to the node in the target proximity ring which has a node ID closest to an indicated destination node.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: January 10, 2012
    Assignee: Microsoft Corporation
    Inventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya
  • Patent number: 8090880
    Abstract: In some embodiments, it is determined that a primary node has been elected from among a plurality of nodes in a replica set of nodes. The primary node accepts and processes client data access requests. The replica set includes the primary node and other secondary nodes. The primary node receives client data access requests. The primary node assigns a data sequence number to each client data access request that mutates state in the order the client data access requests are received. The data sequence numbers include a linearized processing order that is to be followed by each of the nodes in the replica set. The primary node sends the mutating client data access requests including any corresponding data sequence numbers to the secondary nodes. The primary node receives, from a threshold number of secondary nodes, an acknowledgement indicating reception of the client data access request. The primary node commits the data mutating access request.
    Type: Grant
    Filed: November 7, 2007
    Date of Patent: January 3, 2012
    Assignee: Microsoft Corporation
    Inventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya, Dahlia Malkhi
  • Publication number: 20110296069
    Abstract: A replicated finite state machine lock service facilitates resource sharing in a distributed system. A lock request from a client identifies a resource and a lock-mode, and requests a leaseless lock on the resource. The service uses client instance identifiers to categorize requests as duplicate, stale, abandoned, or actionable. A lock may be abandoned when a client holding the lock goes down. After a per-client abandonment timer expires, the lock service may treat any exclusive lock granted to the client as abandoned, and treat any non-exclusive lock granted to the client as unlocked. The service tries to notify a lock-holding client if another client requests the same lock, and treats the lock as abandoned if the notification attempt fails. An abandoned read lock is granted to a different client on request. An abandoned write lock is granted or refused depending on whether the requesting client accepts abandoned write locks.
    Type: Application
    Filed: May 27, 2010
    Publication date: December 1, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Mihail Gavril Tarta, Gopala Krishna R. Kakivaya
  • Publication number: 20110238841
    Abstract: The present invention extends to methods, systems, and computer program products for rendezvousing resource requests with corresponding resources. Doubly linked sorted lists are traversed using modulo arithmetic in both directions. Sorted lists can be partitioned based on a multiple proximity metrics. Node routing tables provide a logarithmic index to nodes within the ID space of the federation infrastructure to facilitate more efficient routing. Messages can be routed to nodes within a ring and proximally routed to nodes in other partitioned rings.
    Type: Application
    Filed: June 7, 2011
    Publication date: September 29, 2011
    Applicant: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Richard L. Hasha, Thomas Lee Rodeheffer
  • Publication number: 20110235551
    Abstract: The present invention extends to methods, systems, and computer program products for rendezvousing resource requests with corresponding resources. Doubly linked sorted lists are traversed using modulo arithmetic in both directions. Sorted lists can be partitioned based on a multiple proximity metrics. Node routing tables provide a logarithmic index to nodes within the ID space of the federation infrastructure to facilitate more efficient routing. Messages can be routed to nodes within a ring and proximally routed to nodes in other partitioned rings.
    Type: Application
    Filed: June 7, 2011
    Publication date: September 29, 2011
    Applicant: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Richard L. Hasha, Thomas Lee Rodeheffer
  • Patent number: 8014321
    Abstract: The present invention extends to methods, systems, and computer program products for rendezvousing resource requests with corresponding resources. Doubly linked sorted lists are traversed using modulo arithmetic in both directions. Sorted lists can be partitioned based on a multiple proximity metrics. Node routing tables provide a logarithmic index to nodes within the ID space of the federation infrastructure to facilitate more efficient routing. Messages can be routed to nodes within a ring and proximally routed to nodes in other partitioned rings.
    Type: Grant
    Filed: September 7, 2005
    Date of Patent: September 6, 2011
    Assignee: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Richard L. Hasha, Thomas Lee Rodeheffer
  • Patent number: 7958262
    Abstract: The present invention extends to methods, systems, and computer program products for allocating and reclaiming resources within a rendezvous federation. Embodiments of the invention include formulating and routing messages in accordance with cached two-way agreements between adjacent nodes on a ring of nodes. Cached two-way agreements divide responsibility for at least unoccupied identifiers between the adjacent nodes on a ring. When a message is received at a node, the node can refer to a cached two-way agreement to determine if it or an adjacent node is responsible for the message. The node then sends the message to the next appropriate component in accordance with the cached two-way agreement.
    Type: Grant
    Filed: May 22, 2007
    Date of Patent: June 7, 2011
    Assignee: Microsoft Corporation
    Inventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya, Dahlia Malkhi
  • Patent number: 7941793
    Abstract: A system and method for mitigating problems associated with automatic execution of initialization code is provided. The system includes an initialization method activator that can call a class initialization method at a pre-determined execution point. The system also includes a deadlock analyzer that can determine whether calling the initialization method will create a deadlock, and, if a deadlock is detected that can resolve such a deadlock. The system also includes a semantic analyzing component that can analyze a semantic type associated with the initialization method and a domain uniqueness analyzer that can analyze the uniqueness of the domain with which the class will interact, to facilitate determining where to place code that will check whether a class is initialized, and if the class is not initialized that will invoke the class initializing method.
    Type: Grant
    Filed: August 16, 2006
    Date of Patent: May 10, 2011
    Assignee: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Christopher W. Brumme, James S. Miller, Vance P. Morrison, David S. Mortenson, Sean E. Trowbridge