Patent ID: 7493407

Claim:
A method for dynamic control of bandwidth allocation to each of a plurality of applications in a communications network, the communications network including an access point to a first network from a second network where the applications are hosted, a network flow control device coupled to the second network and regulating message traffic from the applications to the access point, and an apparatus controlling bandwidth allocation to each application via the network flow control device, the method comprising: determining, via the apparatus, whether a message received by the network flow control device is from a known application or an unknown application, wherein each known application corresponds to a respective one of the plurality of applications that have an identifier stored by the apparatus and the received message includes a packet header reflecting one of the applications as being the source of the received message; generating one or more network flow control instructions for controlling allocation of a portion of a predetermined bandwidth of the access point to the received message in accordance with a bandwidth allocation strategy, wherein the strategy includes at least one known application and a bandwidth constraint for each of the least one known applications and a bandwidth allocation priority for each of the least one known applications; monitoring each application's actual bandwidth usage at the access point; generating message demographic statistics including message lengths and frequency of occurrences for each of the monitored applications, based on the actual bandwidth use of the respective monitored application; computing a message distribution delay period for each of the known applications included in the bandwidth allocation strategy based on the message demographic statistics, wherein the computing further comprises a modeling process comprising the steps of: identifying each of the applications included in the bandwidth allocation strategy that are actively messaging for a predetermined duration; simulating bandwidth allocations according to the bandwidth allocation strategy for each of the applications identified as actively messaging; and collecting data representative of the number of active periods, message length, time since last message, allocated bandwidth, number of pre-emptions and time for message transfer for each application included in the bandwidth allocation strategy.