`
`(12)
`
`Europäisches Patentamt
`
`European Patent Office
`
`Office européen des brevets
`
`*EP001435706A2*
`EP 1 435 706 A2
`
`(11)
`
`EUROPEAN PATENT APPLICATION
`
`(43) Date of publication:
`07.07.2004 Bulletin 2004/28
`
`(21) Application number: 03027760.2
`
`(22) Date of filing: 03.12.2003
`
`(51) Int Cl.7: H04L 12/18, H04L 12/46
`
`(84) Designated Contracting States:
`AT BE BG CH CY CZ DE DK EE ES FI FR GB GR
`HU IE IT LI LU MC NL PT RO SE SI SK TR
`Designated Extension States:
`AL LT LV MK
`
`(30) Priority: 31.12.2002 US 437214 P
`
`• Garff, Jeremy Lynn
`Sandy, Utah 84092 (US)
`• Fine, Mark Armand
`Salt Lake City, Utah 84105 (US)
`• Thomas, Jeffrey Glen
`Draper, Utah 84020 (US)
`
`(71) Applicant: ALCATEL
`75008 Paris (FR)
`
`(72) Inventors:
`• Sangroniz, Robert Leon
`Sandy, Utah 84093 (US)
`
`(74) Representative:
`Dreiss, Fuhlendorf, Steimle & Becker
`Patentanwälte,
`Postfach 10 37 62
`70032 Stuttgart (DE)
`
`(54) Multicast optimization in a VLAN tagged network
`
`(57)
`A method and apparatus for optimizing multi-
`cast traffic in a VLAN-tagged environment is disclosed.
`The method, implemented by a cross-VLAN switching
`device, comprises the steps of receiving a multicast
`stream within a first VLAN of a plurality of VLANs con-
`figured thereon, and internally distributing the multicast
`stream towards substantially all the multicast group
`members registered at the cross-VLAN switching de-
`vice to receive the multicast stream. Distribution of the
`multicast stream preferably comprises the steps of in-
`ternally routing the multicast stream from the first VLAN
`
`to each VLAN in which there is a multicast group mem-
`ber registered to receive the multicast stream and then
`switching the multicast stream from each VLAN in which
`it is present in a cross-VLAN switching device to sub-
`stantially all of the multicast group members registered
`to receive the multicast stream. In accordance with the
`invention, only a single copy of a multicast stream prop-
`agates across said one or more VLAN-tagged commu-
`nications links, thereby avoiding one or more duplicative
`multicast streams that generally occur when there are
`multicast group members in a plurality of VLANs.
`
`Printed by Jouve, 75001 PARIS (FR)
`
`EP1 435 706A2
`
`Ex.1027
`VERIZON / Page 1 of 22
`
`
`
`1
`
`EP 1 435 706 A2
`
`2
`
`Description
`
`CROSS-REFERENCE TO RELATED APPLICATION
`
`[0001] This application claims the benefit of U.S. pro-
`visional application 60/437,214,
`filed December 31,
`2002, the contents of which is hereby incorporated here-
`in by reference for all purposes.
`
`BACKGROUND
`
`[0002] The present invention generally relates to a
`system and process for distributing a multicast data
`stream in a network. In particular, the invention pertains
`to a novel switching device and method for efficiently
`more directly distributing multicast streams to multicast
`group members in a local area network, for example,
`without forwarding the multicast stream to the root rout-
`er, thereby obviating the multicast streams that traverse
`the same 802.1Q links multiple times.
`[0003] Multicast was designed to eliminate unneces-
`sary packet replication across a network. The advantag-
`es of multicast are lost, however, when deployed in an
`environment with virtual local area network (VLAN) tag-
`ging. VLAN tagging, including 802.1Q VLAN tagging, is
`becoming widely used in today's networks, particularly
`large campus network configurations and VLANs span-
`ning multiple geographical areas.
`In these environ-
`ments, switches and combination switch/routers are fre-
`quently configured to support a plurality of host comput-
`ers associated with different VLANs. With VLAN tag-
`ging, it is possible to use a single communications link
`that is shared by a plurality of VLANs without compro-
`mising the integrity of the separate and distinct VLANs.
`As a result, multicast streams may be transmitted mul-
`tiple times over the same VLAN tagged link, thereby
`consuming system resources and bandwidth.
`[0004] The disadvantage of multicast over VLAN
`tagged links may be demonstrated in a network includ-
`ing multiple VLANs, as illustrated in FIG. 1. The network
`100 includes a router 102 that is operatively coupled to
`a plurality of switches 104, 105, and 106 by means of
`communication links 114, 115, and 116, respectively.
`Coupled to each switch is one or more host computers,
`including hosts H1 120 through H2 122, hosts H3 123
`through H4 124, and H5 125 through H6 126 operatively
`coupled to first switch 104, second switch 105, and third
`switch 106, respectively. The switches 104-106 are pref-
`erably configured to support host computers that may
`belong to one or more VLANs, including VLAN-A and
`VLAN-B, as illustrated with parenthetical references.
`First switch 104 for example may support host H1 120
`on VLAN-A and host H2 122 on VLAN-B. The router 102
`and switches 104-106 are configured with a VLAN tag-
`ging protocol such as 802.1Q, thereby allowing each of
`the trunk links 114, 115, and 116 to transmit frames as-
`sociated with VLAN-A and VLAN-B without compromis-
`ing the integrity of the VLANs.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`2
`
`[0005] Each of the nodes of the network 100 prefera-
`bly support multicast frames in accordance with IP Mul-
`ticast. Router 102 preferably maintains a multicast
`membership table with which the router tracks various
`multicast group identifications, the IP source address of
`one or more nodes generating a multicast flow, and the
`location or identity of one or more host computers that
`has requested receipt of a multicast stream. The VLAN
`members are then multicast sources and receivers for
`various multicast streams.
`[0006] The contemporary approach to distributing a
`multicast stream generated by a client H1 of VLAN A is
`to switch the stream through switch 104 to router 102.
`The router 102 maintains multicast group information
`preferably including the multicast address of one or
`more flows and the IP source address of each flow.
`When a client computer requests receipt of the multicast
`stream, the stream is forwarded from the router 102
`through one or more switches to the requesting client
`computer. If the client is, for example, client computer
`H4 of VLAN B, the stream with a VLAN B tag is directed
`through trunk 115 to switch 105 before being switched
`to the client H4. Additionally, if the client H3 of VLAN A
`also requests to receive the same multicast stream, an
`additional copy of the stream with a VLAN A tag is also
`directed through trunk 115 to switch 105. The propaga-
`tion path of a multicast stream from client H1 to clients
`H3 and H4 thus requires the stream be transmitted
`across switch 104, through the trunk 114, through router
`102, twice across trunk 115 and twice through switch
`105. The complete path from client H1 to clients H3 and
`H4 therefore consumes unnecessary bandwidth on
`trunk 115.
`[0007] There is therefore a need for a system and
`method to eliminate the wasted bandwidth and in-
`creased latency associated with multicast flows in a
`VLAN tagged environment.
`
`SUMMARY
`
`[0008] The preferred embodiment of the present in-
`vention features a multicast optimization method com-
`prising the steps of receiving a multicast stream from
`within a first VLAN of a plurality of VLANs supported by
`a cross-VLAN switching device; and distributing the
`multicast stream towards substantially all the multicast
`group members in each of the plurality of VLANs that
`are registered to receive the multicast stream. With the
`present invention, only a single copy of a multicast
`stream need traverse a VLAN-tagged communications
`link, thereby avoiding the need to propagate duplicative
`multicast streams across said links to multicast group
`members in the plurality of VLANs. Duplicate multicast
`packets are detected and discarded at a switching de-
`vice prior to being transmitted over the VLAN-tagged
`link, regardless of the VLAN of the server or the sub-
`scriber. The present invention thereby reduces the load
`on the various nodes and trunks.
`
`Ex.1027
`VERIZON / Page 2 of 22
`
`
`
`3
`
`EP 1 435 706 A2
`
`4
`
`[0009] The step of distributing the multicast stream to
`substantially all the multicast group members preferably
`comprises the steps of internal routing the multicast
`stream from the first VLAN, i.e. the VLAN in which the
`multicast stream is received, to each VLAN in which
`there is a multicast group member registered to receive
`the multicast stream, and subsequently switching the
`multicast stream in each VLAN in which it is present,
`including those VLANs to which the stream routed, to-
`wards substantially all of the multicast group members
`registered to receive the multicast stream. The step of
`internally routing the multicast stream between VLANs
`may further include convention layer 3 routing opera-
`tions including the step of decrementing the time-to-live
`counter of the packets of the multicast stream.
`[0010]
`In order to receive a multicast stream, a multi-
`cast group member in the preferred embodiment regis-
`ters a subscription to the multicast stream using a mul-
`ticast declaration message, such as an Internet Group
`Membership Protocol (IGMP) Membership Report mes-
`sage, for example. The registrations are preferably re-
`corded by the cross-VLAN switching device in one or
`more VLAN/multicast group membership tables, which
`generally include or otherwise associate a multicast ad-
`dress and the Internet Protocol (IP) address of the one
`or more multicast group members that subscribe to the
`multicast stream.
`[0011]
`In the preferred embodiment, all the multicast
`declaration messages received by a cross-VLAN
`switching device are used to register the group mem-
`bers from which the declaration messages originate or
`otherwise update the one or more VLAN/multicast group
`membership tables. In contrast to the prior art, however,
`a cross-VLAN switching device is preferably adapted to
`forward only the first of a series of multicast declaration
`messages, independent of the VLAN on which the mul-
`ticast declaration message was received. By withhold-
`ing duplicate multicast declaration messages,
`the
`cross-VLAN switching device of the preferred embodi-
`ment prevents duplicate multicast streams from propa-
`gating across VLAN-tagged communications links, in-
`cluding 802.1Q communications links.
`[0012] At such time a registered multicast group
`member needs to de-register its subscription, the client
`transmits a leave message to rescind the subscription
`to the associated multicast stream. Upon receipt of each
`of the one or more leave messages, preferably an IGMP
`Leave messages, the cross-VLAN switching device re-
`moves the appropriate entry cross-VLAN switching de-
`vice removes the appropriate entry in the VLAN/multi-
`cast group membership table. In the case of the last
`leave message, i.e. the leave message of the last reg-
`istered multicast group member, the switching device al-
`so forwards the leave message towards the upstream
`router so that it may discontinue transmission of the mul-
`ticast stream to the cross-VLAN switching device. To
`preserve the symmetry between declaration and leave
`messages, the last leave message preferably includes
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`3
`
`the same VLAN identification as that used in the first
`declaration message forwarded from the cross-VLAN
`switching device toward the upstream router, irrespec-
`tive of the actual VLAN association of the last multicast
`member.
`[0013]
`In another preferred embodiment, the multi-
`cast optimization method comprises a registration
`processing method and a multicast stream processing
`method. The registration processing method comprises
`the steps of receiving a plurality of multicast declaration
`messages specifying a first multicast group identifica-
`tion,
`the multicast declaration messages originating
`from multicast group members associated with a plural-
`ity of VLANs; registering each of the plurality of multicast
`group members from which the multicast declaration
`messages originated; and forwarding only the first mul-
`ticast declaration message of the plurality of multicast
`declaration messages to an upstream router. The mul-
`ticast stream processing method comprises the steps of
`receiving a multicast stream, having said first multicast
`group identification, from a multicast group member as-
`sociated with a first VLAN of the plurality of VLANs;
`switching the multicast stream towards substantially all
`of the zero or more multicast group members associated
`with the first VLAN that are registered to receive the mul-
`ticast stream; and distributing the multicast stream to-
`wards substantially all of the zero or more multicast
`group members associated with the one or more VLANs
`outside of the first VLAN. As such, the number of dupli-
`cate multicast streams that propagate across said one
`or more VLAN-tagged links is minimal.
`[0014] The step of distributing the multicast stream to-
`wards substantially all of the zero or more multicast
`group members preferably comprises the steps of rout-
`ing the multicast stream from the first VLAN to each of
`the one or more VLANs outside of the first VLAN asso-
`ciated with the zero or more multicast group members,
`and switching the multicast stream from the cross-VLAN
`switching device to substantially all the zero or more
`multicast group members associated with the one or
`more VLANs outside of the first VLAN.
`[0015] The multicast optimization method may further
`include the step of switching substantially all unicast
`packets received at the cross-VLAN switching device to
`each of the nodes specified in the respective unicast
`packet, without performing any other OSI layer 3 routing
`procedures.
`[0016]
`the
`embodiment,
`preferred
`another
`In
`cross-VLAN switching device comprises a management
`module comprising one or more VLAN/multicast group
`membership tables for registering multicast group mem-
`bership subscriptions; and a packet forwarding engine
`for switching unicast packets within each of the plurality
`of VLANs and routing one or more multicast packets be-
`tween the plurality of VLANs in accordance with the mul-
`ticast group membership subscriptions of the one or
`more VLAN/multicast group membership tables. As
`such, transmission of one or more duplicative multicast
`
`Ex.1027
`VERIZON / Page 3 of 22
`
`
`
`5
`
`EP 1 435 706 A2
`
`6
`
`packets over VLAN tag-aware communications links is
`minimal.
`
`FIG. 5A
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0017]
`
`FIG. 1
`
`FIG. 2
`
`FIG. 3A
`
`FIG. 3B
`
`FIG. 3C
`
`FIG. 4A
`
`FIG. 4B
`
`FIG. 4C
`
`is a VLAN-tagged network topology with
`which the invention may be implemented,
`according to the preferred embodiment of
`the present invention.
`
`is a VLAN-tagged network topology with
`which the invention may be implemented,
`according to the preferred embodiment of
`the present invention.
`
`is a flow chart of the method of the method
`by which a cross-VLAN switching device
`processes the multicast declaration mes-
`sage of clients of two or more VLANs, ac-
`cording to the preferred embodiment of the
`present invention.
`
`is a chart of signaling and data flow in a sys-
`tem in which a first Membership Report mes-
`sage is received from within the VLAN and
`a second Membership Report message is
`received from outside the VLAN, according
`to the preferred embodiment of the present
`invention.
`
`is a chart of signaling and data flow in a sys-
`tem in which a first Membership Report mes-
`sage is received from outside the VLAN and
`a second Membership Report message is
`received from within the VLAN, according to
`the preferred embodiment of the present in-
`vention.
`
`is a flow chart of the method by which cli a
`multicast
`stream is processed in a
`cross-VLAN switching device, according to
`the preferred embodiment of the present in-
`vention.
`
`is a flow chart of the method by which a mul-
`ticast stream is distributed to clients in two
`or more VLANS, according to the preferred
`embodiment of the present invention.
`
`is a chart of signaling and data flow in a sys-
`tem in which a Membership Report mes-
`sage from a particular VLAN precedes the
`multicast stream generated by a different
`VLAN, according to the preferred embodi-
`ment of the present invention.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`4
`
`is a flow chart of the method by which clients
`of two or more VLANs de-register from a
`multicast stream, according to the preferred
`embodiment of the present invention.
`
`is a chart of signaling and data flow in a sys-
`tem in which a first Leave message from out-
`side the VLAN precedes a second Leave
`message from within the VLAN.
`
`is a functional block diagram of a
`cross-VLAN switching device, according to
`the preferred embodiment of the present in-
`vention.
`
`FIG. 5B
`
`FIG. 6
`
`DESCRIPTION
`
`[0018] Referring to FIG. 2, a VLAN-tagged network to-
`pology with which the preferred embodiment may be im-
`plemented is illustrated. The subnet 200 includes a plu-
`rality of cross-VLAN switching devices (CVSDs) includ-
`ing first CVSD 202, second CVSD204, and third
`CVSD206. CVSDs 202, 204, 206 perform multicast sig-
`naling and traffic control within and between VLANs.
`CVSDs 202, 204, 206 may be embodied in an 802.1Q-
`enabled Open Systems Interconnect (OSI) layer 2
`switch, an OSI layer 3 router, or a modern enterprise/
`LAN switch that perform both OSI layer 2 switching with-
`in VLANs and OSI layer 3 routing between a plurality of
`VLANs configured on the device. In the preferred em-
`bodiment, the first CVSD 202 is a LAN switch that in-
`cludes router 203 functionality for performing traditional
`unicast routing operations between the VLANs config-
`ured thereon. The second CVSD 204 and third CVSD
`206 preferably support conventional unicast switching
`operations within VLANs configured thereon.
`[0019] The first CVSD 202 and second CVSD 204 are
`operatively coupled to each other by means of commu-
`nication link 216, while the second CVSD 204 and third
`CVSD 206 are operatively coupled by communication
`link 218. The communication links 216 and 218 in this
`embodiment convey the signaling and data for a plurality
`of VLANs using wire or wireless communication medi-
`ums including twisted-pair, fiber optic, radio frequency,
`or infrared links.
`[0020] Coupled to each of the CVSDs 202, 204, and
`206 is one or more hosts or stations which may included
`one or more multicast group members. In this embodi-
`ment, the second CVSD 204 is coupled to a multicast
`server 210 that generates a multicast stream, and the
`third CVSD 206 is coupled to a plurality of clients 212
`and 214 that subscribe to the multicast stream generat-
`ed by the server 210. The multicast server 210 and mul-
`ticast clients 212, 214 constitute a multicast group iden-
`tified by a multicast address generally assigned by a
`higher-layer protocol or application operating on one of
`the multicast group devices. The multicast stream, in
`turn, comprises one or more multicast packets.
`
`Ex.1027
`VERIZON / Page 4 of 22
`
`
`
`7
`
`EP 1 435 706 A2
`
`8
`
`[0021] Each of the stations in FIG. 2 is a member of
`one or more VLANs, such as VLAN-A and VLAN-B in
`this embodiment. In particular, the server 210 and first
`client 212 are members of VLAN-A, while second client
`214 is a member of VLAN-B. In this example, the server
`210, first client 212, and second client 214 are all mem-
`bers of a common multicast group and therefore ex-
`change multicast traffic or multicast stream in addition
`to conventional unicast traffic.
`[0022] To support the plurality of VLANs using com-
`munications links 216 and 218, each of the CVSDs 202,
`204, and 206 in the preferred embodiment are prefera-
`bly VLAN-tag-aware. As such, traffic that traverses the
`communications links 216 and 218 is generally tagged
`in order to differentiate traffic with respect to VLAN. In
`the preferred embodiment, the VLAN-tagging protocol
`as defined by IEEE 802.1Q uses a VLAN identifier (VID)
`to track the VLAN membership information between
`nodes.
`[0023]
`In prior art switches and switch routers, unicast
`and multicast traffic is strictly confined to a particular
`VLAN within a switch even if the switch is connected to
`a multicast group member present in a different VLAN
`than that of the multicast traffic. As such, all multicast,
`traffic was necessarily forwarded to an Open Systems
`Interconnect (OSI) layer 3 routing device before the mul-
`ticast stream would traverse from one VLAN into anoth-
`er.
`[0024]
`In contrast to the prior art, multicast traffic in
`the present embodiment can cross over from one VLAN
`to another VLAN at a CVSD without propagating
`through an OSI layer 3 routing device. Allowing multi-
`cast traffic to penetrate the VLAN boundary at the CVSD
`reduces demand on system resources by preventing
`multicast traffic from being transmitted upstream to the
`router at the root of the spanning tree and back down
`again across the same VLAN-tagged communication
`links. In the preferred embodiment, the isolation of uni-
`cast traffic within each VLAN is preserved.
`[0025] The novel functionality of a CVSD is made pos-
`sible in some embodiments by one or more VLAN/mul-
`ticast group membership (VMGM) tables. A VMGM ta-
`ble preferably maintains a record of the multicast ad-
`dress and IP source address of each of the multicast
`flows for each of
`the 802.1Q-enabled ports on the
`CVSD. The multicast flows are cross-referenced with
`the VLAN identifications associated with one or more
`VLANs supported by the corresponding switch. The VM-
`GM table preferably also maintains a record of multicast
`subscription information, which is updated upon receipt
`of the declaration messages used to notify the CVSD of
`multicast flow registration requests, for example.
`[0026]
`In the preferred embodiment,
`the second
`CVSD 204 and third CVSD 206 each include a VMGM
`table. In some other embodiments, the first switching
`device 202 may also include a VMGM table, although it
`is not strictly necessary because of the presence of the
`router 203 that already performs inter-VLAN multicast
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`5
`
`switching. In the router 203, the VMGM table preferably
`augments or replaces one or more existing tables with
`which the router 203 tracks various multicast group
`identifications, the identity of multicast flow sources, and
`identity of one or more multicast stream recipients.
`[0027] Although a VMGM table of the preferred em-
`bodiment represents a single record, one skilled in the
`art will recognize that the same result may be achieved
`using a plurality of separate VMGM tables for each
`VLAN configured on the switching devices, each of the
`tables being consulted for purposes of distributing mul-
`ticast traffic between VLANs supported therein.
`[0028]
`Illustrated in FIG. 3A is a flow chart of the meth-
`od by which a CVSD processes the multicast streams
`subscription requests of clients of two or more VLANs.
`[0029] To subscribe to a multicast stream, a client
`generates a multicast declaration message to request
`receipt of the multicast stream. In the preferred embod-
`iment, the multicast declaration message is an IGMP
`Membership Report message including the particular
`VLAN identification of
`the client
`that generated the
`Membership Report message. The multicast declara-
`tion message is preferably transmitted in the direction
`of the router 203 in the particular VLAN associated with
`the client.
`[0030] Upon receipt of the IGMP Membership Report
`message in the receiving step 302, the CVSD updates
`its VMGM table by recording the client's subscription to
`the multicast stream identified by a multicast address,
`as illustrated in updating step 306. The IP address of
`the client as well as the VLAN number associated with
`the client are recorded. In some embodiments, the VM-
`GM further includes a priority marker to indicate whether
`the declaration from the client was the first declaration
`received at the CVSD. The priority marker may take the
`form of a bit that is toggled on or off, or a time stamp
`with which a plurality of subscription requests may be
`distinguished.
`[0031] Next, the CVSD consults the one or more VM-
`GM tables to determine if the multicast stream is avail-
`able for distribution to the requesting device. The CVSD
`first tests for the presence of the multicast stream within
`the same VLAN, as illustrated by intra-VLAN testing
`step 308. If the multicast stream is present in the same
`VLAN in which the Membership Report message is re-
`ceived, the intra-VLAN testing step 308is answered in
`the affirmative and the multicast stream forwarded to the
`requesting device, as illustrated in MS switching step
`310. If the multicast stream is not present on the switch
`206 in the VLAN in which the multicast stream was gen-
`erated the intra-VLAN testing step 308 is answered in
`the negative.
`[0032]
`If the multicast stream is not present within the
`VLAN, the CVSD tests for the presence of the multicast
`stream within any of the remaining VLANs for which the
`CVSD is configured, as illustrated in the inter-VLAN test-
`ing step 312.
`In the preferred embodiment,
`the in-
`ter-VLAN testing step 312 checks for the presence of
`
`Ex.1027
`VERIZON / Page 5 of 22
`
`
`
`9
`
`EP 1 435 706 A2
`
`10
`
`the multicast stream in all VLANs supported by the third
`CVSD 206, excluding that of the requesting client. If the
`CVSD determines that the multicast stream is available
`in another VLAN, the inter-VLAN testing step 312 is an-
`swered in the affirmative and the multicast stream is di-
`rected from the VLAN in which it is found to the VLAN
`in which it is requested. As illustrated in MS routing step
`314, a multicast stream associated with or otherwise
`present in VLAN-B, for example, may be routed from
`VLAN-B to VLAN-A where it may then be switched to
`the subscribing client in VLAN-A, as illustrated in the
`switching step 316.
`[0033]
`In the preferred embodiment, the MS routing
`step 314 comprises one or more conventional routing
`procedures, including decrementing the time-to-live in-
`dicator, for example. Of course, one skilled in the art will
`recognize that the multicast stream may be internally
`switched from one VLAN toward a requesting client in
`a different VLAN without the need for any processing
`typically associated with a routing protocol.
`[0034] As a general rule, a CVSD forwards the multi-
`cast declaration message upstream towards the router
`unless there is a prior subscription for that stream reg-
`istered at the CVSD. Subsequent multicast declaration
`messages generated within any of the VLANs are gen-
`erally abandoned so as to prevent duplicate multicast
`streams from being conveyed across the same VLAN-
`tagged communications links.
`[0035] As illustrated in the prior subscription test 317,
`the presence of a prior registered subscription in any
`VLAN for the same multicast stream will cause the IGMP
`Membership Report message from the client to be aban-
`doned. It is unnecessary to forward a Membership Re-
`port message to the root router in the case of a prior
`subscription request within the same VLAN. According
`to the preferred embodiment, it is also unnecessary to
`forward a Membership Report message to the root rout-
`er in the case of a prior subscription request outside the
`VLAN of the client because the multicast stream, when
`received by the CVSD in the other VLAN, will be routed
`from the other VLAN to the VLAN of the client that reg-
`istered the subscription.
`[0036]
`In the absence of any prior subscriptions for
`the multicast stream at the CVSD, the prior subscription
`test 317 is answered in the negative and the IGMP Mem-
`bership Report message forwarded to the next switch-
`ing device, if applicable, in the direction of one or more
`upstream routing devices. The process of forwarding to
`the membership report to the next upstream switching
`device is repeated in subsequent switches until the
`membership report reaches each of the one or more
`routing devices. Although a conventional switch will
`generally not be able to perform the cross-VLAN test
`and forwarding for a multicast stream as illustrated in
`steps 312 through 316, the efficient use of bandwidth
`will still be achieved in the present invention because
`the duplication of multicast traffic destined for different
`VLANs in an 802.1Q-enabled communication link is
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`6
`
`avoided. Any switching device found in the path toward
`the upstream router will be considered a router as the
`CVSD does not make the distinction between switches
`and routers.
`[0037] The VLAN references used in FIG. 3A are in-
`tended for illustrative purposes only. In general, the ref-
`erences to a first VLAN are intended to represent oper-
`ations that occur within a given VLAN from which the
`Membership Report message is received in receiving
`step 302. The membership report processing method
`300 is equally applicable to each of the VLANs support-
`ed by a CVSD, including VLAN-A and VLAN-B of the
`preferred embodiment. One skilled in the art will recog-
`nize that a CVSD as presented in the preferred embod-
`iment supports a plurality of VLANs, each of which is
`governed generally by the method 300 of FIG. 3A.
`[0038] Application of the membership report process-
`ing method 300 of FIG. 3A is illustrated in FIGS. 3B and
`3C, according to the preferred embodiment. In particu-
`lar, the signaling and data flow diagram of FIG. 3B illus-
`trates messages from within and outside the VLAN in
`which the multicast stream is generated. The Member-
`ship Report message from within the same VLAN, i.e.
`first VLAN, precedes a second Membership Report
`message from outside the VLAN.
`[0039] A pre-existing multicast stream 330 is gener-
`ated in this embodiment at the server 210 and forwarded
`to the adjacent switching device, second CVSD 204.
`The multicast stream 330 is generated by a higher level
`protocol or application running the server 210 within
`VLAN-A, as indicated by the parenthetical including, (A).
`The multicast stream 330 may be initiated at the server
`210, or provided in response to another subscriber (not
`shown) on the network 200. The multicast stream 332
`is generally forwarded to one or more upstream routers
`including router 203 in accordance with the spanning
`tree protocol. In the absence of any registered subscrip-
`tions, the multicast stream 332 is discarded or otherwise
`abandoned in the router 203, as illustrated by step 362.
`[0040] Assume for purposes of
`illustration that a
`Membership Report message 334 is subsequently gen-
`erated by a client in VLAN-A, as indicated by the MR
`(A). A Membership Report message 334 generated by
`the first client 212, for example, is forwarded to the third
`CVSD 206. Upon receipt, the third CVSD 206 consults
`its VMGM table to determine whether the multicast
`stream requested is present in the same VLAN, step
`308, and then in the other VLAN-B, step 312. Since the
`multicast stream is not present on the third CVSD 206,
`the CVSD 206 determines whether to forward the Mem-
`bership Report message upstream.
`[0041]
`In general, the third CVSD 206 forwards a
`Membership Report message upstream only if it is the
`first Membership Report message received for that mul-
`ticast stream. In the present example, the third CVSD
`206 consults it VMGM table and determined that the cli-
`ent 212 is the first client in either VLAN-A or VLAN-B to
`issue such a request. As such, the IGMP Membership
`
`Ex.1027
`VERIZON / Page 6 of 22
`
`
`
`11
`
`EP 1 435 706 A2
`
`12
`
`Report message 336 is forwarded upstream to the sec-
`ond CVSD 204. As before, the VMGM table in the sec-
`ond switching device 204 is consulted in step 366 to de-
`termine if the multicast stream requested is present. The
`second CVSD 204, detecting the presence of the mul-
`ticast stream 330, generates the multicast stream 342,
`344 that is transmitted back to the first client 212. Note
`that the IGMP Membership Report message 336, being
`the first Membership Report message received at the
`second CVSD 204, is forwarded in the form of Multicast
`Report 338 to the router 203. The router 203 registers
`the Membership Report message 338 in a local multi-
`cast group membership table in step 368.
`[0042] Continuing with the example immediately
`above, if a second client 214 in VLAN-B requests the
`same multicast stream after the initial IGMP Member-
`ship Report message 334 from first client 212 propa-
`gates to the router 203, then the multicast stream dec-
`laration, preferably an IGMP Membership Report mes-
`sage 346, is transmitted toward the upstream router 203
`and received by the third CVSD 206. In accordance with
`the intra-VLAN testing step 308 of FIG. 3A, the CVSD
`206 consults its VMGM table to determine if the multi-
`cast stream is present within the VLAN, namely
`VLAN-B. The intra-VLAN testing step 308 is answered
`in the negative because the multicast stream 342 is gen-
`erated by the server 210 in VLAN-A. The third CVSD
`206 then consults the VMGM table to determine if the
`multicast stream is present in any other VLAN outside
`VLAN-B, namely VLAN-A. When the presence of the
`presence of