Reliable delivery of multi-cast conferencing data
Abstract
Conferencing data is reliably delivered to computer systems participating in a hierarchically arranged multi-cast conferencing session. When a child computer system does not receive a multi-cast packet (e.g., an IP multi-cast packet), the child computer system sends a negative acknowledgment to a parent computer system. In response, the parent computer system re-transmits conferencing data that was contained in the multi-cast packet to the child computer system. Conferencing data can be re-transmitted to the child computer system via uni-cast (e.g., TCP). Accordingly, conferencing data that is not received or that is damaged via multi-cast can be repaired via uni-cast. Computer systems can join an existing multi-cast conference session without having to communicate with the root computer system. The root computer system adjusts a multi-cast send rate to compensate for changed network conditions.
Claims
exact text as granted — not AI-modified1 . A method comprising:
receiving, by a computing device at a designated multicast address of a multicast session from a sender of multicast packets of the multicast session in response to the computing device joining the multicast session, a multicast packet of the multicast session; checking, by the computing device, a source address of the received multicast packet and, if the source address does not match a network address of the sender, discarding the multicast packet and, if the source address does match the network address of the sender, sending a status message indicating that the computing device joined the multicast session and received the multi-cast packet.
2 . The method of claim 1 further comprising verifying, by the computing device based on a network interface configuration, that the multicast packets from the sender are associated with the multicast session.
3 . The method of claim 1 wherein the received multicast packet indicated to the computing device that a previously received invite message included information sufficient for the joining.
4 . The method of claim 1 further comprising receiving, by the computing device in response to the sent status message, a message comprising a sequence number that will be associated with a next sent multicast packet of the multicast session.
5 . The method of claim 4 wherein the received sequence number is configured for enabling the computing device to determine that various multicast packets of the multicast session were not fully received by the computing device, wherein not fully received includes not received at all.
6 . The method of claim 5 further comprising sending, by the computing device, a negative acknowledgement message that indicates that the various multicast packets of the multicast session were not fully received by the computing device.
7 . The method of claim 6 further comprising receiving, by the computing device in response to the sent negative acknowledgement message via unicast instead of multicast, data of the multicast session that was included in the various multicast packets that were not fully received by the computing device.
8 . At least one computer storage device storing computer-executable instructions that, when executed by a computing device, cause the computing device to perform a method comprising:
receiving, by the computing device at a designated multicast address of a multicast session from a sender of multicast packets of the multicast session in response to the computing device joining the multicast session, a multicast packet of the multicast session; checking, by the computing device, a source address of the received multicast packet and, if the source address does not match a network address of the sender, discarding the multicast packet and, if the source address does match the network address of the sender, sending a status message indicating that the computing device joined the multicast session and received the multi-cast packet.
9 . The at least one computer storage device of claim 8 , the method further comprising verifying, by the computing device based on a network interface configuration, that the multicast packets from the sender are associated with the multicast session.
10 . The at least one computer storage device of claim 8 wherein the received multicast packet indicated to the computing device that a previously received invite message included information sufficient for the joining.
11 . The at least one computer storage device of claim 8 , the method further comprising receiving, by the computing device in response to the sent status message, a message comprising a sequence number that will be associated with a next sent multicast packet of the multicast session.
12 . The at least one computer storage device of claim 11 wherein the received sequence number is configured for enabling the computing device to determine that various multicast packets of the multicast session were not fully received by the computing device, wherein not fully received includes not received at all.
13 . The at least one computer storage device of claim 12 , the method further comprising sending, by the computing device, a negative acknowledgement message that indicates that the various multicast packets of the multicast session were not fully received by the computing device.
14 . The at least one computer storage device of claim 13 , the method further comprising receiving, by the computing device in response to the sent negative acknowledgement message via unicast instead of multicast, data of the multicast session that was included in the various multicast packets that were not fully received by the computing device.
15 . A system comprising:
a computing device configured for receiving, at a designated multicast address of a multicast session from a sender of multicast packets of the multicast session in response to the computing device joining the multicast session, a multicast packet of the multicast session; the computing device further configured for checking a source address of the received multicast packet and, if the source address does not match a network address of the sender, the computing device further configured for discarding the multicast packet and, if the source address does match the network address of the sender, the computing device further configured for sending a status message indicating that the computing device joined the multicast session and received the multi-cast packet.
16 . The system of claim 15 , the computing device further configured for verifying, based on a network interface configuration, that the multicast packets from the sender are associated with the multicast session.
17 . The system of claim 15 wherein the received multicast packet indicated to the computing device that a previously received invite message included information sufficient for the joining.
18 . The system of claim 15 , the computing device further configured for receiving, in response to the sent status message, a message comprising a sequence number that will be associated with a next sent multicast packet of the multicast session.
19 . The system of claim 18 wherein the received sequence number is configured for enabling the computing device to determine that various multicast packets of the multicast session were not fully received by the computing device, wherein not fully received includes not received at all.
20 . The system of claim 19 further comprising:
the computing device further configured for sending a negative acknowledgement message that indicates that the various multicast packets of the multicast session were not fully received by the computing device; and
the computing device further configured for receiving, in response to the sent negative acknowledgement message via unicast instead of multicast, data of the multicast session that was included in the various multicast packets that were not fully received by the computing device.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.