Patent ID: 7710869

Claim:
A computer-implemented method executable using one or more processors for communicating packets to a remote device comprising: determining at a processor a number of sequential packets that may be lost without significantly affecting perceived voice quality of a communication session; receiving at an interface a plurality of packets for delivery to one or more remote destination devices, wherein each of the packets comprises a sequence number; determining, at a network processor, for each of the plurality of packets based on header identification information in the packet whether the packet is a part of a communication session for which a separation algorithm has been established; for each packet for which it is determined that the packet is not part of a communication session for which a separation algorithm has been established, communicating, at a router, the packet to its remote destination device on an available path; and for each packet for which it is determined that the packet is part of a communication session for which a separation algorithm has been established: determining a path for the packet to its remote destination device out of a plurality of possible paths to the remote destination device to ensure that none of the plurality of paths to the remote destination device carry more than the determined number of sequential packets that are part of the communication session of the packet; and communicating, at the router, the packet to its remote destination device along the determined path for the packet.