Throttling communication between software processes
AssigneeHewlett-Packard Development Company, L.P.
InventorPeter Chan
Life of this patent
Estimating the term…
Abstract
A throttling process for throttling communications between software processes, where data streams are sent between a source and one or more destinations. The method first determines if any of the destinations are busy. If one or more of the destinations are busy, the process performs a throttling action before sending the data stream to the busy destinations.
Claims26
A method for controlling a stream of data sent from a source to a plurality of destinations, said method comprising:
- selecting which of the plurality of destinations a particular data stream is to be sent;
- determining if one or more of the selected destinations are busy;
- responsive to a determination that at least one of the selected destinations is not busy, sending the particular data stream to those selected destinations that are not busy;
- and
- responsive to a determination that at least one of the selected destinations is busy, performing a throttling action for the particular data stream being sent to the busy destination so as to reduce the chance that the data stream will be dropped.
A method for controlling a stream of data sent from a source to a plurality of destinations, said method comprising:
- selecting which of the plurality of destinations a particular data stream is to be sent;
- determining if one or more of the selected destinations are busy;
- responsive to a determination that at least one of the selected destinations is not busy, sending the particular data stream to those selected destinations that are not busy;
- responsive to a determination that at least one of the selected destinations is busy, performing a throttling action for the particular data stream being sent to the busy destination so as to reduce the chance that the data stream will be dropped, wherein performing the throttling action includes waiting a predetermined period of time to send the data stream to the busy destination;
- and
- determining whether the throttling action has attempted to send the data stream to the busy destination too many times, and dropping the data stream if the throttling action has been performed too many times.
A system for controlling a stream of data from a source to a plurality of destinations, said system comprising:
- means for selecting which of the plurality of destinations a particular data stream is to be sent;
- means for determining if one or more of the selected destinations is busy;
- means, responsive to a determination that at least one of the selected destinations is not busy, for sending the particular data stream to those selected destinations that are not busy;
- and
- means, responsive to a determination that at least one of the selected destinations is busy, for performing a throttling action for the particular data stream being sent to the busy destination so as to reduce the chance that the data stream will be dropped.
Dependencies are inferred from the claim text.