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: 11533391
    Abstract: The disclosed embodiments provide a system for managing a stream-processing application. During operation, the system allocates a first host for an active instance of the stream-processing application that maintains a state during processing of one or more input streams. Next, the system allocates a second host for a first backup instance that recreates the state on the active instance by consuming changes to the state replicated from the active instance without consuming the input stream(s). During a failure on the first host, the system moves the active instance to the first host by stopping the first backup instance on the second host. Finally, the system launches the active instance on the second host to resume processing of the input stream(s) by the active instance using the recreated state from the first backup instance.
    Type: Grant
    Filed: June 5, 2019
    Date of Patent: December 20, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Bharath Kumarasubramanian, Jagadish Venkatraman, Jacob R. Maes, Kartik Paramasivam, Prateek Maheshwari, Ray Manpreet Singh Matharu, Samarth Shetty, Shanthoosh Pazhanjur Venkataraman, Yi Pan
  • Patent number: 11487588
    Abstract: Techniques are provided for automatically resizing applications. In one technique, policy data that indicates an order of multiple policies is stored. The policies include (1) a first policy that corresponds to a first computer resource and a first resizing action and (2) a second policy that is lower in priority than the first policy and that corresponds to a second resizing action and a second computer resource. Resource utilization data is received from at least one application executing in a cloud environment. Based on the order, the first policy is identified. Based on the resource utilization data, it is determined whether criteria associated with the first policy are satisfied with respect to the application. If satisfied, then the first resizing action is performed with respect to the application; otherwise, based on the computer resource utilization data, it is determined whether criteria associated with the second policy are satisfied.
    Type: Grant
    Filed: June 30, 2020
    Date of Patent: November 1, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Abhishek Shivanna, Bharath Kumarasubramanian, Prateek Maheshwari, Rayman Preet Singh, Samarth Shetty, Kartik Paramasivam, Fan Xie, Pawas Chhokra, Sanil Jain
  • Patent number: 11308092
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system receives records of activity within a stream-processing system over a set of event streams, wherein each event stream in the set of event streams contains events related to a corresponding job in the stream-processing system. Next, the system indexes data in the records under a set of keys that include a first key related to jobs in the stream-processing system and a second key related to errors in the stream-processing system. The system then outputs the indexed data for use in analyzing the execution of the stream-processing system.
    Type: Grant
    Filed: June 11, 2019
    Date of Patent: April 19, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Abhishek Shivanna, Kartik Paramasivam, Ray Manpreet Singh Matharu, Samarth Shetty, Srinivasulu Punuru, Yi Pan, Prateek Maheshwari
  • Publication number: 20210406086
    Abstract: Techniques are provided for automatically resizing applications. In one technique, policy data that indicates an order of multiple policies is stored. The policies include (1) a first policy that corresponds to a first computer resource and a first resizing action and (2) a second policy that is lower in priority than the first policy and that corresponds to a second resizing action and a second computer resource. Resource utilization data is received from at least one application executing in a cloud environment. Based on the order, the first policy is identified. Based on the resource utilization data, it is determined whether criteria associated with the first policy are satisfied with respect to the application. If satisfied, then the first resizing action is performed with respect to the application; otherwise, based on the computer resource utilization data, it is determined whether criteria associated with the second policy are satisfied.
    Type: Application
    Filed: June 30, 2020
    Publication date: December 30, 2021
    Inventors: Abhishek Shivanna, Bharath Kumarasubramanian, Prateek Maheshwari, Rayman Preet Singh, Samarth Shetty, Kartik Paramasivam, Fan Xie, Pawas Chhokra, Sanil Jain
  • Publication number: 20200394196
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system receives records of activity within a stream-processing system over a set of event streams, wherein each event stream in the set of event streams contains events related to a corresponding job in the stream-processing system. Next, the system indexes data in the records under a set of keys that include a first key related to jobs in the stream-processing system and a second key related to errors in the stream-processing system. The system then outputs the indexed data for use in analyzing the execution of the stream-processing system.
    Type: Application
    Filed: June 11, 2019
    Publication date: December 17, 2020
    Inventors: Abhishek Shivanna, Kartik Paramasivam, Ray Manpreet Singh Matharu, Samarth Shetty, Srinivasulu Punuru, Yi Pan, Prateek Maheshwari
  • Publication number: 20200389546
    Abstract: The disclosed embodiments provide a system for managing a stream-processing application. During operation, the system allocates a first host for an active instance of the stream-processing application that maintains a state during processing of one or more input streams. Next, the system allocates a second host for a first backup instance that recreates the state on the active instance by consuming changes to the state replicated from the active instance without consuming the input stream(s). During a failure on the first host, the system moves the active instance to the first host by stopping the first backup instance on the second host. Finally, the system launches the active instance on the second host to resume processing of the input stream(s) by the active instance using the recreated state from the first backup instance.
    Type: Application
    Filed: June 5, 2019
    Publication date: December 10, 2020
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Bharath Kumarasubramanian, Jagadish Venkatraman, Jacob R. Maes, Kartik Paramasivam, Prateek Maheshwari, Ray Manpreet Singh Matharu, Samarth Shetty, Shanthoosh Pazhanjur Venkataraman, Yi Pan
  • Patent number: 10409656
    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: Grant
    Filed: May 29, 2018
    Date of Patent: September 10, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Manu Srivastava, Kartik Paramasivam, Murali Krishnaprasad
  • Publication number: 20190108072
    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: May 29, 2018
    Publication date: April 11, 2019
    Inventors: Manu Srivastava, Kartik Paramasivam, Murali Krishnaprasad
  • Patent number: 10162713
    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: Grant
    Filed: February 19, 2015
    Date of Patent: December 25, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John A. Taylor, Nicholas A. Allen, Stuart J. Langley, Igor Sedukhin, Justin D. Brown, Kartik Paramasivam
  • Patent number: 10002033
    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: Grant
    Filed: February 7, 2012
    Date of Patent: June 19, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Manu Srivastava, Kartik Paramasivam, Murali Krishnaprasad
  • Publication number: 20180091586
    Abstract: A system, apparatus, and methods are provided for self-healing and balancing partition distribution across nodes within a message broker cluster. During operation, the system receives a stream of messages at the message brokering cluster, wherein the message stream is divided into partitions and replicas for each partition are distributed among a set of nodes within the message brokering cluster. Responsive to a change in the number of nodes within the message brokering cluster, the system (1) determines a set of replicas to be migrated within the message brokering cluster, (2) divides the set of replicas into multiple chunks, wherein each chunk includes one or more of the replicas to be migrated to a new node, and (3) migrates the set of replicas one chunk at a time, wherein replicas not corresponding to the single chunk do not begin migrating until all replicas within the single chunk finish migrating.
    Type: Application
    Filed: September 26, 2016
    Publication date: March 29, 2018
    Applicant: LinkedIn Corporation
    Inventors: Aditya A. Auradkar, Jiangjie Qin, Adem Efe Gencer, Joel J. Koshy, Kartik Paramasivam
  • Publication number: 20180091588
    Abstract: A system, apparatus, and methods are provided for balancing partition distribution across nodes within a message broker cluster so as to balance the broker nodes' workloads. During operation, the system receives a stream of messages at the cluster, wherein the message stream is divided into topics, the topics are divided into partitions, and replicas for each partition are distributed among the nodes of the message brokering cluster. Upon detection of an imbalance in the nodes' workloads by a monitor (e.g., as indicated by uneven resource consumption), an analyzer considers various possible remedies (e.g., reassigning/demoting/promoting a replica), estimates their likely impacts on the workload, and determines whether they satisfy hard and/or soft goals of the system. The analyzer generates a plan that satisfies the hard goals and that may satisfy some or all soft goals, and passes it to an executor for implementation.
    Type: Application
    Filed: September 26, 2016
    Publication date: March 29, 2018
    Applicant: LinkedIn Corporation
    Inventors: Jiangjie Qin, Aditya A. Auradkar, Adem Efe Gencer, Joel J. Koshy, Kartik Paramasivam
  • Publication number: 20180063055
    Abstract: A system, method, and apparatus are provided for repartitioning a topic of a publish-subscribe message system. The topic is originally configured with N partitions (N>1) hosted by multiple brokers for storing messages to be consumed by multiple consumers. The repartitioning process causes one or more collections of partitions to be created in addition to the original collection of N partitions. Afterward, when a new message is received for the topic and has an associated partition key, the key is processed (e.g., hashed) once to identify a target collection of partitions and is then reprocessed to identify a destination partition within the target collection. Consumers may be automatically subscribed to new partitions. For example, a consumer subscribed to the ith partition of the original N partitions may be subscribed to the ith partition of each additional collection of partitions.
    Type: Application
    Filed: August 26, 2016
    Publication date: March 1, 2018
    Applicant: LinkedIn Corporation
    Inventors: Kartik Paramasivam, Jiangjie Qin
  • Patent number: 9848047
    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: Grant
    Filed: April 19, 2016
    Date of Patent: December 19, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kartik Paramasivam, Sung Hwa Jin, Manu Srivastava, Muralidhar Krishnaprasad, Ruppert Rolf Koch, Venkata Raja Gopal Ravipati, Bin Li
  • Patent number: 9794305
    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: Grant
    Filed: November 19, 2013
    Date of Patent: October 17, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Muralidhar Krishnaprasad, Kartik Paramasivam, Jayteerth Katti, Anil Nori
  • Publication number: 20160330282
    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: April 19, 2016
    Publication date: November 10, 2016
    Inventors: Kartik Paramasivam, Sung Hwa Jin, Manu Srivastava, Muralidhar Krishnaprasad, Ruppert Rolf Koch, Venkata Raja Gopal Ravipati, Bin Li
  • Publication number: 20160212083
    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: July 21, 2016
    Inventors: Kartik Paramasivam, Jayteerth Katti, Hiu-Ming Eric Lam, David Leon Stucki
  • Patent number: 9344391
    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: Grant
    Filed: March 14, 2012
    Date of Patent: May 17, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kartik Paramasivam, Sung Hwa Jin, Manu Srivastava, Muralidhar Krishnaprasad, Ruppert Rolf Koch, Venkata Raja Gopal Ravipati, Bin Li
  • Publication number: 20150161014
    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: February 19, 2015
    Publication date: June 11, 2015
    Inventors: John A. Taylor, Nicholas A. Allen, Stuart J. Langley, Igor Sedukhin, Justin D. Brown, Kartik Paramasivam
  • Patent number: 9015303
    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: Grant
    Filed: September 12, 2011
    Date of Patent: April 21, 2015
    Assignee: Microsoft Corporation
    Inventors: Jayteerth Katti, Kartik Paramasivam, Stuart John Langley, Pramod Gurunath, Muralidhar Krishnaprasad, Elvin Morales, Manu Srivastava