Patents by Inventor Kanak B. Agarwal

Kanak B. Agarwal 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).

  • Publication number: 20180167475
    Abstract: A dynamic data distribution system allows publication of data values for hierarchical keys (paths) and subscriptions to key (path) patterns which include wildcard characters. Permission to publish or subscribe is controlled by an access control list associated with each key. An agent receives a publication request from a client, verifies client access permissions on the subject key, and transmits the publication to a data storage server which performs the write. Following a successful write, the agent forwards the publication to a message routing exchange which routes the publication to the session queue for all clients that are permitted to receive the publication and have subscribed to a key pattern matching this publication. For data synchronization, the data storage server assigns a virtual time stamp to each write, and the subscriber verifies the count of updates received for a subscription within a sliding window of virtual time stamps.
    Type: Application
    Filed: December 8, 2016
    Publication date: June 14, 2018
    Inventors: Kanak B. Agarwal, Patrick J. Bohrer, Ahmed Gheith, Michael D. Kistler, Ramakrishnan Rajamony
  • Patent number: 9998513
    Abstract: A method, system and computer program product for selecting a bitrate to stream encoded media. A manifest file is fetched, where the manifest file contains metadata for encoded media segments which includes tags signifying the associated encoded media segments being important to the viewer. A playback occupancy level is then increased before reaching these tagged media segment(s). A high bitrate (high quality) is selected to stream the tagged media segment(s) which are then fetched and played at the selected high bitrate in response to the new playback buffer occupancy level being above a threshold level. In this manner, those media segments that are of higher importance to the viewer will be viewed in a higher quality since content information is used to select the bitrate to receive the encoded media segments. As a result, the user's quality of experience in viewing media is improved.
    Type: Grant
    Filed: November 20, 2015
    Date of Patent: June 12, 2018
    Assignee: International Business Machines Corporation
    Inventors: Kanak B. Agarwal, Patrick J. Bohrer, Ketaki Borkar, Trisha E. Hanlon, Ricardo N. Olivieri, John D. Petitto
  • Publication number: 20180159922
    Abstract: A detection is made that a first handshake packet has been received from a data processing system at a first system. The first system participates in a load-balanced group managed by a load-balancer. A value is obtained of a metric configured in the first system. from a set of delay functions, a delay function that corresponds to the metric is selected. Using the value of the metric in the selected delay function, a delay period is computed. A transmission of a second handshake packet is delayed for at least the delay period. An intentionally delayed transmission of the second handshake packet is caused after the delay period from the first system to the data processing system.
    Type: Application
    Filed: December 5, 2016
    Publication date: June 7, 2018
    Applicant: International Business Machines Corporation
    Inventors: Kanak B. Agarwal, Wenzhi Cui, Wesley M. Felter, Yu Gu, Eric J. Rozner
  • Publication number: 20180159775
    Abstract: A determination is made at an application executing in conjunction with a switch that a request packet sent to a virtualized computing entity (VCE) connected to the switch should be offloaded to a second VCE. A destination of the request packet is changed from the VCE to the second VCE, to form a first modified request packet. An evaluation is made whether a response packet from the second VCE, which is responsive to the request packet, is usable in the data communication with a sender of the request packet. When the evaluating is affirmative, the first modified request packet is caused to be transmitted from the switch to the second VCE.
    Type: Application
    Filed: December 5, 2016
    Publication date: June 7, 2018
    Applicant: International Business Machines Corporation
    Inventors: Kanak B. Agarwal, Wenzhi Cui, Wesley M. Felter, Yu Gu, Eric J. Rozner
  • Publication number: 20180157539
    Abstract: A type of a request that is currently being processed at a system is determined. A distribution is selected from a set of processing time distributions, the distribution forming a model that is applicable to the type. A threshold point is computed for the model. A processing time that exceeds a threshold point processing time is regarded as exhibiting tail latency. Tail latency includes a delay in processing of the request due to a reason other than a utilization of a resource of the system exceeding a threshold utilization and a size of a queue in the system exceeding a threshold size. An evaluation is made that the request will experience tail latency during processing at the system and the processing of the request at the system is aborted. The request is offloaded for processing at a peer system in a load-balanced group of systems.
    Type: Application
    Filed: December 5, 2016
    Publication date: June 7, 2018
    Applicant: International Business Machines Corporation
    Inventors: Kanak B. Agarwal, Wenzhi Cui, Wesley M. Felter, Yu Gu, Eric J. Rozner
  • Patent number: 9985890
    Abstract: At an application executing in conjunction with a vSwitch in a host system, using a processor assigned to the vSwitch in the host system, a flow of a number of packets is received from a VM. At the application, a set of CWND values is computed using a corresponding set of congestion control algorithms. At the application, a determination is made whether any of the CWND values in the set of CWND values match the number of packets in the flow within a tolerance value. In response to a CWND value in the set of CWND matching the number of packets in the flow within the tolerance value, a conclusion is drawn that a type of the congestion control algorithm which computed the matching CWND value is the type of a local congestion control algorithm implemented within the VM.
    Type: Grant
    Filed: March 14, 2016
    Date of Patent: May 29, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
  • Patent number: 9985889
    Abstract: At an application executing in conjunction with a vSwitch in a host system, using a processor assigned to the vSwitch in the host system, a CWND value corresponding to a flow from a VM is computed using a period measured by a timer and a number of packets of the flow received and acknowledged in response packets, the number being counted by a counter, the timer being associated with a packet of the flow. A set of flow parameters is extracted, at the application, from the flow. At the application, a normalized value corresponding to the flow is computed. At the application, the CWND value is reduced according to the normalized value of the flow to form a reduced CWND value. The reduced CWND value is applied to the flow at the vSwitch such that the vSwitch transmits, from the flow to a network, only a number of packets up to the reduced CWND value.
    Type: Grant
    Filed: March 14, 2016
    Date of Patent: May 29, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
  • Patent number: 9948547
    Abstract: Mechanisms are provided for tracing a route taken by a packet in a Software Defined Network (SDN). Each switch in the SDN is assigned a first color label, from a set of color labels, such that such that adjacent switches have different color labels. Rules are installed in each switch to forward a received data packet to the SDN controller in response to a second color label of the received data packet not matching the first color label assigned to the switch. A second color label, from the set of color labels, is assigned to a trace data packet. A route of the trace data packet is traced through the SDN based on the second color label and application of the one or more rules to the trace data packet at each of the switches in the SDN as the trace data packet is received by each of the switches in the SDN.
    Type: Grant
    Filed: April 28, 2017
    Date of Patent: April 17, 2018
    Assignee: International Business Machines Corporation
    Inventor: Kanak B. Agarwal
  • Patent number: 9942151
    Abstract: At an application executing in conjunction with a vSwitch in a host system, using a processor assigned to the vSwitch in the host system, a CWND value is computed corresponding to a flow from a VM using a period measured by a timer and a number of packets of the flow received and acknowledged in response packets, the number being counted by a counter, the timer being associated with a packet of the flow. The CWND value is stored in a field in a response packet received from a receiver of the flow, the field being designated for carrying a RWND value, the response packet corresponding to a packet in the flow. The storing forms a modified response packet. The modified response packet is sent from the vSwitch to the VM.
    Type: Grant
    Filed: March 14, 2016
    Date of Patent: April 10, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
  • Patent number: 9893962
    Abstract: Mechanisms are provided for analyzing data traffic through a network. The mechanisms sample data packets of a data flow through a normal port of a network forwarding device of the network. The sampling is performed at least by configuring the network forwarding device to implement port mirroring of the normal port to a designated mirror port of the network forwarding device. The mechanisms forward sampled data packets, copied to the mirror port by virtue of the port mirroring, to a collector computing device. The mechanisms process, by the collector computing device, the sampled data packets to analyze the data flow through the normal port of the network forwarding device. The mechanisms perform, by the collector computing device, an operation based on results of the analysis.
    Type: Grant
    Filed: October 9, 2015
    Date of Patent: February 13, 2018
    Assignee: International Business Machines Corporation
    Inventors: Kanak B. Agarwal, John B. Carter, Colin K. Dixon, Jeffrey T. Rasley
  • Publication number: 20170353373
    Abstract: At an SDN controller executing using a processor and a memory, a tracing packet is configured with a default value in a tag field. The tracing packet is inserted from the SDN controller into the SDN at a switch in the SDN. A returned packet and a port identifier is received at the controller, from the switch, the returned packet including a modified content in a location of the tracing packet that is different from the tag field. The port identifier corresponds to a port of the switch on which the switch received the returned packet from an middlebox. A function of the middlebox is identified by analyzing a modification applied to the modified content by the middlebox. The function of the middlebox and a location of the middlebox in the SDN are saved. The location includes the port identifier and an identifier of the switch.
    Type: Application
    Filed: June 2, 2016
    Publication date: December 7, 2017
    Applicant: International Business Machines Corporation
    Inventors: Kanak B. Agarwal, Eric J. Rozner
  • Publication number: 20170353886
    Abstract: At an application executing in conjunction with a vSwitch a determination is made that a first flow from a first VM is experiencing congestion. The first flow is selected for throttling. a second flow is also selected for throttling, the second flow using a portion of a network path used by the first flow in a data network. At the application, a total CWND adjustment is distributed between the first flow and the second flow. A first CWND value associated with the first flow is adjusted by a first portion of the total CWND window, and a second CWND value associated with the second flow is adjusted by a second portion of the total CWND window.
    Type: Application
    Filed: June 2, 2016
    Publication date: December 7, 2017
    Applicant: International Business Machines Corporation
    Inventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Eric J. Rozner
  • Patent number: 9800648
    Abstract: To manage channel ownership in a publish-subscribe data processing environment, a determination is made at a first server that a subscription request from a client relates to a channel, the channel having a channel identifier. At an exchange component in a messaging middleware, a session queue associated with the client is bound to the channel. A mandatory delivery message is configured to be routed using a publisher identifier by the exchange component, the publisher identifier being related to the channel identifier. The mandatory delivery message is communicated from the first server to the exchange component to indicate an intent of the first server to become a publisher of the channel. The mandatory delivery message causes the channel ownership of the channel to be limited to a single publisher.
    Type: Grant
    Filed: March 5, 2015
    Date of Patent: October 24, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kanak B. Agarwal, Patrick J. Bohrer, Ahmed Gheith, Michael D. Kistler, Ramakrishnan Rajamony
  • Patent number: 9800640
    Abstract: An approach is provided in which in which a data stream encoder resynchronizes a reference template to a data stream by loading a lock step buffer and a look-ahead buffer with template data blocks retrieved from the reference template. The data stream encoder determines that the lock step buffer's template data is different from a data stream data block and, in turn, preserves the template data block in the look-ahead buffer for subsequent resynchronization. In turn, the data stream encoder matches the look-ahead buffer's preserved template data with a subsequent data stream data block and resynchronizes the reference template to the data stream accordingly.
    Type: Grant
    Filed: October 2, 2013
    Date of Patent: October 24, 2017
    Assignee: International Business Machines Corporation
    Inventors: Kanak B. Agarwal, Michael A. Paolini
  • Publication number: 20170272346
    Abstract: To provide client-side fault-tolerance in a publish-subscribe system, a message is received on a channel from a server. At a function executing using a processor and a memory, a determination is made whether the message contains a heartbeat data. When the message contains the heartbeat data, a determination is made whether a content signature contained in the message matches a last known content signature saved from a previous message. When the content signature contained in the message does not match the last known content signature saved from a previous message, a refresh message is sent to the channel.
    Type: Application
    Filed: June 8, 2017
    Publication date: September 21, 2017
    Applicant: International Business Machines Corporation
    Inventors: KANAK B. AGARWAL, Patrick J. Bohrer, Ahmed Gheith, Michael D. Kistler, Ramakrishnan Rajamony
  • Publication number: 20170264547
    Abstract: At an application executing in conjunction with a vSwitch in a host system, using a processor assigned to the vSwitch in the host system, a CWND value is computed corresponding to a flow from a VM using a period measured by a timer and a number of packets of the flow received and acknowledged in response packets, the number being counted by a counter, the timer being associated with a packet of the flow. The CWND value is stored in a field in a response packet received from a receiver of the flow, the field being designated for carrying a RWND value, the response packet corresponding to a packet in the flow. The storing forms a modified response packet. The modified response packet is sent from the vSwitch to the VM.
    Type: Application
    Filed: March 14, 2016
    Publication date: September 14, 2017
    Applicant: International Business Machines Corporation
    Inventors: KANAK B. AGARWAL, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
  • Publication number: 20170264546
    Abstract: A timer is associated with a packet of a flow from a VM at an application executing in conjunction with a vSwitch in a host system, using a processor assigned to the vSwitch in the host system. At the application, using a counter, a number of packets of the flow that are received and acknowledged in response packets is counted, the response packets being received from a receiver of the flow. At the application, using a period measured by the timer and the number of received packets acknowledged as counted by the counter, a CWND value is computed. The CWND value is applied to the flow at the vSwitch such that the vSwitch transmits, from the flow to a network, only a number of packets up to the CWND value.
    Type: Application
    Filed: March 14, 2016
    Publication date: September 14, 2017
    Applicant: International Business Machines Corporation
    Inventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
  • Publication number: 20170264549
    Abstract: At an application executing in conjunction with a vSwitch in a host system, using a processor assigned to the vSwitch in the host system, a flow of a number of packets is received from a VM. At the application, a set of CWND values is computed using a corresponding set of congestion control algorithms. At the application, a determination is made whether any of the CWND values in the set of CWND values match the number of packets in the flow within a tolerance value. In response to a CWND value in the set of CWND matching the number of packets in the flow within the tolerance value, a conclusion is drawn that a type of the congestion control algorithm which computed the matching CWND value is the type of a local congestion control algorithm implemented within the VM.
    Type: Application
    Filed: March 14, 2016
    Publication date: September 14, 2017
    Applicant: International Business Machines Corporation
    Inventors: Kanak B. Agarwal, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
  • Publication number: 20170264548
    Abstract: At an application executing in conjunction with a vSwitch in a host system, using a processor assigned to the vSwitch in the host system, a CWND value corresponding to a flow from a VM is computed using a period measured by a timer and a number of packets of the flow received and acknowledged in response packets, the number being counted by a counter, the timer being associated with a packet of the flow. A set of flow parameters is extracted, at the application, from the flow. At the application, a normalized value corresponding to the flow is computed. At the application, the CWND value is reduced according to the normalized value of the flow to form a reduced CWND value. The reduced CWND value is applied to the flow at the vSwitch such that the vSwitch transmits, from the flow to a network, only a number of packets up to the reduced CWND value.
    Type: Application
    Filed: March 14, 2016
    Publication date: September 14, 2017
    Applicant: International Business Machines Corporation
    Inventors: KANAK B. AGARWAL, John Carter, Wesley M. Felter, Yu Gu, Keqiang He, Eric J. Rozner
  • Publication number: 20170257421
    Abstract: To manage channel ownership in a publish-subscribe data processing environment, a determination is made at a first server that a subscription request from a client relates to a channel, the channel having a channel identifier. At an exchange component in a messaging middleware, a session queue associated with the client is bound to the channel. A mandatory delivery message is configured to be routed using a publisher identifier by the exchange component, the publisher identifier being related to the channel identifier. The mandatory delivery message is communicated from the first server to the exchange component to indicate an intent of the first server to become a publisher of the channel. The mandatory delivery message causes the channel ownership of the channel to be limited to a single publisher.
    Type: Application
    Filed: May 17, 2017
    Publication date: September 7, 2017
    Applicant: International Business Machines Corporation
    Inventors: Kanak B. Agarwal, Patrick J. Bohrer, Ahmed Gheith, Michael D. Kistler, Ramakrishnan Rajamony