Patents by Inventor Kartik Paramasivam

Kartik Paramasivam 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: 8103759
    Abstract: The present invention extends to methods, systems, and computer program products for redirecting client messages between hosts within a messaging infrastructure. When a host receives a client message, it can refer to lock information in a shared database to determine if it is the correct host to receive the client message. The lock information includes a redirect endpoint. The redirect endpoint identifies an endpoint where client messages can be sent for delivery to the appropriate workflow instance. The redirect endpoint can be included in a redirect fault message, that is returned to a host when a host attempts to process a client message that is already locked to another workflow instance. Using the redirect endpoint, a host receiving a redirect fault message can use the redirect endpoint to send a client message to the correct host.
    Type: Grant
    Filed: March 9, 2011
    Date of Patent: January 24, 2012
    Assignee: Microsoft Corporation
    Inventors: Stuart J. Langley, Kartik Paramasivam, Ramasubramaniam Poornalingam
  • Patent number: 8095935
    Abstract: A system for efficiently distributing messages to a server farm uses a hashing function and a map-based function, or combinations thereof, to distribute messages associated with a processing request. In one implementation, for example, the hashing function has inputs of an identifier for each message in a processing request, and a list of available servers. Upon identifying that any of the servers is unavailable, or will soon be unavailable, the load balancing server uses an alternate map-based assignment function for new requests, and inputs each assignment into a server map. The load balancing server can then use the map or the hashing function, as appropriate, to direct messages to an operating server. Upon receiving an updated list of available servers, the load balancing server can switch back to the hashing function after the map is depleted, and use the updated server list as an argument.
    Type: Grant
    Filed: June 26, 2008
    Date of Patent: January 10, 2012
    Assignee: Microsoft Corporation
    Inventors: Kartik Paramasivam, Pan Wang
  • Patent number: 8010608
    Abstract: The subject invention provides a system and/or a method that facilitates enhancing an adapter utilizing a locking mechanism between a receive location and a process. An interface component can receive a message related to a receive location that is an endpoint. A lock component binds the receive location to the process such that the process exclusively receives the messages from the endpoint at a single instance in real time. Moreover, the lock component can provide a replacement/switching technique, wherein a process that participates in a locking relationship can be switched with another process based at least in part upon the health of the process.
    Type: Grant
    Filed: June 7, 2005
    Date of Patent: August 30, 2011
    Assignee: Microsoft Corporation
    Inventors: Kartik Paramasivam, Sanjib Saha, Jean-Emile Elien
  • Publication number: 20110179303
    Abstract: The present invention extends to methods, systems, and computer program products for persistent application activation and timer notifications. A durable instance manager, instance execution hosts, and an instance store interoperate to transition instances between executing and persisted states. System properties are associated with an instance. System properties can define re-activation conditions, that when satisfied, indicate that an instance is to be re-activated for execution. System properties can define timers as well as indications that instances are in a persisted but ready to run state.
    Type: Application
    Filed: January 15, 2010
    Publication date: July 21, 2011
    Applicant: Microsoft Corporation
    Inventors: John A. Taylor, Nicholas A. Allen, Stuart J. Langley, Igor Sedukhin, Justin D. Brown, Kartik Paramasivam
  • Publication number: 20110161392
    Abstract: The present invention extends to methods, systems, and computer program products for redirecting client messages between hosts within a messaging infrastructure. When a host receives a client message, it can refer to lock information in a shared database to determine if it is the correct host to receive the client message. The lock information includes a redirect endpoint. The redirect endpoint identifies an endpoint where client messages can be sent for delivery to the appropriate workflow instance. The redirect endpoint can be included in a redirect fault message, that is returned to a host when a host attempts to process a client message that is already locked to another workflow instance. Using the redirect endpoint, a host receiving a redirect fault message can use the redirect endpoint to send a client message to the correct host.
    Type: Application
    Filed: March 9, 2011
    Publication date: June 30, 2011
    Applicant: Microsoft Corporation
    Inventors: Stuart J. Langley, Kartik Paramasivam, Ramasubramaniam Poornalingam
  • Patent number: 7954112
    Abstract: Data interchanges are processed so that problematic individual elements within the data interchanges do not cause the processing of the data interchanges to be suspended unless there is a catastrophic error. The data interchanges are split up by flat file and/or XML disassemblers of a message engine into independent messages even if some elements are incorrect or cause processing failures. Those messages in the interchange that may be processed are processed, while those that would cause processing errors are suspended in a suspend queue for recovery processing. Even when a message is placed in the suspend queue, processing continues with the next independent message in the data interchange. Messages that are placed in the suspend queue for lack of routing information may be resumed by providing the routing information and again attempting to route the previously suspended message.
    Type: Grant
    Filed: May 20, 2005
    Date of Patent: May 31, 2011
    Assignee: Microsoft Corporation
    Inventors: Ruslan A. Yakushev, Kartik Paramasivam, David Kent Downing, Jean-Emile Elien, Wei-Lun Lo
  • Patent number: 7925736
    Abstract: The present invention extends to methods, systems, and computer program products for redirecting client messages between hosts within a messaging infrastructure. When a host receives a client message, it can refer to lock information in a shared database to determine if it is the correct host to receive the client message. The lock information includes a redirect endpoint. The redirect endpoint identifies an endpoint where client messages can be sent for delivery to the appropriate workflow instance. The redirect endpoint can be included in a redirect fault message, that is returd to a host when a host attempts to process a client message that is already locked to another workflow instance. Using the redirect endpoint, a host receiving a redirect fault message can use the redirect endpoint to send a client message to the correct host.
    Type: Grant
    Filed: June 15, 2009
    Date of Patent: April 12, 2011
    Assignee: Microsoft Corporation
    Inventors: Stuart J. Langley, Kartik Paramasivam, Ramasubramaniam Poornalingam
  • Patent number: 7890955
    Abstract: Messages generated by an originating application are aggregated into batches based on a configuration policy. The configuration policy contains business logic used to aggregate messages into a batch. Once a batch is complete, it is formatted into a single stream output and sent to a destination application designed to receive the messages. Messages may also be aggregated into batches that are controlled by the originating application. The messages include an indicator set by the originating application to signal when a batch is complete. Once the batch is complete, it is formatted into a single stream output and sent to a destination application designed to receive the messages.
    Type: Grant
    Filed: April 3, 2006
    Date of Patent: February 15, 2011
    Assignee: Microsoft Corporation
    Inventors: Kartik Paramasivam, Wei-Lun Lo, Ruslan Yakushev
  • Publication number: 20100325642
    Abstract: The present invention extends to methods, systems, and computer program products for automatically re-starting services. Embodiments of the invention can be used to re-start a service when it is determined that the service stopped during the processing pending work. A container manager durably tracks a service's status (busy/idle and alive/dead) and tracks transitions between statuses. Accordingly, when a busy service is deemed dead (due to any event), the container manager can automatically re-start the service. Upon re-start the service can check for pending work and start executing its pending work.
    Type: Application
    Filed: June 22, 2009
    Publication date: December 23, 2010
    Applicant: Microsoft Corporation
    Inventors: Kartik Paramasivam, Jayteerth N. Katti, Vinod Shanbhag, Ramasubramaniam Poornalingam
  • Publication number: 20100318616
    Abstract: The present invention extends to methods, systems, and computer program products for redirecting client messages between hosts within a messaging infrastructure. When a host receives a client message, it can refer to lock information in a shared database to determine if it is the correct host to receive the client message. The lock information includes a redirect endpoint. The redirect endpoint identifies an endpoint where client messages can be sent for delivery to the appropriate workflow instance. The redirect endpoint can be included in a redirect fault message, that is returd to a host when a host attempts to process a client message that is already locked to another workflow instance. Using the redirect endpoint, a host receiving a redirect fault message can use the redirect endpoint to send a client message to the correct host.
    Type: Application
    Filed: June 15, 2009
    Publication date: December 16, 2010
    Applicant: Microsoft Corporation
    Inventors: Stuart J. Langley, Kartik Paramasivam, Ramasubramaniam Poomalingam
  • Publication number: 20100318654
    Abstract: Message intermediation for multiple service instances, while allowing the service instance to control whether messages are processed under a transaction. The message intermediator chooses to dispatch messages among different backend service instances based on any routing rules. The message intermediator performs a peek-lock of message from a forward-end queue, and assigns the message to a service instance. The message is provided into a backward-end queue specific to the assigned service instance. The service instance may then process the message, perhaps under a transaction created at the service instance. Upon completion of processing, the message is deleted in the back-end queue, which causes the forward-end queue to delete the message under the same transaction created by the service instance. Whether or not this deletion at the forward-end is committed or rolled back depends on whether the transaction created at the service instance is committed or rolled back.
    Type: Application
    Filed: June 15, 2009
    Publication date: December 16, 2010
    Applicant: Microsoft Corporation
    Inventors: Kartik Paramasivam, James E. Johnson, Nicholas Alexander Allen, John Anthony Taylor, Margaret J. Lye
  • Patent number: 7747894
    Abstract: A transport-neutral in-order delivery in a distributed environment is provided. Typically, in-order delivery guarantees that sequential orders received by a transport engine are sent out in the same order they are received. Such delivery may be forwarded either to another transport engine or to some application. In case there is a failure of delivery of messages in a stream, the messages are either resubmitted, suspended, or moved to backup. A user or administrator can configure the desired action. Additionally, any stream can be manually aborted or a specified port can be unenlisted. Deliverable streams of messages are locked on to a back-end transport engines or applications and dequeued sequentially unless one of the above mentioned failure scenarios occurs.
    Type: Grant
    Filed: June 6, 2005
    Date of Patent: June 29, 2010
    Assignee: Microsoft Corporation
    Inventors: Eldar A. Musayev, Jean-Emile Elien, Kartik Paramasivam, Kevin Bowen Smith, Lee B. Graber, Sanjib Saha, Satish R. Thatte
  • Publication number: 20100162264
    Abstract: Service virtualization containers to aggregate service functionality from a plurality of services into an apparent service exhibiting the aggregated functionality. A plurality of service implementations is assigned to a service virtualization container. The container selects some of the service operations from the service implementations. One or more message characteristics are assigned to the service operations in one or more routing tables. A message is received at a service endpoint different from the service endpoints of any of the service implementations. A determination is made of one or more message characteristics. The one or more routing tables are consulted to select a determined service operation based on the message characteristics. The message is routed to the selected service implementation.
    Type: Application
    Filed: December 23, 2008
    Publication date: June 24, 2010
    Applicant: Microsoft Corporation
    Inventors: Nicholas Alexander Allen, Raul Guillermo Camacho, Alexander E. Nosov, William Leo Oellermann, JR., Kartik Paramasivam, Ramasubramaniam Poornalingam, John Anthony Taylor
  • Publication number: 20100058451
    Abstract: The present invention extends to methods, systems, and computer program products for load balancing for services. Embodiments of the invention facilitate load balancing between instances of a service based on affinitization of messages, based on content of the message. For example, messages in the same session can be dispatched to the same service instance. A sequence or series of related messages associated with long running and/or stateful services are more likely to be dispatched to the same instance of the service. Thus, if the service instance has persisted client state, there is an increased likely of utilizing the persisted client state and not having another service instance recreate the client state.
    Type: Application
    Filed: September 2, 2008
    Publication date: March 4, 2010
    Applicant: Microsoft Corporation
    Inventors: Kartik Paramasivam, Stuart J. Langley, Vinod Shanbhag, Pan Wang, Ramasubramaniam Poornalingam, Brent Schmaltz, Jayteerth Katti, Govindaraj Ramanathan
  • Publication number: 20090328054
    Abstract: A system for efficiently distributing messages to a server farm uses a hashing function and a map-based function, or combinations thereof, to distribute messages associated with a processing request. In one implementation, for example, the hashing function has inputs of an identifier for each message in a processing request, and a list of available servers. Upon identifying that any of the servers is unavailable, or will soon be unavailable, the load balancing server uses an alternate map-based assignment function for new requests, and inputs each assignment into a server map. The load balancing server can then use the map or the hashing function, as appropriate, to direct messages to an operating server. Upon receiving an updated list of available servers, the load balancing server can switch back to the hashing function after the map is depleted, and use the updated server list as an argument.
    Type: Application
    Filed: June 26, 2008
    Publication date: December 31, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Kartik Paramasivam, Pan Wang
  • Patent number: 7487433
    Abstract: The subject invention provides a system and/or a method that facilitates error detection and correction associated with content-based routing. A routing system can include an analysis component that determines a received message is associated with an error. An error report generating component can append error-related metadata to the received message to create an error report message. The error report messages can then be utilized to allow subscribers to automatically handle failed messages, wherein such corrected messages can be resubmitted to the content-based router.
    Type: Grant
    Filed: June 10, 2005
    Date of Patent: February 3, 2009
    Assignee: Microsoft Corporation
    Inventors: Arunchallam S. Sivakumar, Kartik Paramasivam, Ruslan Yakushev, Martin T. Wasznicky
  • Publication number: 20070079168
    Abstract: The subject invention provides a system and/or a method that facilitates error detection and correction associated with content-based routing. A routing system can include an analysis component that determines a received message is associated with an error. An error report generating component can append error-related metadata to the received message to create an error report message. The error report messages can then be utilized to allow subscribers to automatically handle failed messages, wherein such corrected messages can be resubmitted to the content-based router.
    Type: Application
    Filed: June 10, 2005
    Publication date: April 5, 2007
    Applicant: Microsoft Corporation
    Inventors: Arunchallam Sivakumar, Kartik Paramasivam, Ruslan Yakushev, Martin Wasznicky
  • Publication number: 20060274727
    Abstract: A transport-neutral in-order delivery in a distributed environment is provided. Typically, in-order delivery guarantees that sequential orders received by a transport engine are sent out in the same order they are received. Such delivery may be forwarded either to another transport engine or to some application. In case there is a failure of delivery of messages in a stream, the messages are either resubmitted, suspended, or moved to backup. A user or administrator can configure the desired action. Additionally, any stream can be manually aborted or a specified port can be unenlisted. Deliverable streams of messages are locked on to a back-end transport engines or applications and dequeued sequentially unless one of the above mentioned failure scenarios occurs.
    Type: Application
    Filed: June 6, 2005
    Publication date: December 7, 2006
    Applicant: Microsoft Corporation
    Inventors: Eldar Musayev, Jean-Emile Elien, Kartik Paramasivam, Kevin Smith, Lee Graber, Sanjib Saha, Satish Thatte
  • Publication number: 20060277261
    Abstract: The subject invention provides a system and/or a method that facilitates enhancing an adapter utilizing a locking mechanism between a receive location and a process. An interface component can receive a message related to a receive location that is an endpoint. A lock component binds the receive location to the process such that the process exclusively receives the messages from the endpoint at a single instance in real time. Moreover, the lock component can provide a replacement/switching technique, wherein a process that participates in a locking relationship can be switched with another process based at least in part upon the health of the process.
    Type: Application
    Filed: June 7, 2005
    Publication date: December 7, 2006
    Applicant: Microsoft Corporation
    Inventors: Kartik Paramasivam, Sanjib Saha, Jean-Emile Elien
  • Publication number: 20060277317
    Abstract: Systems and methods for controlling the work load on a distributed system comprising a plurality of stages are provided. The capacity of a present stage is monitored, using either various resources of the present stage or rates of work completion and work receipt of the present stage. Information indicating the capacity of a succeeding stage are obtained and communicated to the present stage. The monitored capacity information of the present stage and the communicated information of the succeeding stage, either alone or in combination, are used to determine if a throttling action is necessary to control the load of work at the present stage. A provided throttling technique inserts an appropriate delay before the present stage to allow the present stage to process an amount of work without saturating the capacity of the present stage. This technique is applied at each stage of the distributed system to control the work load of the overall system by controlling the work load at each stage.
    Type: Application
    Filed: June 3, 2005
    Publication date: December 7, 2006
    Applicant: Microsoft Corporation
    Inventors: Wayne Clark, Lee Graber, Kartik Paramasivam, Siddhartha Roy, Sanjib Saha, Sumitra Sujanani