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: 11533391Abstract: 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: GrantFiled: June 5, 2019Date of Patent: December 20, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Bharath Kumarasubramanian, Jagadish Venkatraman, Jacob R. Maes, Kartik Paramasivam, Prateek Maheshwari, Ray Manpreet Singh Matharu, Samarth Shetty, Shanthoosh Pazhanjur Venkataraman, Yi Pan
-
Patent number: 11487588Abstract: 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: GrantFiled: June 30, 2020Date of Patent: November 1, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Abhishek Shivanna, Bharath Kumarasubramanian, Prateek Maheshwari, Rayman Preet Singh, Samarth Shetty, Kartik Paramasivam, Fan Xie, Pawas Chhokra, Sanil Jain
-
Patent number: 11308092Abstract: 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: GrantFiled: June 11, 2019Date of Patent: April 19, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Abhishek Shivanna, Kartik Paramasivam, Ray Manpreet Singh Matharu, Samarth Shetty, Srinivasulu Punuru, Yi Pan, Prateek Maheshwari
-
Publication number: 20210406086Abstract: 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: ApplicationFiled: June 30, 2020Publication date: December 30, 2021Inventors: Abhishek Shivanna, Bharath Kumarasubramanian, Prateek Maheshwari, Rayman Preet Singh, Samarth Shetty, Kartik Paramasivam, Fan Xie, Pawas Chhokra, Sanil Jain
-
Publication number: 20200394196Abstract: 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: ApplicationFiled: June 11, 2019Publication date: December 17, 2020Inventors: Abhishek Shivanna, Kartik Paramasivam, Ray Manpreet Singh Matharu, Samarth Shetty, Srinivasulu Punuru, Yi Pan, Prateek Maheshwari
-
Publication number: 20200389546Abstract: 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: ApplicationFiled: June 5, 2019Publication date: December 10, 2020Applicant: Microsoft Technology Licensing, LLCInventors: Bharath Kumarasubramanian, Jagadish Venkatraman, Jacob R. Maes, Kartik Paramasivam, Prateek Maheshwari, Ray Manpreet Singh Matharu, Samarth Shetty, Shanthoosh Pazhanjur Venkataraman, Yi Pan
-
Patent number: 10409656Abstract: 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: GrantFiled: May 29, 2018Date of Patent: September 10, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Manu Srivastava, Kartik Paramasivam, Murali Krishnaprasad
-
Publication number: 20190108072Abstract: 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: ApplicationFiled: May 29, 2018Publication date: April 11, 2019Inventors: Manu Srivastava, Kartik Paramasivam, Murali Krishnaprasad
-
Patent number: 10162713Abstract: 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: GrantFiled: February 19, 2015Date of Patent: December 25, 2018Assignee: Microsoft Technology Licensing, LLCInventors: John A. Taylor, Nicholas A. Allen, Stuart J. Langley, Igor Sedukhin, Justin D. Brown, Kartik Paramasivam
-
Patent number: 10002033Abstract: 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: GrantFiled: February 7, 2012Date of Patent: June 19, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Manu Srivastava, Kartik Paramasivam, Murali Krishnaprasad
-
Publication number: 20180091588Abstract: 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: ApplicationFiled: September 26, 2016Publication date: March 29, 2018Applicant: LinkedIn CorporationInventors: Jiangjie Qin, Aditya A. Auradkar, Adem Efe Gencer, Joel J. Koshy, Kartik Paramasivam
-
Publication number: 20180091586Abstract: 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: ApplicationFiled: September 26, 2016Publication date: March 29, 2018Applicant: LinkedIn CorporationInventors: Aditya A. Auradkar, Jiangjie Qin, Adem Efe Gencer, Joel J. Koshy, Kartik Paramasivam
-
Publication number: 20180063055Abstract: 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: ApplicationFiled: August 26, 2016Publication date: March 1, 2018Applicant: LinkedIn CorporationInventors: Kartik Paramasivam, Jiangjie Qin
-
Patent number: 9848047Abstract: 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: GrantFiled: April 19, 2016Date of Patent: December 19, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Kartik Paramasivam, Sung Hwa Jin, Manu Srivastava, Muralidhar Krishnaprasad, Ruppert Rolf Koch, Venkata Raja Gopal Ravipati, Bin Li
-
Patent number: 9794305Abstract: 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: GrantFiled: November 19, 2013Date of Patent: October 17, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Muralidhar Krishnaprasad, Kartik Paramasivam, Jayteerth Katti, Anil Nori
-
Publication number: 20160330282Abstract: 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: ApplicationFiled: April 19, 2016Publication date: November 10, 2016Inventors: Kartik Paramasivam, Sung Hwa Jin, Manu Srivastava, Muralidhar Krishnaprasad, Ruppert Rolf Koch, Venkata Raja Gopal Ravipati, Bin Li
-
Publication number: 20160212083Abstract: 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: ApplicationFiled: October 12, 2012Publication date: July 21, 2016Inventors: Kartik Paramasivam, Jayteerth Katti, Hiu-Ming Eric Lam, David Leon Stucki
-
Patent number: 9344391Abstract: 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: GrantFiled: March 14, 2012Date of Patent: May 17, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Kartik Paramasivam, Sung Hwa Jin, Manu Srivastava, Muralidhar Krishnaprasad, Ruppert Rolf Koch, Venkata Raja Gopal Ravipati, Bin Li
-
Publication number: 20150161014Abstract: 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: ApplicationFiled: February 19, 2015Publication date: June 11, 2015Inventors: John A. Taylor, Nicholas A. Allen, Stuart J. Langley, Igor Sedukhin, Justin D. Brown, Kartik Paramasivam
-
Patent number: 9015303Abstract: 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: GrantFiled: September 12, 2011Date of Patent: April 21, 2015Assignee: Microsoft CorporationInventors: Jayteerth Katti, Kartik Paramasivam, Stuart John Langley, Pramod Gurunath, Muralidhar Krishnaprasad, Elvin Morales, Manu Srivastava