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: 8978041
    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: Grant
    Filed: December 23, 2008
    Date of Patent: March 10, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nicholas Alexander Allen, Raul Guillermo Camacho, Alexander E. Nosov, William Leo Oellermann, Jr., Kartik Paramasivam, Ramasubramaniam Poornalingam, John Anthony Taylor
  • Patent number: 8903925
    Abstract: Techniques are provided for scheduled and non-scheduled delivery of messages. A message directed to at least one consumer is received at a message entity. The message is determined to include a scheduled delivery time. The received message is stored in a scheduled sub-queue of the message entity. Activation metadata is retrieved and stored for any messages stored in the scheduled sub-queue that include a scheduled delivery time within a predetermined upcoming time period. If when the message is received, the scheduled delivery time of the message is within a current activation window, the activation metadata for the message may be extracted and stored immediately. The stored activation metadata is analyzed to determine a batch of messages in the scheduled sub-queue ready for delivery. The determined batch of messages is stored in an active sub-queue of the message entity, to be ready for delivery at the request of a consumer.
    Type: Grant
    Filed: May 14, 2012
    Date of Patent: December 2, 2014
    Assignee: Microsoft Corporation
    Inventors: Bin Li, Kartik Paramasivam, Manu Srivastava, SeongJoon Kwak, Venkata Raja Gopal Ravipati
  • Patent number: 8903782
    Abstract: An instance persistence command for an update to a state of an instance of an application can be issued. In response to the persistence command, a transaction with an instance store can be initiated. As part of the transaction, a first representation of the update can be stored in the instance store and a second representation of the update can be stored in a queue. The transaction can be committed after storing the first and second representations. After the transaction is committed, the second representation can be processed to store a third representation of the update in a query store. Application instance state information in the query store can be updated and queried without locking the instance store so that such operations in the query store can be performed asynchronously with operations in the instance store.
    Type: Grant
    Filed: July 27, 2010
    Date of Patent: December 2, 2014
    Assignee: Microsoft Corporation
    Inventors: Nicholas A. Allen, John A. Taylor, Kartik Paramasivam, Dharma Shukla
  • Publication number: 20140108523
    Abstract: A method of creating a link of a connection to a messaging system includes receiving a protocol command message directed to a message entity of the messaging system. The protocol command message is communicated over the connection. The method includes determining that the protocol command message includes a link identifier that is unrecognized by the messaging system and in response to receiving the protocol command message and determining that the protocol command message includes the link identifier that is unrecognized by the messaging system, creating the link for the connection, the link corresponding to the link identifier.
    Type: Application
    Filed: October 12, 2012
    Publication date: April 17, 2014
    Applicant: Microsoft Corporation
    Inventors: Kartik Paramasivam, Jayteerth Katti, Hiu-Ming Eric Lam, David Leon Stucki
  • Patent number: 8683030
    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: Grant
    Filed: October 18, 2012
    Date of Patent: March 25, 2014
    Assignee: Microsoft Corporation
    Inventors: Kartik Paramasivam, James E. Johnson, Nicholas Alexander Allen, John Anthony Taylor, Margaret J. Drollinger
  • Publication number: 20140082085
    Abstract: A messaging entity configured in a memory of first node of a plurality communicatively coupled nodes is disclosed. The nodes are included in a distributed computing system. The messaging entity is configured to operate as a secondary messaging entity in a messaging server for the plurality communicatively coupled nodes. The messaging entity is communicatively couple to a primary messaging entity configured in a memory of a second node of the plurality of nodes. The primary messaging entity is configured to store a message; store a copy of the message.
    Type: Application
    Filed: November 19, 2013
    Publication date: March 20, 2014
    Applicant: Microsoft Corporation
    Inventors: Muralidhar Krishnaprasad, Kartik Paramasivam, Jayteerth Katti, Anil Nori
  • Patent number: 8671306
    Abstract: A messaging system may operate on multiple processor partitions in several configurations to provide queuing and topic subscription services on a large scale. A queue service may receive messages from a multiple transmitting services and distribute the messages to a single service. A topic subscription service may receive messages from multiple transmitting services, but distribute the messages to multiple recipients, often with a filter applied to each recipient where the filter defines which messages may be transmitted by the recipient. Large queues or topic subscriptions may be divided across multiple processor partitions with separate sets of recipients for each partition in some cases, or with duplicate sets of recipients in other cases.
    Type: Grant
    Filed: December 21, 2010
    Date of Patent: March 11, 2014
    Assignee: Microsoft Corporation
    Inventors: Kartik Paramasivam, Murali Krishnaprasad, Jayu Katti, Pramod Gurunath, Affan Arshad Dar
  • Patent number: 8589732
    Abstract: A messaging entity configured in a memory of first node of a plurality communicatively coupled nodes is disclosed. The nodes are included in a distributed computing system. The messaging entity is configured to operate as a secondary messaging entity in a messaging server for the plurality communicatively coupled nodes. The messaging entity is communicatively couple to a primary messaging entity configured in a memory of a second node of the plurality of nodes. The primary messaging entity is configured to store a message; store a copy of the message. Also, the messaging entity is configured to be promoted to a new primary messaging entity in the event of failure of the primary messaging entity.
    Type: Grant
    Filed: December 23, 2010
    Date of Patent: November 19, 2013
    Assignee: Microsoft Corporation
    Inventors: Muralidhar Krishnaprasad, Kartik Paramasivam, Jayteerth Katti, Anil Nori
  • Publication number: 20130304826
    Abstract: Techniques are provided for scheduled and non-scheduled delivery of messages. A message directed to at least one consumer is received at a message entity. The message is determined to include a scheduled delivery time. The received message is stored in a scheduled sub-queue of the message entity. Activation metadata is retrieved and stored for any messages stored in the scheduled sub-queue that include a scheduled delivery time within a predetermined upcoming time period. If when the message is received, the scheduled delivery time of the message is within a current activation window, the activation metadata for the message may be extracted and stored immediately. The stored activation metadata is analyzed to determine a batch of messages in the scheduled sub-queue ready for delivery. The determined batch of messages is stored in an active sub-queue of the message entity, to be ready for delivery at the request of a consumer.
    Type: Application
    Filed: May 14, 2012
    Publication date: November 14, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Bin Li, Kartik Paramasivam, Manu Srivastava, SeongJoon Kwak, Venkata Raja Gopal Ravipati
  • Publication number: 20130246561
    Abstract: Aspects of the subject matter described herein relate migrating message for a messaging service. In aspects, a determination is made that messages need to be migrated based on a threshold being crossed. In response, an agent is instructed to migrate data associated with the messages to another location. The agent uses various factors to determine one or more queues to migrate. While a queue is being migrated, during a first portion of the migration, messages may be added to and removed from the queue as senders send new messages and receivers consume messages. During a second portion of the migration, the queue is frozen to disallow the queue to be used for receiving new messages and delivering queued messages. The migration may be orchestrated to attempt to achieve certain goals.
    Type: Application
    Filed: March 14, 2012
    Publication date: September 19, 2013
    Applicant: Microsoft Corporation
    Inventors: Kartik Paramasivam, Sung Hwa Jin, Manu Srivastava, Muralidhar Krishnaprasad, Ruppert Rolf Koch, Venkata Raja Gopal Ravipati, Bin Li
  • Patent number: 8510755
    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: Grant
    Filed: June 22, 2009
    Date of Patent: August 13, 2013
    Assignee: Microsoft Corporation
    Inventors: Kartik Paramasivam, Jayteerth N. Katti, Vinod Shanbhag, Ramasubramaniam Poornalingam
  • Publication number: 20130204934
    Abstract: A messaging service is described that facilitates the efficient receipt of messages by a client from across a large number of messaging entities hosted by different messaging hosts within a distributed messaging system. A gateway in the distributed messaging system forwards a request for an available message or set of related messages from the client to each of the messaging hosts. Each messaging host provides a response to a request if a messaging entity hosted thereby includes at least one available message or set of related messages. The messaging host manages the order in which responses from different messaging entities are provided to ensure fairness. The gateway forwards a selected one of the responses to the consumer, while caching the other responses to service future requests from the consumer.
    Type: Application
    Filed: February 7, 2012
    Publication date: August 8, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Manu Srivastava, Kartik Paramasivam, Murali Krishnaprasad
  • Patent number: 8447881
    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: Grant
    Filed: September 2, 2008
    Date of Patent: May 21, 2013
    Assignee: Microsoft Corporation
    Inventors: Kartik Paramasivam, Stuart J. Langley, Vinod Shanbhag, Pan Wang, Ramasubramaniam Poornalingam, Brent Schmaltz, Jayteerth Katti, Govindaraj Ramanathan
  • Publication number: 20130066977
    Abstract: Network and storage calls are reduced by batching messages. Messages are collected from a client and sent to the gateway or backend application in one round trip. Alternatively, the messages are collected for different entities, and the batched messages are durably stored. Related messages, which may have the same sessionID, are grouped into a logical unit or session. This session may be locked to a single message consumer. A session may be associated with an application processing state as an atomic unit of work while other operations are performed on the messages in the session. Acknowledgements are accumulated by a broker on a message server, but the messages are not immediately deleted. Instead, multiple messages in a selected range are periodically truncated from a message store in a single operation. Expired messages for active sessions are proactive cleaned up to prevent sessions from reaching a quota or limit.
    Type: Application
    Filed: September 12, 2011
    Publication date: March 14, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Jayteerth Katti, Kartik Paramasivam, Stuart John Langley, Pramod Gurunath, Muralidhar Krishnaprasad, Elvin Morales, Manu Srivastava
  • Publication number: 20130060834
    Abstract: A distributed messaging system includes a gateway having an interface to receive client messages and having access to a gateway database and to a messaging host that supports multiple partitions that are executed on processors of a cluster of processors. Each of the partitions supports execution of at least one message broker. The gateway database includes a mapping between each of the message brokers and one of the multiple partitions. An admin agent may periodically scan the gateway database to check if the message brokers reach a capacity threshold. The admin agent may create new message brokers and add the new message brokers to a pool of message brokers to allow new queues to be associated with the new message brokers.
    Type: Application
    Filed: March 15, 2012
    Publication date: March 7, 2013
    Applicant: Microsoft Corportion
    Inventors: Kartik Paramasivam, Sung Hwa Jin, Ruppert Koch
  • Patent number: 8301706
    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: Grant
    Filed: June 15, 2009
    Date of Patent: October 30, 2012
    Assignee: Microsoft Corporation
    Inventors: Kartik Paramasivam, James E. Johnson, Nicholas Alexander Allen, John Anthony Taylor, Margaret J. Lye
  • Publication number: 20120159246
    Abstract: A messaging system may operate on multiple processor partitions in several configurations to provide queuing and topic subscription services on a large scale. A queue service may receive messages from a multiple transmitting services and distribute the messages to a single service. A topic subscription service may receive messages from multiple transmitting services, but distribute the messages to multiple recipients, often with a filter applied to each recipient where the filter defines which messages may be transmitted by the recipient. Large queues or topic subscriptions may be divided across multiple processor partitions with separate sets of recipients for each partition in some cases, or with duplicate sets of recipients in other cases.
    Type: Application
    Filed: December 21, 2010
    Publication date: June 21, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Kartik PARAMASIVAM, Murali KRISHNAPRASAD, Jayu KATTI, Pramod GURUNATH, Affan Arshad Dar
  • Publication number: 20120102355
    Abstract: A messaging entity configured in a memory of first node of a plurality communicatively coupled nodes is disclosed. The nodes are included in a distributed computing system. The messaging entity is configured to operate as a secondary messaging entity in a messaging server for the plurality communicatively coupled nodes. The messaging entity is communicatively couple to a primary messaging entity configured in a memory of a second node of the plurality of nodes. The primary messaging entity is configured to store a message; store a copy of the message. Also, the messaging entity is configured to be promoted to a new primary messaging entity in the event of failure of the primary messaging entity.
    Type: Application
    Filed: December 23, 2010
    Publication date: April 26, 2012
    Applicant: Microsoft Corporation
    Inventors: Muralidhar Krishnaprasad, Kartik Paramasivam, Jayteerth Katti, Anil Nori
  • Patent number: 8150994
    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: Grant
    Filed: June 3, 2005
    Date of Patent: April 3, 2012
    Assignee: Microsoft Corporation
    Inventors: Wayne A. Clark, Lee B. Graber, Kartik Paramasivam, Siddhartha Roy, Sanjib Saha, Sumitra Sujanani
  • Publication number: 20120030169
    Abstract: An instance persistence command for an update to a state of an instance of an application can be issued. In response to the persistence command, a transaction with an instance store can be initiated. As part of the transaction, a first representation of the update can be stored in the instance store and a second representation of the update can be stored in a queue. The transaction can be committed after storing the first and second representations. After the transaction is committed, the second representation can be processed to store a third representation of the update in a query store. Application instance state information in the query store can be updated and queried without locking the instance store so that such operations in the query store can be performed asynchronously with operations in the instance store.
    Type: Application
    Filed: July 27, 2010
    Publication date: February 2, 2012
    Applicant: Microsoft Corporation
    Inventors: Nicholas A. Allen, John A. Taylor, Kartik Paramasivam, Dharma Shukla