Patent ID: 7450571

Claim:
A method for transmitting a mixed media data stream including multiple video objects (MVOs) between a sender and a receiver through a connection over a packet switched network, the method comprising: transmitting from the sender a sender packet of data to the receiver, the sender packet including a sender header that includes: a packet sequence number; a timestamp indicating a time when the sender packet was sent (ST1); and a size of the sender packet (PacketSize); transmitting from the receiver a receiver packet of data to the sender, the receiver packet including a receiver header that includes: a time interval that the sender packet spent in the receiver side (ΔRT); a timestamp of the sender packet sent from the sender (ST1); an estimate, calculated by the receiver, of a packet-loss rate; and a rate at which data is received at the receiver; estimating a round trip time of the sender packet from the sender to the receiver (RTT) based on ST1 and ΔRT; estimating a time out interval (TO) before which the sender should retransmit to the receiver a sender packet of data that has not been received by the receiver; estimating a probability that a packet of data will be lost (P L ); estimating a present available network bandwidth at which the receiver can receive data from the sender (rcvrate) as a function of the PacketSize, the RTT, the P L , and the TO; deriving a present sending rate of data from the sender to the receiver ( currate ); setting an updated sending rate of data from the sender to the receiver (currate), wherein: if rcvrate is greater than currate , then deriving currate as a function currate , PacketSize, and RTT; and if rcvrate is not greater than currate , then setting currate to be less than rcvrate.