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).

  • Publication number: 20110082928
    Abstract: The present invention extends to methods, systems, and computer program products for a joining node to join a ring of nodes within a rendezvous federation. Embodiments of the invention include establishing a neighborhood of multiple nodes on the ring of nodes. The joining node indicates its intent to take id-space ownership for a portion of the id-space between the joining node and a selected immediately adjacent node. The joining node initiates a one-way monitoring relationship with the selected immediately adjacent node. The joining node receiving an indication from the selected immediately adjacent node that indicates acceptance of the joining node's intent to take id-space ownership for a portion of the id-space between the joining node and the selected node and indicates establishment of a one-way monitoring relationship between the selected node and the joining node. The joining node agrees to participate in a one-way monitoring relationship with the selected node.
    Type: Application
    Filed: October 19, 2010
    Publication date: April 7, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya, Dahlia Malkhi
  • Patent number: 7814124
    Abstract: An architecture and method is provided that facilitates serialization of a graph of objects into streams of data in an arbitrary format, and deserialization of the streams of data back into the graph of objects. The architecture provides a number of services associated with the basic functionality of serialization and deserialization. The services can be employed to implement transparent remoting, copy items to a clipboard and save data to a file. The present invention provides facilities which support the plugging in of a new serialization encoding by separating the encoding from the reading and reinstantiation of the graph of objects which the encoding describes. Objects in a graph of objects are serialized and deserialized based on a selected rule set for that object. A rule set can be provided by a class author within a class or within a third party file referred to as a surrogate.
    Type: Grant
    Filed: July 11, 2005
    Date of Patent: October 12, 2010
    Assignee: Microsoft Corporation
    Inventors: Stephen Peter de Jong, Gopala Krishna R. Kakivaya, Joseph L. Roxe
  • Patent number: 7730041
    Abstract: Serialization and deserialization using data contracts. The data contract specifies data types that are serialized and deserialized for data objects that are associated with the data contract. During serialization, the data contract associated with the data object is identified. Then, the data fields that correspond to those specified data field types are extracted from the data object and serialized into a serialization format. During deserialization, the serialization mechanism receives a serialized data structure having a particular serialization format. A data contract is then identified as being associated with the serialized data structure. After deserialization of the serialized data structure into abstract data, a corresponding data object is populated with data fields that correspond only with those data field types specified in the data contract. Accordingly, data abstraction is enabled while serializing and deserializing.
    Type: Grant
    Filed: August 25, 2004
    Date of Patent: June 1, 2010
    Assignee: Microsoft Corporation
    Inventors: Douglas M. Purdy, Sowmyanarayanan K. Srinivasan, Bradford H. Lovering, Donald F. Box, Gopala Krishna R. Kakivaya, Natasha H. Jethanandani, Stefan H. Pharies, Stephen T. Swartz, Steven E. Lucco
  • Patent number: 7730220
    Abstract: The present invention extends to methods, systems, and computer program products for broadcasting communication within a rendezvous federation. Embodiments of the invention include inter-ring and intra-ring communication. Inter-ring communication includes sending a message to destination rings included in a node's Collateral Ring Set entry table. When a node identifies a destination ring that has not yet received a message, the node can send a ring notification message. The ring notification message propagates towards a publishing node until a responsible node in the message path to the publishing node is identified. The responsible node updates its entry table to include the ring and forwards the message to the destination ring. Intra-ring communication can include recursively partitioning ranges of nodes within a ring and forwarding the message to nodes included the partitioned ranges.
    Type: Grant
    Filed: August 17, 2006
    Date of Patent: June 1, 2010
    Assignee: Microsoft Corporation
    Inventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya
  • Patent number: 7694167
    Abstract: The present invention extends to methods, systems, and computer program products for appropriately detecting node failures in a rendezvous federation. A monitor node monitors a subject node. The subject node intermittently renews a time-to-live duration value with the monitor node to indicate the monitor node that the subject node has not failed. In some embodiments, each node in a pair of nodes monitors the other nodes in the pair of nodes. Thus, each node is a subject node and a monitor node. In further embodiments, an arbitration facility arbitrates failure reports.
    Type: Grant
    Filed: October 13, 2006
    Date of Patent: April 6, 2010
    Assignee: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Richard L. Hasha, Lu Xun, Dahlia Malkhi
  • Patent number: 7685288
    Abstract: An ad-hoc discovery protocol improves reliability, security and scalability of multicast and server-based discovery. In switching from multicast to server-based discovery, the discovery client is made responsible for multicast suppression, and not discoverable devices with services. Messages include message identifier and time-to-live parameters to detect recast queries and avoid duplicating replies. A device's announcement message includes endpoint identifier, configuration number and stateless boot time parameters to detect changed device configuration and rebooted state for refreshing cached device and service descriptions. Paging parameters allow a discovery client to control the number of discovery responses returned at a time from a discovery server.
    Type: Grant
    Filed: June 30, 2003
    Date of Patent: March 23, 2010
    Assignee: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Jeffrey C. Schlimmer, Christian Huitema, Richard L. Hasha, Don Box, Jeffrey B. Parham
  • Publication number: 20100046399
    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: November 3, 2009
    Publication date: February 25, 2010
    Applicant: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Richard L. Hasha, Thomas Lee Rodeheffer
  • Patent number: 7647597
    Abstract: A system and method for interacting with an object is provided. The system includes a method call interceptor that intercepts a method call made on an object and that routes the method call to a proxy. The method call interceptor is accessible to application code. The system also includes an application code generic proxy that after overriding a base class invocation method can receive intercepted method calls, can invoke methods on the object that the proxy images, can receive results from the object that the proxy images and can pass results to the entity that generated the intercepted method call.
    Type: Grant
    Filed: July 13, 2005
    Date of Patent: January 12, 2010
    Assignee: Microsoft Corporation
    Inventors: Raja Krishnaswamy, Tarun Anand, Christopher W. Brumme, Gopala Krishna R. Kakivaya
  • Publication number: 20100005071
    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: Application
    Filed: September 9, 2009
    Publication date: January 7, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Gopala Krishna R. Kakivaya, Richard L. Hasha
  • Publication number: 20090327312
    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: Application
    Filed: September 9, 2009
    Publication date: December 31, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Gopala Krishna R. Kakivaya, Richard L. Hasha
  • Patent number: 7640555
    Abstract: A system and method for facilitating interactions between two or more entities where the entities have different versions of a data type is provided. The system includes a data type identifier that can identify whether interacting entities have a mismatched resolvable data type and a data type resolver that can resolve the data types by employing features appearing in the different resolvable data types that are common between the data types. The system employs a resolvable data type that includes attributes, methods and metadata, where the metadata describes the resolvable data type, its attributes and/or its methods. The resolvable data type may be associated with a proxy. The resolvable data type may also be adapted to be incrementally extended on an as-needed basis.
    Type: Grant
    Filed: March 6, 2006
    Date of Patent: December 29, 2009
    Assignee: Microsoft Corporation
    Inventors: Manish S. Prabhu, Tarun Anand, Gopala Krishna R. Kakivaya
  • Patent number: 7640299
    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: December 29, 2009
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, Gopala Krishna R. Kakivaya, Hervey Oliver Wilson, Richard L. Hasha
  • Publication number: 20090319684
    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: Application
    Filed: June 25, 2009
    Publication date: December 24, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Gopala Krishna R. Kakivaya, Lu Xun, Richard L. Hasha
  • Patent number: 7624194
    Abstract: The present invention extends to methods, systems, and computer program products for establishing and maintaining membership within a federation infrastructure. A joining node submits a join message to an existing federation infrastructure. The federation infrastructure routes the join message to a processing node. The processing node facilitates identification of predecessor, successor, neighborhood, and routing nodes (for the joining node) within a ring of nodes. The joining node exchanges messages with identified nodes to obtain state information for the identified nodes and other nodes within the ring. Nodes periodically exchange state information, including state information for other nodes, such that state information for the ring is efficiently propagated to all nodes in the ring even when communication between some nodes is lost. Instance IDs, phase values, and freshness values are used to determine when state information is stale and/or is to be updated.
    Type: Grant
    Filed: December 17, 2004
    Date of Patent: November 24, 2009
    Assignee: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Richard L. Hasha, Thomas Lee Rodeheffer
  • Patent number: 7613703
    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 30, 2004
    Date of Patent: November 3, 2009
    Assignee: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Richard L. Hasha
  • Patent number: 7581231
    Abstract: An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NETâ„¢ platform.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: August 25, 2009
    Assignee: Microsoft Corporation
    Inventors: Adam W. Smith, Anthony J. Moore, Anders Hejlsberg, Brian A. LaMacchia, Blaine J. Dockter, Brian M. Grunkemeyer, Brian K. Pepin, Caleb L. Doise, Christopher W. Brumme, Chad W. Royal, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Dedu-Constantin, Daniel Takacs, David S. Ebbo, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Giovanni M. Della-Libera, Gopala Krishna R. Kakivaya, Gregory D. Fee, Hany E. Ramadan, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Jun Fang, Krzysztof J. Cwalina, Keith W. Ballinger, Lance E. Olson, Loren M. Kohnfelder, Luca Bolognese, Manu Vasandani, Mark T. Anders, Mark P. Ashton, Mark A. Boulter, Mark W. Fussell, Michael M. Magruder, Manish S. Prabhu, Neetu Rajpal, Nikhil Kothari, Nithyalakshmi Sampathkumar, Nicholas M. Kramer, Omri Gazitt, Radu Rares Palanca, Raja Krishnaswamy, Robert M. Howard, Ramasamy Krishnaswamy, Shawn P. Burke, Scott D. Guthrie, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Subhag P. Oak, Sreeram Nivarthi, Stefan H. Pharies, Suzanne M. Cook, Susan M. Warren, Tarun Anand, Travis J. Muhlestein, William A. Adams, Yan Leshinsky, Yann E. Christensen, Yung-shin Lin, Stephen J. Millet, Joseph Roxe, Alan Boshier, Henry L. Sanders, David Bau
  • Patent number: 7574516
    Abstract: The transfer of raw data from a source data structure to a target data structure that represent the same item. During the data transfer, if there is a given field in the target data structure that does not correspond to a field supplied by the source data structure, the transfer mechanism determines whether or not it is mandatory that the source data structure supply the field. If it is mandatory, the transfer fails. Otherwise, the transfer continues. If there is field of the source data structure that does not correspond to a field of the target data structure, the transfer mechanism determines whether or not it is mandatory that the target data structure have the field. If it is mandatory, the transfer fails. Otherwise, the corresponding data may be provided to a residual field of the target data structure dedicated for unknown data.
    Type: Grant
    Filed: February 1, 2005
    Date of Patent: August 11, 2009
    Assignee: Microsoft Corporation
    Inventors: Sowmyanarayanan K. Srinivasan, Natasha H. Jethanandani, Stefan H. Pharies, Douglas M. Purdy, Donald F. Box, Gopala Krishna R. Kakivaya
  • Patent number: 7555757
    Abstract: An application program interface (API) provides a set of functions, including a set of base classes and types that are used in substantially all applications accessing the API, for application developers who build Web applications on Microsoft Corporation's .NETâ„¢ platform.
    Type: Grant
    Filed: June 23, 2005
    Date of Patent: June 30, 2009
    Assignee: Microsoft Corporation
    Inventors: Adam W. Smith, Anthony J. Moore, Brian A. LaMacchia, Anders Hejlsberg, Brian M. Grunkemeyer, Caleb L. Doise, Christopher W. Brumme, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Takacs, David S. Ebbo, David O. Driver, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Gopala Krishna R. Kakivaya, George D. Fee, Hany E. Ramadan, Henry L. Sanders, II, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Krzysztof J. Cwalina, Lance E. Olson, Loren M. Kohnfelder, Michael M. Magruder, Manish S. Prabhu, Radu Rares Palanca, Raja Krishnaswamy, Shawn P. Burke, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Stefan H. Pharies, Suzanne M. Cook, Tarun Anand, Travis J. Muhlestein, Yann E. Christensen, Yung-shin Lin, Ramasamy Krishnaswamy, Joseph Roxe, Alan Boshier, David Bau
  • Patent number: 7536436
    Abstract: The present invention extends to methods, systems, and computer program products for reliable messaging using clocks with synchronized rates. In some embodiments, a message source adds at least an interaction ID and TTL value to a message. The message source begins a countdown timer having duration of the TTL value. The message source transmits the message to the destination computer system. The message source detects expiration of a retransmission interval corresponding to the message. The message source determines if the message requires acknowledgment. In other embodiments, a message destination receives a message that includes at least an interaction ID and TTL value. The message destination determines that the message is to be processed. The message destination begins a countdown timer having duration of the TTL value. The message destination processes the message and updates an interaction cache location that corresponds to the interaction ID.
    Type: Grant
    Filed: December 7, 2004
    Date of Patent: May 19, 2009
    Assignee: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, David E. Langworthy
  • Patent number: 7496602
    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: February 24, 2009
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, Gopala Krishna R. Kakivaya, Hervey Oliver Wilson, Richard L. Hasha