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: 7490156Abstract: 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: GrantFiled: February 2, 2005Date of Patent: February 10, 2009Assignee: Microsoft CorporationInventors: Stephen Peter de Jong, Caleb L. Doise, Jonathan C. Hawkins, Gopala Krishna R. Kakivaya, Petrus L. Obermeyer, Manish S. Prabhu
-
Patent number: 7483943Abstract: 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: GrantFiled: September 21, 2004Date of Patent: January 27, 2009Assignee: Microsoft CorporationInventors: Gopala Krishna R. Kakivaya, David E. Langworthy
-
Patent number: 7475082Abstract: 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: GrantFiled: January 31, 2005Date of Patent: January 6, 2009Assignee: Microsoft CorporationInventors: Stephen Peter de Jong, Gopala Krishna R. Kakivaya, Joseph L. Roxe
-
Patent number: 7466662Abstract: 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: GrantFiled: December 17, 2004Date of Patent: December 16, 2008Assignee: Microsoft CorporationInventors: Gopala Krishna R. Kakivaya, Richard L. Hasha, Thomas Lee Rodeheffer
-
Publication number: 20080288659Abstract: 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: ApplicationFiled: November 7, 2007Publication date: November 20, 2008Applicant: Microsoft CorporationInventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya, Dahlia Malkhi
-
Publication number: 20080288646Abstract: 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: ApplicationFiled: November 7, 2007Publication date: November 20, 2008Applicant: Microsoft CorporationInventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya, Dahlia Malkhi
-
Patent number: 7386860Abstract: 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: GrantFiled: June 28, 2002Date of Patent: June 10, 2008Assignee: Microsoft CorporationInventors: Savithri Dani, Stephen P. De Jong, Caleb Doise, Jonathan Hawkins, Gopala Krishna R. Kakivaya
-
Patent number: 7362718Abstract: 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: GrantFiled: December 17, 2004Date of Patent: April 22, 2008Assignee: Microsoft CorporationInventors: Gopala Krishna R. Kakivaya, Richard L. Hasha, Thomas Lee Rodeheffer
-
Patent number: 7280558Abstract: 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: GrantFiled: June 28, 2001Date of Patent: October 9, 2007Assignee: Microsoft CorporationInventors: Brian M. Grunkemeyer, Jonathan C. Hawkins, Christopher W. Brumme, Gopala Krishna R. Kakivaya, Lance E. Olson, Dmitry Robsman, Henry L. Sanders, II
-
Patent number: 7248603Abstract: 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: GrantFiled: June 21, 2006Date of Patent: July 24, 2007Assignee: Microsoft CorporationInventors: Brian M. Grunkemeyer, Jonathan C. Hawkins, Christopher W. Brumme, Gopala Krishna R. Kakivaya, Lance E. Olson, Dmitry Robsman, Henry L. Sanders, II
-
Patent number: 7155728Abstract: 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: GrantFiled: June 28, 2001Date of Patent: December 26, 2006Assignee: Microsoft CorporationInventors: Manish S. Prabhu, Caleb L. Doise, Tarun Anand, Stephen Peter de Jong, Jonathan C. Hawkins, Gopala Krishna R. Kakivaya, Matthew R. Smith
-
Patent number: 7124405Abstract: 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: GrantFiled: June 28, 2001Date of Patent: October 17, 2006Assignee: Microsoft CorporationInventors: Gopala Krishna R. Kakivaya, Christopher W. Brumme, James S. Miller, Vance P. Morrison, David S. Mortenson, Sean E. Trowbridge
-
Patent number: 7120639Abstract: 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: GrantFiled: June 27, 2001Date of Patent: October 10, 2006Assignee: Microsoft CorporationInventors: Stephen Peter de Jong, Gopala Krishna R. Kakivaya, Joseph L. Roxe
-
Patent number: 7065771Abstract: 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: GrantFiled: June 28, 2001Date of Patent: June 20, 2006Assignee: Microsoft CorporationInventors: Manish S. Prabhu, Tarun Anand, Gopala Krishna R. Kakivaya
-
Patent number: 7017162Abstract: 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: GrantFiled: July 10, 2001Date of Patent: March 21, 2006Assignee: Microsoft CorporationInventors: 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: 7013469Abstract: 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: GrantFiled: June 23, 2005Date of Patent: March 14, 2006Assignee: Microsoft CorporationInventors: 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: 6928488Abstract: 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: GrantFiled: June 27, 2001Date of Patent: August 9, 2005Assignee: Microsoft CorporationInventors: Stephen Peter de Jong, Gopala Krishna R. Kakivaya, Joseph L. Roxe
-
Patent number: 6865607Abstract: 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: GrantFiled: June 28, 2001Date of Patent: March 8, 2005Assignee: 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: 20040267876Abstract: 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: ApplicationFiled: June 30, 2003Publication date: December 30, 2004Applicant: Microsoft CorporationInventors: Gopala Krishna R. Kakivaya, Jeffrey C. Schlimmer, Christian Huitema, Richard L. Hasha, Don Box, Jeffrey B. Parham
-
Publication number: 20040006651Abstract: 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: ApplicationFiled: June 28, 2002Publication date: January 8, 2004Applicant: Microsoft CorporationInventors: Savithri Dani, Stephen P. De Jong, Caleb Doise, Jonathan Hawkins, Gopala Krishna R. Kakivaya