Network address translation for multicast virtual sourcing
First Claim
1. A method of forwarding a packet comprising the steps of:
- reading identifying packet information from said packet, said packet information comprising a source address and a destination address;
identifying a virtual source address for said packet based on said packet information;
modifying said packet by replacing the source address with said virtual source address to form a modified packet; and
forwarding said modified packet to a single-source multicast channel.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for using network address translation in switches and routers to define a virtual host as the source of a multicast channel within a single-source multicast model and to translate packet addresses from different multicast sources so that the packets appear to be originating from the virtual host. Address-translated packets are thus forwarded through a single-source multicast channel and received by the subscribing host(s)/clients as though the packets came from a single “virtual” source. This methodology can be used to map two or more sources simultaneously onto the same multicast channel. Such a mapping is useful, for example, to present multiple views of a sporting event video broadcast, provide advertisement insertion capability, or to support transparent fail-over to a backup video source in a critical multicast application. Subscribing client hosts in the multicast reception group simply subscribe to the single virtual host as the source of a multicast channel.
83 Citations
32 Claims
-
1. A method of forwarding a packet comprising the steps of:
-
reading identifying packet information from said packet, said packet information comprising a source address and a destination address;
identifying a virtual source address for said packet based on said packet information;
modifying said packet by replacing the source address with said virtual source address to form a modified packet; and
forwarding said modified packet to a single-source multicast channel. - View Dependent Claims (2, 3, 4, 5)
for a plurality of source addresses, mapping each source address to the same said virtual source address.
-
-
3. The method of claim 1, further comprising:
-
identifying a virtual destination group address for said packet based on said identifying packet information; and
modifying said packet by replacing the destination address with said virtual destination group address to form said modified packet prior to said forwarding.
-
-
4. The method of claim 3, wherein said modifying said packet by replacing the destination address further comprises mapping each destination address in a plurality of destination addresses to the same said virtual destination group address.
-
5. The method of claim 3, wherein said modifying said packet by replacing the destination address further comprises mapping each destination address in a plurality of destination addresses to one of a plurality of virtual destination group addresses.
-
6. A computer system for forwarding a packet, comprising computer instructions for:
-
reading identifying packet information from said packet, said packet information comprising a source address and a destination address;
identifying a virtual source address for said packet based on said packet information;
modifying said packet by replacing the source address with said virtual source address to form a modified packet; and
forwarding said modified packet to a single-source multicast channel. - View Dependent Claims (7, 8, 9, 10)
for a plurality of source addresses, mapping each source address to the same said virtual source address.
-
-
8. The computer system of claim 6, further comprising:
-
identifying a virtual destination group address for said packet based on said identifying packet information; and
modifying said packet by replacing the destination address with said virtual destination group address to form said modified packet prior to said forwarding.
-
-
9. The computer system of claim 8, wherein said modifying said packet by replacing the destination address further comprises mapping each destination address in a plurality of destination addresses to the same said virtual destination group address.
-
10. The computer system of claim 8, wherein said modifying said packet by replacing the destination address further comprises mapping each destination address in a plurality of destination addresses to one of a plurality of virtual destination group addresses.
-
11. A computer-readable storage medium, comprising computer instructions for:
-
reading identifying packet information from said packet, said packet information comprising a source address and a destination address;
identifying a virtual source address for said packet based on said packet information;
modifying said packet by replacing the source address with said virtual source address to form a modified packet; and
forwarding said modified packet to a single-source multicast channel. - View Dependent Claims (12, 13, 14, 15)
for a plurality of source addresses, mapping each source address to the same said virtual source address.
-
-
13. The computer-readable storage medium of claim 11, further comprising:
-
identifying a virtual destination group address for said packet based on said identifying packet information; and
modifying said packet by replacing the destination address with said virtual destination group address to form said modified packet prior to said forwarding.
-
-
14. The computer-readable storage medium of claim 13, wherein said modifying said packet by replacing the destination address further comprises mapping each destination address in a plurality of destination addresses to the same said virtual destination group address.
-
15. The computer-readable storage medium of claim 13, wherein said modifying said packet by replacing the destination address further comprises mapping each destination address in a plurality of destination addresses to one of a plurality of virtual destination group addresses.
-
16. A computer data signal embodied in a carrier wave, comprising computer instructions for:
-
reading identifying packet information from said packet, said packet information comprising a source address and a destination address;
identifying a virtual source address for said packet based on said packet information;
modifying said packet by replacing the source address with said virtual source address to form a modified packet; and
forwarding said modified packet to a single-source multicast channel. - View Dependent Claims (17, 18, 19, 20)
for a plurality of source addresses, mapping each source address to the same said virtual source address.
-
-
18. The computer data signal of claim 16, further comprising:
-
identifying a virtual destination group address for said packet based on said identifying packet information; and
modifying said packet by replacing the destination address with said virtual destination group address to form said modified packet prior to said forwarding.
-
-
19. The computer data signal of claim 18, wherein said modifying said packet by replacing the destination address further comprises mapping each destination address in a plurality of destination addresses to the same said virtual destination group address.
-
20. The computer data signal of claim 18, wherein said modifying said packet by replacing the destination address further comprises mapping each destination address in a plurality of destination addresses to one of a plurality of virtual destination group addresses.
-
21. A computer system for forwarding a packet, comprising:
-
means for reading identifying packet information from said packet, said packet information comprising a source address and a destination address;
means for identifying a virtual source address for said packet based on said packet information, said means for identifying connected to said means for reading;
means for modifying said packet by replacing the source address with said virtual source address to form a modified packet, said means for modifying connected to said means for identifying; and
means for forwarding said modified packet to a single-source multicast channel from said means for modifying. - View Dependent Claims (22, 23, 24, 25)
means for mapping each of a plurality of source addresses to the same said virtual source address, said means for mapping interposed between said means for identifying and said means for modifying.
-
-
23. The computer system of claim 21, further comprising:
-
means for identifying a virtual destination group address for said packet based on said identifying packet information;
wherein said means for modifying said packet further comprises means for replacing the destination address with said virtual destination group address to form said modified packet.
-
-
24. The computer system of claim 23, wherein said means for modifying said packet by replacing the destination address further comprises means for mapping each destination address in a plurality of destination addresses to the same said virtual destination group address.
-
25. The computer system of claim 23, wherein said means for modifying said packet by replacing the destination address further comprises means for mapping each destination address in a plurality of destination addresses to one of a plurality of virtual destination group addresses.
-
26. A method comprising:
-
translating a source address and a destination address of a packet from (S′
,G′
) to (S,G) to produce a translated packet, whereinthe packet is received via a multicast channel; and
sending the translated packet to one or more members of a multicast group G. - View Dependent Claims (27, 28, 29, 30, 31, 32)
subscribing to a multicast channel, the multicast channel identified by a first pair of addresses (S′
,G′
).
-
-
28. The method of claim 27, wherein the translating, the sending, and the subscribing are performed by a router.
-
29. The method of claim 27, further comprising:
-
subscribing to a virtual source address S of a single-source multicast channel, wherein the subscribing to the virtual source is performed by one of the members of the multicast group G.
-
-
30. The method of claim 26, further comprising:
-
receiving a second packet via a second multicast channel, the second multicast channel identified by a second pair of addresses (S″
,G″
);
translating a source address and a destination address of the second packet from (S″
,G″
) to (S, G) to produce a second translated packet; and
sending the second translated packet to the members of the multicast group G.
-
-
31. The method of claim 26, further comprising:
-
translating the source address and the destination address of the packet to produce a second translated packet; and
sending the second translated packet to one or more members of a second multicast group.
-
-
32. The method of claim 26, further comprising:
- delaying the sending the translated packet for a scheduled delay period.
Specification