`
`(12) United States Patent
`Shepherd et a].
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 7,281,058 B1
`Oct. 9, 2007
`
`(54) DELIVERING AND RECEIVING MULTICAST
`CONTENT ACROSS A UNICAST NETWORK
`
`2003/0195964 Al* 10/2003 Mane ....................... .. 709/227
`OTHER PUBLICATIONS
`
`(75) Inventors; Gregory J Shepherd, Eugene, OR
`(US); Thomas J Pusateri, Wake Forest,
`NC (Us)
`
`(73) Assignee: Juniper Networks, Inc., Sunnyvale,
`CA (U S)
`
`*
`
`Notice:
`
`Sub'ect to an disclaimer, the term of this
`J
`y
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 931 days.
`
`(21) Appl' NOT 10/268’413
`(22) Filed;
`Oct 9, 2002
`
`(51) Int C]_
`(200601)
`G06F 15/173
`(52) us. Cl. ..................... .. 709/238; 709/227; 709/230
`(58) Field of Classi?cation Search .............. .. 709/238,
`709/249’ 217’ 227
`See application ?le for complete search history.
`
`(56)
`
`References Cited
`
`Us‘ PATENT DOCUMENTS
`6,259,701 B1
`772001 Shur et a1,
`6,397,255 Bl* 5/2002 Nurenberg etal. ....... .. 709/228
`6,798,773 B2 *
`9/2004 Trossen et al. ........... .. 370/390
`6,873,627 B1 *
`3/2005 Miller et al. .............. .. 370/466
`7,031,326 131* 4/2006 Shur et a1,
`370/401
`7,039,052 B2 *
`5/2006 FOX et al. ................. .. 370/390
`2001/0018714 A1
`8/2001 Yagyu et 31,
`2001/0026556 A1 l0/200l Yagyu et 31.
`2002/000l3l0 Al
`l/2002 Mai et al.
`2002/0143951 A1 * 10/2002 Khan et a1. ............... .. 709/227
`
`Network Working Group RFC 3306, “Unicast-Pre?x-based IPv6
`Multlcast Addfesses’: Aug 2002*
`Network Working Group RFC 2991, “Multipath Issues in Unicast
`and Multicast Next-Hop Selection”, Nov. 2000*
`* Cited by examiner
`
`Primary ExamineriWilliam Vaughn
`ASSiSlanl Examineriloseph ManiWang
`(74) Attorney, Agent, or F irmiShumaker & Sie?‘ert, RA.
`
`ABSTRACT
`(57)
`Techniques for delivering and receiving multicast content
`across a unicast network are described. A system that
`supports delivery and reception of multicast content across
`a unicast network includes a ?rst device and a second
`device. The ?rst device may be a destination device or a
`multicast-enabled reuter- The Seeehd deviee is multieast
`enabled’ and may be a multicast-enabled reutet- The ?rst
`device determines whether a route between a destination
`device and a source of multicast packets 1s mult1cast
`enabled, sends a unicast request message that includes as a
`destination address an address associated with the source
`and is marked for interception by a second device based on
`the determination, and receives the multicast packets as
`unicast packets from the second device. The second device
`ihtereePtS the uhieast request message and delivers the
`multieast PaeketS to the requesting deViee as uhieast PaeketS
`in response to the uhieast request message The uhieast
`request message indicates the address of the source and a
`group address, ie, a Seuree/greup address Pair, asseeiated
`with the multicast packets that the ?rst device wishes to
`receive
`
`61 Claims, 7 Drawing Sheets
`
`SOURCE
`DEVICE
`20.
`
`24C
`
`DESTINATION
`DEVIC E
`BA
`
`DESTINATION
`DEVIC E
`
`Zoho Corp. and Zoho Corp. Pvt., Ltd.
`Exhibit 1034 – 001
`
`
`
`U.S. Patent
`
`0a. 9, 2007
`
`Sheet 1 0f 7
`
`US 7,281,058 B1
`
`10
`
`K
`
`SOURCE
`DEVICE
`_2_0
`
`2 A
`If 4
`
`16A
`
`MULTICAST NETWORK
`13
`
`16B
`
`18A
`
`UNICAST NETWORK
`l_4_
`
`1_8_ A 1 C
`
`DESTINATION
`DEVICE
`2—2A
`
`DESTINATION
`DEVICE
`125
`
`FIG. 1
`
`Zoho Corp. and Zoho Corp. Pvt., Ltd.
`Exhibit 1034 – 002
`
`
`
`U.S. Patent
`
`0a. 9, 2007
`
`Sheet 2 0f 7
`
`US 7,281,058 B1
`
`30
`
`SOURCE
`DEVICE
`A1
`
`16A
`
`MU LTICAST N ETWORK
`12A
`
`UNICAST NETWORK
`_1_4_
`
`M U LTICAST N ETWORK
`12B
`
`DESTINATION
`DEVICE
`2;
`
`FIG. 2
`
`Zoho Corp. and Zoho Corp. Pvt., Ltd.
`Exhibit 1034 – 003
`
`
`
`U.S. Patent
`
`Oct. 9, 2007
`
`Sheet 3 0f 7
`
`US 7,281,058 B1
`
`SOURCE
`DEVICE
`Q
`
`16
`
`MULTICAST NETWORK
`1 2A
`
`16E
`
`LABEL-SWITCH ED
`N ETWORK
`
`16C
`
`MULTICAST NETWORK
`12B
`
`1 6
`
`DESTINATION
`DEVICE
`l2
`
`FIG. 3
`
`Zoho Corp. and Zoho Corp. Pvt., Ltd.
`Exhibit 1034 – 004
`
`
`
`U.S. Patent
`
`0a. 9, 2007
`
`Sheet 4 0f 7
`
`US 7,281,058 B1
`
`[16
`MULTICAST ROUTER / 56
`
`‘
`<
`
`\
`
`‘k
`
`\
`
`CONTROL UNIT
`
`UNICAST ROUTING
`INFORMATION
`
`_5.8_
`
`52
`
`54
`
`52
`
`x
`
`'
`
`IFC
`50
`_
`
`54 L ‘F6
`so
`-'
`
`52
`
`'
`
`F_~__T
`4 A MULTICAST ROUTING
`INFORMATION
`9Q
`
`g \
`‘
`r
`
`\
`
`J
`
`MULTICAST
`FORWARDING
`INFORMATION
`\——-—_—/
`Q
`
`it!
`!FC
`
`‘
`1
`
`A
`
`'53:
`--
`we
`E
`
`5
`
`54
`52 ‘L
`54
`
`a
`
`52
`\4
`54
`
`'
`
`:
`'
`
`FIG. 4
`
`Zoho Corp. and Zoho Corp. Pvt., Ltd.
`Exhibit 1034 – 005
`
`
`
`U.S. Patent
`
`0a. 9, 2007
`
`Sheet 5 0f 7
`
`US 7,281,058 B1
`
`RECEIVE SESSION FILE FOR A
`MULTICAST coNTENT
`7"
`
`SEND MULTICAST JOIN MESSAGE!
`REPORT
`
`m 72
`
`74
`
`"6
`
`NO
`
`RECEIVE MULTICAST PACKETS
`
`YES
`
`SEND UNICAST REQUEST MESSAGE /\ 73
`
`V
`
`RECEIVE UNICAST PACKETS
`
`"\— 80
`
`END
`
`FIG. 5
`
`Zoho Corp. and Zoho Corp. Pvt., Ltd.
`Exhibit 1034 – 006
`
`
`
`U.S. Patent
`
`0a. 9, 2007
`
`Sheet 6 0f 7
`
`US 7,281,058 B1
`
`RECEIVE MULTICAST JOIN
`MESSAGE
`
`NEXT-HOP ROUTER?
`
`V
`
`SEND UNICAST REQUEST ,/~100
`MESSAGE
`
`‘y
`
`RECEIVE UNICAST
`PACKETS
`
`102
`f
`
`‘
`
`REMOVE
`ENCAPSULATION 0R ./~1o4
`LABEL
`
`‘
`94 Q SEND MULTICAST JOIN
`MESSAGE
`
`T}
`
`RECEIVE MULTICAST
`9s
`N PACKETS
`
`is
`
`__’
`
`FORWARD MULTICAST 4
`PACKETS
`
`l
`
`FIG. 6
`
`Zoho Corp. and Zoho Corp. Pvt., Ltd.
`Exhibit 1034 – 007
`
`
`
`U.S. Patent
`
`0a. 9, 2007
`
`Sheet 7 0f 7
`
`US 7,281,058 B1
`
`INTERCEPT UNICAST REQUEST MESSAGE FROM ,\ 11o
`REQUESTING DEVICE
`
`V
`
`STORE INFORMATION FROM UNICAST REQUEST A 112
`MESSAGE
`
`114
`r/
`RECEIVING
`MULTICAST
`PACKETS?
`
`116 A SEND MULTICAST JOIN MESSAGE TOWARD THE
`SOURCE DEVICE
`
`118 —/\
`
`RECEIVE MULTICAST PACKETS
`
`120
`q
`
`DELIVER MULTICAST PACKETS TO REQUESTING <
`DEVICE AS UNICAST PACKETS
`
`I
`
`FIG. 7
`
`Zoho Corp. and Zoho Corp. Pvt., Ltd.
`Exhibit 1034 – 008
`
`
`
`US 7,281,058 B1
`
`1
`DELIVERING AND RECEIVING MULTICAST
`CONTENT ACROSS A UNICAST NETWORK
`
`TECHNICAL FIELD
`
`The invention relates to computer networks and, more
`particularly, to multicast communications within computer
`networks.
`
`BACKGROUND
`
`A computer network is a collection of interconnected
`computing devices that exchange data and share resources.
`In a packet-based network, such as the Internet, the com
`puting devices communicate data by dividing the data into
`small blocks called packets. The packets are individually
`routed across the network from a source device to a desti
`nation device. The destination device extracts the data from
`the packets and assembles the data into its original form.
`Dividing the data into packets enables the source device to
`resend only those individual packets that may be lost during
`transmission.
`Certain devices within a network, referred to as routers,
`maintain routing information that describes available routes
`through the network. Each route de?nes a path between two
`locations on the network. Upon receiving an incoming data
`packet, the router examines header information within the
`packet to identify the destination for the packet. Based on
`the header information, the router accesses the routing
`information, selects an appropriate route for the packet and
`forwards the packet accordingly.
`Multicasting is a form of communication that allows a
`source device to send a single packet for distribution to
`multiple destination devices. With multicasting, the source
`device sends a single packet over the network to a router
`con?gured for multicasting. The router replicates the packet
`and forwards the copies to other multicast-enabled routers.
`The other routers, in turn, replicate the packet and repeat the
`forwarding process so that each of the destination devices
`receives a copy of the packet.
`In some cases, there is not a multicast-enabled route from
`a source device to a particular destination device, i.e., a route
`where every router thereon is multicast-enabled. In these
`cases, the particular destination device is unable to receive
`multicast packets using existing multicasting protocols. To
`gain maximum audience siZe, multicast content providers
`generate copies of the multicast packets addressed to each
`such destination device, i.e., unicast packet copies of the
`multicast packets, at the source of the multicast packets, and
`deliver the unicast packets to these destination devices from
`the source of the multicast packets.
`Content providers may incur increased costs stemming
`from the generation and delivery of the unicast packets.
`These costs may include the increased processing and
`memory resources required to generate and uniquely address
`unicast packets for each such destination device. The content
`providers may have to use multiple servers to provide the
`multiple unicast packet copies of the multicast packets.
`Further, delivery of the multiple unicast packets may lead to
`greater bandwidth consumption within the local network for
`the content provider, and require that the content provider
`obtain a greater bandwidth connection to the Internet than
`would otherwise be required to deliver the single set of
`multicast packets, the cost of which will likely be passed to
`the content provider by an Internet Service Provider (ISP),
`or the like.
`
`20
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`SUMMARY
`
`In general, the invention is directed to delivery and
`reception of multicast content across unicast networks. A
`destination device is a host within a computer network that
`wishes to receive content that is delivered by a source device
`as multicast packets. The destination device sends a multi
`cast join message to a local router in order to join a
`multicasting group associated with the desired content and
`receive the multicast packets. If the attempt to join the
`multicast group fails, i.e., the destination device determines
`that the route to the source device is not multicast-enabled
`because it does not receive the requested multicast packets
`before a time-out condition is satis?ed, the destination
`device may send a unicast request message that includes as
`a destination address an address associated with the source
`and is marked for interception by an intermediate network
`device, such as a multicast-enabled router, based on the
`determination. A multicast-enabled router on the route to the
`source device that receives a multicast join message may
`also determine that the route to the source device is not
`multicast-enabled by determining that a next-hop router on
`the route to the source device is not multicast-enabled, and
`send a unicast request message addressed to the source and
`marked for interception by an intermediate network device,
`such as another multicast-enabled router, based on the
`determination, so that it may deliver the multicast packets to
`the requesting destination device.
`Although the unicast request message is addressed to the
`source device, the one or more packets of the unicast request
`message may contain information that will cause a interme
`diate network device that is on the route to the source device
`to intercept and process the packets of the unicast request
`message, such as a set router alert bit, and identify the
`unicast request message as containing a request to receive
`multicast packets as unicast packets, such as a port indica
`tion. The unicast request message may be addressed to the
`source, or to an anycast address. The information of the
`unicast request message includes the group address associ
`ated with the multicast content, the address of the source
`device, and the address of requesting device, i.e., the des
`tination device or multicast-enabled router that sent the
`unicast request message. The information may also include
`delivery mode indication and a time-out value.
`The multicast-enabled router that receives the unicast
`request message receives multicast packets with the source/
`group address pair indicated by the unicast request message,
`and delivers the multicast packets to the requesting device as
`unicast packets based on the unicast request message. The
`multicast-enabled router that receives the unicast request
`message may refer to a delivery mode indication received in
`the unicast request message, and deliver the multicast pack
`ets to the requesting device as unicast packets according to
`the delivery mode indicated. The multicast-enabled router
`that receives the unicast request message may readdress the
`multicast packets to include the address of the requesting
`device as the destination address of the packets, and deliver
`the readdressed packets accordingly. The multicast-enabled
`router that receives the unicast request message may add a
`header that includes the address of the requesting device as
`a destination address, and deliver the encapsulated packets
`accordingly. The multicast-enabled router that receives the
`unicast request message may add a label to the multicast
`packets, and send the labeled packets to the requesting
`device via an LSP. The label and LSP may be selected based
`on the address of the requesting device.
`
`Zoho Corp. and Zoho Corp. Pvt., Ltd.
`Exhibit 1034 – 009
`
`
`
`US 7,281,058 B1
`
`3
`A multicast-enabled router that sends a unicast request
`message and receives encapsulated or labeled packets in
`response to the unicast request message may remove the
`encapsulation or labels to expose multicast packets, and
`forward the multicast packets according to the multicast join
`message that it received for the source/ group address pair of
`the multicast packets so that the multicast packets may be
`received by the destination device.
`In one embodiment, a method comprises intercepting a
`unicast request message from a requesting device that
`includes as a destination address an address associated With
`a source of multicast packets, and delivering the multicast
`packets to the requesting device as unicast packets in
`response to the unicast request message.
`In another embodiment, a netWork device includes an
`interface and a control unit. The interface to intercepts a
`unicast request message from a requesting device that
`includes as a destination address an address associated With
`a source of multicast packets. The control unit delivers the
`multicast packets to the requesting device as unicast packets
`in response to the unicast request message.
`In another embodiment, a computer-readable medium
`contains instructions. The instructions cause a program
`mable processor intercept a unicast request message from a
`requesting device that includes as a destination address an
`address associated With a source of multicast packets, and
`deliver the multicast packets to the requesting device as
`unicast packets in response to the unicast request message.
`In another embodiment, a method comprises determining
`Whether a route to a source of multicast packets is multicast
`enabled, sending a unicast request message that includes as
`a destination address an address associated With the source
`and is marked for interception by an intermediate netWork
`device based on the determination, and receiving multicast
`packets as unicast packets from the intermediate netWork
`device.
`In another embodiment, the invention is directed to a
`device comprising a control unit. The control unit deter
`mines Whether a route to a source of multicast packets is
`multicast-enabled, sends a unicast request message that
`includes as a destination address an address associated With
`the source and is marked for interception by an intermediate
`netWork device based on the determination, and receives the
`multicast packets as unicast packets from the intermediate
`netWork device.
`In another embodiment, the invention is directed to a
`computer-readable medium containing instructions. The
`instructions cause a programmable processor to determine
`Whether a route to a source of multicast packets is multicast
`enabled, send a unicast request message that includes as a
`destination address an address associated With the source
`and is marked for interception by an intermediate netWork
`device based on the determination, and receive the multicast
`packets as unicast packets from the intermediate netWork
`device.
`In another embodiment, the invention is directed to a
`system that includes a ?rst device and a second device. The
`?rst device determines Whether a route to a source of
`multicast packets is multicast-enabled, sends a unicast
`request message that includes as a destination address an
`address associated With the source and is marked for inter
`ception by a second device based on the determination, and
`receives the multicast packets as unicast packets from the
`second device. The second device intercepts the unicast
`request message from the ?rst device, and delivers the
`multicast packets to the ?rst device as unicast packets in
`response to the unicast request message.
`
`4
`The invention may provide one or more advantages. For
`example, the ability of multicast-enabled routers consistent
`With the principles of the invention to deliver and receive
`multicast content across unicast netWorks advantageously
`reduces the costs that are born by the content provider in
`delivering content to destination devices that are unable to
`receive multicast packets using existing multicasting proto
`cols. Multicast-enabled routers consistent With the principles
`of the invention alloW these destination devices to receive
`the multicast content from the source device Without the
`generation and delivery of unicast copies of the multicast
`packets by the content provider, i.e., the source device may
`generate and deliver a single set of multicast packets.
`Moreover, to the extent that numerous destination devices
`that are unable to receive the multicast packets request the
`content, the burden of delivering unicast packets to these
`destination devices may be distributed over a number of
`multicast-enabled routers.
`The details of one or more embodiments of the invention
`are set forth in the accompanying draWings and the descrip
`tion beloW. Other features, objects, and advantages of the
`invention Will be apparent from the description and draW
`ings, and from the claims.
`
`20
`
`25
`
`BRIEF DESCRIPTION OF DRAWINGS
`
`FIG. 1 is a block diagram illustrating an example com
`puter netWork that supports delivery and reception of mul
`ticast content across a unicast netWork consistent With the
`principles of the invention.
`FIG. 2 is a block diagram illustrating another example
`computer netWork that supports delivery and reception of
`multicast content across a unicast netWork.
`FIG. 3 is a block diagram illustrating another example
`computer netWork that supports delivery and reception of
`multicast content across a unicast netWork, Which in this
`case is a label-sWitched netWork.
`FIG. 4 is a block diagram illustrating an example multi
`cast-enabled router that can deliver and receive multicast
`content across unicast netWorks consistent With the prin
`ciples of the invention.
`FIG. 5 is a How diagram illustrating an example method
`that may be employed by a destination device to receive
`multicast content across a unicast netWork.
`FIG. 6 is a How diagram illustrating an example method
`that may be employed by a multicast-enabled router to
`receive multicast content across a unicast netWork, so that it
`may be delivered to a destination device.
`FIG. 7 is a How diagram illustrating an example method
`that may be employed by multicast-enabled router to deliver
`multicast content to a requesting device across a unicast
`netWork.
`
`DETAILED DESCRIPTION
`
`FIG. 1 is a block diagram illustrating an example com
`puter netWork 10 that supports delivery and reception of
`multicast content across a unicast netWork 14 consistent
`With the principles of the invention. As shoWn in FIG. 1,
`computer netWork 10 includes a multicast netWork 12 and
`unicast netWork 14. Multicast netWork 12 includes multi
`cast-enabled routers 16A and 16B (multicast-enabled routers
`16). Unicast netWork 14 includes unicast routers 18A, 18B
`and 18C (unicast routers 18). Multicast netWork 12 may
`include any number of multicast-enabled routers 16, and
`unicast netWork 14 may include any number of unicast
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Zoho Corp. and Zoho Corp. Pvt., Ltd.
`Exhibit 1034 – 010
`
`
`
`US 7,281,058 B1
`
`5
`routers 18. However, for ease of illustration, only multicast
`enabled routers 16A and 16B and unicast routers 18A-18C
`are shoWn in FIG. 1.
`A source device 20 accesses multicast netWork 12 via link
`24A and multicast-enabled router 16A. At the boundary
`betWeen multicast netWork 12 and unicast netWork 14,
`multicast-enabled router 16B and unicast router 18A are
`connected via link 24B. Destination device 22A and desti
`nation device 22B (destination devices 22) access unicast
`netWork 14 via link 24C and unicast router 18B, and link
`24D and unicast router 18C, respectively. Links 24 may be,
`for example, PPP links, ATM links, Ethernet links, Frame
`Relay links, GRE tunnels, SONET links, or other netWork
`connections.
`Source device 20 is a source of content, such as video,
`audio, data, or other information, delivered as multicast
`packets. Source device 20 may be, for example, a server, or
`the like, con?gured to generate multicast packets and deliver
`the multicast packets to multicast-enabled router 16A.
`Source device 20 may deliver a series of multicast packets
`as a multicast packet stream. Although computer netWork 10
`may include any number of source devices 20, FIG. 1, for
`ease of illustration, shoWs only the single source device 20.
`Destination devices 22 are hosts Within computer netWork
`10 that Wish to receive the content that is delivered by source
`device 20 as multicast packets. Destination devices 22 may
`be computing devices such as personal computers, laptop
`computers, and the like. Destination devices 22 include a
`processor or other control unit (not shoWn) and a netWork
`interface (not shoWn) by Which the processor accesses
`resources Within computer netWork 10. Destination devices
`22 may also include a user interface that alloWs a user of the
`destination device to interact With the processor and With
`resources Within computer netWork 10. Destination devices
`22 may execute program instructions stored on any of a
`variety of computer-readable media, such as magnetic or
`optical media, RAM, ROM, EEPROM, ?ash memory, or the
`like, or received via computer netWork 10. Although com
`puter netWork 10 may include any number of destination
`devices 22 accessing either multicast netWork 12 or unicast
`netWork 14, FIG. 1, for ease of illustration shoWs only
`destination devices 22A and 22B accessing unicast netWork
`14.
`Multicast-enabled routers 16 of multicast netWork 12
`support multicasting protocols, such as Internet Group Man
`agement Protocol (IGMP) and Protocol Independent Multi
`cast (PIM), that alloW a single multicast packet generated by
`source device 20 to be delivered to multiple destination
`devices 22 through replication and forWarding of the mul
`ticast packet along a distribution tree betWeen the source
`device 20 and destination devices 22. In order for a desti
`nation device 22 to receive multicast packets in this manner,
`a multicast-enabled route, consisting entirely of multicast
`enabled routers 16, must connect the destination device 22
`to the source device 20. Because the routes from destination
`devices 22 to source device 20 include unicast routers 18 of
`unicast netWork 14, Which do not support these protocols,
`destination devices 22 cannot receive multicast packets in
`this manner.
`Additionally, hoWever, multicast-enabled router 16B sup
`ports delivery of multicast content across unicast netWork
`14. Speci?cally, as Will be described in greater detail beloW,
`multicast-enabled router 16B intercepts unicast request mes
`sages that are sent by requesting devices, such as destination
`devices 22, and include as a destination addresses an address
`associated With source device 20. In particular, the unicast
`request messages request delivery of multicast packets from
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`source device 20 as unicast packets. Multicast-enabled
`router 16B delivers multicast packets received from source
`device 20 to destination devices 22 as unicast packets in
`response to the unicast request messages received from
`destination devices 22.
`The ability of multicast-enabled router 16B to deliver
`multicast content across unicast netWorks in this manner
`may advantageously reduce the costs that are born by the
`content provider in delivering content to destination devices
`22 that are unable to receive multicast packets using existing
`multicasting protocols. Speci?cally, destination devices 22
`may receive the multicast content from source device 20
`Without the generation and delivery of unicast copies of the
`multicast packets at source device 20. Moreover, the burden
`of delivering unicast packets to multiple destination devices
`22 may be distributed over a number of multicast-enabled
`routers 16.
`If a user of destination device 22A of FIG. 1 Wishes to
`receive multicast content from source device 20, destination
`device 22A Will attempt to join the multicasting group
`associated With the multicast content by sending a multicast
`join message, i.e., requesting the multicast content provided
`by source device 20 for that group. The multicast join
`message sent by a destination device 22A may take the form
`of an IGMP control packet, e. g., a Host Membership Report.
`Destination device 22A Will send a multicast join message
`to the local router to Which it is connected, unicast router
`18B. Because unicast router 18B is not multicast-enabled,
`i.e., does not support multicast protocols such as IGMP,
`unicast router 18B Will discard the multicast join message
`sent by destination device 22A. Therefore, destination
`device 22A Will not be able to join the multicasting group,
`and Will not receive the requested multicast content. Desti
`nation device 22A Will attempt to receive the multicast
`content via another delivery mechanism.
`To that end, destination device 22A Will send a unicast
`request message that includes as a destination address an
`address associated With source device 20, and is marked for
`interception by a multicast-enabled router 16, such as mul
`ticast-enabled router 16B, on the route betWeen destination
`device 22A and source device 20. Destination device 22A
`receives the information necessary to send the unicast
`request message in a session description ?le sent to desti
`nation device 22A by source device 20, or another device
`Within computer netWork 10. The unicast request message
`may be addressed to source device 20 so that unicast routers
`18 Will route the unicast request message along the route to
`source device 20. The one or more packets of the unicast
`request message contain information that Will cause multi
`cast-enabled router 16B, Which is on the route to source
`device 20, to intercept and process the unicast request
`message.
`For example, a router alert bit may be set in the one or
`more packets of the unicast request message to cause each
`router 16,18 on the route from destination device 22A to
`source device 20 to intercept and inspect the packets. The
`packets may also include a port indication, Which indicates
`that the sending device is requesting a service, in this case
`delivery of multicast packets as unicast packets. Unicast
`routers 18B and 18A, Which do not provide this service, Will
`inspect the packets to ?nd the port indication, determine that
`the service is not provided, and forWard the packets on the
`route to source device 20. Multicast-enabled router 16B Will
`inspect the packets to ?nd the port indication, determine that
`the service is provided, and deliver the multicast packets to
`destination device 22A as unicast packets.
`
`Zoho Corp. and Zoho Corp. Pvt., Ltd.
`Exhibit 1034 – 011
`
`
`
`US 7,281,058 B1
`
`7
`Destination device 22A may also send a unicast request
`message that includes as a destination address an address
`associated With source device 20 and marked for intercep
`tion by a multicast-enabled router 16, such as multicast
`enabled router 16B, by sending a unicast request message
`that is addressed to an anycast address that is associated With
`source device 20. The anycast address is associated With
`source device 20 in that the session description ?le indicates
`to destination device 22A that multicast packets from source
`device 20 may be received as unicast packets by sending a
`unicast request message to the anycast address. The anycast
`address may be associated With multiple source devices 20
`in this manner.
`An anycast address is a nonunique unicast address that
`may be shared by multiple multicast-enabled routers 16.
`Unicast routers 18 that receive the unicast request message
`addressed to the anycast address from destination device
`22A Will forWard the unicast request message to the nearest
`multicast-enabled router 16. The nearest multicast-enabled
`router 16, in this case multicast-enabled router 16B, Will
`process the unicast request message and deliver the multi
`cast packets to destination device 22A as unicast packets. In
`some cases, the anycast address may be shared by source
`device 20, as Well as multicast-enabled routers 16
`The unicast request message contains information that
`may be used by multicast-enabled router 16B to receive the
`multicast packets containing the multicast content, and
`deliver the multicast packets to destination device 22A as
`unicast packets. The information includes the group address
`associated With the multicast content, the address of source
`device 20, Which is the destination address of the one or
`more packets of the unicast request message, and the address
`of destination device 22A, Which is the source address of the
`one or more packets of the unicast request message.
`The information may also include a delivery mode indi
`cation. The delivery mode indication indicates to multicast
`enabled router 16B the manner in Which multicast packets
`should be delivered to destination device 22A as unicast
`packets. The delivery mode indication of the unicast request
`message sent by destination device 22A may indicate read
`dressed delivery, i.e., that multicast packets containing the
`requested multicast content should be readdressed to include
`the address of destination device 22A as the destination
`address. The delivery mode indication may alternatively
`indicate encapsulated delivery, i.e., that multicast packets
`containing the requested multicast content should be encap
`sulated With a header that includes the address of destination
`device 22A. Encapsulated delivery may be according to
`Generic Route Encapsulation (GRE), and may, for example,
`advantageously alloW destination device 22A to receive the
`multicast content through a ?reWall. Further, the information
`may include a time-out value, Which may be used by
`multicast-enabled router 16B to control the duration for
`Which the multicast-enabled router 16B Will deliver multi
`cast packets to destination device 22A as unicast packets.
`When multicast-enabled router 16B intercepts the unicast
`request message sent by destination device 22A, if multi
`cast-enabled router 16B is not already receiving packets for
`the requested multicast, multicast-enabled router 16B Will
`send a multicast join message to multicast-enabled router
`16A based on the receipt of the unicast request message sent
`by destination device 22A. The multicast join message sent
`by a multicast-enabled router 16B may take the form of a
`PIM Join.
`Multicast-enabled router 16B Will maintain multicast for
`Warding information for the source/ group address pair indi
`cated by the unicast request message intercepted from
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`destination device 22A that includes information from the
`unicast request message. Multicast-enabled router 16B Will
`store the address of destination device 22A as multicast
`forWarding information for the source/group address pair
`indicated in by the unicast request message. Multicast
`enabled router 16B may also store a delivery mode indica
`tion and a time-out value from the unicast request message
`as multicast forWarding information for the source/group
`address pair indicated in by the unicast request message.
`Multicast-enabled router 16B may maintain multicast for
`Warding information as lists or tables for each source/ group
`address pair.
`Multicast-enabled router 16B uses the multicast forWard
`ing information to deliver received multicast packets to
`destination device 22A. When multicast-enabled router