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: 7490156
    Abstract: A system and method for providing a pluggable channel that can be employed to customize data communications associated with a remote method call is provided. The system includes a pluggable channel that can interact with sinks (e.g., message sinks, security sinks, transports sinks) that implement object-oriented interfaces that can be employed by a distributed object system. The system also includes a selector that can select and associate sinks with the pluggable channel, which facilitates providing a customized, pluggable channel on a per proxy basis.
    Type: Grant
    Filed: February 2, 2005
    Date of Patent: February 10, 2009
    Assignee: Microsoft Corporation
    Inventors: Stephen Peter de Jong, Caleb L. Doise, Jonathan C. Hawkins, Gopala Krishna R. Kakivaya, Petrus L. Obermeyer, Manish S. Prabhu
  • Patent number: 7483943
    Abstract: The present invention extends to methods, systems, and computer program products for reliable messaging using clocks with synchronized rates. Embodiments of the present invention insure at-most-once delivery of messages. A source and a destination utilize clocks with synchronized rates. Messages are assigned Time-To-Live (“TTL”) values such that state information is updated the source and removed at the destination when a corresponding message timer based on a TTL value expires. Accordingly, resources consumed to maintain state information at the destination can be freed up in a shorter period of time. The source can retransmit state information to the message destination if relevant state information has been removed. Message processor instance IDs insure at-most-once delivery when a message destination suffers an involuntary memory loss. Embodiments of the present invention can also be used for exactly-once-delivery, for example, when TTL values are infinite and instance IDs are not used.
    Type: Grant
    Filed: September 21, 2004
    Date of Patent: January 27, 2009
    Assignee: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, David E. Langworthy
  • Patent number: 7475082
    Abstract: A system and method is provided for facilitating employment of pluggable formatters by providing a variety of functions or services outside the formatter for handling various functions associated with conventional formatters. The services can be employed to provide the basic functionality associated with serializing and deserializing graphs of objects. The present invention provides facilities which support the plugging in or functionality of formatters in any given wire format for transferring across a connection or between processes.
    Type: Grant
    Filed: January 31, 2005
    Date of Patent: January 6, 2009
    Assignee: Microsoft Corporation
    Inventors: Stephen Peter de Jong, Gopala Krishna R. Kakivaya, Joseph L. Roxe
  • Patent number: 7466662
    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: December 16, 2008
    Assignee: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Richard L. Hasha, Thomas Lee Rodeheffer
  • Publication number: 20080288659
    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 include detecting a neighborhood of 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 indicates an intent to monitor the selected node. The joining node receives three indications, the first indicating 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, the second indicating acceptance of the joining node's intent to monitor the selected node, the third indicating the first selected node's intent to monitor the joining node. The joining node indicates acceptance of the selected node's intent to monitor the joining node.
    Type: Application
    Filed: November 7, 2007
    Publication date: November 20, 2008
    Applicant: Microsoft Corporation
    Inventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya, Dahlia Malkhi
  • Publication number: 20080288646
    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: Application
    Filed: November 7, 2007
    Publication date: November 20, 2008
    Applicant: Microsoft Corporation
    Inventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya, Dahlia Malkhi
  • Patent number: 7386860
    Abstract: A web service description language with object extensions provides type-centric extensions to web service description languages in order to describe and implement a type-centric, object-model agnostic, web service description. By implementing the constructs described herein, a heterogeneous distributed computing environment can implement rich type-centric services. For example, in a graph description, a type description indicates whether a type is encoded as a reference or embedded within another type. In a service reference description, a type description indicates whether a type is remoted by value or by reference. A type description indicates that a service extends another service, a service implements an interface (potentially multiple interfaces), a field of a type (including interfaces) is a reference type, a constant value field, or a bit field type that defines enumerations with associated values.
    Type: Grant
    Filed: June 28, 2002
    Date of Patent: June 10, 2008
    Assignee: Microsoft Corporation
    Inventors: Savithri Dani, Stephen P. De Jong, Caleb Doise, Jonathan Hawkins, Gopala Krishna R. Kakivaya
  • Patent number: 7362718
    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: April 22, 2008
    Assignee: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Richard L. Hasha, Thomas Lee Rodeheffer
  • Patent number: 7280558
    Abstract: A system and method for converting code associated with synchronous method calls to code that can be employed to perform asynchronous method calls and for supporting such asynchronous method calls is provided. The system includes a pattern generator that can break code for a synchronous method call into one or more constituent parts including a begin asynchronous operation method, an end asynchronous operation method, an asynchronous call state object and an asynchronous call result object. The system includes a pattern data store that holds data associated with converting a synchronous method call to an asynchronous method call, which facilitates employing the system consistently across environments like file input/output, stream input/output, socket input/output, networking, remoting channels, proxies, web forms, web services and messaging message queues.
    Type: Grant
    Filed: June 28, 2001
    Date of Patent: October 9, 2007
    Assignee: Microsoft Corporation
    Inventors: Brian M. Grunkemeyer, Jonathan C. Hawkins, Christopher W. Brumme, Gopala Krishna R. Kakivaya, Lance E. Olson, Dmitry Robsman, Henry L. Sanders, II
  • Patent number: 7248603
    Abstract: A system and method for converting code associated with synchronous method calls to code that can be employed to perform asynchronous method calls and for supporting such asynchronous method calls is provided. The system includes a pattern generator that can break code for a synchronous method call into one or more constituent parts including a begin asynchronous operation method, an end asynchronous operation method, an asynchronous call state object and an asynchronous call result object. The system includes a pattern data store that holds data associated with converting a synchronous method call to an asynchronous method call, which facilitates employing the system consistently across environments like file input/output, stream input/output, socket input/output, networking, remoting channels, proxies, web forms, web services and messaging message queues.
    Type: Grant
    Filed: June 21, 2006
    Date of Patent: July 24, 2007
    Assignee: Microsoft Corporation
    Inventors: Brian M. Grunkemeyer, Jonathan C. Hawkins, Christopher W. Brumme, Gopala Krishna R. Kakivaya, Lance E. Olson, Dmitry Robsman, Henry L. Sanders, II
  • Patent number: 7155728
    Abstract: A system and method that provides remoting services in a distributed object system is provided. The system includes a remote object monitor and a remote object manipulator. The remote object monitor can provide a human readable reference to a remote object, where the human readable reference is a URL (Uniform Resource Locator) and can include protocol information, protocol data, an application name and an object URI (Uniform Resource Identifier). The remote object monitor can also provide metadata concerning a remote object, where the metadata can include information concerning interfaces implemented by a remote object, the type of a remote object, the class hierarchy of a remote object, methods implemented by a remote object, properties implemented by a remote object and attributes implemented by a remote object.
    Type: Grant
    Filed: June 28, 2001
    Date of Patent: December 26, 2006
    Assignee: Microsoft Corporation
    Inventors: Manish S. Prabhu, Caleb L. Doise, Tarun Anand, Stephen Peter de Jong, Jonathan C. Hawkins, Gopala Krishna R. Kakivaya, Matthew R. Smith
  • Patent number: 7124405
    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 predetermined 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: June 28, 2001
    Date of Patent: October 17, 2006
    Assignee: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Christopher W. Brumme, James S. Miller, Vance P. Morrison, David S. Mortenson, Sean E. Trowbridge
  • Patent number: 7120639
    Abstract: A system and method is provided for facilitating employment of pluggable formatters by providing a variety of functions or services outside the formatter for handling various functions associated with conventional formatters. The services can be employed to provide the basic functionality associated with serializing and deserializing graphs of objects. The present invention provides facilities which support the plugging in or functionality of formatters in any given wire format for transferring across a connection or between processes.
    Type: Grant
    Filed: June 27, 2001
    Date of Patent: October 10, 2006
    Assignee: Microsoft Corporation
    Inventors: Stephen Peter de Jong, Gopala Krishna R. Kakivaya, Joseph L. Roxe
  • Patent number: 7065771
    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: June 28, 2001
    Date of Patent: June 20, 2006
    Assignee: Microsoft Corporation
    Inventors: Manish S. Prabhu, Tarun Anand, Gopala Krishna R. Kakivaya
  • Patent number: 7017162
    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: July 10, 2001
    Date of Patent: March 21, 2006
    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, Gregory D. Fee, Hany E. Ramadan, Henry L. Sanders, 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: 7013469
    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: March 14, 2006
    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, Gregory D. Fee, Hany E. Ramadan, Henry L. Sanders, 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: 6928488
    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: June 27, 2001
    Date of Patent: August 9, 2005
    Assignee: Microsoft Corporation
    Inventors: Stephen Peter de Jong, Gopala Krishna R. Kakivaya, Joseph L. Roxe
  • Patent number: 6865607
    Abstract: A system and method for providing a pluggable channel that can be employed to customize data communications associated with a remote method call is provided. The system includes a pluggable channel that can interact with sinks (e.g., message sinks, security sinks, transports sinks) that implement object-oriented interfaces that can be employed by a distributed object system. The system also includes a selector that can select and associate sinks with the pluggable channel, which facilitates providing a customized, pluggable channel on a per proxy basis.
    Type: Grant
    Filed: June 28, 2001
    Date of Patent: March 8, 2005
    Assignee: Microsoft Corp.
    Inventors: Stephen Peter de Jong, Caleb L. Doise, Jonathan C. Hawkins, Gopala Krishna R. Kakivaya, Petrus L. Obermeyer, Manish S. Prabhu
  • Publication number: 20040267876
    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: Application
    Filed: June 30, 2003
    Publication date: December 30, 2004
    Applicant: Microsoft Corporation
    Inventors: Gopala Krishna R. Kakivaya, Jeffrey C. Schlimmer, Christian Huitema, Richard L. Hasha, Don Box, Jeffrey B. Parham
  • Publication number: 20040006651
    Abstract: A web service description language with object extensions provides type-centric extensions to web service description languages. The extensions illustrated herein provide the constructs to describe and implement a type-centric, object-model agnostic, web service description. By implementing the constructs described herein, a heterogeneous distributed computing environment can implement rich type-centric services.
    Type: Application
    Filed: June 28, 2002
    Publication date: January 8, 2004
    Applicant: Microsoft Corporation
    Inventors: Savithri Dani, Stephen P. De Jong, Caleb Doise, Jonathan Hawkins, Gopala Krishna R. Kakivaya