Distribution of packets to multiple addresses
First Claim
1. A method of distributing packets to multiple addressees comprising the steps of:
- a) generating, for each addressee, a template packet which includes routing information for that addressee;
b) using the routing information from the template packet to form a template for each addressee;
c) maintaining, for each addressee, said template in a memory area;
d) forming a data stream into a stream of data packet payloads;
e) storing each data packet payload in a memory accessible to a packet processor; and
f) applying the template for each addressee to each data packet payload to thereby generate a plurality of packets from every data packet payload each addressed to a different addressee without passing the data packet payload through a routing stack.
26 Assignments
0 Petitions
Accused Products
Abstract
A method is provided for distributing packets to multiple addressees over a network. A template packet is generated by the usual routing stack for each addressee to include the routing information necessary to send a packet to that addressee. From this template packet a template is formed and stored for each addressee. The data stream to be transmitted is formed into a stream of data packet payloads. Rather than sending this stream through the routing stack for each addressee, the template for each addressee is applied to each data packet payload to thereby generate a plurality of packets from every data packet payload each addressed to a different addressee. This enables multicast-like efficiencies to be achieved without using multicast protocols which are frequently disabled or unavailable on networks, and avoids the processor-intensive alternative of sending each data packet through the IP stack once for each addressee.
-
Citations
4 Claims
-
1. A method of distributing packets to multiple addressees comprising the steps of:
-
a) generating, for each addressee, a template packet which includes routing information for that addressee; b) using the routing information from the template packet to form a template for each addressee; c) maintaining, for each addressee, said template in a memory area; d) forming a data stream into a stream of data packet payloads; e) storing each data packet payload in a memory accessible to a packet processor; and f) applying the template for each addressee to each data packet payload to thereby generate a plurality of packets from every data packet payload each addressed to a different addressee without passing the data packet payload through a routing stack. - View Dependent Claims (2)
-
-
3. A method of distributing packets to multiple addressees comprising the steps of:
-
a) determining if multicast is enabled on a network of which said addressees are members; b) if multicast is enabled on said network, distributing said packets as multicast packets; c) if multicast is not enabled on said network; i) generating, for each addressee, a template packet which includes routing information for that addressee; ii) using the routing information from the template packet to form a template for each addressee; iii) maintaining, for each addressee, said template in a memory area; iv) forming a data stream into a stream of data packet payloads; v) storing each data packet payload in a memory accessible to a packet processor; and vi) applying the template for each addressee to each data packet payload to thereby generate a plurality of packets from every data packet payload each addressed to a different addressee without passing the data packet payload through a routing stack.
-
-
4. An apparatus for distributing packets to multiple addressees comprising:
-
a) a processor for generating, for each addressee, a template packet which includes routing information for that addressee; b) a template generator for forming a template for each addressee using the routing information from the template packet; c) a memory area for maintaining said template for each addressee; d) means for forming a data stream into a stream of data packet payloads; e) a memory for storing each data packet payload; and f) a packet processor for applying the template for each addressee to each data packet payload to thereby generate a plurality of packets from every data packet payload each addressed to a different addressee without passing the data packet payload through a routing stack.
-
Specification