Patents by Inventor Michael Papamichael

Michael Papamichael 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: 10922250
    Abstract: Systems and methods for monitoring and steering service requests to acceleration components are provided. An example method in a system comprising a host configured to send messages, corresponding to a service, to any of a set of acceleration components may include tracking an input buffer occupancy corresponding to each of the set of acceleration components. The method may further include, upon a first input buffer occupancy of a first acceleration component from among the set of the acceleration components meeting a predetermined criterion, generating a first penalty value for the first acceleration component based at least on the first input buffer occupancy associated with the first acceleration component, and comparing a second value indicative of an availability of the second acceleration component to receive messages from the host to a second dynamically updated value to determine whether the host can send a next message to the second acceleration component.
    Type: Grant
    Filed: April 30, 2019
    Date of Patent: February 16, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Adrian M. Caulfield, Michael Papamichael, Alexey Lavrov
  • Publication number: 20200349098
    Abstract: Systems and methods for monitoring and steering service requests to acceleration components are provided. An example method in a system comprising a host configured to send messages, corresponding to a service, to any of a set of acceleration components may include tracking an input buffer occupancy corresponding to each of the set of acceleration components. The method may further include, upon a first input buffer occupancy of a first acceleration component from among the set of the acceleration components meeting a predetermined criterion, generating a first penalty value for the first acceleration component based at least on the first input buffer occupancy associated with the first acceleration component, and comparing a second value indicative of an availability of the second acceleration component to receive messages from the host to a second dynamically updated value to determine whether the host can send a next message to the second acceleration component.
    Type: Application
    Filed: April 30, 2019
    Publication date: November 5, 2020
    Inventors: Adrian M. Caulfield, Michael Papamichael, Alexey Lavrov
  • Patent number: 10791054
    Abstract: Systems and methods for flow control and congestion management of messages among acceleration components (ACs) configurable to accelerate a service are provided. An example system comprises a software plane including host components configured to execute instructions corresponding to a service and an acceleration plane including ACs configurable to accelerate the service. In a first mode a sending AC is configured to, in response to receiving a first indication from a receiving AC, send subsequent packets corresponding to a first message associated with the service using a larger inter-packet gap than an inter-packet gap used for previous packets corresponding to the first message associated with the service, and in the second mode the sending AC is configured to, in response to receiving a second indication from the receiving AC, delay a transmission of a next packet corresponding to the first message associated with the service.
    Type: Grant
    Filed: April 26, 2019
    Date of Patent: September 29, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Adrian M. Caulfield, Eric S. Chung, Michael Papamichael
  • Publication number: 20190253354
    Abstract: Systems and methods for flow control and congestion management of messages among acceleration components (ACs) configurable to accelerate a service are provided. An example system comprises a software plane including host components configured to execute instructions corresponding to a service and an acceleration plane including ACs configurable to accelerate the service. In a first mode a sending AC is configured to, in response to receiving a first indication from a receiving AC, send subsequent packets corresponding to a first message associated with the service using a larger inter-packet gap than an inter-packet gap used for previous packets corresponding to the first message associated with the service, and in the second mode the sending AC is configured to, in response to receiving a second indication from the receiving AC, delay a transmission of a next packet corresponding to the first message associated with the service.
    Type: Application
    Filed: April 26, 2019
    Publication date: August 15, 2019
    Inventors: Adrian M. Caulfield, Eric S. Chung, Michael Papamichael
  • Patent number: 10326696
    Abstract: Components, methods, and systems allowing acceleration components to transmit messages are provided. An acceleration component for use among a first plurality of acceleration components, associated with a first top-of-rack (TOR) switch, to transmit messages to other acceleration components in an acceleration plane configurable to provide service acceleration for a service is provided. The acceleration component includes a transport component configured to transmit a first point-to-point message to a second acceleration component, associated with a second TOR switch different form the first TOR switch, and to a third acceleration component, associated with a third TOR switch different from the first TOR switch and the second TOR switch. The transport component may be configured to broadcast a second point-to-point message to all of a second plurality of acceleration components associated with the second TOR switch and to all of a third plurality of acceleration components associated with the third TOR switch.
    Type: Grant
    Filed: January 2, 2017
    Date of Patent: June 18, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Adrian M. Caulfield, Eric S. Chung, Michael Papamichael
  • Patent number: 10320677
    Abstract: Systems and methods for flow control and congestion management of messages among acceleration components (ACs) configurable to accelerate a service are provided. An example system comprises a software plane including host components configured to execute instructions corresponding to a service and an acceleration plane including ACs configurable to accelerate the service. In a first mode a sending AC is configured to, in response to receiving a first indication from a receiving AC, send subsequent packets corresponding to a first message associated with the service using a larger inter-packet gap than an inter-packet gap used for previous packets corresponding to the first message associated with the service, and in the second mode the sending AC is configured to, in response to receiving a second indication from the receiving AC, delay a transmission of a next packet corresponding to the first message associated with the service.
    Type: Grant
    Filed: February 10, 2017
    Date of Patent: June 11, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Adrian M. Caulfield, Eric S. Chung, Michael Papamichael
  • Publication number: 20180191617
    Abstract: Systems and methods for flow control and congestion management of messages among acceleration components (ACs) configurable to accelerate a service are provided. An example system comprises a software plane including host components configured to execute instructions corresponding to a service and an acceleration plane including ACs configurable to accelerate the service. In a first mode a sending AC is configured to, in response to receiving a first indication from a receiving AC, send subsequent packets corresponding to a first message associated with the service using a larger inter-packet gap than an inter-packet gap used for previous packets corresponding to the first message associated with the service, and in the second mode the sending AC is configured to, in response to receiving a second indication from the receiving AC, delay a transmission of a next packet corresponding to the first message associated with the service.
    Type: Application
    Filed: February 10, 2017
    Publication date: July 5, 2018
    Inventors: Adrian M. Caulfield, Eric S. Chung, Michael Papamichael
  • Publication number: 20180191609
    Abstract: Components, methods, and systems allowing acceleration components to transmit messages are provided. An acceleration component for use among a first plurality of acceleration components, associated with a first top-of-rack (TOR) switch, to transmit messages to other acceleration components in an acceleration plane configurable to provide service acceleration for a service is provided. The acceleration component includes a transport component configured to transmit a first point-to-point message to a second acceleration component, associated with a second TOR switch different form the first TOR switch, and to a third acceleration component, associated with a third TOR switch different from the first TOR switch and the second TOR switch. The transport component may be configured to broadcast a second point-to-point message to all of a second plurality of acceleration components associated with the second TOR switch and to all of a third plurality of acceleration components associated with the third TOR switch.
    Type: Application
    Filed: January 2, 2017
    Publication date: July 5, 2018
    Inventors: Adrian M. Caulfield, Eric S. Chung, Michael Papamichael